
Software Lifecycles Models Software Engineering Lecture 17 Bernd Bruegge Applied Software Engineering Technische Universitaet Muenchen © 2006 Bernd Bruegge Software Engineering WS 2006/2007 1 Outline of Today’s Lecture • Modeling the software life cycle • Sequential models • Pure waterfall model • V-model • Sawtooth model • Iterative models • Boehm’s spiral model • Unified Process • Entity-oriented models • Issue-based model © 2006 Bernd Bruegge Software Engineering WS 2006/2007 2 Typical Software Life Cycle Questions • Which activities should we select for the software project? • What are the dependencies between activities? • How should we schedule the activities? • To find these activities and dependencies we can use the same modeling techniques we use for software development: • Functional Modeling of a Software Lifecycle • Scenarios • Use case model • Structural modeling of a Software Lifecycle • Object identification • Class diagrams • Dynamic Modeling of a Software Lifecycle • Sequence diagrams, statechart and activity diagrams © 2006 Bernd Bruegge Software Engineering WS 2006/2007 3 Definitions • Software life cycle: • Set of activities and their relationships to each other to support the development of a software system • Software development methodology: • A collection of techniques for building models applied across the software life cycle © 2006 Bernd Bruegge Software Engineering WS 2006/2007 4 Functional Model of a simple life cycle model Software development <<include>> <<include>> <<include>> Problem definition System development System operation Client Project manager Developer Administrator End user © 2006 Bernd Bruegge Software Engineering WS 2006/2007 5 Activity Diagram for the same Life Cycle Model Problem System System definition development operation activity activity activity Software development goes through a linear progression of states called software development activities © 2006 Bernd Bruegge Software Engineering WS 2006/2007 6 Another simple Life Cycle Model System development activity System upgrade activity Market creation activity System Development and Market creation can be done in parallel. They must be done before the system upgrade activity © 2006 Bernd Bruegge Software Engineering WS 2006/2007 7 Two Major Views of the Software Life Cycle • Activity-oriented view of a software life cycle • Software development consists of a set of development activities • all the examples so far • Entity-oriented view of a software life cycle • Software development consists of the creation of a set of deliverables. © 2006 Bernd Bruegge Software Engineering WS 2006/2007 8 Entity-centered view of Software Development Software Development Market survey Lessons learned document document System specification document Executable system Software development consists of the creation of a set of deliverables © 2006 Bernd Bruegge Software Engineering WS 2006/2007 9 Combining Activities and Entities in One View Activity Work product Market survey consumes document Problem definition activity produces Specification consumes document System development activity produces Executable system consumes System operation activity produces Lessons learned document © 2006 Bernd Bruegge Software Engineering WS 2006/2007 10 IEEE Std 1074: Standard for Software Life Cycle Activities Process Group IEEE Std 1074 Project Pre- Develop- Post- Cross- Management Development ment Development Development (Integral Processes) > Project Initiation > Concept > Requirements > Installation > V & V >Project Monitoring Exploration > Design > Operation & > Configuration &Control > System > Implemen- Support Management > Software Quality Allocation tation > Maintenance > Documen- Management > Retirement tation > Training Process © 2006 Bernd Bruegge Software Engineering WS 2006/2007 11 Object Model of the IEEE 1074 Standard Software Life Cycle Money * Process Group Time Participant * Process * Resource * Work Unit * consumed by * Activity Task produces Work Product © 2006 Bernd Bruegge Software Engineering WS 2006/2007 12 Life Cycle Modeling • Many models have been proposed to deal with the problems of defining activities and associating them with each other • The first model proposed was the waterfall model [Royce] • Spiral model [Boehm] • Objectory process [Jacobsen] • Rational process [Kruchten] • Unified process [Jacobsen, Booch, Rumbaugh] © 2006 Bernd Bruegge Software Engineering WS 2006/2007 13 The Waterfall Model of Concept Exploration Process the Software Life System Cycle Allocation Process Requirements Process Design Process Implementation Process Verification & Validation Process Installation adapted from [Royce 1970] Process Operation & Support Process © 2006 Bernd Bruegge Software Engineering WS 2006/2007 14 DOD Standard 2167A • Example of a waterfall model with the following software development activities • System Requirements Analysis/Design • Software Requirements Analysis • Preliminary Design and Detailed Design • Coding and CSU testing • CSC Integration and Testing • CSCI Testing • System integration and Testing • Required by the U.S. Department of Defense for all software contractors in the 1980-90’s. © 2006 Bernd Bruegge Software Engineering WS 2006/2007 15 Activity Diagram of MIL DOD-STD-2167A System Requirements Analysis Preliminary Design System Requirements Review Preliminary Design Review System Design Detailed Design System Design Critical Design Review Review (CDR) Software Requirements Analysis Software CSC Coding & Integration Specification CSU Testing Review & Testing © 2006 Bernd Bruegge Software Engineering WS 2006/2007 … 16 From the Waterfall Model to the V Model Acceptance Requirements Engineering System Requirements Testing Analysis Integration System Design Testing Unit Object Testing Design Implemen- tation Unit Testing Integration Testing System Testing © 2006 Bernd Bruegge Software Engineering WS 2006/2007 17 Activity Diagram of the V Model System Requirements Operation Analysis Is validated by precedes Software Requirements Client Elicitation Acceptance System Requirements Integration Analysis & Test Component Preliminary Integration Design & Test Detailed Unit Design Test Problem with the V-Model: Developers Perception = Implementation User Perception © 2006 Bernd Bruegge Software Engineering WS 2006/2007 18 Properties of Waterfall-based Models • Managers love waterfall models • Nice milestones • No need to look back (linear system) • Always one activity at a time • Easy to check progress during development: 90% coded, 20% tested • However, software development is non-linear • While a design is being developed, problems with requirements are identified • While a program is being coded, design and requirement problems are found • While a program is tested, coding errors, design errors and requirement errors are found. © 2006 Bernd Bruegge Software Engineering WS 2006/2007 19 The Alternative: Allow Iteration Escher was the first:-) © 2006 Bernd Bruegge Software Engineering WS 2006/2007 20 Construction of Escher’s Waterfall Model http://www.cs.technion.ac.il/~gershon/EscherForReal/ © 2006 Bernd Bruegge Software Engineering WS 2006/2007 21 Spiral Model • The spiral model focuses on addressing risks incrementally, in order of priority. • It consists of the following set of activities • Determine objectives and constraints • Evaluate alternatives • Identify risks • Resolve risks by assigning priorities to risks • Develop a series of prototypes for the identified risks starting with the highest risk • Use a waterfall model for each prototype development • If a risk has successfully been resolved, evaluate the results of the round and plan the next round • If a certain risk cannot be resolved, terminate the project immediately • This set of activities is applied to a couple of so- called rounds. © 2006 Bernd Bruegge Software Engineering WS 2006/2007 22 Rounds in Boehm’s Spiral Model • Concept of Operations • For each round go • Software through these activities: Requirements • Define objectives, • Software Product alternatives, Design constraints • Detailed Design • Evaluate alternatives, • Code identify and resolve risks • Unit Test • Develop and verify a • Integration and Test prototype • Acceptance Test • Plan the next round. • Implementation Disccourse on Prototyping © 2006 Bernd Bruegge Software Engineering WS 2006/2007 23 Diagram of Boehm’s Spiral Model © 2006 Bernd Bruegge Software Engineering WS 2006/2007 24 Round 1, Concept of Operations: Determine Objectives,Alternatives & Constraints Project Start © 2006 Bernd Bruegge Software Engineering WS 2006/2007 25 Round 1, Concept of Operations: Evaluate Alternatives, identify & resolve Risks Risk Analysis © 2006 Bernd Bruegge Software Engineering WS 2006/2007 26 Round 1, Concept of Operations: Develop and Verify Concept of Operation Activity © 2006 Bernd Bruegge Software Engineering WS 2006/2007 27 Round 1, Concept of Operations: Prepare for Next Activity Requirements and Life cycle Planning © 2006 Bernd Bruegge Software Engineering WS 2006/2007 28 Round 2, Software Requirements: Determine Objectives,Alternatives & Constraints Start of Round 2 © 2006 Bernd Bruegge Software Engineering WS 2006/2007 29 Comparison of Projects Determine objectives, Evaluate alternatives, alternatives, & constraints identify & resolve risks Risk analysis Risk analysis Project P1 Risk analysis P1 Prototype3 Prototype2 Prototype1 Requirements Concept of plan operation Software System Requirements Product Detailed Design Design Development Requirements plan validation P2 Code Integration
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages94 Page
-
File Size-