0% found this document useful (0 votes)
22 views28 pages

SDLC

The Software Development Lifecycle (SDLC) is a structured process for developing software, consisting of six phases: Planning and Requirements, Analysis, Designing, Development/Coding, Testing, and Deployment and Maintenance. Various SDLC models, such as Waterfall, V-Model, Iterative, Spiral, RAD, and Prototype, each have unique advantages and disadvantages, influencing their suitability for different project types. Using SDLC helps project managers monitor progress and ensures that software meets all requirements effectively.

Uploaded by

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

SDLC

The Software Development Lifecycle (SDLC) is a structured process for developing software, consisting of six phases: Planning and Requirements, Analysis, Designing, Development/Coding, Testing, and Deployment and Maintenance. Various SDLC models, such as Waterfall, V-Model, Iterative, Spiral, RAD, and Prototype, each have unique advantages and disadvantages, influencing their suitability for different project types. Using SDLC helps project managers monitor progress and ensures that software meets all requirements effectively.

Uploaded by

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

SDLC

(Software
Development
Lifecycle)
What is SDLC ?

 SDLC stands for Software Development Lifecycle


 It is a set of planned activities for developing any software
product
 Using SDLC is very important for developing a software, SDLC
divides all the tasks to be followed while developing a software
into various phases which makes the software most accurate and
perfect satisfying all the requirements and also for maintenance
of the software
 Without SDLC, it becomes tough for software project managers
to monitor the progress of the project.
Phases of SDLC

 There are 6 stages of SDLC which are:

1. Planning and Requirements


2. Analysis
3. Designing
4. Development/Coding
5. Testing
6. Deployment and Maintenance
Planning and Requirements

 It is the first and the most important phase of SDLC


 In this phase the Business analyst collects the client’s
requirements
 Based on that information it is then used to plan the basic project
approach, expenditure, risk analysis, technical analysis, etc.
 After planning a document is prepared called BRS (Business
requirement specification)
Analysis

 Once the requirement analysis is completed the next step is to


make SRS (Software requirement specification) based on BSR
(Business requirement specification)
 SRS document consists of all the product requirements to be
designed and developed during the project
 Based on SRS, two documents are further made that are FRS
(Functional requirement specification) and SRS (System
requirement specification)
Designing

 Based on the requirements specified in SRS, product architecture


is proposed and a document is made called DDS (Design
Document Specification)
 System architect will convert the design into LLD (Low-Level
Design) and HLD (High-Level Design) which can de done by third-
party application if required
 LLD -
 HLD -
Development

 The coding of the project is started as per DDS during this stage.
 DDS helps in coding for accomplishing the project without much
hassle.
 Developers must follow the coding guidelines defined by their
organization or manager and programming tools like compilers,
interpreters, debuggers, etc. are used to generate the code.
 Different high-level programming languages are used such as C,
C++, Pascal, Java, and PHP are used for coding. The
programming language is chosen with respect to the type of
software being developed.
Testing

 This stage refers to the testing of the software where software’s


defects are reported, tracked, fixed, and retested until the
product reaches the quality standards defined in the SRS
(Software Requirement Specification)
 Testing can be done manually and or by using automation tools
Deployment and Maintenance

 Deployment
 Once the product is tested and ready to be deployed, it is
released in the market.

 Maintenance
 Once the product is deployed in the market the client may want
to update or want to do some changes to the product then the
maintenance part does this task
 Also, when product users use the software they may give
feedback which should be resolved from time to time
SDLC Models
 There are various software development life cycle models which are followed during the
software development process.
 Each model follows a Series of steps to ensure success in the process of software
development.
 There are 9 models of SDLC which are:
I. Waterfall Model
II. V–Model
III. Iterative Model
IV. Spiral Model
V. Agile Model
VI. Fish Model
VII. Big-Bang Model
VIII. RAD Model (Rapid Application Development)
IX. Prototype Model
1. Waterfall Model

 In the waterfall model all the processes of software development


are divided into various phases/parts
 These parts are nothing but SDLC phases (Planning and
Requirement, Analysis, Designing, Development/Coding, Testing,
Deployment and Maintenance)
 In the waterfall Model the output of one phase is the input to its
next phase sequentially
 When one phase is completed fully (100%) only then next phase
will be executed
 In this model we can’t go back from any phase
Waterfall Model Diagram and its Phases
Advantages and Disadvantages
Of Waterfall Model
 Advantages
• Simple and easy to understand and use
• Easy to manage due to its rigidness
• Phases are processed and completed one at a time
• In the Waterfall Model, processes and results are well documented

 Disadvantages
• If any changes are required at any phase, the whole process needs to be
start from the beginning. For example, if the application has now shifted to
the coding phase, and there is a change in requirement, It becomes tough
to go back and change it.
• This Model is not suitable for complex/large projects.
2. V–Model

 ‘V’ in ‘V-Model’ stands for verification and validation, hence it is called V-


Model
 It is called V-Model because of its structure. On the left side, there are all
the verification processes and on the right side, there are all the validation
phases, they are connected by the development/coding phase at the
bottom, which makes a v shape like structure
 In this model, testing is associated with every phase, which means that
every single phase in the development cycle, they are directly associated
to the testing phase
 Verification – In verification, reviewing is done without executing code. It is
the process of evaluation of the product development process to find
whether specified requirements meet.
• Verification involves – Requirement analysis, System design, Architecture
design, and Module design
 Validation - It involves testing of functional and non-functional testing,
which is done after executing code.
• Validation involves – Unit Testing, Integration testing, System testing, and
Acceptance testing
Advantages and Disadvantages Of
V-Model

 Advantages
• Simple and easy to understand and use.
• It works perfectly for smaller projects where requirements are very
well understood.
• Each and every component is tested parallelly at every phase, so the
chances of errors are less

 Disadvantages
• This Model is not suitable for large and complex
• Once an application is in the testing stage, it is difficult to go back and
change functionality, which means we can’t go back from any phase
which affects customer satisfaction
3. Iterative Model

 This Model is just like Waterfall Model, unlike waterfall Model, in


this, we can go back to the previous phase if any changes are
required
 The Iterative Model allows going not only to the previous phase
but also allows accessing all of its earlier phases
 Due to its allowance to go back to the previous or earlier phase,
it results in time-saving, cost-saving as well as effort-saving as
we have to not start from the beginning again if any change is
required
 It is also called Advanced version of the Waterfall Model
Iterative Model Diagram
Advantages and
Disadvantages Of

Iterative
Advantages
Model
• This model is easy to understand and execute
• Some working functionality can be developed quickly and early in
the life cycle.
• Less costly to change the scope/requirements.
• Testing and debugging during smaller iterations are easy.

 Disadvantages
• Requirement changes can cause over budget.
• Project completion date is not confirmed because of changing
requirements.
4. Spiral Model

 In the Spiral Model all phases are divided into 4 quadrants that are:
i. Objective determination and identifying alternative solutions
ii. Identifying and resolving risks
iii. Developing and verifying
iv. Reviewing and planning for the next phase

 Objective determination and identifying alternative solutions:


This phase starts with gathering the business requirements This phase
also includes understanding the system requirements by continuous
communication between the customer and the system analyst.
 Identifying and resolving risks:
It is the next phase in the spiral model, in this phase, we calculate
and identify all the risks and prepare solutions for that risks before
developing the project

 Developing and verifying:


In this phase, the design of the project is made and after designing
the developers develop the project after developing the project, the
testing team will test the software deeply and then the project goes
into the last quadrant/phase

 Reviewing and planning for the next phase:


In this phase, the developed project is shown to the client or
manager if any refinement is required it again starts from 1st
quadrant which makes one spiral
 A software project repeatedly passes through these phases in
iterations called Spirals.
5. RAD Model (Rapid
Application Development

Model)
Rapid application development is an SDLC Model that uses
minimal planning or not specific planning
 In this model the project is broken down into small modules and
each module may/may not be assigned independently to
separate teams.
 These modules can finally be combined to form the final product
using some powerful developer tools such as JAVA, C++, Visual
BASIC, XML, etc. is also an integral part of the projects.
Advantages and
Disadvantages Of RAD Model
 Advantages
• It takes less time as powerful RAD tools are used
• Feedback from the customer is available at the initial stages
• Expenses are lesser as fewer developers are required and
automation tools are used

 Disadvantages
• Highly skilled professionals are required for use of powerful tools
• It is suitable for large projects only
6. Prototype Model

 In this type of model, a toy model (aka Prototype Model) is made


first which is only a dummy model of a project that is made on
the basis of the client’s requirement
 If the client accepts that toy model (Acceptance) then it goes to
the next phases which are designing, developing, testing,
deploying & Maintenance which is called iterative development
 If any changes are required by the user, it can be done at an
earlier stage itself
Advantages and
Disadvantages Of Prototype
Advantages Model
• Customer satisfaction
• Reduce Maintenance cost
• Reduces time and cost as the defects can be detected much
earlier

 Disadvantages
• Can take a long time
• It would be difficult if the customer is not clear with their idea

You might also like