Presentation is loading. Please wait.

Presentation is loading. Please wait.

SOFTWARE LIFE-CYCLES Beyond the Waterfall.

Similar presentations


Presentation on theme: "SOFTWARE LIFE-CYCLES Beyond the Waterfall."ā€” Presentation transcript:

1 SOFTWARE LIFE-CYCLES Beyond the Waterfall

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

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

4 The ā€œVā€ LIFE-CYCLE Requirements Acceptance Test System Design
Integration Test Detailed Design Module Test Implementation

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 INCREMENTAL DEVELOPMENT Requirements Global System Design Detailed D.
Implem. Implem. Implem. Testing Testing Testing Maintenance

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 (Rapid) Prototyping Goals: break away from sequentiality
speed up feedback minimize risks for customer and engineer incomplete but executable cheap and fast

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 Horizontal Prototyping
f1 fn user hardware

11 Vertical Prototyping f1 fn user hardware

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

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

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

15 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. Credit: Sommerville 9th edition: Chapter 2 Software Processes 17

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

17 Credit: sommerville, 9th edition, Chapter 2 Software Processes
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. Credit: sommerville, 9th edition, Chapter 2 Software Processes 19

18 Credit: Sommerville, 9th edition, Chapter 2 Software Processes
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, 9th edition, Chapter 2 Software Processes 20

19 Static workflows in the Rational Unified Process
Description Business modelling The business processes are modelled using business use cases. Requirements Actors who interact with the system are identified and use cases are developed to model the system requirements. Analysis and design A design model is created and documented using architectural models, component models, object models and sequence models. Implementation The components in the system are implemented and structured into implementation sub-systems. Automatic code generation from design models helps accelerate this process. Credit: Sommerville, 9th edition, Chapter 2 Software Processes 21

20 Static workflows in the Rational Unified Process
Description Testing Testing is an iterative process that is carried out in conjunction with implementation. System testing follows the completion of the implementation. Deployment A product release is created, distributed to users and installed in their workplace. Configuration and change management This supporting workflow managed changes to the system (see Chapter 25). Project management This supporting workflow manages the system development (see Chapters 22 and 23). Environment This workflow is concerned with making appropriate software tools available to the software development team. Credit: Sommerville, 9th edition, Chapter 2 Software Processes 22

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

22 Credit: Sommerville, 9th edition, Chapter 2 Software Processes
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. Credit: Sommerville, 9th edition, Chapter 2 Software Processes 24

23 Credit: Sommerville, 9th edition, Chapter 2 Software Processes
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, 9th edition, Chapter 2 Software Processes 25

24 Credit: Sommerville, 9th edition, Chapter 2 Software Processes
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. Credit: Sommerville, 9th edition, Chapter 2 Software Processes 26

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


Download ppt "SOFTWARE LIFE-CYCLES Beyond the Waterfall."

Similar presentations


Ads by Google