Lecture Notes 3 Flashcards

1
Q

A structured set of activities required to develop a software system.

A

software process

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

an abstract representation of a process. It
presents a description of a process from some particular perspective.

A

software process model

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

different software processes

A

Specification
Design and Implementation
Validation
Evolution

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

defining what the system should do.

A

Specification

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

defining the organization of the system and
implementing the system.

A

Design and Implementation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

checking that it does what the customer wants.

A

Validation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

which reflect the responsibilities of the people involved in
the process;

A

Roles,

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

changing the system in response to changing customer needs.

A

Evolution

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

which are the outcomes of a process activity;

A

Products,

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

which are statements that are true before
after a process activity has been enacted or a product produced.

A

Pre- and post-conditions,

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

are processes where all of the process
activities are planned in advance and progress is measured against
this plan.

A

❑Plan-driven processes

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

most practical processes include elements of both plan-
driven and agile approaches.

A

❑In practice,

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

planning is incremental and it is easier to change
the process to reflect changing customer requirements.

A

❑In agile processes,

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

❑There are no right or wrong software processes.

A

true

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

is a sequential design used in software
development process, in which progress is seen as flowing
steadily downwards.

A

Waterfall model

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Separate and distinct phases of
specification and development.

A

❑Plan-driven model.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Why waterfall?

A

Because of the way if falls down

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Sequential phases of Waterfall model

A

❑Requirement Gathering and analysis:
❑System Design:
❑Implementation:
❑Integration and Testing:
❑Deployment of system:
❑Maintenance:

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

All possible requirements of
the system to be developed are captured in this phase and
documented in a requirement specification doc.

A

❑Requirement Gathering and analysis:

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

The requirement specifications from first phase are
studied in this phase and system design is prepared. System Design
helps in specifying hardware and system requirements and also helps
in defining overall system architecture.

A

❑System Design:

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

With inputs from system design, the system is first
developed in small programs called units, which are integrated in the
next phase. Each unit is developed and tested for its functionality
which is referred to as Unit Testing.

A

❑Implementation:

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

All the units developed in the
implementation phase are integrated into a system after testing of
each unit. Post integration the entire system is tested for any faults and
failures.

A

❑Integration and Testing:

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Once the functional and non functional
testing is done, the product is deployed in the customer environment
or released into the market.

A

❑Deployment of system:

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

There are some issues which come up in the client
environment. To fix those issues patches are released. Also to enhance
the product some better versions are released. Maintenance is done to
deliver these changes in the customer environment.

A

❑Maintenance:

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q
  • The next phase is started only after the defined set of goals are
    achieved for the previous phase and it is signed off.
  • In this model phases do not overlap.
  • Phases are processed and completed one at a time.
  • Works well for smaller projects where requirements are very
    well understood.
A

waterfall model

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q
A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Water sluice separates the important aspects from the less important
and concentrate on solving them first.

A

true

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

combines the structure of the waterfall methodology and
the flexibility of the spiral methodology by enforcing the prioritization of
activities.

A

Water sluice model

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Dr. Ron Burback

A

Water sluice model

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Phases of water sluice model

A

❑Analysis Phase:
❑Design Phase:
❑Implementation Phase:
❑Testing Phase:

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

This phase is to know what the user wants; it
understands the user’s needs and defines the requirement of the user.
Therefore, this phase defines the goals of the project undertaken.

A

❑Analysis Phase:

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Design phase accepts the data from the analysis phase
and converts it into an architecture, which defines the components
and its behavior. This phase establishes the plans of the project.

A

❑Design Phase:

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

In this phase, the data from the analysis
phase and the architecture from the design phase are taken. In this
phase, the components are built. This phase does the coding work.

A

❑Implementation Phase:

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

The testing is done after the completion of the
implementation phase. This phase improves the quality of the product.
In this phase, a completed working condition product is set under
testing. Before giving to the end user, the product is kept under
different types of physical and logical testing.

A

❑Testing Phase:

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

in water sluice model, priorities are evaluated and those activities that are
considered most valuable are completed first

A

true

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

unifies a software team by providing a common view of the
development process and a shared vision of a common goal.

A

Rational unified model

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Phases Rational unified model

A

❑Inception Phase
❑Elaboration Phase
❑Construction Phase
❑Transition Phase

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

define the scope of project

A

❑Inception Phase

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

specify requirements in greater detail and define the architecture for the
system.

A

❑Elaboration Phase

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

develop the application to the point where it is ready for deployment.

A

❑Construction Phase

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

deliver the system into production

A

❑Transition Phase

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Rational unified model
Less time is required for integration as the process of integration
goes on throughout the software development life cycle.

A

true

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

way to manage a project by breaking it up into several phases.

A

Agile methodology

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

▪ Group of software development methodologies based on iterative development.

A

Agile methodology

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

▪ This means that everyone on the team knows what is going on and, if problems arise, can re-plan short-term work to cope with them.

A

Agile methodology

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Dissatisfaction with the overheads involved in software design methods of the 1980s and 1990s led to the creation of agile methods.

A

true

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

▪ Dissatisfaction with the overheads involved in software design methods of the 1980s and 1990s led to the creation of agile methods. These methods:

A

o Focus on the code rather than the design
o Are based on an iterative approach to software development
o Are intended to deliver working software quickly and evolve this quickly to meet changing requirements.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

▪ The aim of agile methods is to ______ ________in the software process (e.g. by limiting documentation) and to be able to respond quickly to changing requirements without excessive rework.

A

reduce overheads

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Customers should be closely involved throughout the development
process. Their role is provide and prioritize new system requirements
and to evaluate the iterations of the system.

A

Customer involvement

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

The software is developed in increments with the customer specifying the requirements to be included in each increment.

A

Incremental delivery

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

The skills of the development team should be recognized and exploited.
Team members should be left to develop their own ways of working
without prescriptive processes.

A

People not process

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Expect the system requirements to change and so design the system to accommodate these changes.

A

Embrace change

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Focus on simplicity in both the software being developed and in the
development process. Wherever possible, actively work to eliminate
complexity from the system.

A

Maintain simplicity

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

▪Product development where a software company is developing a
small or medium-sized product for sale.

A

Agile methodology applicability

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

clear commitment from the customer to become involved in the
development process and where there are not a lot of external rules
and regulations that affect the software.

A

Agile methodology applicability

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

▪ Because of their focus on small, tightly-integrated teams, there are
problems in scaling agile methods to large systems.

A

Agile methodology applicability

26
Q

▪ It can be difficult to keep the interest of customers who are involved in the
process.

A

Problems with Agile methodology

27
Q

▪ Team members may be unsuited to the intense involvement that characterizes
agile methods.

A

Problems with Agile methodology

28
Q

▪ Prioritizing changes can be difficult where there are multiple stakeholders.

A

Problems with Agile methodology

28
Q

▪ Maintaining simplicity requires extra work.

A

Problems with Agile methodology

29
Q

▪ Contracts may be a problem as with other approaches to iterative
development.

A

Problems with Agile methodology

29
Q

▪ Problems may arise if original development team cannot be maintained. in agile method

A

true

29
Q

if agile methods are to be successful, they
have to support maintenance as well as original development.

A

true

29
Q

is based around separate
development stages with the outputs to be produced at each of these
stages planned in advance.

A

Plan-driven development

30
Q

▪ Are systems that are developed using an agile approach maintainable, given
the emphasis in the development process of minimizing formal
documentation?
▪ Can agile methods be used effectively for evolving a system in response to
customer change requests?

A

2 key issues of agile method

30
Q

Most organizations spend more on maintaining existing software than they do
on new software development.

A

true

31
Q

Iteration occurs within activities.

A

Plan-driven development

31
Q

Not necessarily waterfall model – plan-driven, incremental development is
possible

A

Plan-driven development

32
Q

Specification, design, implementation and testing are inter-leaved and the
outputs from the development process are decided through a process of
negotiation during the software development process.

A

▪ Agile development

32
Q

an iterative and incremental agile software development
methodology for managing product development.

A

SCRUM MODEL

33
Q

SCRUM MODEL PROCESS

A

❑ Sprint Planning
❑ Daily Scrum
❑ Sprint Review
❑ Implement
❑ Review and Retrospect
❑Release

34
Q

team presents what is accomplished during the sprint

A

❑ Sprint Review

34
Q

determine the Sprint Goal

A

❑ Sprint Planning

34
Q

a short (15 minutes long) meeting, which is held every day before the Team starts working

A

Daily Scrum

35
Q

execution of the tasks and activities to create a project’s product

A

❑ Implement

35
Q

concerned with reviewing the deliverables and the work that has been done

A

❑ Review and Retrospect

35
Q

is a facilitator who arranges daily meetings, tracks
the backlog of work to be done, records decisions, measures progress
against the backlog and communicates with customers and
management outside of the team.

A

‘Scrum master’

35
Q

delivering the Accepted Deliverables to the customer

A

❑Release

35
Q
  • program and application development
A

❑Construction

35
Q

in scrum model, ❑The whole team attends short daily meetings where all team
members share information, describe their progress since the last
meeting, problems that have arisen and what is planned for the
following day.

A

true

35
Q

in scrum model, Requirements are captured as items in a list of product backlogs.

A

true

36
Q
  • incremental software development process model that allows usable
    systems to be built in as little as 60-90 days.
A

Rapid application development model

36
Q
  • James Martin (1980’s)
A

Rapid application development model

36
Q

in scrum model, Scrum projects make progress in a series of sprints.

A

true

36
Q

Phases of rad

A

❑Requirements Planning
❑User Design
❑Construction
❑Cutover

36
Q
  • Also referred to as RAD
A

Rapid application development model

36
Q
  • develop models and prototypes that represent all system processes, inputs, and outputs.
A

❑User Design

36
Q
  • Users, managers, and IT staff members discuss and agree on business needs, project scope, constraints, and system requirements
A

❑Requirements Planning

37
Q

a methodology that combines the features of the prototyping model and the
waterfall model.

A

spiral model

37
Q

resembles the final tasks in the SDLC implementation phase, including data conversion, testing, changeover to the new system, and user training

A

❑Cutover

37
Q

in rad,put less emphasis on planning and more emphasis on process.

A

true

37
Q

in rad,Requires highly skilled developers/designers.

A

true

37
Q

in spiral model, favored for large, expensive, and complicated models.

A

true

38
Q

in rad,products can be developed faster.

A

true

38
Q

Barry Boehm

A

spiral model

38
Q

Extreme programming practices

A

❑ The Planning Game
❑ Customer Test
❑Small Releases
❑Simple Design
Metaphor
❑ Continues Testing
❑Refactoring
❑Pair Programming
❑Listening
❑ Designing
❑Coding
❑Testing

38
Q

Six(6) regions of spiral model

A

❑ Customer Communication
❑ Planning
❑Risk Analysis
❑ Engineering
❑Construction and Release
❑Customer Evaluation

38
Q

in spiral model, High amount of risk analysis

A

true

38
Q
  • build one or more representations of the application.
A

❑ Engineering

39
Q
  • obtain customer feedback based on evaluation of the software

representations.

A

❑Customer Evaluation

39
Q
  • assess both technical and management risks.
A

❑Risk Analysis

39
Q
  • tasks required to establish effective communication between developer

and customer.

A

❑ Customer Communication

39
Q
  • construct, test, install, and provide user support.
A

❑Construction and Release

39
Q

a software development methodology which is intended to improve
software quality and responsiveness to changing customer
requirements.

A

Extreme programming methodology

39
Q
  • define resources, timelines, and other project related information.
A

❑ Planning

39
Q
  • XP programmers start to generate codes at the very beginning.
A

coding

39
Q

Kent Beck

A

Extreme programming methodology

39
Q
  • always check if a function works.
A

testing

39
Q
  • XP developers ability and expertise in technical aspects should be accompanied by their ability to be a good listeners.
A

❑Listening

39
Q
  • XP team create a design structure that organizes the logic in the system.
A

❑ Designing

40
Q
  • all production code is written by two programmers sitting at one machine.
A

❑Pair Programming

41
Q
  • XP team refactor out any duplicate code generated in a coding session.
A

❑Refactoring

42
Q
  • XP team focus on validation of the software at all times.
A

❑ Continues Testing

43
Q
  • XP teams develop a common vision of how the program works
A

❑ Metaphor

44
Q
  • XP uses the simplest possible design that gets the job done
A

❑Simple Design

44
Q
  • team releases running system , deliver business value chosen by the customer.
A

❑Small Releases

44
Q
  • customer defines one or more automated acceptance test to show that the feature is working.
A

❑ Customer Test

45
Q
  • system is evaluated and tested in Prototyping model phases
A

❑Customer Test Drive Prototype

45
Q

in Extreme programming, code centric rather than design centric development

A

true

46
Q
  • business and developer cooperate to produce the maximum business value as rapidly as possible.
A

❑ The Planning Game

47
Q

Prototyping model phases

A

❑ Listen to Customer
❑ Build/Revise Prototype
❑Customer Test Drive Prototype

48
Q

in Extreme programming, extreme programmers work together in pairs and as a group with a simple design and obsessively tested code.

A

true

49
Q

process of quickly putting together a working model (a prototype) in order to test various aspects of a design, illustrate ideas or features and gather early user feedback.

A

Prototyping model

49
Q

A type of development in which emphasis is placed on developing prototypes early in the development process to permit early feedback and analysis in support of the development process.

A

Prototyping model

50
Q

in Prototyping model, it brings the user to get involved in the system design.

Missing functionality can be identified easily.

A

true

50
Q
  • user is interviewed in order to know the requirements of the system.
  • create a preliminary design or quick design for the system
A

❑ Listen to Customer

51
Q

▪ Based on systematic reuse where systems are integrated from existing
components or COTS (Commercial-off-the-shelf) systems.

A

Reuse oriented software engineering

51
Q

▪ Reuse is now the standard approach for building many types of business
system

A

true

51
Q

Incremental development/ model benefits

▪ The cost of accommodating changing customer requirements is reduced.
o The amount of analysis and documentation that has to be redone is much less than is
required with the waterfall model.

▪ It is easier to get customer feedback on the development work that has been done.
o Customers can comment on demonstrations of the software and see how much has
been implemented.

▪ More rapid delivery and deployment of useful software to the customer is possible.
o Customers are able to use and gain value from the software earlier than is possible with
a waterfall process.

A

true

51
Q

software development where the product is designed, implemented and
tested incrementally (a little more is added each time) until the product is
finished.

A

Incremental development/ model

51
Q

Incremental development/ model problems

▪The process is not visible.

o Managers need regular deliverables to measure progress. If systems are developed
quickly, it is not cost-effective to produce documents that reflect every version of the system.

▪ System structure tends to degrade as new increments are added.

o Unless time and money is spent on refactoring to improve the software, regular change tends to corrupt its structure. Incorporating further software changes becomes
increasingly difficult and costly.

A

true

51
Q

COTS

A

(Commercial-off-the-shelf)

52
Q

▪The process is repeated until the entire product development is
completed. The repetitions of these processes are called iterations. At
the end of every iteration, a product increment is delivered.

A

iterative model

52
Q

▪is a model that is an incremental model that is developed in multiple
cycles of iterations. Project is started with a comparatively small task or
component and increments are made in each cycle of the iterations
until desired product is reached.

A

incremental model

52
Q

in incremental model development, Easier to test and debug during a smaller iteration.

used when the requirements of the complete system are clearly defined and
understood.

A

true

52
Q

▪ Process stages of Reuse oriented software engineering

A

o Component analysis;
o Requirements modification;
o System design with reuse;
o Development and integration.

52
Q

Real software processes are inter-leaved sequences of technical, collaborative
and managerial activities with the overall goal of specifying, designing,
implementing and testing a software system.

A

true

52
Q

The four basic process activities of specification, development, validation and
evolution are organized differently in different development processes. In the
waterfall model, they are organized in sequence, whereas in incremental
development they are inter-leaved.

A

true