8/9/2019 Software Life Cycle Modells
1/5
Life-Cycle Models Build-and-fix model
Waterfall model
Rapid prototyping model
Spiral model
Build-and-fix model
Most software is developed using build-and-fix model. Basically there is no model.
Disadvantages:No specificationsNo design
Lack of visibility
Easily leads to poorly structured systemsTotally unsatisfactory
Need life-cycle model
Waterfall Model
The waterfall model is the classic lifecycle model it is widely known, understood
and commonly used
8/9/2019 Software Life Cycle Modells
2/5
Advantages:
Each phase is well documented.
Maintenance is easier.Easy to understand and implement.
Widely used and known
Disadvantages:
If there is a mismatch between what the client wanted and was is built this
will not be known till the product is delivered.Difficult and expensive to make changes to documents,
Rapid Prototyping Model
Rapid prototyping emphasizes requirements analysis and validation, also called:
customer oriented development, evolutionary prototyping
Advantages:
Any mismatches between requirement and the product can be found early.Reduces risk of incorrect user requirements
Good where requirements are changing/uncommitted
Regular visible progress aids managementSupports early product marketing
Disadvantages:
Sometimes the prototype ends up being the final product which results in quality,maintenance problems. An unstable/badly implemented prototype often becomes the final
product.
Requires extensive customer collaboration
Costs customers money Needs committed customers
Difficult to finish if customer withdraws
8/9/2019 Software Life Cycle Modells
3/5
May be too customer specific, no broad marketDifficult to know how long project will last
Spiral Model
Since end-user requirements are hard to
obtain/define, it is natural to develop software
in an experimental way: e.g.
Cumulative cost Evaluate alternatives,Identify & resolve risks
Develop & verify
next-level productPlan next phase
Determine objectives,
alternatives & constraints
Review &
commitmen
t
Prototypes
P1 P2 P3
Operational
PrototypeStart
En
d
Requirement
s
planDevelopmen
t
plan
Integration &
Test plan
Requirementsvalidation
Design,
Validation
&
Verification
Detailed design
Coding
Unit &
Integration
TestingAcceptance
Testing
Concept
Of Operation
8/9/2019 Software Life Cycle Modells
4/5
1. Build some software2. See if it meets customer requirements
3. If no goto 1 else stop.
AdvantagesRealism: the model accurately reflects the iterative nature of software development
on projects with unclear requirements
Flexible: incoporates the advantages of the waterfal and rapid prototyping methods
Comprehensive model decreases riskGood project visibility.
Disadvantages
Needs technical expertise in risk analysis to really workModel is poorly understood by non-technical management, hence not so widely used
Complicated model, needs competent professional management. High administrative
overhead.
Incremental model
Rather than deliver the system as a single delivery, the development and delivery is
broken down into increments with each increment delivering part of the requiredfunctionality
8/9/2019 Software Life Cycle Modells
5/5
Advantages:
Lower risk of overall project failureCustomer value can be delivered with each increment so system functionality
is available earlierThe highest priority system services tend to receive the most testing
Disadvantages:Build-and-fix danger
Contradiction in terms