Software Development Life Cycle
-
Upload
ahmed-banimustafa -
Category
Documents
-
view
3 -
download
0
description
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 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.
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