slide 3.1 © the mcgraw-hill companies, 2002 object-oriented and classical software engineering...

27
Slide 3. 1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach [email protected]

Upload: cory-goodman

Post on 14-Jan-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Slide 3.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu

Slide 3.1

© The McGraw-Hill Companies, 2002

Object-Oriented and Classical Software

Engineering

Fifth Edition, WCB/McGraw-Hill, 2002

Stephen R. [email protected]

Page 2: Slide 3.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu

Slide 3.2

© The McGraw-Hill Companies, 2002

CHAPTER 3

SOFTWARE LIFE-CYCLE

MODELS

Page 3: Slide 3.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu

Slide 3.3

© The McGraw-Hill Companies, 2002

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

Page 4: Slide 3.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu

Slide 3.4

© The McGraw-Hill Companies, 2002

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

Page 5: Slide 3.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu

Slide 3.5

© The McGraw-Hill Companies, 2002

Build and Fix Model

Problems– No specifications– No design

Totally unsatisfactory

Need a life-cycle model– “Game plan” – Phases– Milestones

Page 6: Slide 3.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu

Slide 3.6

© The McGraw-Hill Companies, 2002

Waterfall Model

Characterized by– Feedback loops– Documentation-driven

Advantages – Documentation– Maintenance easier

Disadvantages– Specification document

» Joe and Jane Johnson» Mark Marberry

Page 7: Slide 3.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu

Slide 3.7

© The McGraw-Hill Companies, 2002

Rapid Prototyping Model

Linear model “Rapid”

Page 8: Slide 3.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu

Slide 3.8

© The McGraw-Hill Companies, 2002

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

Page 9: Slide 3.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu

Slide 3.9

© The McGraw-Hill Companies, 2002

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

Page 10: Slide 3.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu

Slide 3.10

© The McGraw-Hill Companies, 2002

Incremental Model

Divide project into builds

Page 11: Slide 3.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu

Slide 3.11

© The McGraw-Hill Companies, 2002

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

Page 12: Slide 3.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu

Slide 3.12

© The McGraw-Hill Companies, 2002

Incremental Model (contd)

Problems– Build-and-fix danger– Contradiction in terms

Page 13: Slide 3.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu

Slide 3.13

© The McGraw-Hill Companies, 2002

Incremental Model (contd)

More risky version—pieces may not fit– CABTAB and its dangers

Page 14: Slide 3.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu

Slide 3.14

© The McGraw-Hill Companies, 2002

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 a task are drawn up first Pair programming Continuous integration of tasks

Page 15: Slide 3.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu

Slide 3.15

© The McGraw-Hill Companies, 2002

Unusual Features of XP

Computers are put in the center of a large room lined with cubicles

A client representative is always present Cannot work overtime for 2 successive

weeks No specialization Refactoring

Page 16: Slide 3.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu

Slide 3.16

© The McGraw-Hill Companies, 2002

Evaluating XP

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

Page 17: Slide 3.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu

Slide 3.17

© The McGraw-Hill Companies, 2002

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

Page 18: Slide 3.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu

Slide 3.18

© The McGraw-Hill Companies, 2002

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 the operation of the product

Page 19: Slide 3.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu

Slide 3.19

© The McGraw-Hill Companies, 2002

Spiral Model

Simplified form– Waterfall model plus

risk analysis preceding each phase

Page 20: Slide 3.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu

Slide 3.20

© The McGraw-Hill Companies, 2002

Simplified Spiral Model

View of spiral

Page 21: Slide 3.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu

Slide 3.21

© The McGraw-Hill Companies, 2002

A Key Point of the Spiral Model

If all risks cannot be resolved, the project is immediately terminated

Page 22: Slide 3.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu

Slide 3.22

© The McGraw-Hill Companies, 2002

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

Page 23: Slide 3.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu

Slide 3.23

© The McGraw-Hill Companies, 2002

Full Spiral Model (contd)

Page 24: Slide 3.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu

Slide 3.24

© The McGraw-Hill Companies, 2002

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

Page 25: Slide 3.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu

Slide 3.25

© The McGraw-Hill Companies, 2002

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

Page 26: Slide 3.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu

Slide 3.26

© The McGraw-Hill Companies, 2002

Fountain Model

Overlap (parallelism)

Arrows (iteration) Smaller

maintenance circle

Page 27: Slide 3.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu

Slide 3.27

© The McGraw-Hill Companies, 2002

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