You are on page 1of 28

Software Life cycle

Revision for most


popular life cycles
Ahmed BaniMustafa
Lecturer of Software Engineering
Philadelphia University, Jordan

What is a life cycle


IEEE define life cycle as
the period of time that starts when a software product conceived
and ends when the product is no longer available for use.

Software life cycles typically includes:

Requirement phase
Design phase
Implementation phase
Test phase
Installation and check out phase
Operation and maintenance phase

and some time retirement phase.

Why a Life cycle

Structure approach for development

Provide a frame work

Partitions the project

Define stages

Allow management

Assist quality

Reduce risk

Types Of life cycles

Traditional Waterfall
Incremental
Spiral
Prototype
V-model
Formal
Component assemble/Re-Use
RAD
4GL

Waterfall Model

Requirement
Design
Implementation
Testing
Operation and maintenance

Waterfall model Critique:


Advantages:

Model simplicity,
It has a well Defined, predictable and well understood
stages.
Every stage has a well defined deliveries.
It Emphasizing on testing by giving it a separate stage.

Disadvantages:
Waterfall lifecycle stages are highly independent.
Poor user involvement
Face difficulties with changing requirement
Does not emphasize on Quality Issues

Waterfall Modification

Add Iteration to the model


More Client, user involvement
More consideration for risk issues
More consideration for quality issues

Requirement
Design
Implementation
Testing
Operation and maintenance

Incremental model
Incremental

lifecycle classified requirement

into

Main
secondary
uncertain
discovered functions.

Begin with the main functions and down to


the discovered requirement

Incremental Model
Main Function

Build

Secondary
Function

Build

Uncertain
Function

Discovered
Function

Build

Build

The Incremental Model


increment 1

System/information
engineering

analysis

design

increment 2

code

analysis

test

design

delivery of
1st increment

code

increment 3 analysis

increment 4

delivery of
2nd increment

test

design

analysis

code

delivery of
3rd increment

test

design

code

test

delivery of
4th increment

calendar time

Increment Model
Advantages:
prioritizing

requirement

important requirement comes first.

Reduce

risk of finishing the important functions of the

system
This Model suitable for uncertain requirement which
may change or could be developed with time.

Disadvantages:
May

never get built


Cost of Building

Spiral Model
Each

Phase is subjected to task region

Planned
Evaluated for risk
Engineering Constructing
Evaluated by Client

Start

Next Phase

An Evolutionary (Spiral) Model


Planning

Risk Analysis

Customer
Communication

Engineering

Customer
Evaluation

Construction & Release

Spiral Model Critique


Advantages

Incorporate risk at all levels


Emphasize risk
Customer involvement

Disadvantages

Complex risk analysis


Adds tasks

Prototyping model
In

this model an initial prototype is built

This

model goes through stages include:

Initial requirement,
Building prototype,
Customer feed back,
Building a new refined prototype with an iterative
process.

Iterative Models
listen
to
customer

build/revise
mock-up

customer
test-drives
mock-up
Prototyping

Prototyping Critique

Advantages

Can be build quickly


Support more user involvement
It provide an iterative process.

Disadvantages

its dependency on user knowledge


it is a time consuming model
its suitability for relatively small projects.

V Model
This

model includes the following stages:

Feasibility
Requirements
System design
Detailed design
Coding,
Unit testing
Integration testing
Operations and maintenance

V-Model
Feasibility

Requirement

System Design

Maintenance/Operation

Acceptance testing

Integration Testing

Detailed Design

Unit Testing

Coding

V-Model Charecterstics
V

model emphasize on quality issues:

Model is governed by quality assurance

All

stages are monitored in their correctness


and completeness by quality standards

Formal

Mathematical Description
Used in safety critical systems

Advantages

Disadvantages

Verifiable mathematically

High cost
Required specialist knowledge
Poor customer involvement

Example: Paris metro

Component Assembly/Re-Use model


Facilitated

by OO Technology
Use existing components
Identified Library
Utilized on construction
Note:

True Engineering Component assembly then design

Software Engineering-Design then Look at component

Component Assembly Critique

Advantages

Disadvantages

Speed
Cost
Quality
Suit OO

Quality of existing software


Engineering for re use

Example: Arian4

RAD Model
Rapid

Application Development

Application
Modular
Module

assembled against Known Requirement.

Construction

team work in parallel

Component

used

RAD Critique
Advantages

Fast development (60-90 days)

Disadvantages

Project must be constrained


Many RAD teams required for larger projects

Excessive man Power

team #2
team #1

team #3
business
mode ling

business
modeling

business
modeling

dat a
mode ling

process
mode ling

data
modeling

application
generat ion
testing
&
turnover

process
modeling

data
modeling

application
generation

process
modeling

testing
&
turnover

application
generation
testing
&
turnover

60 - 90 days

RAD

Fourth Generation 4G model

Implementation requirement directly in 4GL


Generally non procedural
Specify what to be done rather than How
Examples Oracle, dBase.

Contain the following Phases:

Requirement
Design
4GL implementation
Testing

4GL Critique
Advantages

Speed
Cost

Disadvantages

Better for smaller projects


Domain Specific

You might also like