CO.gs.6.18.tif                                                 00013C10Macintosh HD                   ABA78158:
Conquering Complex and Changing Systems
Object-Oriented Software Engineering
Art forChapter 12,Software Life Cycle
Bernd Bruegge & Allen Dutoit        Object-Oriented Software Engineering: Conquering Complex and Changing Systems      2
Figure 12-1. Simple life cycle for software development (UML use case diagram).
Bernd Bruegge & Allen Dutoit        Object-Oriented Software Engineering: Conquering Complex and Changing Systems      3
Figure 12-2. Simple life cycle for software development (UML activity diagram).
Bernd Bruegge & Allen Dutoit        Object-Oriented Software Engineering: Conquering Complex and Changing Systems      4
Figure 12-3. Another simple life cycle (UML activity diagram).
Bernd Bruegge & Allen Dutoit        Object-Oriented Software Engineering: Conquering Complex and Changing Systems      5
Figure 12-4. Entity-centered view of software development (UML class diagram).
Bernd Bruegge & Allen Dutoit        Object-Oriented Software Engineering: Conquering Complex and Changing Systems      6
Figure 12-5. Activities and products of the simple life cycle of Figure 12-2 (UML classdiagram).
Bernd Bruegge & Allen Dutoit        Object-Oriented Software Engineering: Conquering Complex and Changing Systems      7
Figure 12-6. Model of the software life cycle (UML class diagram). Asoftware life cycle consists of process groups, which in turn consist ofprocesses. A process accomplishes a specific purpose (e.g., requirements,design, installation). A process consists of activities, which are in turnconsists of sub-activities or tasks. Tasks represent the smallest piece ofwork that is relevant to management. Tasks consume resources andproduces one or more work products. A project is an instance of asoftware life cycle.
Bernd Bruegge & Allen Dutoit        Object-Oriented Software Engineering: Conquering Complex and Changing Systems      8
Figure 12-7. Process interrelationshipsin the IEEE 1074 standard (UMLactivity diagram, adapted from [IEEEStd. 1074-1995]]. As suggested by thispicture, dependencies among processesand activities are complex and seldomallow a sequential execution ofprocesses.
Bernd Bruegge & Allen Dutoit        Object-Oriented Software Engineering: Conquering Complex and Changing Systems      9
Figure 12-8. The waterfall model of softwaredevelopment is an activity-centered view of thesoftware life cycle: Software development activities areperformed in sequence (UML activity diagram adaptedfrom [Royse, 1970] using IEEE 1074 names; projectmanagement and cross-development processes areomitted).
Bernd Bruegge & Allen Dutoit        Object-Oriented Software Engineering: Conquering Complex and Changing Systems      10
Figure 12-9. Waterfall model for the DOD Standard 2167A (UML activitydiagram). Note activities specific to the DOD are used instead of IEEE1074 activities. Decision points denote reviews: The subsequent activityis initiated only if the review is successful.
Preliminary
Design Review
Critical Design
Review (CDR)
System
Requirements
Review
System
Design
Review
Software
Specification
Review
System
Requirements
Analysis
Software
Requirements
Analysis
System
Design
Preliminary
Design
Detailed
Design
Coding &
CSU Testing
CSC
Integration
& Testing
Bernd Bruegge & Allen Dutoit        Object-Oriented Software Engineering: Conquering Complex and Changing Systems      11
Figure 12-10. V-Model ofsoftware development.
Bernd Bruegge & Allen Dutoit        Object-Oriented Software Engineering: Conquering Complex and Changing Systems      12
Figure 12-11. Boehm’s spiral model (Adapted from [Boehm, 1987]). The distance from the originrepresents the cost accumulated by the project. The angle from the horizontal represents the type ofactivity. For example, the project P1 is currently in the risk analysis activity associated with softwarerequirements. The project P2 is in the development of the system product design.
Bernd Bruegge & Allen Dutoit        Object-Oriented Software Engineering: Conquering Complex and Changing Systems      13
Figure 12-12. Sawtooth Model with two prototype demonstrations (UML activity diagram). TheClient swimlane encloses the activities that are visible to the client, whereas the Developerswimlane encloses the activities that are at a lower abstraction level.
Bernd Bruegge & Allen Dutoit        Object-Oriented Software Engineering: Conquering Complex and Changing Systems      14
Figure 12-13. Shark tooth model with two prototype demonstrations and 1 review (UML activitydiagram, levels of abstraction are represented with swimlanes). Small teeth reaching the managementswimlane are internal reviews involving a prototype demo by the developers for the project manager.Large teeth reaching the client swimlane are prototype demonstrations to the client.
Bernd Bruegge & Allen Dutoit        Object-Oriented Software Engineering: Conquering Complex and Changing Systems      15
Figure 12-14. Entity-centered life cycle view of the models of the Unified Process (UML classdiagram). the dependencies depict traceability. There are dependencies between all models. Onlythe dependencies between the use case model and the other models are shown [Jacobson et al.,1999].
Bernd Bruegge & Allen Dutoit        Object-Oriented Software Engineering: Conquering Complex and Changing Systems      16
Figure 12-15. Snapshot of a project issue base (UML object diagram). Issues i1 and i5 have beenresolved, whereas all other issues are still open. Dependencies among issues indicate that theresolution of an issue can constraint the alternatives for dependent issues.
Bernd Bruegge & Allen Dutoit        Object-Oriented Software Engineering: Conquering Complex and Changing Systems      17
Figure 12-16. The waterfall model as a special case of the issue-based life cycle model (UMLobject diagram). All issues that belong to the same issue category are contained in the same UMLpackage. In the project status shown in the figure, all the requirements elicitation and analysisissues have been closed; that is, the requirements elicitation and analysis activities have beencompleted.
Bernd Bruegge & Allen Dutoit        Object-Oriented Software Engineering: Conquering Complex and Changing Systems      18
Figure 12-17. In a complex project state, all activities can still have some open issues, whichmeans that all activities need to be managed concurrently.