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

Slides:



Advertisements
Similar presentations
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software processes 2.
Advertisements

Chapter 2 – Software Processes Fall Chapter 2 – Software Processes Lecture 1 2Chapter 2 Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
SE Fundamentals: 1. Software Processes
Unit 2. Software Lifecycle
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 المحاضرة الثانية.
Software Engineering Chapter 4 Software processes Ku-Yaw Chang Assistant Professor Department of Computer Science and Information.
 2004 by SEC Chapter 2 Software Development Process Models.
1 Chapter 2 Software Processes An overview of conventional software process models, Rational Unified Process, and CASE tools.
EE6421/ED5031Software Engineering Slide 1 Section # 2 (Read Sommerville Ch (3 or 4) and Pressman Ch 2) Software Processes.
 Dr. Syed Noman Hasany.  Review of known methodologies  Analysis of software requirements  Real-time software  Software cost, quality, testing and.
The software process A software process is a set of activities and associated results which lead to the production of a software product. This may involve.
Software Processes Overview
Chapter 2 – Software Processes
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
SYSC System Analysis and Design
Software Process Models
1 CS 425/625 Software Engineering CS 425/625 Software Engineering Software Processes Based on Chapter 4 of the textbook [SE-7] Ian Sommerville, Software.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 4 Slide 1 Software Process Models.
Introduction to Software Engineering Dr. Basem Alkazemi
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Process Models.
1 SWE Introduction to Software Engineering Lecture 5.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
The web application development process Basharat Mahmood, COMSATS Institute of Information Technology, Islamabad, Pakistan. 1.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
The Rational Unified Process
Software Processes Sumber dari : cc.ee.ntu.edu.tw/~farn/courses/SE/ch4.ppt.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 1 Software Processes (Chapter 3)
Software Processes lecture 8. Topics covered Software process models Process iteration Process activities The Rational Unified Process Computer-aided.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Software Processes Software and Its Engineering - adopted & adapted from I. Sommerville, 2004.
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Lecture 1 Overview TopicsOverview Readings: Chapter 1 August 18, 2011 CSCE 740 Software Engineering.
CSc 461/561 Software Engineering Lecture 2 – Software Processes.
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
An Introduction to Software Engineering
4. Software Processes Software Engineering. Objectives To introduce software process models To describe three generic process models and when they may.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Chapter 13: Software Life Cycle Models Omar Meqdadi SE 273 Lecture 13 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Chapter 2 – Software Processes Software Engineering Lecture 1 Summer 2013/2014 Dr. Nouh Alhindawi Department of Computer Science and Software Engineering.
 Dr. Syed Noman Hasany.  Review of known methodologies  Analysis of software requirements  Real-time software  Software cost, quality, testing and.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Chapter 2 – Software Processes Lecture 1 1Chapter 2 Software Processes.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
Chapter 2 – Software Processes 1Chapter 2 Software Processes Ian Sommerville, Software Engineering, 9 th Edition Pearson Education, Addison-Wesley Note:
Chapter 2 – Software Processes Lecture 2 1Chapter 2 Software Processes.
Objectives To introduce software process models To describe three generic process models and when they may be used To explain the Rational Unified Process.
Software Engineering, 8th edition. Chapter 4 1 Courtesy: ©Ian Sommerville 2006 FEB 13 th, 2009 Lecture # 5 Software Processes.
A framework that describes the activities performed at each stage of a software development project. A life-cycle or a software process is the organisational.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
Chapter 2 – Software Processes Lecture 1 1Chapter 2 Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Software engineering 1.  Software process models  Process activities  Software change  The Rational Unified Process  An example of a modern software.
1 Process activities. 2 Software specification Software design and implementation Software validation Software evolution.
Chapter 2 – Software Processes Lecture 1 1Chapter 2 Software Processes.
Chapter 2 – Software Processes 1Chapter 2 Software Processes Ian Sommerville, Software Engineering, 9 th Edition Pearson Education, Addison-Wesley Note:
CS 389 – Software Engineering Lecture 2 – Part 2 Chapter 2 – Software Processes Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.
Software engineering Software Processes.
SOFTWARE LIFE-CYCLES Beyond the Waterfall.
Software Processes.
Introduction to Software Engineering
Chapter 2 – Software Processes
SOFTWARE LIFE-CYCLES Beyond the Waterfall.
Presentation transcript:

1 SOFTWARE LIFE-CYCLES Beyond the Waterfall

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

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 System Design Detailed Design Implementation Acceptance Test Integration Test Module Test

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

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 Combinations of Prototypes horizontalvertical evolutionary throw-away good match good match feasible

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 The Spiral Model Goals: –risk management –compatible mix between clear structure (life-cycle) & flexible prototyping –supports fast feedback & quality assurance

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 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 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 Phases in the Rational Unified Process 18 Credit: Sommerville 9 th edition, Chapter 2 Software Processes

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 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 Static workflows in the Rational Unified Process 21 Credit: Sommerville, 9 th edition, Chapter 2 Software Processes

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

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

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 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 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 End of Section 1c coming up: methodologies for analysis & design