Software Processes

Software process models

Spiral Model

Applications

Advantages

Changing requirements can be accommodated

Allows for extensive use of prototypes

Requirements can be captured more accurately.

Users see the system early

Early and frequent feedback from users.

Disadvantages

End of project may not be known early.

Not suitable for small or low risk projects and could be
expensive for small projects

Process is complex

Spiral may go indefinitely.

Risk assessment expertise is required.

Phases in spiral model

Risk Analysis

Plan

Engineering

Customer evaluation

When to use Spiral Model

When costs and risk evaluation is important.

For medium to high-risk projects.

Users are unsure of their needs.

Requirements are complex.

Significant changes are expected

The waterfall model

requirement definition

system and system design

implementation and unit testing

operation and maintenance

integration and system testing

Integration and configuration

Software products

Generic products

Customized products

Product specification

Generic products

Customized products

Types of reusable software

Incremental development

Exploratory development

Throw-away prototyping

Many different software processes

Specification

Design and implementation

Validation

Evolution

Process activities

Software specification

Requirements engineering process

Requirements elicitation and analysis

Requirements specification

Requirements validation

Software design and implementation

Design activities

System implementation

Software validation

Stages of testing

Component testing

System testing

Customer testing

Coping with change

Reducing the costs of rework

Coping with changing requirements

Software prototyping

Benefits of prototyping

Improved system usability

A closer match to users’ real needs

Improved design quality

Improved maintainability

Reduced development effort.

Process improvement

The process improvement cycle

Measure

change

analyze