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