Software Process Models Flashcards
Overview of Software Process Activities + Software Process Models
What activities does a software process include?
- Specification: Definition of user requirements
- Development: Design and implementation of user requirements
- Validation: Checking of user requirements w.r.t the defined requirements
- Evolution: Reflecting changing user requirements
What are the two kinds of software process models?
- The Plan-Driven process model
- The Agile process model
What are examples of Plan-Driven process models?
- Waterfall Model
- Incremental Development
- Integration and Configuration
Briefly describe…
Waterfall Model
Planning happens in a number of stages, with one stage cascading to the next stage.
The Five Stages in the Waterfall Model
- Requirements and Planning
- System and Software Design
- Implementation and Unit Testing
- Integration and System Testing
- Operation and Maintenance
Benefits of the Waterfall Model
- Structured development
- Transparency; Thorough documentation
- Formal validation and verification
Limitations of the Waterfall Model
- Inflexible to frequent changes
- Longer development time
Use Cases of the Waterfall Model
- Embedded systems (computer systems integrated into a larger system/device)
- Safety critical systems (systems that must adhere to strict standards)
- Large software systems that are a part of broader projects
Briefly describe…
Incremental Development Model
Develop software in several iterations and take feedback from all the stakeholders after each iteration until the final system is developed.
Benefits of Incremental Development
- Reduced cost of implementation
- Early delivery and deployment of software
- Customers can judge the processs easily and frequently
Limitations of Incremental Development
- Less transparency
- Constant change degrades the structure of code
Use Cases of Incremental Development
- Most business applications
Briefly describe…
Integration and Configuration Process Model
Focuses on reusing existing components and adapting them to meet the requirements of a new system.
The Five Stages of Integration and Configuration Process
- Requirements Specification
- Software Discovery and Evaluation
- Requirements Refinement
- Application System Configuration
- Component Adaptation and Integration
Benefits of Integration and Configuration
- Reduced cost and risk
- Reduced software development time
- Fast delivery
Limitations of Integration and Configuration
- May not meet the real need of users
Frequently Re-Used Software (in Integration and Configuration)
- Stand-alone applications
- Packages or components
- Web services that are developed to conform to a standard