Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 SOFTWARE LIFE-CYCLES Beyond the Waterfall. 2 Requirements System Design Detailed Design Implementation Installation & Testing Maintenance The WATERFALL.

Similar presentations


Presentation on theme: "1 SOFTWARE LIFE-CYCLES Beyond the Waterfall. 2 Requirements System Design Detailed Design Implementation Installation & Testing Maintenance The WATERFALL."— Presentation transcript:

1 1 SOFTWARE LIFE-CYCLES Beyond the Waterfall

2 2 Requirements System Design Detailed Design Implementation Installation & Testing Maintenance The WATERFALL LIFE-CYCLE Standards Milestones Documents

3 3 Problems with the Waterfall Model sequentiality late testing paradigm late feedback to customer and engineer minimal risk management for customer and engineer

4 4 The “V” LIFE-CYCLE Requirements System Design Detailed Design Implementation Acceptance Test Integration Test Module Test

5 5 Analysis of the V-Shaped Life-Cycle Improves the testing paradigm ==> Quality Assurance Does NOT really improve: –sequentiality –feedback –risk management (during development)

6 6 Requirements Global System Design Detailed D. Implem. Testing Maintenance INCREMENTAL DEVELOPMENT Detailed D. Implem. Testing Detailed D. Implem. Testing

7 7 Analysis of Incremental Development Assumes independent subsystems! Improves (by delivering smaller units): –feedback: stepwise –testing Avoids monolithic product Does not really improve: –risk management during development –sequentiality: subsystems

8 8 (Rapid) Prototyping Goals: –break away from sequentiality –speed up feedback –minimize risks for customer and engineer –incomplete but executable –cheap and fast

9 9 Prototyping Definition (A. Davis) : A prototype is a partial implementation of a system, constructed primarily to enable customer, user, or developer to learn about the problem or its solution. Types: –evolutionary / throw-away –horizontal / vertical

10 10 Horizontal Prototyping f1 fn user hardware

11 11 Vertical Prototyping f1 fn user hardware

12 12 Combinations of Prototypes horizontalvertical evolutionary throw-away good match good match feasible

13 13 Analysis of Pure Prototyping Improvements: –breaks sequentiality –supports fast feedback –opportunity for risk management Problems: –missing organisational structure ==> combine with a life-cycle

14 14 The Spiral Model Goals: –risk management –compatible mix between clear structure (life-cycle) & flexible prototyping –supports fast feedback & quality assurance

15 15 determine objectives, alternatives, constraints evaluate alternatives, identify & resolve risks develop & verify product plan the next phase risk analysis p r o t o t y p e s require- system detailed design implement test & install design ments principles req. plan dev. plan integ. plan

16 16 Analysis of the Spiral Model Very generic ==> framework: –specific life-cycle must be derived as a specialization of the generic framework Evolutionary enhancement of other models: –can collapse into a waterfall life-cycle Decisions are risk-oriented: –risk-driven instead of document-driven

17 17 The Rational Unified Process (RUP) A modern generic process derived from the work on the UML and associated process. Brings together aspects of the 3 generic process models discussed previously. Normally described from 3 perspectives - A dynamic perspective that shows phases over time; – A static perspective that shows process activities; – A practice perspective that suggests good practice. 17 Credit: Sommerville 9 th edition: Chapter 2 Software Processes

18 18 Phases in the Rational Unified Process 18 Credit: Sommerville 9 th edition, Chapter 2 Software Processes

19 19 RUP phases Inception - Establish the business case for the system. Elaboration - Develop an understanding of the problem domain and the system architecture. Construction - System design, programming and testing. Transition - Deploy the system in its operating environment. 19 Credit: sommerville, 9 th edition, Chapter 2 Software Processes

20 20 RUP iterations In-phase iteration - Each phase is iterative with results developed incrementally. Cross-phase iteration - As shown by the loop in the RUP model, the whole set of phases may be enacted incrementally. Credit: Sommerville, 9 th edition, Chapter 2 Software Processes 20

21 21 Static workflows in the Rational Unified Process 21 Credit: Sommerville, 9 th edition, Chapter 2 Software Processes

22 22 Static workflows in the Rational Unified Process 22 Credit: Sommerville, 9 th edition, Chapter 2 Software Processes

23 23 RUP overview Credit: Ph, Krutchen,, RUP, Crosstalk, 9 (7) July 1996, pp.11-16.

24 24 RUP good practices Develop software iteratively - Plan increments based on customer priorities and deliver highest priority increments first. Manage requirements - Explicitly document customer requirements and keep track of changes to these requirements. Use component-based architectures - Organize the system architecture as a set of reusable components. 24 Credit: Sommerville, 9 th edition, Chapter 2 Software Processes

25 25 RUP good practices Visually model software - Use graphical UML models to present static and dynamic views of the software. Verify software quality - Ensure that the software meet’s organizational quality standards. Control changes to software - Manage software changes using a change management system and configuration management tools. Credit: Sommerville, 9 th edition, Chapter 2 Software Processes 25

26 26 Key points Processes should include activities to cope with change. This may involve a prototyping phase that helps avoid poor decisions on requirements and design. Processes may be structured for iterative development and delivery so that changes may be made without disrupting the system as a whole. The Rational Unified Process is a modern generic process model that is organized into phases (inception, elaboration, construction and transition) but separates activities (requirements, analysis and design, etc.) from these phases. 26 Credit: Sommerville, 9 th edition, Chapter 2 Software Processes

27 27 End of Section 1c coming up: methodologies for analysis & design


Download ppt "1 SOFTWARE LIFE-CYCLES Beyond the Waterfall. 2 Requirements System Design Detailed Design Implementation Installation & Testing Maintenance The WATERFALL."

Similar presentations


Ads by Google