SOFTWARE LIFE-CYCLES Beyond the Waterfall.

Slides:



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

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Unit 2. Software Lifecycle
1 Chapter 2 Software Processes An overview of conventional software process models, Rational Unified Process, and CASE tools.
 Dr. Syed Noman Hasany.  Review of known methodologies  Analysis of software requirements  Real-time software  Software cost, quality, testing and.
Chapter 2 – Software Processes
Ch 3 System Development Environment
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
SYSC System Analysis and Design
1 SOFTWARE LIFE-CYCLES Beyond the Waterfall. 2 Requirements System Design Detailed Design Implementation Installation & Testing Maintenance The WATERFALL.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 4 Slide 1 Software Process Models.
1 SWE Introduction to Software Engineering Lecture 5.
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.
Software Processes lecture 8. Topics covered Software process models Process iteration Process activities The Rational Unified Process Computer-aided.
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
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.
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.
The principles of an object oriented software development process Week 04 1.
 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:
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
©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.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini II. Software Life Cycle.
TK2023 Object-Oriented Software Engineering
Software engineering Software Processes.
CS390: Software Engineering
Chapter 2 – Software Processes
The Web Application Development Process Models
CS 389 – Software Engineering
Chapter 2: Software Processes
SOFTWARE LIFE-CYCLES Beyond the Waterfall.
Chapter 2 Software Processes
CS 425/625 Software Engineering Software Processes
Chapter 2 – Software Processes
Chapter 2 – Software Processes
Software Processes.
CSCE 740 Software Engineering
Introduction to Software Engineering
Object Oriented Analysis and Design
Rational Unified Process
Lecture 2 Revision of Models of a Software Process
CS310 Software Engineering Lecturer Dr.Doaa sami Khafag
Chapter 2 – Software Processes
An Overview of Software Processes
An Overview of Software Processes
SE Fundamentals: 1. Software Processes
Chapter 2 – Software Processes
Chapter 2 – Software Processes
Chapter 2 – Software Processes
Presentation transcript:

SOFTWARE LIFE-CYCLES Beyond the Waterfall

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

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

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

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

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

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

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

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

Horizontal Prototyping f1 fn user hardware

Vertical Prototyping f1 fn user hardware

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

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

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

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

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

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

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

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

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

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

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

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

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

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