Software Development Life Cycle. (SDLC)
SDLC stands for Software
Development Life Cycle. It is the process to design, develop, test or alter the
software products. The international standard followed is ISO/IEC 12207, which
defines all the tasks to develop and maintain the software.
Stages in SDLC
1.Planning and Requirement Gathering
Requirement gathering is done by taking inputs from
various sources viz. clients, sales department, market surveys and domain experts.
Once the requirement is gathered, economical, operational and technological
feasibility is studied. Also the risk assessment is being done.
2.Defining the requirements:
Requirements are defined and documented in the form of
SRS - Software requirement specification and got approved from the client.
3.Designing the product architecture:
architecture is designed and documented in the form of DDS – Design Documents
Specification. It is reviewed by the various stakeholders and based on various
parameters like risk assessment, product robustness, time and money constraints
etc, the best design is chosen.
4.Building or Developing the product:
The product is
developed by the use of various languages like C, C# etc as per the
5.Testing the product:
After being built,
the product is tested to see if all the requirements are being met.
6.Deployment in the market and maintenance:
The product is released in the market for use. Sometimes
as per the organization strategy, the product is being released in the limited
segment and tested in the real business environment (UAT – User Acceptance
Testing). From this testing, on the basis of the feedback, the product is
released in the target market after further enhancements.
known as a linear-sequential life cycle model was the first model to be
model is divided into steps or phases. Each phase starts once the previous
phase is completed. The output from one phase is used as the input for the
other phase. None of the phases overlap.
it can be represented as follows
First the requirement is
gathered from the client and analyzed (Requirement gathering and analysis). Then the
system architecture is designed, keeping into consideration the hardware and
the system requirements (System design). Post that, the software is
being developed in the form of small programs called units and each unit is
subsequently tested (Implementation). In the next phase, all the
units are integrated and the entire software is tested to find its faults and
and Testing). After that, the developed product is released in the
market for use (Deployment).
In case, any problem arises even after that, then patches are released to fix
those problems. Also, newer versions are released with advanced and added
this model is that once the testing starts, one cannot go back to fix something
that was not well-documented or thought upon during the concept stage.
2. Iterative Model:
this model, small set of requirement is used to prepare software. Once the
software is prepared, tested and implemented, it is further enhanced on giving
the additional requirement, the entire process is repeated (iteration) and
smaller portions are kept on adding (incrementally), till the entire system is
developed. The testing for the newer versions of the software are repeated and
extended as the software develops, to identify any problem, faults and
3. Spiral Model:
model is the combination of Waterfall and Iterative Model with emphasis on the
risk analysis. It works in 4 phases: Planning, Risk Analysis, Engineering and
Evaluation. These phases are iterated which results in Spiral process.
a.)Planning: In this phase, the requirements are gathered
for the system that has to be developed.
b.)Risk Analysis: The risk is analyzed and the alternate
solutions are developed.
c.)Engineering: Software is developed and the testing is
done to fix any problem.
d.)Evaluation: The customer evaluates the software before
the project moves to the next spiral.
4. V Model
is also known as Verification and Validation Model. It is similar to the
Waterfall model. Testing is planned parallel to the corresponding phase of the
Requirement Specification (BRS): The requirement is
gathered in detail from the customers. Acceptance Testing is done in this phase.
Requirement Specification (SRS): The hardware
requirement and the communication setup are specified in this phase. System
Testing is done in this phase.
Design (HLD): It deals in system architecture and design. It
provides overview of solution, platform, system, product and service and their
integration with each other.
Integration Testing is done in this phase.
Design (LLD): The actual software component is built in this
phase. Component Testing is done in this phase.
The entire coding and subsequent unit testing is done in this phase.
Module Design is converted into code by developers.
5. Big Bang Model:
this model, no particular process is followed. The software is developed as the
requirement comes. It starts with very less input. Sometimes, the client is not
very clear about the requirement. Usually this model is for small projects
where the team is very small like academic projects.
6. Agile Model:
model is similar to iterative and incremental model. In this model, the product
is broken down into smaller portions (features) and each portion is developed
separately following certain steps repeatedly (iteration). Repetition of cycle
is known as iteration. Each of the iteration takes one-three weeks. In this
model, the methods are customized as per the requirement of the project. Once a
feature is developed, unit testing is done followed by acceptance testing.
Customer interaction is the backbone of agile development with least
documentation. Each build is incremental of the features and the final build
holds all the features required by the customer.