Session 3,4 SDLC Models
Session 3,4 SDLC Models
Session 3,4 SDLC Models
• No feedback path:
• In the classical waterfall model evolution of software from one phase to another
phase is like a waterfall. It assumes that no error is ever committed by developers
during any phase. Therefore, it does not incorporate any mechanism for error
correction.
• Difficult to accommodate change requests:
• This model assumes that all the customer requirements can be completely and
correctly defined at the beginning of the project, but actually customers’
requirements keep on changing with time. It is difficult to accommodate any change
requests after the requirements specification phase is complete.
• No overlapping of phases:
• This model recommends that a new phase can start only after the completion of the
previous phase. But in real projects, this can’t be maintained. To increase efficiency
and reduce cost, phases may overlap.
Iterative Waterfall Model
• The iterative waterfall model
provides feedback paths from every
phase to its preceding phases, which
is the main difference from the
classical waterfall model.
• It is good to detect errors in the same phase in
which they are committed. It reduces the
effort and time required to correct the errors.
Phase Containment of Errors :
The principle of detecting errors as close to their
points of commitment as possible is known as
Phase containment of errors.
Advantages of Iterative Waterfall Model :
• Feedback Path
In the iterative waterfall model feedback path from one phase to its preceding phase
allows correcting the errors that are committed and these changes are reflected in the
later phases.
• Simple
Iterative waterfall model is very simple to understand and use. That’s why it is one of the
most widely used software development models.
• Cost-Effective
It is highly cost-effective to change the plan or requirements in the model. Moreover, it is
best suited for agile organizations.
• Well-organized
In this model, less time is consumed on documenting and the team can spend more time
on development and designing.
Drawbacks of Iterative Waterfall Model :
• Difficult to incorporate change requests
The major drawback of the iterative waterfall model is that all the requirements must be
clearly stated before starting the development phase.
• Incremental delivery not supported
In the iterative waterfall model, the full software is completely developed and tested
before delivery to the customer. There is no scope for any intermediate delivery. So,
customers have to wait a long for getting the software.
• Overlapping of phases not supported
Iterative waterfall model assumes that one phase can start after completion of the
previous phase, But in real projects, phases may overlap to reduce the effort and time
needed to complete the project.
Incremental process model
• A simple working system implementing only a few basic features is
built and then that is delivered to the customer. Then thereafter many
successive iterations/ versions are implemented and delivered to the
customer until the desired system is released.
Life cycle activities:
• Requirements of Software are first
broken down into several modules
that can be incrementally
constructed and delivered.
• The Development Team first undertakes to
develop core features (these do not need
services from other features) of the system.
• Each incremental version is usually
developed using an iterative waterfall model
of development.
• As each successive version of the software is
constructed and delivered, now the
feedback of the Customer is to be taken and
these were then incorporated into the next
version. Each version of the software has
more additional features than the previous
ones.
Types of Incremental model:
1. Staged Delivery Model: Construction of only one part of the project at a time.
2. Parallel Development Model: Different subsystems are developed at the same time. It can decrease
the calendar time needed for the development, i.e. TTM (Time to Market) if enough resources are
available.
• When to use this:
• Funding Schedule, Risk, Program Complexity, or need for early realization of
benefits.
• When Requirements are known up-front.
• When Projects have lengthy development schedules.
• Advantages-
• Prepares the software fast.
• Clients have a clear idea of the project.
• Changes are easy to implement.
• Provides risk handling support, because of its iterations.
• Disadvantages-
• A good team and proper planned execution are required.
• Because of its continuous iterations the cost increases.
Evolutionary Process Models
• Evolutionary models are iterative. They are
characterized in a manner that enables you to
develop increasingly more complete versions of the
software with each iteration. There are two common
evolutionary process models.
• Prototyping Model:
• Prototype Model is used when the customer is
not known completely about how the end
product should be and its requirements.
• So in this model, a prototype of the end product is
first developed by the developers and then tested
and changes were made as per customer
feedback until the customer is satisfyed with the
prototype.
Spiral Model
• Spiral model is one of the most
important Software Development Life
Cycle models, which provides support
for Risk Handling.
• Each loop of the spiral is called a Phase
of the software development process.
• The exact number of phases needed to
develop the product can be varied by
the project manager depending upon
the project risks.
Each phase of the Spiral Model is divided into four quadrants as shown in the above
figure. The functions of these four quadrants are discussed below-
• Objectives determination and identify alternative Solutions:
• Requirements are gathered from the customers and the objectives are identified,
elaborated, and analyzed at the start of every phase. Then alternative solutions
possible for the phase are proposed in this quadrant.
• Identify and resolve Risks:
• During the second quadrant, all the possible solutions are evaluated to select the
best possible solution. Then the risks associated with that solution are identified
and the risks are resolved using the best possible strategy. At the end of this
quadrant, the Prototype is built for the best possible solution.
• Develop next version of the Product:
• During the third quadrant, the identified features are developed and verified
through testing. At the end of the third quadrant, the next version of the software is
available.
• Review and plan for the next Phase:
• In the fourth quadrant, the Customers evaluate the so far developed version of the
software. In the end, planning for the next phase is started.
Spiral Model is called Meta Model
• Risk Handling: The projects with many unknown risks that occur as the
development proceeds, in that case, Spiral Model is the best development
model to follow due to the risk analysis and risk handling at every phase.
• Good for large projects: It is recommended to use the Spiral Model in large
and complex projects.
• Flexibility in Requirements: Change requests in the Requirements at later
phase can be incorporated accurately by using this model.
• Customer Satisfaction: Customer can see the development of the product
at the early phase of the software development and thus, they habituated
with the system by using it before completion of the total product.
Disadvantages of Spiral Model:
• Complex: The Spiral Model is much more complex than other SDLC models.
• Expensive: Spiral Model is not suitable for small projects as it is expensive.
• Too much dependability on Risk Analysis: The successful completion of the
project is very much dependent on Risk Analysis. Without very highly
experienced experts, it is going to be a failure to develop a project using
this model.
• Difficulty in time management: As the number of phases is unknown at the
start of the project, so time estimation is very difficult.