View
216
Download
3
Tags:
Embed Size (px)
Citation preview
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 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...
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
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
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
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 -
Soft. Eng. I, Spring 07 Dr Driss Kettani 7
Prototyping Categorization
Prototyping Models
Throw away model
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
Soft. Eng. I, Spring 07 Dr Driss Kettani 9
Prototyping Categorization
Prototyping Models
Throw away model Evolutionary Models
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:
Soft. Eng. I, Spring 07 Dr Driss Kettani 11
Prototyping Categorization
Prototyping Models
Throw away model
Iterative Models
Evolutionary Models
Soft. Eng. I, Spring 07 Dr Driss Kettani 12
Iterative model…
A relatively poor requirements understanding...
Soft. Eng. I, Spring 07 Dr Driss Kettani 13
Prototyping Categorization
Prototyping Models
Throw away model
Iterative Models Incremental
Evolutionary Models
Soft. Eng. I, Spring 07 Dr Driss Kettani 14
Incremental Model…
A relatively good understood requirements …
Requires an initial architecture before developing increments...
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
Soft. Eng. I, Spring 07 Dr Driss Kettani 16
Reuse-oriented development
Requirementsspecification
Componentanalysis
Developmentand integration
System designwith reuse
Requirementsmodification
Systemvalidation
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