Software Development Life Cycle
Software Development Life Cycle
A software life cycle model (also known as a process model) is a diagrammatic and pictorial
representation of the software life cycle. A life cycle model represents all of the methods needed to
transfer a software product through the stages of its life cycle. It also captures the structure in which
these methods will be carried out.
Need of SDLC
The development of a software product would not be systematic and disciplined if an exact life cycle
model isn't used. When a team is developing a software product, members of the team must have a
strong insight of when and what to do. Otherwise, it would be an indication of chaos and project
failure.
This model's major goal is to identify the problem and then fix it as soon as possible. This paradigm is
a method of modifying software code with little regard for the impact on the overall structure of the
software system.
Advantages:
The key advantage is that it does its task at a low cost and in a short period of time.
Users may not always wait for an extended period of time. Rather, they want the changed
software supplied to them as soon as possible. As a result, the software maintenance team
must employ a quick-fix model in order to avoid the time-consuming Software maintenance
life cycle procedure.
Disadvantages:
Waterfall model
The Waterfall method was the first SDLC Model to be widely used in Software Engineering to ensure
successful project completion. The entire software development process is separated into phases.
Requirement Analysis and Specification Phase: During this phase, all potential needs for the
system to be developed are captured and documented in a requirement specification
document.
Design Phase: In this phase, the requirement specifications from the first phase are studied,
and the system design is prepared. This system design serves in the specification of
hardware and system requirements, as well as the definition of the overall system
architecture.
Implementation and unit testing phase: With input from the system design, the system is
first built-in small programs known as units, which are then combined in the following
phase. Unit Testing is the process through which each unit is designed and tested for
functioning.
Integration and unit testing: After each unit has been tested, all of the units built during the
implementation phase are merged into a system. Following integration, the complete
system is tested for errors and failures.
Operation and Maintenance phase: Following the completion of functional and non-
functional testing, the product is deployed in the client environment or released to the
market.There are a few difficulties that arise in the client environment. Patches are released
to address these bugs. In order to improve the product, latest versions are released.
Maintenance is performed in order to implement these modifications in the customer
environment.
Advantages:
Disadvantages: