Software Engineering Zhang Shuang

Slides:



Advertisements
Similar presentations
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 12, Software Life Cycle.
Advertisements

Computer Science Department
1 Software Processes A Software process is a set of activities and associated results which lead to the production of a software product. Activities Common.
Slide 3.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach
Software Life-Cycle Models
Software Development Life-Cycle Models
Ch2: Software Life Cycles Housekeeping  Feedback from Wednesday  Structured vs. Object Oriented Paradigm Structured: Data is an argument, functions separate,
CHAPTER 3 SOFTWARE LIFE-CYCLE MODELS.
SOFTWARE PROCESS MODELS. Software Process Models  Process model (Life-cycle model) -steps through which the product progresses Requirements phase Specification.
Software Engineering Saeed Akhtar The University of Lahore Lecture 4 Originally shared for: mashhoood.webs.com.
Software Project Management
Software Processes Modified by Randy K. Smith
Software Life-Cycle Models
1 Chapter 3 Prescriptive Process Models Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
CSE 470 : Software Engineering The Software Process.
CHAPTER 1 SOFTWARE DEVELOPMENT. 2 Goals of software development Aspects of software quality Development life cycle models Basic concepts of algorithm.
System Development Life Cycle Process of creating and altering systems or software by using methodologies or models to develop the systems in a logical.
Sharif University of Technology Session # 3.  Contents  Systems Analysis and Design Sharif University of Technology MIS (Management Information System),
Introduction to Software Engineering Lecture 3 André van der Hoek.
Introduction to Software Engineering Lecture 4 André van der Hoek.
Gu & Maher University of Sydney, October 2004 DECO2005 Monitoring Team Process.
Software Engineering 3156 Fall 2001 Section 1 17-Sep-01 Class #3: Life Cycles, XML, and Tools Phil Gross.
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.
CS 425/625 Software Engineering Software Processes
©Ian Sommerville 2000 Software Engineering, 6th edition Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing.
Chapter 2A 1 Software Engineering CHAPTER 2 SOFTWARE LIFE CYCLE MODELS by Farhad Mavaddat CS430 Notes Modified from the notes of Jerry Breecher of Clark.
Incremental Model Requirements phase Verify Specification phase Verify
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Ch 2: Software Life-Cycle Models CSCI Ideal Software Development.
What is the Spiral Development Model? Lifted From
PROCESS MODELS CHAPTER III.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Capability Maturity Models Software Engineering Institute (supported by DoD) The problems of software development are mainly caused by poor process management.
Software Life-Cycle Models Somnuk Keretho, Assistant Professor Department of Computer Engineering Faculty of Engineering, Kasetsart University
CSE 308 Software Engineering Software Engineering Strategies.
1 SWE Introduction to Software Engineering Lecture 4.
Software Engineering MCS-2 Lecture # 6
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 1: Introduction to Systems Analysis and Design Alan.
Software Engineering process models
Software Engineering II Lecture 3 Fakhar Lodhi. Software Life-Cycle Steps Life-cycle model (formerly, process model) –Requirements phase –Specification.
The Spiral Model Sultana & Mahmood. Systems development life-cycle The process of creating or altering computer systems The models that define the processes.
SOFTWARE LIFE-CYCLE MODELS
Slide 3.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach
Software Engineering At Glance. Why We Need Software Engineering? The aim of software engineering is to solve the software crisis Software is delivered.
Software Development Life Cycle (SDLC)
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Chapter 2 Software Development Model and 1. Topics covered Software process models Process iteration Process activities The Rational Unified Process Computer-aided.
Topic:- At the end we will be able to explain:- Why it is called Meta Model ?? Spiral Model Its Advantages & Disadvantages… Phases of Spiral Model...
Systems Development Life Cycle
1 Chapter 2 SW Process Models. 2 Objectives  Understand various process models  Understand the pros and cons of each model  Evaluate the applicability.
SOFTWARE DEVELOPMENT Presented By : Emporiumtech This presentation is brought you by
Slide 3.1 © The McGraw-Hill Companies, 2002 SOFTWARE LIFE-CYCLE MODELS.
Software Development - Methodologies
Unit 6 Application Design KLB Assignment.
Chapter 3 Prescriptive Process Models
Software Myths Software is easy to change
CS 425/625 Software Engineering Software Processes
V-Shaped SDLC Model Lecture-6.
Software development life cycle models
Software Process Models
Chapter 2 SW Process Models
Software Engineering Lecture 09 & 10.
Computer Science Life Cycle Models.
Software Engineering Lecture 18.
Software life cycle models
Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach
Software Engineering CHAPTER 2 SOFTWARE LIFE CYCLE MODELS
Extreme Programming.
Software Engineering Lecture 17.
PRESENTED BY P.SANDEEP MSc,MTech
Presentation transcript:

Software Engineering Zhang Shuang

Chapter 9 Software Life-cycle Models Software Life-cycle Models Zhang Shuang,

Software Life-Cycle Models Life-cycle model, the series of steps through which the product progresses The life-cycle of each product is different:  Software size  Software type  Development environment & technique Use the suitable model for each product Zhang Shuang,

Software Life-Cycle Models  Different life-cycle models:  Build-and-fix model  Waterfall model  Rapid prototyping model  Incremental model  Synchronize-and-stabilize model  Spiral Model  Fountain model Zhang Shuang,

1. Build and Fix Model Problems  No specifications  No design Totally unsatisfactory Need a life-cycle model  “Game plan”  Phases  Milestones Zhang Shuang,

2. Waterfall Model Characterized by  Feedback loops  Documentation-driven Advantages  Documentation  Maintenance easier Disadvantages  Specification document Widely used before 80s

3. Rapid Prototyping Model Linear model “Rapid”

Three Key Points Do not turn the rapid prototype into the product Rapid prototyping may replace the specification phase—never the design phase Comparison:  Waterfall model—try to get it right the first time  Rapid prototyping—frequent change, then discard Zhang Shuang,

Waterfall and Rapid Prototyping Models  Waterfall model  Many successes  Client’s needs  Rapid prototyping model  Not proved  Has its own problems  Solution  Rapid prototyping for the requirements phase  Waterfall model for the rest of the life cycle Zhang Shuang,

4. Incremental Model  Divide project into builds

4. Incremental Model  Advantages:  The complete product is divided into builds and the developer delivers the product build by build.  It reduces the traumatic effect of imposing a completely new product on the client organization.  From the client’s financial viewpoint, phased delivery requires no large capital outlay. Zhang Shuang,

4. Incremental Model  Problems  Build-and-fix danger  Contradiction in terms Zhang Shuang,

5. Synchronize-and-Stabilize Model  Microsoft’s life-cycle model  Requirements analysis—interview potential customers  Draw up specifications  Divide project into 3 or 4 builds  Each build is carried out by small teams working in parallel Zhang Shuang,

5. Synchronize-and-Stabilize Model  At the end of the day—synchronize (test and debug)  At the end of the build—stabilize (freeze build)  Components always work together  Get early insights into the operation of the product Zhang Shuang,

6. Spiral Model  Simplified form  Waterfall model plus risk analysis preceding each phase

Simplified Spiral Model  View of spiral

A Key Point of the Spiral Model  If all risks cannot be resolved, the project is immediately terminated Zhang Shuang,

Full Spiral Model  Precede each phase by  Alternatives  Risk analysis  Follow each phase by  Evaluation  Planning of next phase  Radial dimension: cumulative cost to date  Angular dimension: progress through the spiral Zhang Shuang,

Analysis of Spiral Model  Strengths  It is easy to judge how much to test  No distinction is made between development, maintenance  Weaknesses  For large-scale software only  For internal (in-house) software only Zhang Shuang,

7 Fountain Model  Overlap (parallelism)  Arrows (iteration)  Smaller maintenance circle

Conclusions  Different life-cycle models  Each with its own strengths  Each with its own weaknesses  Criteria for deciding on a model include:  The organization  Its management  Skills of the employees  The nature of the product  Best suggestion  “Mix-and-match” life-cycle model Zhang Shuang,

9 Software Life-Cycle Models  Note that there is no  Planning Phase  Testing Phase  Documentation Phase  These are ongoing constant processes Zhang Shuang,