Reading

Sommerville, Chapter 2

Objectives

  1. Understand the concept of a Software Process and Software Process Model.
  2. Analyze the three general software process models, their options, and characteristics of the software system being developed, the environment it will be used in, and the customer to determine a most appropriate software process to hybrid processes.
  3. Understand the activities each of the fundamental activities of a software process.
  4. Understand why software processes need to be organized to cope with changes in system requirements and design.
  5. Understand the notion of software process improvement and factors that affect software process quality.

Notes

  1. Understand the concept of a Software Process and Software Process Model. Define both.
  2. Analyze the three general software process models, their options, and characteristics of the software system being developed, the environment it will be used in, and the customer to determine a most appropriate software process to hybrid processes. List options, inherent problems/challenges, characteristics of software, environment, and customer for each of the three general software process models. (See http://software-engineering-book.com/web/spiral-model/ and http://software-engineering-book.com/web/incremental-development/).
    • Waterfall:
    • Incremental: (include discussion of management, contractual, validation, maintenance, and technology problems)
    • Integration and Configuration:
  3. Understand the activities each of the fundamental activities of a software process. Describe.
    • Software Specification:
      • Requirements Elicitation and Analysis:
      • Requirements Specification:
      • Requirements Validation:
    • Software Design and Implementation
      • Architectural Design:
      • Database Design:
      • Interface Design:
      • Component Select and Design:
    • Software Validation:
      • Component Testing
      • System Testing:
      • Customer Testing:
    • Software Evolution:
  4. Understand why software processes need to be organized to cope with changes in system requirements and design. Explain how System Prototyping and Incremental Delivery can help deal with software change.
  5. Understand the notion of software process improvement and factors that affect software process quality.
    • Objectives of Quality, Cheaper Costs, Tighter Timelines
    • Explain the Measure, Analyze, Change cycle.
    • Define the 5 Levels of Process Maturity Model.
      • Initial:
      • Managed:
      • Defined:
      • Quantitatively Managed:
      • Optimizing:

Resources

Further Reading

The Rational Unified Process (RUP)

Spiral Model