13-January-2003cse403-04-LifeCycle © 2003 University of Washington1 Lifecycle CSE 403, Winter 2003 Software Engineering

Slides:



Advertisements
Similar presentations
Software Processes.
Advertisements

Prescriptive Process models
2003 Mateusz Żochowski, Marcin Borzymek Software Life Cycle Analysis.
Ninth Lecture Hour 8:30 – 9:20 pm, Thursday, September 13
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
1 Requirements and the Software Lifecycle The traditional software process models Waterfall model Spiral model The iterative approach Chapter 3.
Virtual University - Human Computer Interaction 1 © Imran Hussain | UMT Imran Hussain University of Management and Technology (UMT) Lecture 16 HCI PROCESS.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 المحاضرة الثانية.
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.
CHAPTER 1 SOFTWARE DEVELOPMENT. 2 Goals of software development Aspects of software quality Development life cycle models Basic concepts of algorithm.
Gu & Maher University of Sydney, October 2004 DECO2005 Monitoring Team Process.
Software Engineering. How many lines of code? Average CS1004 assignment: 200 lines Average CS4115 project: 5000 lines Corporate e-commerce project: 80,000.
Software Engineering.
Object-oriented Analysis and Design
Chapter 1 Software Development. Copyright © 2005 Pearson Addison-Wesley. All rights reserved. 1-2 Chapter Objectives Discuss the goals of software development.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Process Models.
©Ian Sommerville 2000 Software Engineering, 6th edition Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing.
1 Jul 2005CSE403, Summer'05, Section 02 Section 02: Life Cycle Architecture Review Valentin Razmov.
Software Development Overview CPSC 315 – Programming Studio Spring 2008.
19-February-2003cse LCA © 2003 University of Washington1 Architecture Milestone CSE 403, Winter 2003 Software Engineering
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
17-January-2003cse ProjectConcepts © 2003 University of Washington1 Project Concepts CSE 403, Winter 2003 Software Engineering
Project phases and the life cycle
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
1 CSE 403 Software Lifecycle Models Reading: Rapid Development Ch. 7, 25 (further reading: Ch. 21, 35, 36, 20) These lecture slides are copyright (C) Marty.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
Software Life Cycle Models. Waterfall Model  The Waterfall Model is the earliest method of structured system development.  The original waterfall model.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
1 SWE Introduction to Software Engineering Lecture 4.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
1 Software Development Software Engineering is the study of the techniques and theory that support the development of high-quality software The focus is.
Fifth Lecture Hour 9:30 – 10:20 am, September 9, 2001 Framework for a Software Management Process – Life Cycle Phases (Part II, Chapter 5 of Royce’ book)
Chapter 2 – Software Processes Lecture 2 1Chapter 2 Software Processes.
An Introduction to Software Engineering
Chapter 2 Software Processes (2/2) Yonsei University 2 nd Semester, 2015 Sanghyun Park.
22-January-2003cse FunctionalSpecs © 2003 University of Washington1 Functional Specs CSE 403, Winter 2003 Software Engineering
1-1 Software Development Objectives: Discuss the goals of software development Identify various aspects of software quality Examine two development life.
> whoami Yuriy Brun Office: CSE 340
WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT.
September 30, 2010COMS W41561 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser
Software Development Life Cycle (SDLC)
Chapter 2 – Software Processes Lecture 2 1Chapter 2 Software Processes.
Software Project Management
Software Engineering, 8th edition. Chapter 4 1 Courtesy: ©Ian Sommerville 2006 FEB 13 th, 2009 Lecture # 5 Software Processes.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
CSE 403, Spring 2008, Alverson Software Development Lifecycle The Power of Process.
Software Lifecycle Models A software lifecycle model is a standardised format for planning organising, and running a new development project.
By : Hisham Kahlifa Shreef Foda Khaled monir Tamer medhat Supervisor : Dr Doaa Nabil.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
Copyright 2015, Robert W. Hasker. Classic Model Gathering Requirements Specification Scenarios Sequences Design Architecture Class, state models Implementation.
1 Chapter 2 SW Process Models. 2 Objectives  Understand various process models  Understand the pros and cons of each model  Evaluate the applicability.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini II. Software Life Cycle.
Methodologies and Algorithms
Software Processes (a)
Chapter 2 SW Process Models
Software Processes.
Requirements and the Software Lifecycle
Software Lifecycle Models
Chapter 2 Software Processes
Section 01: Life Cycle Objectives Review
Chapter 2 – Software Processes
Software life cycle models
An Overview of Software Processes
Software Processes.
Presentation transcript:

13-January-2003cse LifeCycle © 2003 University of Washington1 Lifecycle CSE 403, Winter 2003 Software Engineering

13-January-2003cse LifeCycle © 2003 University of Washington2 Readings and References Reading »Chapters 5-10, The Mythical Man-Month, Brooks Other References »Rapid Development, Steve McConnell Chapter 7, Lifecycle Planning »Anchoring the Software Process, Barry Boehm, USC,

13-January-2003cse LifeCycle © 2003 University of Washington3 The dreams of yesterday Boehm [1995] »"For a few golden moments in the mid-1970's, it appeared that the software field had found a sequence of common anchor points" »"a sequence of milestones around which people could plan, organize, monitor, and control their projects"

13-January-2003cse LifeCycle © 2003 University of Washington4 A Lifecycle The main function of a lifecycle model is to establish order in which project events occur Typical events include »specification, prototype, design, implementation, test, deliver, and do it again But they usually don't happen in nice clean little stages like this »so we develop various models and tweaks to try to maintain the benefits and still be realistic

13-January-2003cse LifeCycle © 2003 University of Washington5 "good enough" now vs "perfect" later The goal is often »not to achieve what you said you would at the beginning of the project »but to achieve the maximum possible within the time and resources available »Sherman 1995, reference in McConnell Do deliver a small and useful tool on time Don't deliver a monster way too late »Fancy doodads have a tendency to be junk anyway

13-January-2003cse LifeCycle © 2003 University of Washington6 Classic Waterfall

13-January-2003cse LifeCycle © 2003 University of Washington7 Characteristics Orderly sequential model Stages are disjoint »they don't overlap and you can't go forward until you've completed the current stage »you can't go back except with extreme difficulty Reviews at each stage to determine if ready to advance to next stage Document driven »specific documents will be complete at each stage yeah, right

13-January-2003cse LifeCycle © 2003 University of Washington8 Some issues Very difficult to specify all requirements completely and correctly all at once »completely  lots and lots of detail »correctly  every single detail is correct »produces masses and masses of detail that will be irrelevant if some early decision changes Difficult to accurately say everything at once Gold plating requirements is tempting Inflexible solutions based on invalid detail

13-January-2003cse LifeCycle © 2003 University of Washington9 More issues Since so much is resting on getting it right before leaving each stage, the reviews tend to be massive affairs »a lot of work goes into preparing for each review »that makes it even more expensive to change direction if a review shows problems »if a review is delayed or problems are found, the entire project sits in a loop while the problems are resolved - $$$

13-January-2003cse LifeCycle © 2003 University of Washington10 Salmon lifecycle model You can go upstream, but it's hard

13-January-2003cse LifeCycle © 2003 University of Washington11 Code and fix

13-January-2003cse LifeCycle © 2003 University of Washington12 Code and fix is dangerous No means of assessing progress »nasty surprises are not a good thing for your career »Yes: "I'm not worried, I know where they are in the project and they always deliver a useful product on time." »No: "I don't know. You remember the project when they were 95% complete for three months and then cancelled?" Risk of complete project failure right up to delivery

13-January-2003cse LifeCycle © 2003 University of Washington13 Spiral Model Oriented towards phased reduction of risk Take on the big risks early and make some decisions »are we building the right product? »do we have any customers for this product? »is it possible to implement the product with the technology that exists today? tomorrow? »does the company want to be in this business? should the company be in this business?

13-January-2003cse LifeCycle © 2003 University of Washington14 Spiral Model Anchoring the Software Process, Barry Boehm, USC, 1995

spiral detail Rapid Development, Steve McConnell

13-January-2003cse LifeCycle © 2003 University of Washington16 Spiral steps Determine objectives, alternatives, constraints Identify and resolve risks Evaluate alternatives Develop the deliverables for the iteration and verify that they are correct Plan the next iteration Commit to an approach for accomplishing the next iteration or cancel the project

13-January-2003cse LifeCycle © 2003 University of Washington17 Spiral early and often The spiral model is especially appropriate at the beginning of the project when the requirements are still fluid Risk reduction is the key element »early cancellation of bad projects is a major benefit »confidence that you're building the right product is a major benefit

13-January-2003cse LifeCycle © 2003 University of Washington18 Milestones Key elements of project milestones »stakeholder concurrence on the system's objectives »determination and validation of system architecture Traditional »Requirements review, preliminary design review, final design review, acceptance test Boehm Spiral »Lifecycle Objectives, Lifecycle Architecture, Initial Operating Capability

13-January-2003cse LifeCycle © 2003 University of Washington19 Elements of Lifecycle Objectives (LCO) Operational Concepts - What is it? »Top level system objectives and scope System Requirements - What does it do for us? »essential system features at an appropriate level System and software architecture - How? »support analysis of feasibility at this level Lifecycle plan - Who wants it? Who'll support it? »identification of the major stakeholders now, future Feasibility Rationale - Is this really true? »Evaluate conceptual integrity and compatibility

13-January-2003cse LifeCycle © 2003 University of Washington20 Elements of Lifecycle Architecture (LCA) Operational Concepts - What is it? »Elaboration of objectives and concepts System Requirements - What does it do for us? »Functions and interfaces, identify TBDs System and software architecture - How? »What is the actual design selection. Any risks? Lifecycle plan - Who wants it? Who'll support it? »Elaboration of who does what over the lifecycle Feasibility Rationale - Is this really true? »Evaluate conceptual integrity and compatibility

13-January-2003cse LifeCycle © 2003 University of Washington21 Initial Operational Capability (IOC) Software preparation »Are we really ready to go live? »Good release, support software, docs, data,... Site preparation »Facilities, equipment, supplies, commercial off- the-shelf software (COTS) in place, … User, operator, maintainer preparation »training, team building, for everyone who will be actually working with the darn thing