Software Development Lifecycle

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 13

SDLC

A software life cycle model (also termed process model) is a


pictorial and diagrammatic representation of the software life cycle. A
life cycle model represents all the methods required to make a
software product transit through its life cycle stages. It also captures
the structure in which these methods are to be undertaken.

WATERFALL MODEL
The Waterfall model in SDLC (Software Development Life Cycle) is the
first model introduced to represent the development of software in
different phases.
The Waterfall model is a sequential software development model with
several phases, each completed linearly. The model follows a series of
steps: planning, design, implementation, testing, and maintenance. It is
essential to complete each phase before starting the next one.

ADVANTAGES

 The Waterfall model is easy to understand and use, which makes it a


popular choice for software development projects.

 It provides a clear picture of the final product’s appearance and how


it will function.
 The Waterfall model is a linear, sequential approach that makes it
easier to estimate the time and resources required for each project
phase.
 The Waterfall model is a reliable and predictable method for
software development.
DISADVANTAGES

 The Waterfall model is unsuitable for projects with changing


requirements, as it is a linear, sequential approach that does not
allow to make changes once a phase is complete.
 The Waterfall model does not allow for feedback from the end users.

--------------------------------------------------------------------------------------

ITERATIVE MODEL

The iterative process model is the implementation of the software


development life cycle in which the initial development is started based on
the initial requirements and more features are added to the base software
product with ongoing iterations until the final system is created.

The iterative model breaks down the software development process of a


very big application into smaller pieces.

The benefit of this model is that it is employed during the earlier stages of
SDLC. This permits the project developers and testers to find practical or
design-related flaws as early as possible. This furthermore permits them to
take corrective measures on a restricted budget.
ADVANTAGES

 This model produces working software much more quickly


and early during the SDLC.
 This model is very flexible. As new functionality can be added
to it at any time of development.
 This model is considerably cheap as it is less costly to change
requirements as compared to the other process models.
 The end-user or the stakeholders can give their feedback
quickly, which can then be implemented into the system.
 The errors and bugs in the system can be identified early.
 Takes smaller development teams as compared to other
process models.
DISADVANTAGES
 Problems pertaining to the system architecture can come up
because all the requirements are not gathered upfront.
 It is not a good choice for small projects.
 More resource-intensive than waterfall model.
 Risk analysis requires highly qualified specialists to check the
risks in our system.
 The whole process is difficult to manage.
------------------------------------------------------------------------------------------

SPIRAL MODEL

Spiral Model is a risk-driven software development process model.


It is a combination of waterfall model and iterative model. Spiral Model
helps to adopt software development elements of multiple process models
for the software project based on unique risk patterns ensuring efficient
development process.
Each phase of spiral model in software engineering begins with a
design goal and ends with the client reviewing the progress. The
development process in Spiral model in SDLC, starts with a small set of
requirements and goes through each development phase for those set of
requirements. The software engineering team adds functionality for the
additional requirement in every-increasing spirals until the application is
ready for the production phase.
When is best to use it?

• For high-risk projects

• The client is not sure about what requirements they want

• When the new product needs customer feedback to improve it


Significant/major changes
ADVANTAGES

 Changing requirements can be accommodated.


 Allows extensive use of prototypes.
 Requirements can be captured more accurately.
 Users see the system early.
 Development can be divided into smaller parts and the risky
parts can be developed earlier which helps in better risk
management.

DISADVANTAGES

 Management is more complex.


 End of the project may not be known early.
 Not suitable for small or low risk projects and could be
expensive for small projects.
 Process is complex
 Spiral may go on indefinitely.
 Large number of intermediate stages requires excessive
documentation.
------------------------------------------------------------------------------------------
V MODEL

The V-model is an SDLC model where execution of processes happens in


a sequential manner in a V-shape. It is also known as 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.
When to use the V-Model??

For small to medium sized projects where requirements are clearly defined
and fixed.

Chosen when sample technical resources are available with essential


technical expertise.

Advantages of V Model:

 Investment and re-work is less.


 Testing is involved in every stage so produced quality product.
 Test team will be ready with the test cases by the time developers
release the software which in turns saves a lot of time
 Easy to manage as each phase has well defined objectives and goals
Disadvantages of V Model:

 It is not good for a complex project.


 Initial investment is more because test team involves right from the
early stage.
 If any changes happen in the middle, then the testing documents and
other related documents need to be updated

BIG BANG MODEL

The Big Bang Model is popular in situations or adopted when the


project's stakeholders or customers are not certain regarding their wants
and requirements. They have also not analyzed all the essential features
and characteristics they plan to incorporate into their system.

In this model, all or most of the requirements are understood and put
into practice as they begin developing the prototype.

The primary target lingers in writing code as well as delivering the


ultimate product to the customers.
ADVANTAGES

 This is quite a simple model.


 Implementing this model makes managing tasks easier.
 It required zero planning.
 Developers have huge flexibility in developing the entire product.
 Resources necessary for developing the product is only a few.

DRAWBACKS

 This model is not appropriate for big or complex projects.


 Holds very high risk with uncertainty.

------------------------------------------------------------------------------------------

AGILE MODEL

The Agile model is an SDLC model focused on iterative software product


development. The Agile paradigm is an incremental model in which
software is built in quick increments. The most significant aspect of the
Agile model is determining the project scope, requirements, number, and
duration of iterations at the start of the development process.

When to use the Agile Model?

 It is used when there are frequent changes that need to be


implemented.
 Projects with not very strict existing process
 Projects where the product owner is highly accessible
 Projects with flexible timelines and budget
Requirement
Gathering

ADVANTAGES

 Frequently encourages the delivery of working software.


 Adapts to changes in circumstances during the project.
 Reduces the total time spent in development.
 Constant interactions between clients, developers, and testers.

DISADVANTAGES

 There may be confusion and misinterpretation at any time by


different team members due to the shortage or lack of formal
documents.
 It can be difficult to maintain the final project due to the lack of
proper documentation.
 It is difficult to assess the effort required to produce deliverables at
the beginning of the software development process.
RAD MODEL

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 concept, reuse of the existing
prototypes (components), continuous integration and rapid delivery.

ADVANTAGES

 Changing requirements can be accommodated.


 Progress can be measured.
 Iteration time can be short with use of powerful RAD tools.
 Productivity with fewer people in a short time.
 Reduced development time.

DISADVANTAGES

 Management complexity is more.


 Suitable for systems that are component based and scalable.
 Requires user involvement throughout the life cycle.
 Suitable for project requiring shorter development times.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy