- Defining what the system should do
Design and implementation
- Defining the organization of the system and implementing the system
- Checking that the system does what the customer wants
- Changing the system in response to changing customer needs
Stages of testing
- Component/development testing
- System/release testing
- Customer/user testing
- A prototype is an initial version of a system used to demonstrate concepts and try out design options.
- Used to measure the efficiency and effectiveness of various processes
- Architectural design
- Database design
- Interface design
- Component selection and design
Reducing the costs of rework
- Change anticipation
- Change tolerance
Benefits of prototyping
- Improved system usability
- A closer match to users’ real needs
- Improved design quality
- Improved maintainability
- Reduced development effort
- It may be impossible to tune the system to meet non-functional requirements.
- Prototypes are normally undocumented.
- The prototype structure is usually degraded through rapid change.
- The prototype probably will not meet normal organizational quality standards.
- The development and delivery are broken down into increments, with each increment delivering part of the required functionality.
- User requirements are prioritized, and the highest priority requirements are included in early increments.
- Way to enhance quality of software
- Process maturity approach
- Agile approach
Process improvement activities