Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Object-Oriented and
Classical Software
Engineering
Seventh Edition, WCB/McGraw-Hill, 2007
Stephen R. Schach
srs@vuse.vanderbilt.edu
SOFTWARE
LIFE-CYCLE
MODELS
Figure 2.1
© The McGraw-Hill Companies, 2007
Software Development in Practice Slide 2.5
Figure 2.2
© The McGraw-Hill Companies, 2007
Waterfall Model Slide 2.8
Figure 2.3
© The McGraw-Hill Companies, 2007
Return to the Evolution-Tree Model Slide 2.9
Example:
Baseline at the end of Episode 3:
Requirements1, Analysis1, Design3, Implementation3
Change is inevitable
Growing companies are always going to change
If the individual calling for changes has sufficient clout,
nothing can be done about it
Figure 2.4
© The McGraw-Hill Companies, 2007
Iteration and Incrementation (contd) Slide 2.19
Examples:
At the beginning of the life cycle
The requirements workflow predominates
At the end of the life cycle
The implementation and test workflows predominate
Figure 2.5
© The McGraw-Hill Companies, 2007
Iteration and Incrementation (contd) Slide 2.24
Figure 2.6
© The McGraw-Hill Companies, 2007
More on Incrementation (contd) Slide 2.27
CHAOS
reports
from
1994 to
2004
No design
No
specifications
Maintenance
nightmare
Figure 2.8
Characterized by
Feedback loops
Documentation-driven
Advantages
Documentation
Maintenance is easier
Disadvantages
Specification document
Joe and Jane Johnson
Mark Marberry
Linear
model
“Rapid”
Figure 2.11
© The McGraw-Hill Companies, 2007
Open-Source Life-Cycle Model (contd) Slide 2.46
Core group
Small number of dedicated maintainers with the
inclination, the time, and the necessary skills to submit
fault reports (“fixes”)
They take responsibility for managing the project
They have the authority to install fixes
Peripheral group
Users who choose to submit defect reports from time to
time
Then:
Rapid-prototyping model
The initial version is discarded
Code-and-fix model and open-source life-cycle model
The initial version becomes the target product
Pair programming
No specialization
What did I learn that I would like to share with the team?
© The McGraw-Hill Companies, 2007
Agile Processes (contd) Slide 2.64
Draw up specifications
Simplified form
Rapid
prototyping
model plus
risk analysis
preceding
each phase
Figure 2.12
© The McGraw-Hill Companies, 2007
A Key Point of the Spiral Model Slide 2.71
Figure 2.13
© The McGraw-Hill Companies, 2007
Analysis of the Spiral Model Slide 2.74
Strengths
It is easy to judge how much to test
No distinction is made between development and
maintenance
Weaknesses
For large-scale software only
For internal (in-house) software only
Best suggestion
“Mix-and-match” life-cycle model
Figure 2.14