Chapter 2 Software Development Life Cycle Models
Chapter 2 Software Development Life Cycle Models
K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 1
Software Life Cycle Models
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 2
Software Life Cycle Models
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 3
Build & Fix Model
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 4
Build & Fix Model
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 5
Waterfall Model
Implementation
and unit testing
Operation and
maintenance
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 6
Waterfall Model
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 7
Waterfall Model
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 8
Incremental Process Models
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 9
Iterative Enhancement Model
This model has the same phases as the waterfall model, but with
fewer restrictions. Generally the phases occur in the same order as
in the waterfall model, but they may be conducted in several cycles.
Useable product is released at the end of the each cycle, with each
release providing additional functionality.
Requirements
specification
Architectural
design
Detailed
design
Implementation
and unit testing
Integration
and testing
Operation and
Maintenance
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 11
The Rapid Application Development (RAD) Model
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 13
The Rapid Application Development (RAD) Model
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 14
Evolutionary Process Models
This model is useful for projects using new technology that is not
well understood. This is also used for complex projects where all
functionality must be delivered at one time, but the requirements
are unstable or not well understood at the beginning.
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 15
Evolutionary Process Model
Concurr ent
activities
Initial
Specification
version
Outline Intermediate
Development
description versions
Final
Validation
version
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 16
Prototyping Model
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 17
Prototyping Model
• Linear model
• “Rapid”
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 18
Spiral Model
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 19
Spiral Model
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 20
Spiral Model
The radial dimension of the model represents the cumulative costs.
Each path around the spiral is indicative of increased costs. The
angular dimension represents the progress made in completing each
cycle. Each loop of the spiral from X-axis clockwise through 360o
represents one phase. One phase is split roughly into four sectors of
major activities.
Planning: Determination of objectives, alternatives &
constraints.
Risk Analysis: Analyze alternatives and attempts to identify
and resolve the risks involved.
Development: Product development and testing product.
Assessment: Customer evaluation
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 21
Spiral Model
An important feature of the spiral model is that each phase is
completed with a review by the people concerned with the
project (designers and programmers)
The advantage of this model is the wide range of options to
accommodate the good features of other life cycle models.
It becomes equivalent to another life cycle model in
appropriate situations.
The spiral model has some difficulties that need to be resolved
before it can be a universally applied life cycle model. These
difficulties include lack of explicit process guidance in determining
objectives, constraints, alternatives; relying on risk assessment
expertise; and provides more flexibility than required for many
applications.
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 22
The Unified Process
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 23
Phases of the Unified Process
Time
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 24
Phases of the Unified Process
• Inception: defines scope of the project.
• Elaboration
- How do we plan & design the project?
- What resources are required?
- What type of architecture may be suitable?
• Construction: the objectives are translated in design &
architecture documents.
• Transition : involves many activities like delivering, training,
supporting, and maintaining the product.
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 25
Initial development & Evolution Cycles
V1
Inception Elaboration Construction Transition
Initial development Cycle
V2
Inception Elaboration Construction Transition
Evolution Cycle
V3
Inception Elaboration Construction Transition
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 27
Inception Phase
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 28
Outcomes of Inception Phase
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 29
Elaboration Phase
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 30
Outcomes of Elaboration Phase
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 31
Construction Phase
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 32
Outcomes of Construction Phase
Test Operational
Outline manuals
Documentation
Construction Test Suite
manuals
A description
Software of the
product User manuals current release
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 33
Transition Phase
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 34
Outcomes of Transition Phase
Transition
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 35
Selection of a Life Cycle Model
b) Development team
c) Users
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 36
Based On Characteristics Of Requirements
Are requirements
easily understandable Yes No No No No Yes
and defined?
Do we change
requirements quite No Yes No No Yes No
often?
Can we define
requirements early Yes No Yes Yes No Yes
in the cycle?
Requirements are
indicating a complex No Yes Yes Yes Yes No
system to be built
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 37
Based On Status Of Development Team
Less experience on
No Yes No No Yes No
similar projects?
Less domain
knowledge (new to Yes No Yes Yes Yes No
the technology)
Less experience on
tools to be used Yes No No No Yes No
Availability of
No No Yes Yes No Yes
training if required
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 38
Based On User’
User’s Participation
Involvement Waterfall Prototype Iterative Evolutionary Spiral RAD
of Users enhancement development
User involvement
in all phases No Yes No No No Yes
Limited user
participation Yes No Yes Yes Yes No
User have no
previous experience No Yes Yes Yes Yes No
of participation in
similar projects
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 39
Based On Type Of Project With Associated Risk
Project type Waterfall Prototype Iterative Evolutionary Spiral RAD
and risk enhancement development
Project is the
enhancement of the No No Yes Yes No Yes
existing system
Funding is stable
for the project Yes Yes No No No Yes
High reliability
requirements No No Yes Yes Yes No
Tight project
No Yes Yes Yes Yes Yes
schedule
Use of reusable
components No Yes No No Yes Yes
Are resources
(time, money, No Yes No No Yes No
people etc.) scare?
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 40
Multiple Choice Questions
Note: Select most appropriate answer of the following questions:
2.1 Spiral Model was developed by
(a) Bev Littlewood (b) Berry Boehm
(c) Roger Pressman (d) Victor Basili
2.2 Which model is most popular for student’s small projects?
(a) Waterfall model (b) Spiral model
(c) Quick and fix model (d) Prototyping model
2.3 Which is not a software life cycle model?
(a) Waterfall model (b) Spiral model
(c) Prototyping model (d) Capability maturity model
2.4 Project risk factor is considered in
(a) Waterfall model (b) Prototyping model
(c) Spiral model (d) Iterative enhancement model
2.5 SDLC stands for
(a) Software design life cycle (b) Software development life cycle
(c) System development life cycle (d) System design life cycle
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 41
Multiple Choice Questions
Note: Select most appropriate answer of the following questions:
2.6 Build and fix model has
(a) 3 phases (b) 1 phase
(c) 2 phases (d) 4 phases
2.7 SRS stands for
(a) Software requirements specification (b) Software requirements solution
(c) System requirements specification (d) none of the above
2.8 Waterfall model is not suitable for
(a) small projects (b) accommodating change
(c) complex projects (d) none of the above
2.9 RAD stands for
(a) Rapid application development (b) Relative application development
(c) Ready application development (d) Repeated application development
2.10 RAD model was proposed by
(a) Lucent Technologies (b) Motorola
(c) IBM (d) Microsoft
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 42
Multiple Choice Questions
Note: Select most appropriate answer of the following questions:
2.11 If requirements are easily understandable and defined,which model is best suited?
(a) Waterfall model (b) Prototyping model
(c) Spiral model (d) None of the above
2.12 If requirements are frequently changing, which model is to be selected?
(a) Waterfall model (b) Prototyping model
(c) RAD model (d) Iterative enhancement model
2.13 If user participation is available, which model is to be chosen?
(a) Waterfall model (b) Iterative enhancement model
(c) Spiral model (d) RAD model
2.14 If limited user participation is available, which model is to be selected?
(a) Waterfall model (b) Spiral model
(c) Iterative enhancement model (d) any of the above
2.15 If project is the enhancement of existing system, which model is best suited?
(a) Waterfall model (b) Prototyping model
(c) Iterative enhancement model (d) Spiral model
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 43
Multiple Choice Questions
Note: Select most appropriate answer of the following questions:
2.16 Which one is the most important feature of spiral model?
(a) Quality management (b) Risk management
(c) Performance management (d) Efficiency management
2.17 Most suitable model for new technology that is not well understood is:
(a) Waterfall model (b) RAD model
(c) Iterative enhancement model (d) Evolutionary development model
2.18 Statistically, the maximum percentage of errors belong to the following phase of
SDLC
(a) Coding (b) Design
(c) Specifications (d) Installation and maintenance
2.19 Which phase is not available in software life cycle?
(a) Coding (b) Testing
(c) Maintenance (d) Abstraction
2.20 The development is supposed to proceed linearly through the phase in
(a) Spiral model (b) Waterfall model
(c) Prototyping model (d) None of the above
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 44
Multiple Choice Questions
Note: Select most appropriate answer of the following questions:
2.21 Unified process is maintained by
(a) Infosys (b) Rational software corporation
(c) SUN Microsystems (d) None of the above
2.22 Unified process is
(a) Iterative (b) Incremental
(c) Evolutionary (d) All of the above
2.23 Who is not in the team of Unified process development?
(a) I.Jacobson (b) G.Booch
(c) B.Boehm (d) J.Rumbaugh
2.24 How many phases are in the unified process?
(a) 4 (b) 5
(c) 2 (d) None of the above
2.25 The outcome of construction phased can be treated as:
(a) Product release (b) Beta release
(c) Alpha release (d) All of the above
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 45
Exercises
2.1 What do you understand by the term Software Development Life Cycle
(SDLC)? Why is it important to adhere to a life cycle model while
developing a large software product?
2.2 What is software life cycle? Discuss the generic waterfall model.
2.3 List the advantages of using waterfall model instead of adhoc build and
fix model.
2.4 Discuss the prototyping model. What is the effect of designing a
prototype on the overall cost of the project?
2.5 What are the advantages of developing the prototype of a system?
2.6 Describe the type of situations where iterative enhancement model might
lead to difficulties.
2.7 Compare iterative enhancement model and evolutionary process model.
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 46
Exercises
2.8 Sketch a neat diagram of spiral model of software life cycle.
2.9 Compare the waterfall model and the spiral model of software
development.
2.10 As we move outward along with process flow path of the spiral model,
what can we say about software that is being developed or maintained.
2.11 How does “project risk” factor effect the spiral model of software
development.
2.12 List the advantages and disadvantages of involving a software engineer
throughout the software development planning process.
2.13 Explain the spiral model of software development. What are the
limitations of such a model?
2.14 Describe the rapid application development (RAD) model.Discuss each
phase in detail.
2.15 What are the characteristics to be considered for the selection of the life
cycle model?
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 47
Exercises
2.16 What is the role of user participation in the selection of a life cycle
model?.
2.17 Why do we feel that characteristics of requirements play a very
significant role in the selection of a life cycle model?
2.18 Write short note on “status of development team” for the selection of a
life cycle model?.
2.19 Discuss the selection process parameters for a life cycle model.
2.20 What is unified process? Explain various phases along with the outcome
of each phase.
2.21 Describe the unified process work products after each phase of unified
process.
2.22 What are the advantages of iterative approach over sequential approach?
Why is unified process called as iterative or incremental?
Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 48