2. What is SDLC?
SDLC is a process followed for a software project, within a
software organization. It consists of a detailed plan
describing how to develop, maintain, replace and alter or
enhance specific software. The life cycle defines a
methodology for improving the quality of software and the
overall development process.
3. The following figure is a graphical representation of the
various stages of a typical SDLC.
4. Stage1: Planning and requirement analysis
● Requirement Analysis is the most important and necessary
stage in SDLC.
● The senior members of the team perform it with inputs from all
the stakeholders and domain experts in the industry.
● Planning for the quality assurance requirements and
identifications of the risks associated with the projects is also
done at this stage.
5. Stage2: Defining Requirements
• Once the requirement analysis is done, the next stage is to clearly
define and document the software requirements and get them
approved from the project stakeholders.
• This is accomplished through "SRS"- Software Requirement
Specification document which contains all the product requirements
to be designed and developed during the project life cycle. SRS is the
reference for product architects to come out with the best
architecture for the product to be developed.
6. Stage3: Designing the Software
• Based on the requirements specified in SRS, usually more than one
design approach for the product architecture is proposed and
documented in a DDS - Design Document Specification.
• This DDS is reviewed by all the important stakeholders and based on
various parameters such as risk assessment, product robustness,
design modularity, budget, and time constraints, the best design
approach is selected for the product.
7. Stage4:Coding
Programmers begin working on writing code
to meet business requirements
Developers must follow the coding guidelines
defined by their organization
Programmers will look to reuse code from
previous projects to save time
Unit testing should begin at this point
Many projects will begin to do demonstrations
at this point
8. Stage5:Testing
This is critical step to ensure the system to work
properly
Systems may have multiple layers of testing
1. Unit test
2. Integration test
3. Load test
4. User acceptance test(UAT)
This step lots of time and money to deliver the quality
product
If in case the product get failed in test or it did not
satisfy the user then it again go to the developing
phase to rectify the problems
9. Stage6:Deployment
The deployment phase is the final phase of the software development life cycle
(SDLC).
After the project team tests the product and the product passes each testing phase,
the product is ready to go live and overall project definition are made available for
use and puts the product into production and after the product is manufactured and
put sale in the market.
It means that the product is ready to be used in a real environment by all end users
of the product.
10. Stage7:Maintenance
The maintenance phase of the SDLC occurs after the product is in full
operation. Maintenance of software can include software upgrades,
repairs, and fixes of the software if it breaks. Software applications often
need to be upgraded or integrated with new systems the customer
deploys. It's often necessary to provide additional testing of the software
or version upgrades. During the maintenance phase, errors or defects
may exist, which would require repairs during additional testing of the
software. Monitoring the performance of the software is also included
during the maintenance phase.
11. SDLC Models
• A framework that describes the activities performed at each
stage of a software.
• The most important and popular SDLC models:
1. Waterfall Model
2. Iterative Model
3. Spiral Model
4. V-Model
5. Big Bang Model
12. Waterfall Model
• The Waterfall Model was first Process Model to be introduced.
• The waterfall model is a linear, sequential approach to
Development Life Cycle(SDLC) that is popular in software
product development.
• It is also referred to as a linear-sequential life cycle model.
• In a waterfall model, each phase must be completed fully before
phase can begin.
13.
14. Advantages of waterfall Model
• This model is simple and easy to understand and use.
• It is easy to manage due to the rigidity of the model – each phase has specific
deliverables and a review process.
• In this model phases are processed and completed one at a time.
• Waterfall model works well for smaller projects where requirements are clearly
defined and very well understood.
15. Disadvantages of waterfall Model
• Once an application is in the testing stage, it is very difficult to go back and
change something that was not well-thought out in the concept stage.
• No working software is produced until late during the life cycle.
• Poor model for long and ongoing projects.
• High amounts of risk and uncertainty.