0% found this document useful (0 votes)
25 views22 pages

03-Lecture-SWE-SDLC Models

SDLC

Uploaded by

Shoaib Rajper
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views22 pages

03-Lecture-SWE-SDLC Models

SDLC

Uploaded by

Shoaib Rajper
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 22

Software

Engineering
Software Development Process Models
SDLC Models
• There are various software development life cycle models defined and designed which are followed during software
development process.
• These models are also referred as "Software Development Process Models".
• Each process model follows a Series of steps unique to its type, in order to ensure success in process of software
development.
• Following are the most important and popular SDLC models followed in the industry:
✓Waterfall Model
✓Iterative Model
✓Spiral Model
✓V-Model
✓Big Bang Model
• The other related methodologies are Agile Model, RAD Model, Rapid Application Development and Prototyping Models.
2
Waterfall Model

• Waterfall model is the simplest model of software development paradigm.


• It says the all the phases of SDLC will function one after another in linear manner.
• That is, when the first phase is finished then only the second phase will start and so on.
• This model assumes that everything is carried out and taken place perfectly as planned in the previous
stage and there is no need to think about the past issues that may arise in the next phase.
• This model does not work smoothly if there are some issues left at the previous step.
• The sequential nature of model does not allow us go back and undo or redo our actions.
• This model is best suited when developers already have designed and developed similar software in the
past and are aware of all its domains. 3
Iterative Model

4
Iterative Model
• This model leads the software development process in iterations.
• It projects the process of development in cyclic manner repeating every step after every cycle of SDLC process.
• The software is first developed on very small scale and all the steps are followed which are taken into
consideration.
• Then, on every next iteration, more features and modules are designed, coded, tested and added to the
software.
• Every cycle produces a software, which is complete in itself and has more features and capabilities than that of
the previous one.
• After each iteration, the management team can do work on risk management and prepare for the next
iteration.
• Because a cycle includes small portion of whole software process, it is easier to manage the development
process but it consumes more resources. 5
Spiral Model

6
Spiral Model
• The spiral model combines the idea of iterative development with the systematic,
controlled aspects of the waterfall model.
• Spiral model is a combination of iterative development process model and sequential linear development
model i.e. waterfall model with very high emphasis on risk analysis.
• The spiral model has four phases.
Identification Construct or Build

Design Evaluation and Risk Analysis

• Spiral Model is very widely used in the software industry as it is in synch with the natural development
process of any product i.e. learning with maturity and also involves minimum risk for the customer as
well as the development firms. 7
Spiral Model Advantages
• 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 is identified and the risks
are resolved using the best possible strategy. At the end of this quadrant, 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.
V-Model

9
V – model

• The major drawback of waterfall model is we move to the next stage only when the previous one is finished
and there was no chance to go back if something is found wrong in later stages.
• V-Model provides means of testing of software at each stage in reverse manner.
• At every stage, test plans and test cases are created to verify and validate the product according to the
requirement of that stage.
• For example, in requirement gathering stage the test team prepares all the test cases in correspondence to
the requirements.
• Later, when the product is developed and is ready for testing, test cases of this stage verify the software
against its validity towards requirements at this stage.
• This makes both verification and validation go in parallel. This model is also known as verification and
validation model. 10
Big Bang Model

• The Big Bang model is SDLC model where we do not follow any specific process.
• The development just starts with the required money and efforts as the input, and the
output is the software developed which may or may not be as per customer requirement.
• Big Bang Model is SDLC model where there is no formal development followed and very
little planning is required.
• Even the customer is not sure about what exactly he wants and the requirements are
implemented on the fly without much analysis.
• Usually this model is followed for small projects where the development teams are very
small.
12
Big Bang Model(Continued…)
Big Bang Model design and Application

• Big bang model comprises of focusing all the possible resources in software development and
coding, with very little or no planning.
• The requirements are understood and implemented as they come.
• Any changes required may or may not need to renovation the complete software.
• This model is ideal for small projects with one or two developers working together and is also
useful for academic or practice projects.
• Its an ideal model for the product where requirements are not well understood and the final
release date is not given.

13
AGILE MODEL

14
AGILE

• Agile SDLC model is a combination of iterative and incremental process models with focus
on process adaptability and customer satisfaction by rapid delivery of working software
product.
• Agile Methods break the product into small incremental builds.
• These builds are provided in iterations.
• Each iteration typically lasts from about one to three weeks.
• Every iteration involves cross functional teams working simultaneously on various areas
like planning, requirements analysis, design, coding, unit testing, and acceptance testing.
• At the end of the iteration a working product is displayed to the customer and important
stakeholders. 15
AGILE(CONTINUED)
• Agile is based on the adaptive software development methods where as the traditional
SDLC models like waterfall model is based on predictive approach.
• Agile uses adaptive approach where there is no detailed planning and there is clarity on
future tasks only in respect of what features need to be developed.
• There is feature driven development and the team adapts to the changing product
requirements dynamically.
• Customer interaction is the backbone of Agile methodology, and open communication with
minimum documentation are the typical features of Agile development environment.
• The agile teams work in close collaboration with each other and are most often located in
the same geographical location. 16
AGILE(CONTINUED)
• Following are the Agile Manifesto principles
• Individuals and interactions - in agile development, self-organization and motivation are
important, as are interactions like co-location and pair programming.
• Working software - Demo working software is considered the best means of communication with
the customer to understand their requirement, instead of just depending on documentation.
• Customer collaboration - As the requirements cannot be gathered completely in the beginning of
the project due to various factors, continuous customer interaction is very important to get proper
product requirements.
• Responding to change - agile development is focused on quick responses to change and
continuous development.
17
Agile Process Models
• Extreme Programming (XP)
• Adaptive Software Development (ASD)
• Dynamic Systems Development Method (DSDM)
• Scrum.
• Crystal.
• Feature Driven Development (FDD)
Rapid Application Development Model (Component Based)
• The rapid application development model emphasizes on delivering projects in small pieces.
If the project is large, it is divided into a series of smaller projects.
• Each of these smaller projects is planned and delivered individually.
• Thus, with a series of smaller projects, the final project is delivered quickly and in a less
structured manner.

19
Rapid
Application
Development
Model
Prototyping
Model
Prototyping Model
• In this Prototype Model before designing phase, a prototype is
developed, tested, reviewed and approved by the customer,
after that design will be ready for coding, testing, installation
and maintenance will takes place.
• This prototype is prepared based on the customer
requirements. Prototype testing is checking for the required
components are present or not.
• By using this prototype, customer can understand the
requirements of desired system and also the customer can get
an “actual feel” of the system.
• It is an attractive idea for complex and bigger systems.

You might also like