L3. SD Methodologies - Pavi

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 23

K.K.

Pavithra Subashini
Senior Lecturer
Department of Computer Science and Software Enginnering
Faculty of Computing
 Different SDLC methodologies/ models in
use..
 Waterfall model
 V-model
 Iterative model
 Spiral model
 Agile methodologies
 SDLC or the Software Development Life Cycle is a process that

produces software with the highest quality and lowest cost in the
shortest time. SDLC includes a detailed plan for how to develop, alter,
maintain, and replace a software system.

 SDLC involves several distinct stages, including planning, design,


building, testing,
and deployment.

 There are various software development life cycle models defined and

designed which are followed during the software development


process. These models are also referred a "Software Development
 Each model is designed to fit distinct business needs, to accommodate
available resources and skills, or to work with a specific programming
language or toolkit.
 Therefor it is very much important to choose the right SDLC model
according to
the specific concerns and requirements of the project.

 Different SDLC methodologies in use,


 Waterfall model
 V-model
 Iterative model
 Incremental model
 Agile development
 The Waterfall model is the earliest SDLC approach that was used for

software development.

 It represents a sequential development process in which progress is seen

as flowing steadily downward through each phase of development.


Therefor it is referred to as a linear-sequential life cycle model.

 Each phase in the development process begins only if the previous phase
is complete.

 The waterfall approach does not define the process to go back to the
previous phase to handle changes in requirement.

 Each stage relies on information from the previous stage and has its own
project plan.
 Waterfall model is most appropriate when,

 Requirements are very well clear and fixed.


 Product definition is stable.
 Technology is understood and is not dynamic.
 There are no ambiguous requirements.
 The project is short.

 his model doesn’t work well if flexibility is needed or if the project is long
term and
ongoing.
Advantages of Disadvantages of waterfall
Waterfall  No working software is produced until
 Simple and easy to understand
late
and use during the life cycle.
 Phases are processed and  Testing is done at the final stages,
completed hence the risk and uncertainty is high.
one at a time.  Not a good model for complex and
 Clearly defined stages. object- oriented projects.
 Poor model for long and ongoing
 Well understood milestones.
projects.
 Easy to arrange tasks.  Not suitable for the projects where
requirements are at a risk of
 Process and results are well changing.
documented  Cannot accommodate
 Works well for smaller projects changing requirements.
where requirements are very well  Adjusting scope during the life
 V-shaped model , also known as the Verification and Validation model,

grew out of Waterfall and is characterized by a corresponding testing


phase for each development stage.

 Like Waterfall, each stage begins only after the previous one has
ended.

 This model is useful when there are no unknown requirements, as it’s still

difficult to go back and make changes.

 The major difference between V-shaped model and waterfall model is

the early test planning in the V-shaped model.


Advantages Disadvantages
 Simple and easy to use  Very inflexible, like the waterfall

 Each phase has specific model.


 Adjusting scope is difficult and
deliverables.
expensive.
 Higher chance of success
 The software is developed during
over the waterfall model due
to the development of test the implementation phase, so no
early prototypes of the software are
plans early on during the life produced.
cycle.
 The model doesn’t provide a clear
 Works well for where requirements path for problems found during
are easily understood. testing phases.
 Verification and validation of  Costly and required more time, in
the product in early stages of addition to detailed plan
product development.
 The Iterative model is repetition incarnate. Instead of starting with fully
known requirements, you implement a set of software requirements, then
test, evaluate and pinpoint further requirements.
 A new version of the software is produced with each phase, or iteration.
 Rinse and repeat until the complete system is ready.
 Iterative process starts with a simple implementation of a subset of the
software requirements and iteratively enhances the evolving versions until
the full system is implemented.

 At each iteration, design modifications are made and new functional


capabilities are added.

 The basic idea behind this method is to develop a system through repeated
cycles (iterative) and in smaller portions at a time (incremental).
 Advantages…
 gives you a working version early in the
process
 makes it less expensive to implement changes
 Testing and debugging during smaller iteration
is easy

 Disadvantages…
 More resources may be required.
 Highly skilled resources are required for risk
analysis.
• Spiral model is one of the most important Software Development Life Cycle models, which
provides support for Risk Handling.

• In its diagrammatic representation, it looks like a spiral with many loops. The exact number
of loops of the spiral is unknown and can vary from project to project.

• 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.

• As the project manager dynamically determines the number of phases, so the project
manager has an important role to develop a product using the spiral model.
 This model allows for the building of a highly customized product, and
user
feedback can be incorporated from early on in the project.

 But the risk you run is creating a never-ending spiral for a project that

goes on and on.


Tutorial time
Your client is requesting you to select the appropriate software development
methodologies for software development. You have to explain the basics of each
methodologies with advantages and disadvantages.

2) Explain waterfall model design.

3) Explain V model.

4) Explain spiral model.

5) Compare and contrast waterfall, V model and spiral model.


 It is based on iterative and incremental development, where

requirements and solutions evolve through collaboration between


cross-functional teams.

 The model produces ongoing releases, each with small, incremental

changes from the previous release. At each iteration, the product is


tested.

 This model emphasizes interaction, as the customers, developers and


testers work
together throughout the project.
Advantages of the Agile Disadvantages of the Agile
Model
Is a very realistic approach to
Model
 Not suitable for handling complex
software dependencies.
development.
 Promotes teamwork and cross  More risk of sustainability,

training. maintainability and


extensibility.
 Functionality can be developed
rapidly and demonstrated.  An overall plan, an agile leader
 Suitable for fixed or changing and agile PM practice is a
requirements must without which it will not
 Delivers early partial work.
working solutions.  Strict delivery management
 Good model for environments dictates the scope, functionality to
that change steadily. be delivered, and adjustments to
meet the deadlines.
END

You might also like