Software Development Life Cycle

28
Software Life cycle Revision for most popular life cycles Ahmed BaniMustafa Lecturer of Software Engineering Philadelphia University, Jordan

description

An Introduction to Software process models with a critical analysis of their advantages and disadvantages.

Transcript of Software Development Life Cycle

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 Build

Discovered Function Build

The Incremental Model

analysis design code test

System/informationengineering

analysis design code test

analysis design code test

analysis design code test

increment 2

increment 3

increment 4

increment 1

delivery of1st increment

delivery of2nd increment

delivery of3rd increment

delivery of4th 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

CustomerCommunication

Planning

Construction & ReleaseCustomerEvaluation

Engineering

Risk Analysis

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

listento

customerbuild/revise

mock-up

customertest-drivesmock-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

Detailed Design

Coding

Maintenance/Operation

Acceptance testing

Integration Testing

Unit Testing

Q

V-Model Charecterstics

V model emphasize on quality issues:

V 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– Verifiable mathematically

Disadvantages– 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– Speed– Cost– Quality– Suit OO

Disadvantages– Quality of existing software– Engineering for re use

Example: Arian4

RAD Model

Rapid Application Development

Application assembled against Known Requirement.

Modular Construction

Module 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

businessmodeling

datamodeling

processmodeling

applicationgeneration

testing&

turnover

businessmodeling

datamodeling

processmodeling

applicationgeneration

testing&

turnover

businessmodeling

datamodeling

processmodeling

applicationgeneration

testing&

turnover

team #1

team #2team #3

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