• No results found

Object-Oriented and Classical Software Engineering

N/A
N/A
Protected

Academic year: 2021

Share "Object-Oriented and Classical Software Engineering"

Copied!
27
0
0

Loading.... (view fulltext now)

Full text

(1)

Slide 3.1

Object-Oriented and

Classical Software

Engineering

(2)

Slide 3.2

CHAPTER 3

SOFTWARE

LIFE-CYCLE

(3)

Slide 3.3

Overview

z Build-and-fix model z Waterfall model

z Rapid prototyping model z Incremental model

z Extreme programming

z Synchronize-and-stabilize model z Spiral model

z Object-oriented life-cycle models

(4)

Slide 3.4

Software Life-Cycle Models

z Life-cycle model (formerly, process model)

z The steps through which the product progresses

– Requirements phase – Specification phase – Design phase – Implementation phase – Integration phase – Maintenance phase – Retirement

(5)

Slide 3.5

Build and Fix Model

z Problems – No specifications – No design z Totally unsatisfactory z Need a life-cycle model – “Game plan” – Phases – Milestones

(6)

Slide 3.6

Waterfall Model

z Characterized by – Feedback loops – Documentation-driven z Advantages – Documentation – Maintenance easier z Disadvantages – Specification document

» Joe and Jane Johnson

(7)

Slide 3.7

Rapid Prototyping Model

z Linear model z “Rapid”

(8)

Slide 3.8

Three Key Points

z Do not turn the rapid prototype into the product z Rapid prototyping may replace the

specification phase—never the design phase

z Comparison:

– Waterfall model—try to get it right the first time

(9)

Slide 3.9

Waterfall and Rapid Prototyping Models

z Waterfall model

– Many successes

– Client’s needs

z Rapid prototyping model

– Not proved

– Has its own problems

z Solution

– Rapid prototyping for the requirements phase

(10)

Slide 3.10

Incremental Model

z Divide project

(11)

Slide 3.11

Incremental Model (contd)

z Waterfall, rapid prototyping models

– Operational quality complete product at end

z Incremental model

– Operational quality portion of product within weeks

z Less traumatic

z Smaller capital outlay, rapid return on investment z Need open architecture—maintenance

implications

(12)

Slide 3.12

Incremental Model (contd)

z Problems

– Build-and-fix danger

(13)

Slide 3.13

Incremental Model (contd)

z More risky version—pieces may not fit

(14)

Slide 3.14

Extreme Programming

z Somewhat controversial new approach z Stories (features client wants)

z Estimate duration and cost of each story z Select stories for next build

z Each build is divided into tasks

z Test cases for a task are drawn up first z Pair programming

(15)

Slide 3.15

Unusual Features of XP

z Computers are put in the center of a large

room lined with cubicles

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

weeks

z No specialization z Refactoring

(16)

Slide 3.16

Evaluating XP

z XP has had some successes

z Good when requirements are vague or changing z Too soon to evaluate XP

(17)

Slide 3.17

Synchronize-and Stabilize Model

z Microsoft’s life-cycle model

z Requirements analysis—interview potential

customers

z Draw up specifications

z Divide project into 3 or 4 builds

z Each build is carried out by small teams

(18)

Slide 3.18

Synchronize-and Stabilize Model (contd)

z At the end of the day—synchronize (test and

debug)

z At the end of the build—stabilize (freeze build) z Components always work together

(19)

Slide 3.19

Spiral Model

z Simplified form

– Waterfall model plus risk analysis preceding each phase

(20)

Slide 3.20

Simplified Spiral Model

(21)

Slide 3.21

A Key Point of the Spiral Model

z If all risks cannot be resolved, the project is

(22)

Slide 3.22

Full Spiral Model

z Precede each phase by

– Alternatives

– Risk analysis

z Follow each phase by

– Evaluation

– Planning of next phase

z Radial dimension: cumulative cost to date

(23)

Slide 3.23

(24)

Slide 3.24

Analysis of Spiral Model

z Strengths

– It is easy to judge how much to test

– No distinction is made between development, maintenance

z Weaknesses

– For large-scale software only

(25)

Slide 3.25

Object-Oriented Life-Cycle Models

z Need for iteration within and between phases

– Fountain model

– Recursive/parallel life cycle

– Round-trip gestalt

– Unified software development process

z All incorporate some form of

– Iteration

– Parallelism

– Incremental development Danger

(26)

Slide 3.26

Fountain Model

z Overlap (parallelism) z Arrows (iteration) z Smaller maintenance circle

(27)

Slide 3.27

Conclusions

z Different life-cycle models

– Each with its own strengths

– Each with its own weaknesses

z Criteria for deciding on a model include:

– The organization

– Its management

– Skills of the employees

– The nature of the product

References

Related documents

Model-based Software Engineering, Generative Software Engineering, Object Oriented Software Construction, Software Architectures, Safety and Reliability of Software-controlled

Laser Thermo keratoplasty LTK Conductive keratoplasty CK +1.50 – +2.50D Hyperopic PRK +1.50 - + 4.00D Hyperopic LASIK Also consider. Clear lens extraction >50 years

In December 2004, the Public Health Agency of Canada (PHAC) convened a special meeting of the Advisory Committee on Infection Prevention and Control for Creutzfeldt- Jakob Disease,

n Abstract: During the first half of the ‘90s, those who wished to acquire, in an organised manner, information (including professional general knowledge) regarding built heritage

Students will develop object oriented analysis and design models using Computer Aided Software Engineering (CASE) tools, similar to those developed in the software engineering

CLASSICAL WATERFALL MODEL (CONT.) }   The guidelines and methodologies of an organization:.. }   called the organization's

The research data were analyzed descriptively, practical data included the feasibility of using teaching material and student responses, indicating that the

Member states at the conference reaffirmed their commitment to justice for all, especially in light of the post-2015 development agenda as they acknowledged that