Gregory M. Kapfhammer
Details in SETP or MMM
A series of steps involving activities, constraints, and resources, that produces an intended output
What is an example of process that you regularly follow?
Why is it important to follow a process?
Can you give concrete examples of all of these categories?
Requirements analysis and definition
System and program design
Validation: did we build the right system?
Verification: did we build the system right?
How are these questions similar and different?
Why are these tasks actually different?
Fundamental tasks for the software engineer!
Developed in the 1970s as a means for organizing teams
What are the limitations of this approach?
Software development as "manufacturing"
See Figure 2.1 for an overview of the waterfall model
Demonstrates how testing is related to other phases
Focus is on verification and validation
Supports the re-execution of past phases
Iteration and re-work are now explicit
Involves the customer in acceptance testing
Release a small functional system with few features
Add features to this system over releases
See Figure 2.9 (top) for more details
Release a full system with primitive features
Enhance features of this system over releases
See Figure 2.9 (bottom) for more details
Developed in 1998 to support risk management
Related to the concept of iterative development
Start "inside" the spiral and work to the "outside"
Four phases: Goals, alternatives, develop/test, plan
Focuses on developing prototypes within budget
"Early and continuous delivery of valuable software"
Individuals and interactions over processes and tools
Prefer working software over complete documentation
Customer collaboration rather than contract negotiation
Respond to and embrace change!