Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu.

Slides:



Advertisements
Similar presentations
Software Life Cycle and Models
Advertisements

Slide 3.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach
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 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.
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.
Software Engineering 3156 Fall 2001 Section 1 17-Sep-01 Class #3: Life Cycles, XML, and Tools Phil Gross.
Extreme Programming Collaboration in Software Development Process.
Slide 10.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach.
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
Software Development Life Cycle (SDLC)
2. Software Life Cycle Models. Software Engineering Overview Software development in theory Iteration and incrementation Risks and other aspects of iteration.
Ch 2: Software Life-Cycle Models CSCI Ideal Software Development.
1 CMPT 275 Software Engineering Software life cycle.
What is the Spiral Development Model? Lifted From
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.
CSE 308 Software Engineering Software Engineering Strategies.
Prescriptive Process Models Jon Walker. Prescription? What does prescriptive mean?
© Bennett, McRobb and Farmer Avoiding the Problems Based on Chapter 3 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and Design.
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
Chapter 2 Software processes. Topics covered Software process models Process activities Coping with change.
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 LIFE-CYCLE MODELS
Software Engineering At Glance. Why We Need Software Engineering? The aim of software engineering is to solve the software crisis Software is delivered.
Software Engineering Zhang Shuang
Software Model Process
Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Systems Development Life Cycle
SOFTWARE DEVELOPMENT Presented By : Emporiumtech This presentation is brought you by
Slide 3.1 © The McGraw-Hill Companies, 2002 SOFTWARE LIFE-CYCLE MODELS.
The Software Life Cycle
Software Development - Methodologies
Unit 6 Application Design KLB Assignment.
Methodologies and Algorithms
Appendix B Agile Methodologies
Fundamentals of Information Systems, Sixth Edition
Chapter 3 Prescriptive Process Models
Software Processes (a)
Software Myths Software is easy to change
CS 425/625 Software Engineering Software Processes
Software development life cycle models
Software Process Models
Chapter 2 SW Process Models
Software Engineering Lecture 09 & 10.
Object-Oriented and Classical Software Engineering Eighth Edition, WCB/McGraw-Hill, 2011 Stephen R. Schach.
Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach
Object-Oriented and Classical Software Engineering Eighth Edition, WCB/McGraw-Hill, 2011 Stephen R. Schach.
Software Engineering Lecture 18.
Lecture 2 Revision of Models of a Software Process
Software life cycle models
Software Engineering CHAPTER 2 SOFTWARE LIFE CYCLE MODELS
SOFTWARE LIFE-CYCLES Beyond the Waterfall.
Extreme Programming.
Software Processes.
Software Engineering Lecture 17.
Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach
Appendix B Agile Methodologies
Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach
PRESENTED BY P.SANDEEP MSc,MTech
Presentation transcript:

Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu

CHAPTER 3 SOFTWARE LIFE-CYCLE MODELS

Overview Build-and-fix model Waterfall model Rapid prototyping model Incremental model Extreme programming Synchronize-and-stabilize model Spiral model Object-oriented life-cycle models Comparison of life-cycle models

Software Life-Cycle Models Life-cycle model (formerly, process model) The steps through which the product progresses Requirements phase Specification phase Design phase Implementation phase Integration phase Maintenance phase Retirement

Build and Fix Model Problems Totally unsatisfactory No specifications No design Totally unsatisfactory Need life-cycle model “Game plan” Phases Milestones

Waterfall Model (contd) Characterized by Feedback loops Documentation-driven Advantages Documentation Maintenance easier Disadvantages Specifications Joe and Jane Johnson Mark Marberry

Rapid Prototyping Model Linear model “Rapid”

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

Waterfall and Rapid Prototyping Models Waterfall model Many successes Client needs Rapid prototyping model Not proved Has own problems Solution Rapid prototyping for requirements phase Waterfall for rest of life cycle

Incremental Model Divide project into builds

Incremental Model (contd) Waterfall, rapid prototyping models Operational quality complete product at end Incremental model Operational quality portion of product within weeks Less traumatic Smaller capital outlay, rapid return on investment Need open architecture—maintenance implications Variations used in object-oriented life cycle

Incremental Model (contd) Problems Build-and-fix danger Contradiction in terms

Incremental Model (contd) More risky version—pieces may not fit CABTAB and its dangers

Extreme Programming Somewhat controversial new approach Stories (features client wants) Estimate duration and cost of each story Select stories for next build Each build is divided into tasks Test cases for task are drawn up first Pair programming Continuous integration of tasks

Unusual Features of XP Computers are put in center of large room lined with cubicles Client representative is always present Cannot work overtime for 2 successive weeks No specialization Refactoring

Evaluating XP XP has had some successes Good when requirements are vague or changing Too soon to evaluate XP

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

Synchronize-and Stabilize Model (contd) 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 operation of product

Spiral Model Simplified form Precede each phase by Waterfall model plus risk analysis Precede each phase by Alternatives Risk analysis Follow each phase by Evaluation Planning of next phase

Simplified Spiral Model If risks cannot be resolved, project is immediately terminated

Full Spiral Model Radial dimension: cumulative cost to date Angular dimension: progress through the spiral

Full Spiral Model (contd)

Analysis of Spiral Model Strengths Easy to judge how much to test No distinction between development, maintenance Weaknesses For large-scale software only For internal (in-house) software only

Object-Oriented Life-Cycle Models Need for iteration within and between phases Fountain model Recursive/parallel life cycle Round-trip gestalt Unified software development process All incorporate some form of Iteration Parallelism Incremental development Danger CABTAB

Fountain Model Features Overlap (parallelism) Arrows (iteration) Smaller maintenance circle

Conclusions Different life-cycle models Each with own strengths Each with 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