Use the following to guide your reading from Chapter 2: Software processes in Software Engineering:

  1. 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.

  2. 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
    • Integration and configuration
  3. 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
  4. List and describe the major activities within each of the four fundamental software engineering activities of any software process.
  5. Why are software processes organized to address changes?
  6. How do prototyping and incremental delivery accommodate changes?
  7. List and summarize the five levels in the process maturity model.