17
Soft. Eng. I, Spring 07 Dr Driss Kettani 1 CSC-3324: Chapter II The Software life cycle & Software engineering process models Reading: I. Sommerville, Edition 7, Chap. 4

Soft. Eng. I, Spring 07Dr Driss Kettani1 CSC-3324: Chapter II The Software life cycle & Software engineering process models Reading: I. Sommerville, Edition

  • View
    216

  • Download
    3

Embed Size (px)

Citation preview

Page 1: Soft. Eng. I, Spring 07Dr Driss Kettani1 CSC-3324: Chapter II The Software life cycle & Software engineering process models Reading: I. Sommerville, Edition

Soft. Eng. I, Spring 07 Dr Driss Kettani 1

CSC-3324: Chapter II

The Software life cycle

&

Software engineering process models

Reading:

I. Sommerville, Edition 7, Chap. 4

Page 2: Soft. Eng. I, Spring 07Dr Driss Kettani1 CSC-3324: Chapter II The Software life cycle & Software engineering process models Reading: I. Sommerville, Edition

Soft. Eng. I, Spring 07 Dr Driss Kettani 2

The software life cycle

(All) The steps that are gone through in a software

engineering process form the software life cycle…

From the very beginning (client requirements) till

the decommissioning of the software…

The details (contents, activities, deliverables, etc. )

and the sequence of these steps depend on the

software process model that is adopted...

Page 3: Soft. Eng. I, Spring 07Dr Driss Kettani1 CSC-3324: Chapter II The Software life cycle & Software engineering process models Reading: I. Sommerville, Edition

Soft. Eng. I, Spring 07 Dr Driss Kettani 3

Generic software process models

The waterfall model

Separate and distinct phases of specifications and

development

Prototyping development

Specification and development are interleaved

Component-based development

The system is assembled from existing

components

Page 4: Soft. Eng. I, Spring 07Dr Driss Kettani1 CSC-3324: Chapter II The Software life cycle & Software engineering process models Reading: I. Sommerville, Edition

Soft. Eng. I, Spring 07 Dr Driss Kettani 4

A typical waterfall model schema

Coding / Programming

Requirements Engineering

System & Software Design

Integration & System Testing

Operation & Maintenance

Page 5: Soft. Eng. I, Spring 07Dr Driss Kettani1 CSC-3324: Chapter II The Software life cycle & Software engineering process models Reading: I. Sommerville, Edition

Soft. Eng. I, Spring 07 Dr Driss Kettani 5

A typical Waterfall model phases

Requirements engineering

System and Software Design

Programming & Unit testing

Integration and system testing

Operation and maintenance

The drawback of the waterfall model is the difficulty of accommodating change after the process is underway

Page 6: Soft. Eng. I, Spring 07Dr Driss Kettani1 CSC-3324: Chapter II The Software life cycle & Software engineering process models Reading: I. Sommerville, Edition

Soft. Eng. I, Spring 07 Dr Driss Kettani 6

Prototyping Model

ValidationFinal

version

DevelopmentIntermediate

versions

SpecificationInitial

version

Outlinedescription

Concurrentactivities

- Called sometimes (wrongly) Iterative/Evolutionary model -

Page 7: Soft. Eng. I, Spring 07Dr Driss Kettani1 CSC-3324: Chapter II The Software life cycle & Software engineering process models Reading: I. Sommerville, Edition

Soft. Eng. I, Spring 07 Dr Driss Kettani 7

Prototyping Categorization

Prototyping Models

Throw away model

Page 8: Soft. Eng. I, Spring 07Dr Driss Kettani1 CSC-3324: Chapter II The Software life cycle & Software engineering process models Reading: I. Sommerville, Edition

Soft. Eng. I, Spring 07 Dr Driss Kettani 8

Throw-away prototyping

Objective is to understand the system

requirements.

Should start with poorly understood requirements

Page 9: Soft. Eng. I, Spring 07Dr Driss Kettani1 CSC-3324: Chapter II The Software life cycle & Software engineering process models Reading: I. Sommerville, Edition

Soft. Eng. I, Spring 07 Dr Driss Kettani 9

Prototyping Categorization

Prototyping Models

Throw away model Evolutionary Models

Page 10: Soft. Eng. I, Spring 07Dr Driss Kettani1 CSC-3324: Chapter II The Software life cycle & Software engineering process models Reading: I. Sommerville, Edition

Soft. Eng. I, Spring 07 Dr Driss Kettani 10

Evolutionary models

The objective is to work with customers and to evolve, from an initial prototype based on an initial outline, to a final system, via several intermediate prototype versions…

Two sub models:

Page 11: Soft. Eng. I, Spring 07Dr Driss Kettani1 CSC-3324: Chapter II The Software life cycle & Software engineering process models Reading: I. Sommerville, Edition

Soft. Eng. I, Spring 07 Dr Driss Kettani 11

Prototyping Categorization

Prototyping Models

Throw away model

Iterative Models

Evolutionary Models

Page 12: Soft. Eng. I, Spring 07Dr Driss Kettani1 CSC-3324: Chapter II The Software life cycle & Software engineering process models Reading: I. Sommerville, Edition

Soft. Eng. I, Spring 07 Dr Driss Kettani 12

Iterative model…

A relatively poor requirements understanding...

Page 13: Soft. Eng. I, Spring 07Dr Driss Kettani1 CSC-3324: Chapter II The Software life cycle & Software engineering process models Reading: I. Sommerville, Edition

Soft. Eng. I, Spring 07 Dr Driss Kettani 13

Prototyping Categorization

Prototyping Models

Throw away model

Iterative Models Incremental

Evolutionary Models

Page 14: Soft. Eng. I, Spring 07Dr Driss Kettani1 CSC-3324: Chapter II The Software life cycle & Software engineering process models Reading: I. Sommerville, Edition

Soft. Eng. I, Spring 07 Dr Driss Kettani 14

Incremental Model…

A relatively good understood requirements …

Requires an initial architecture before developing increments...

Page 15: Soft. Eng. I, Spring 07Dr Driss Kettani1 CSC-3324: Chapter II The Software life cycle & Software engineering process models Reading: I. Sommerville, Edition

Soft. Eng. I, Spring 07 Dr Driss Kettani 15

Reuse-oriented development Based on systematic reuse where systems

are integrated from existing components or COTS (Commercial-off-the-shelf) systems

Process stages Component analysis Requirements modification System design with reuse Development and integration

This approach is becoming more important but still limited experience with it

Page 16: Soft. Eng. I, Spring 07Dr Driss Kettani1 CSC-3324: Chapter II The Software life cycle & Software engineering process models Reading: I. Sommerville, Edition

Soft. Eng. I, Spring 07 Dr Driss Kettani 16

Reuse-oriented development

Requirementsspecification

Componentanalysis

Developmentand integration

System designwith reuse

Requirementsmodification

Systemvalidation

Page 17: Soft. Eng. I, Spring 07Dr Driss Kettani1 CSC-3324: Chapter II The Software life cycle & Software engineering process models Reading: I. Sommerville, Edition

Soft. Eng. I, Spring 07 Dr Driss Kettani 17

Activity cost distribution for different the 3 modelsWaterfall model

Iterative development

Component-based software engineering

Development and evolution costs for long-lifetime systems

System evolution

10 200 30 4000

System development

Specification Design Development Integration and testing

25 50 75 1000

Specification Development Integration and testing

25 50 75 1000

Specification Iterative development System testing

25 50 75 1000