Software Process Models Flashcards

Overview of Software Process Activities + Software Process Models

1
Q

What activities does a software process include?

A
  1. Specification: Definition of user requirements
  2. Development: Design and implementation of user requirements
  3. Validation: Checking of user requirements w.r.t the defined requirements
  4. Evolution: Reflecting changing user requirements
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are the two kinds of software process models?

A
  1. The Plan-Driven process model
  2. The Agile process model
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What are examples of Plan-Driven process models?

A
  1. Waterfall Model
  2. Incremental Development
  3. Integration and Configuration
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Briefly describe…

Waterfall Model

A

Planning happens in a number of stages, with one stage cascading to the next stage.

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

The Five Stages in the Waterfall Model

A
  1. Requirements and Planning
  2. System and Software Design
  3. Implementation and Unit Testing
  4. Integration and System Testing
  5. Operation and Maintenance
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Benefits of the Waterfall Model

A
  1. Structured development
  2. Transparency; Thorough documentation
  3. Formal validation and verification
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Limitations of the Waterfall Model

A
  1. Inflexible to frequent changes
  2. Longer development time
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Use Cases of the Waterfall Model

A
  1. Embedded systems (computer systems integrated into a larger system/device)
  2. Safety critical systems (systems that must adhere to strict standards)
  3. Large software systems that are a part of broader projects
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Briefly describe…

Incremental Development Model

A

Develop software in several iterations and take feedback from all the stakeholders after each iteration until the final system is developed.

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

Benefits of Incremental Development

A
  1. Reduced cost of implementation
  2. Early delivery and deployment of software
  3. Customers can judge the processs easily and frequently
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Limitations of Incremental Development

A
  1. Less transparency
  2. Constant change degrades the structure of code
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Use Cases of Incremental Development

A
  1. Most business applications
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Briefly describe…

Integration and Configuration Process Model

A

Focuses on reusing existing components and adapting them to meet the requirements of a new system.

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

The Five Stages of Integration and Configuration Process

A
  1. Requirements Specification
  2. Software Discovery and Evaluation
  3. Requirements Refinement
  4. Application System Configuration
  5. Component Adaptation and Integration
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Benefits of Integration and Configuration

A
  1. Reduced cost and risk
  2. Reduced software development time
  3. Fast delivery
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Limitations of Integration and Configuration

A
  1. May not meet the real need of users
17
Q

Frequently Re-Used Software (in Integration and Configuration)

A
  1. Stand-alone applications
  2. Packages or components
  3. Web services that are developed to conform to a standard