0% found this document useful (0 votes)
4 views

Se Assignment

Software models

Uploaded by

Mehar Badshah
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

Se Assignment

Software models

Uploaded by

Mehar Badshah
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 7

Name:

SHEHRYAR TARIQ
ID:
210001346025

PROGRAM:
ADP-CS

SUBJECT:
SOFTWARE ENGINEERING

TOPIC:
DIFFERENCE BETWEEN SDLC MODELS

Waterfall Model
The Waterfall model has a sequential approach that breaks down activities
into defined stages and does not move to the next phase before the last
one is finalized.
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. This type of SDLC is
commonly used for engineering design projects where a linear flow and
tight structure work as an advantage. The main reasons for opting for a
Waterfall model are short-term projects, fixed requirements, static
technology, concrete product definition, low involvement from the client,
and preset timeline and budget.

Advantages
The biggest advantage is the simplicity and straightforwardness of the
process, which is well-documented, clearly defined, and presented with
evident milestones. The model delivers exactly what was planned in the
fixed timeline and within the budget without any surprises. Clients can
also enjoy knowing the entire process from start to finish before the
process even begins.

Disadvantages
The disadvantages of the Waterfall model revolve around its inflexibility
and susceptibility to bugs. Since you cannot move on to the next stage
before finishing the previous one, you cannot begin testing early, which
often leads to bottlenecks in the integration phase. The model is also
unsuitable for larger and more complex projects that take longer and
require revisiting the requirements.
Iterative and
Incremental Model
The Iterative model focuses on a simplified set of features and functions
and gradually moves to more complex activities until the desired product
is developed.

Overview
In the Iterative and Incremental software development model, the process
begins with implementing a few requirements in a single or several
iterations or increments. In later iterations, the software is expanded with
additional and more complex features until the expected system is
created. At the end of each iteration, the development team has a new
software version that gets increasingly advanced. This approach allows
the team to review the product at the end of every increment, identify its
shortcomings, and implement corresponding changes to improve it.

Basically, the team goes through the entire development process during
each iteration, including testing, allowing them to offer the much-needed
product validation. This model is ideal for a project with clearly defined
system requirements and possible additional requirements that might
emerge. You can also choose this model if you are working with new
technology and need extra testing to master it. Finally, products with
innovative, high-risk features will also benefit from the Iterative model,
since they can shift business goals during the project.

Advantages
One of the most significant advantages of the Iterative and Incremental
model is flexibility and the ability to make changes. Additionally, you can
begin running tests much earlier than with the Waterfall model, which
delivers a risk-free and bug-free product. Especially if you have a large
and mission-critical project with complex features, the Iterative model can
be highly beneficial and give you more room for experimenting.

Disadvantages
The downsides are associated with higher risks and uncertainties
regarding the result and final expenses. Since you are working in a flexible
environment, your team might end up spending more resources than
expected. This model also requires competent risk analysis to mitigate
possible threats and ensure the project's success.

Spiral Model
The Spiral model is a risk-driven software development lifecycle approach
that combines the Waterfall and Iterative models.

Overview
In the Spiral model, you can take advantage of the best elements of both
the Waterfall and Iterative models. From the former, the Spiral model took
a systematic approach and a high level of control, whereas it borrowed
the cycled development process from the latter. The cornerstone of the
Spiral model is a risk analysis conducted during each iteration to assess
technical and management feasibility. The model's name derives from the
process that works in spiral loops that eventually lead to a finished
product.

The Spiral model consists of four stages: identification (requirement


gathering), design, build (development), and risk analysis. Upon
evaluation of the build, the customer offers feedback which triggers a new
iteration. The model is perfect for high-risk ideas and long-term, complex
projects with possible changes due to vague requirements.
Advantages
Since the focal point of the Spiral model is risk analysis, this model allows
you to deploy higher-risk parts earlier to minimize or even eliminate the
overall threats. The model is also flexible, enables changes throughout the
entire cycle, and provides an opportunity to collect and implement
customer feedback continuously.

Disadvantages
The downsides revolve around unclear project duration, overall spending,
and the complexity of project planning and managing. The model is also
unsuitable for smaller projects and isn’t applicable for low-risk product
ideas.

V Model
The V model or Verification and Validation model is an extended version
of the Waterfall model that includes testing at every stage.

Overview
The difference between SDLC models like Waterfall and the V-shaped
model is shifting from moving down linearly to forming a V-shaped figure.
The shape is created by coupling each phase of the development lifecycle
(verification) with the corresponding testing phase (validation). For
example, business requirement specification corresponds to acceptance
testing, architecture design, integration testing, etc. The bottom part of
the letter V is the coding phase that connects verification and validation
elements.

The model can be applied under similar circumstances as the Waterfall


model: clear requirements with little to no changes. The project should
also be short-term and uncomplicated, and utilize stable technology that
the team is familiar with.
Advantages
The advantages are similar to those of the Waterfall model and include
project management simplicity, fixed budget, and clear requirements and
outcomes.

Disadvantages
The model is inappropriate for large-scale, complex projects and has an
elevated risk of failure. There is also low flexibility in implementing any
changes to the functionality. Finally, customers cannot provide feedback
until the latest stages, since the product doesn’t become functional until
then.

Agile Model
The Agile model has taken the Iterative model and made it more adaptive
and customer-oriented.

Overview
When it comes to SDLC model differences, the Agile method stands out
due to its novelty, scalability, and flexibility. The Agile model is based on
the Agile Manifesto, which includes a set of practices and methods that
enable and promote innovation and rapid adaptation to the changing
demands of the industry and clients. The model focuses on close
collaboration with the customer, regular and frequent calls and reports,
and aims to quickly adapt to any requirements changes. The project is
broken down into small iterations, from one to three weeks, and allows
different teams to work in parallel on their tasks at the same time.

Every iteration involves the same activities: planning, requirement


analysis, design, coding, unit testing, and acceptance testing. Much like
the Iterative model, the Agile model produces functional software at the
end of each iteration to gather feedback from the customer. The Agile
methodology is built on several principles, including Rational Unified
Process (RUP), Scrum, Extreme Programming (XP), Kanban, Lean
Development, and others. For example, in Scrum, the iterations are called
sprints and are kept under four weeks. Extreme Programming uses one- to
two-week-long iterations and includes pair programming, test-driven
environment, and small releases. Finally, Kanban is a visualization model
that uses the Kanban board to clearly represent every project task, its
progress, and assignees.

The Agile model is suitable for short or medium projects that need to be
deployed faster. The approach also allows continuous feedback gathering
and close collaboration with the client. Finally, the Agile model offers a
high level of flexibility and delivers improved software quality with lower
costs.

Advantages
For smaller projects, the Agile model provides an accelerated
development cycle, shorter time-to-market, and more control over the
costs. Because the product is deployed at the end of each iteration, teams
can collect feedback, apply the tips to the next phase, and deliver better
software.

Disadvantages
The model cannot be applied to bigger and more complex projects and is
not transferable to new team members due to a general lack of
documentation. The model is also contingent on frequent interactions with
the client, which can be detrimental if the client stops communicating.
Finally, the Agile model requires a qualified agile professional and project
manager to successfully lead the project.

You might also like