Software Processes and Software Development Process Models
Software Processes and Software Development Process Models
Requirements
definition
System and
software design
Implementation
and unit testing
Integration and
system testing
Operation and
maintenance
Concurrent
activities
Initial
Specification version
Outline Intermediate
description Development versions
Final
Validation version
Requirements Requirements
specification refinement Adapt
components
Software Integrate
evaluation Components system
available Develop new
components
• Requirements specification
• Software discovery and evaluation
• Requirements refinement
• Application system configuration
• Component adaptation and integration
Requirements
elicitation and
analysis
Requirements
specification
Requirements
validation
System
descriptions
User and system
requirements
Requirements
document
Design inputs
Design activities
Database design
Design outputs
Component Acceptance
System testing
testing testing
• Component testing
• Individual components are tested independently;
• Components may be functions or objects or coherent groupings of these
entities.
• System testing
• Testing of the system as a whole. Testing of emergent properties is
particularly important.
• Customer testing
• Testing with customer data to check that the system meets the customer’s
needs.
Existing New
systems system
System
incomplete?
Validate Integrate Validate Deploy
increment increment system increment
System
complete?
Final
system
• Process measurement
• You measure one or more attributes of the software process or product.
These measurements forms a baseline that helps you decide if process
improvements have been effective.
• Process analysis
• The current process is assessed, and process weaknesses and bottlenecks are
identified. Process models (sometimes called process maps) that describe
the process may be developed.
• Process change
• Process changes are proposed to address some of the identified process
weaknesses. These are introduced and the cycle resumes to collect data
about the effectiveness of the changes.
References
• Software Engineering, 10th Edition, Ian
Sommerville
Software Processes and Software
Development Process Models
CS413 - Software Engineering Project Management