You are on page 1of 27

University of Mosul

College of Engineering
Computer Engineering Dept.

Software Engineering
2022-2023
Lecture 3
Software Life-Cycle Models
Asst. Prof. Dr. Mayada Faris Ghanim
Life-Cycle
Model

Series of steps / phases, through which software is produced


– From requirements through retirement
– Can take months or years to complete
– A life-cycle is selected during requirement Phase
2
Types of Life-Cycle Models
1. Build and fix model

2. Waterfall model

3. Rapid Prototype model

4. Incremental model

5. Spiral model
3
Build and Fix model
This model starts with an informal general
product idea and just develops code until a
product is ”ready” (or money or time runs out).

Work is in random order

4
Build and Fix model

5
Build and Fix model

1. Build & Fix Model is suitable for small projects &


programming exercises of 100 or 200 lines.
2. Requires less experience to execute or manage
other than the ability to program.
3. Requires less project planning.
6
Build and Fix model

1. The model is not suitable for large projects.


2. The cost of change is not expected especially after
coding the program or through using the product.
3. The maintenance is very difficult and complicated
because there is no design and specification
documents.

7
Waterfall Model
Waterfall model is the earliest life
cycle model that was used for
software development .
The waterfall Model illustrates the
software development process in a
linear sequential flow. This means
that any phase in the development
process begins only if the previous
phase is complete (in waterfall
model phases do not overlap).
8
Waterfall Model
Changed
Requirements
Requirements
Verify
Verify

Specification
Verify

Planning
Verify

Design
Verify

Implementation

Test

Integration
Test

Operation mode
Development
Retirement
Maintenance
9
Waterfall Model Advantages
• As this model confirms planning in early stages, it
ensures design defects before they develop. In
addition, its intensive document and planning
make it work well for projects in which quality
control is a major concern.
• Also documentation of each phase makes the
maintenance easier and faster.
• It uses the regression testing to minimize the
defects.
10
Waterfall Model Disadvantages
 High cost and long time to complete the project (the
client receives the project after a year or two or
more).
 Specification documents are long and many details
are included.
 Product may be inappropriate for the client
requirements after completing it.

11
When to use the Waterfall Model
• Requirements are very well known (well documented,
clear and fixed)
• Product definition is stable
• Technology is understood
• New version of an existing product
• Porting an existing product to a new platform.
Rapid Prototype Model
• Develop product with reduced capability
• Present to client for approval
• Develop specification with better understanding
• Prototype could give designers
– Insight to the product
– What not to do

13
Rapid Prototype Model

14
Rapid Prototype Model Advantages
• Rapid prototype model is the suitable way to
determine what client actually needs (reduces risk of
incorrect user requirements.
• The cost of achievement is low.
• The feedback loops of the waterfall model are less
likely to be needed in the rapid prototyping model.
• It is built rapidly and modified rapidly to reflect the
client’s needs(speed is an important goal).

15
Rapid Prototype Model Disadvantages
• May have more errors than waterfall model
• Difficult to know how long project will last
• Easy to fall back into build and fix model without
proper requirements analysis, design, customer
evaluation and feedback.
To solve these problems and the problem of
feedback, rapid prototype can be combined with
waterfall model.

16
Waterfall / Prototyping issues
Determine what the client needs and build a
prototype then apply Waterfall model steps on it.

The waterfall models (with or without prototyping)


are perhaps the most common model for software
development.

17
Incremental Model
• The product is divided into builds.
• Each build contains an operational quality
subsystem.
• With each additional build a new subsystem is
integrated with the previous build

18
Incremental Model

19
Incremental Model Advantages
• The project is divided into a set of builds. builds are
delivered one after the other.
• It reduces the risk of providing complete project to the
customer (time is given to the client to estimate the
performance of the new product).
• Changing the product throughout project integration
process makes maintenance easier.
• The client will have his own point of view about the
project work when submitting each phase and it will be
his decision to complete the work or not.
20
Incremental Model Disadvantages
• Requires open architecture.
• Flexibility to change requirements during the
development of the project makes control of
the product development process as a whole
is difficult and results a maintenance
problems due to the accumulated errors.
• Incremental Model has a big risk because of
the dependent builds on each others.
21
Spiral model
• Process is represented as a spiral rather than as a
sequence of activities with backtracking.
• Each loop in the spiral represents a phase in the
process.
• No fixed phases such as specification or design - loops in
the spiral are chosen depending on what is required.
• Risks are explicitly assessed and resolved throughout
the process.

22
Spiral model sectors
• Objective setting
– Specific objectives for the phase are identified.
• Risk assessment and reduction
– Risks are assessed and activities put in place to reduce the
key risks.
• Development and validation
– A development model for the system is chosen which can
be any of the generic models.
• Planning
– The project is reviewed and the next phase of the spiral is
planned.
23
Spiral Model

24
What are some positives about this
method?
• It has high flexibility
• Documentation and testing for all phases of project development.
• Problems are solved through testing and maintenance in each
phase.
• It focuses attention on reuse
• It accommodates changes, growth
• It eliminates errors and unattractive choices early
• It limits to how much is enough (not too much design, reqs, etc)
• It treats development, maintenance same way
25
What are some negatives about
this method?
• Requires technical expertise in risk analysis.
• Incomprehensible by non-technical, and thus does
not widely used.
• Cost is very high because it requires expert
professional management .
• The model is not used widely because of certain
determinants (the problem of contracting, project
size, and risk) and its implementation is limited to
only large-scale projects.
26
Next Lecture
Capability Maturity Model
&
Step-Wise Refinement
27

You might also like