SDLC Models
SDLC Models
SDLC Models
SDLC MODELS
Ayesha Sajid
Roll number: 207704
Department of Computer Science
SUBMITTED TO
PROF. ABID
SIFTWARE ENGINNEERING
Table of Contents
SDLC Definition................................................................................................................................... 2
1)Waterfall model.................................................................................................................................. 2
Overview........................................................................................................................................... 2
Uses................................................................................................................................................... 2
2)Iterative model................................................................................................................................... 2
overview............................................................................................................................................ 2
Uses................................................................................................................................................... 2
3)Prototyping Model............................................................................................................................. 3
Overview........................................................................................................................................... 3
Uses................................................................................................................................................... 3
4)Spiral Model....................................................................................................................................... 3
Overview........................................................................................................................................... 3
Identification................................................................................................................................. 3
Design............................................................................................................................................ 3
Construct or Build......................................................................................................................... 3
Evaluation and Risk Analysis........................................................................................................ 3
Uses................................................................................................................................................... 4
5)v-Model.............................................................................................................................................. 4
Overview........................................................................................................................................... 4
Uses................................................................................................................................................... 4
6)Big bang model.................................................................................................................................. 4
Overview........................................................................................................................................... 4
Uses................................................................................................................................................... 4
7)Agile model........................................................................................................................................ 5
Overview........................................................................................................................................... 5
Use.................................................................................................................................................... 5
8)Rad model.......................................................................................................................................... 5
overview............................................................................................................................................ 5
Uses................................................................................................................................................... 5
Comparison of SDLC models.................................................................................................................. 5
Table 1............................................................................................................................................... 5
Conclusion............................................................................................................................................. 6
SDLC MODELS
SDLC Definition
SDLC is a process followed for a software project, within a software organization.
It consists of a detailed plan describing how to develop, maintain, replace, alter, or enhance
specific software.
1) Waterfall model
Overview
The Waterfall software development model is the oldest and works linearly. The next phase is not
launched until the previous one is finished, verified, and documented. The Waterfall model is highly
constrained and rigid and does not allow much room for changes and flexibility, which can be
beneficial and harmful depending on the project.
Uses
This model is simple to use and understand. But this model is suitable only for well-
understood problems and is not suitable for the development of very large projects and
projects that suffer from a large number of risks.
1. Requirements are very well documented, clear, and fixed.
2. Product definition is stable.
3. Technology is understood and is not dynamic.
4. There are no ambiguous requirements.
5. Ample resources with the required expertise are available to support the product.
6. The project is short.
1) Iterative model
overview
The iterative SDLC model does not require a complete list of requirements before the project
starts
Uses
1. Requirements of the complete system are clearly defined and understood.
2. Major requirements must be defined; however, some functionalities or requested
enhancements may evolve with time.
3. There is a time to the market constraint.
4. A new technology is being used and is learning learned the development team while
working on the project.
5. Resources with needed skill sets are not available and are planned to be used on a
contract basis for specific iterations.
6. There are some high-risk features and goals which may change in the future.
1) Prototyping Model
Overview
The prototyping model starts with the requirements gathering. The developer and the user meet and
define the purpose of the software, identify the needs, etc.
It refers to the activity of creating prototypes of software applications, for example, incomplete
versions of the software program being developed. It is an activity that can occur in software
development and It is used to visualize some components of the software to limit the gap of
misunderstanding the customer requirements by the development team. This also will reduce the
iterations that may occur in the waterfall approach and are hard to be implemented due to the
inflexibility of the waterfall approach. So, when the final prototype is developed, the requirement is
considered to be frozen.
Uses
This model is suitable only for well-understood problems and is not suitable for the
development of very large projects and projects that suffer from a large number of risks.
2) Spiral Model
Overview
The spiral model has four phases. A software project repeatedly passes through these phases in
iterations called Spirals.
Identification
This phase starts with gathering the business requirements in the baseline spiral. In the subsequent
spirals as the product matures, identification of system requirements, subsystem requirements, and
unit requirements are all done in this phase.
This phase also includes understanding the system requirements through continuous communication
between the customer and the system analyst. At the end of the spiral, the product is deployed in the
identified market.
Design
The Design phase starts with the conceptual design in the baseline spiral and involves the architectural
design, logical design of modules, physical product design, and the final design in the subsequent
spirals.
Construct or Build
The Construct phase refers to the production of the actual software product at every spiral. In the
baseline spiral, when the product is just thought of and the design is being developed a POC (Proof of
Concept) is developed in this phase to get customer feedback.
Then in the subsequent spirals with higher clarity on requirements and design details a working model
of the software called to build is produced with a version number. These builds are sent to the
customer for feedback.
Evaluation and Risk Analysis
Risk Analysis includes identifying, estimating, and monitoring the technical feasibility and
management risks, such as schedule slippage and cost overrun. After testing the build, at the end of
the first iteration, the customer evaluates the software and provides feedback.
Uses
1) v-Model
Overview
The V-model is an SDLC model where the execution of processes happens sequentially in a V-shape.
It is also known as the Verification and Validation model.
The V-Model is an extension of the waterfall model and is based on the association of a testing phase
for each corresponding development stage. This means that for every single phase in the development
cycle, there is a directly associated testing phase. This is a highly-disciplined model and the next
phase starts only after the completion of the previous phase.
Uses
1. Requirements are well-defined, clearly documented, and fixed.
2. Product definition is stable.
3. Technology is not dynamic and is well understood by the project team.
4. There are no ambiguous or undefined requirements.
5. The project is short.
Usually, this model is followed for small projects where the development teams are very
small.
Uses
This model is ideal for small projects with one or two developers working together and is also useful
for academic or practice projects. It is an ideal model for the product where requirements are not well
understood and the final release date is not given.
2) Agile model
Overview
It is based on iterative and incremental development, where requirements and solutions evolve
through collaboration between cross-functional teams.
Use
It can be used with any type of project, but it needs more engagement from the customer and is
interactive. Also, we can use it when the customer needs to have some functional requirements ready
in less than three weeks and the requirements are not clear enough. This will enable more valuable
and workable pieces for software early which also increases customer satisfaction.
3) Rad model
overview
The RAD (Rapid Application Development) model is based on prototyping and iterative development
with no specific planning involved. The process of writing the software itself involves the planning
required for developing the product.
Rapid Application Development focuses on gathering customer requirements through workshops or
focus groups, early testing of the prototypes by the customer using iterative concepts, reuse of the
existing prototypes (components), continuous integration, and rapid delivery.
Uses
RAD should be used only when a system can be modularized to be delivered incrementally.
It should be used if there is a high availability of designers for Modelling.
It should be used only if the budget permits the use of automated code-generating tools.
RAD SDLC model should be chosen only if domain experts are available with relevant
business knowledge.
Should be used where the requirements change during the project and working prototypes are
to be presented to the customer in small iterations of 2-3 months
Conclusion
Developing a deep understanding of the differences between all SDLC models will help you
establish a higher success rate for your project before it even begins.