Software processes
Use the following to guide your reading from Chapter 2: Software processes in Software Engineering:
-
What is the difference between a software process and software process model?
A software process addresses the following fundamental software engineering activities:
- specification,
- development,
- validation, and
- evolution.
A software process model is a simplified representation of a software process. Each process model represents a process from a particular perspective and thus only provides partial information about that process.
- For each of the following software process models, briefly describe it and
summarize its stages, advantages and disadvantages compared to other
software process models, and types of software systems that are best suited
to development using that software process model.
- Waterfall
- Spiral
- Incremental (see also Incremental development problems)
- Integration and configuration
-
List and describe the four fundamental software engineering activities of any software process.
- Specification
- Define the functionality of the system and constraints on its operation
- Development (implementation and design)
- Produce software to meet the specification
- Validation (testing)
- Ensure that the software does what the customer wants
- Evolution (maintenance)
- Modify software to meet changing customer needs
- List and describe the major activities within each of the four fundamental software engineering activities of any software process.
- Why are software processes organized to address changes?
- How do prototyping and incremental delivery accommodate changes?
- List and summarize the five levels in the process maturity model.