Anda di halaman 1dari 6

What does Software Development Life Cycle (SDLC) mean?

Software Development Life Cycle:


The software development life cycle (SDLC) is a framework defining tasks performed at each
step in the software development process. SDLC is a structure followed by a development team
within the software organization.

It consists of a detailed plan describing how to develop, maintain and replace specific software.
The life cycle defines a methodology for improving the quality of software and the overall
development process.

The software development life cycle is also known as the software development process.
Techopedia explains Software Development Life Cycle (SDLC)
SDLC consists of following activities:

Planning: The most important parts of software development, requirement gathering or


requirement analysis are usually done by the most skilled and experienced software engineers in
the organization. After the requirements are gathered from the client, a scope document is
created in which the scope of the project is determined and documented.

Implementation: The software engineers start writing the code according to the client's
requirements.

Testing: This is the process of finding defects or bugs in the created software.
Documentation: Every step in the project is documented for future reference and for the
improvement of the software in the development process. The design documentation may
include writing the application programming interface (API).

Deployment and maintenance: The software is deployed after it has been approved for
release.

Maintaining Software maintenance is done for future reference. Software improvement and
new requirements (change requests) can take longer than the time needed to create the initial
development of the software.
There are several software development models followed by various organizations:
Waterfall Model:
This model involves finishing each phase completely before commencing the next one. When
each phase is completed successfully, it is reviewed to see if the project is on track and whether
it is feasible to continue.

Requirements: The first phase involves understanding what needs to design and what is its
function, purpose, etc. Here, the specifications of the input and output or the final product are
studied and marked.

System Design: The requirement specifications from the first phase are studied in this phase
and system design is prepared. System Design helps in specifying hardware and system
requirements and also helps in defining overall system architecture. The software code to be
written in the next stage is created now.
V-Shaped Model:
This model focuses on the execution of processes in a sequential manner, similar to the waterfall
model but with more importance placed on testing. Testing procedures are written even before
the commencement of writing code. A system plan is generated before starting the development
phase.

Verification: It involves static analysis technique (review) done without executing code. It is
the process of evaluation of the product development phase to find whether specified
requirements meet.

Validation: It involves dynamic analysis technique (functional, non-functional), testing done


by executing code. Validation is the process to evaluate the software after the completion of the
development phase to determine whether software meets the customer expectations and
requirements.

So V-Model contains Verification phases on one side of the Validation phases on the other side.
Verification and Validation phases are joined by coding phase in V-shape. Thus it is called V-
Model.
Incremental Model:
This life cycle model involves multiple development cycles. The cycles are divided up into
smaller iterations. These iterations can be easily managed and go through a set of phases
including requirements, design, implementation and testing. A working version of the software is
produced during the first iteration, so working software is created early in the development
process.

Requirements of Software are first broken down into several modules that can be incrementally
constructed and delivered. At any time, the plan is made just for the next increment and not for
any kind of long term plans. Therefore, it is easier to modify the version as per the need of the
customer. Development Team first undertakes to develop core features (these do not need
services from other features) of the system.

Once the core features are fully developed, then these are refined to increase levels of
capabilities by adding new functions in Successive versions. Each incremental version is usually
developed using an iterative waterfall model of development.

As each successive version of the software is constructed and delivered, now the feedback of the
Customer is to be taken and these were then incorporated in the next version. Each version of the
software have more additional features over the previous ones.
Spiral Model:
This Spiral model is a combination of iterative development process model and sequential linear
development model i.e. the waterfall model with a very high emphasis on risk analysis. It allows
incremental releases of the product or incremental refinement through each iteration around the
spiral.

Identification: This phase starts with gathering the business requirements in the baseline spiral.
In the subsequent spirals as the product matures, identification of system requirements,
subsystem requirements and unit requirements are all done in this phase.

This phase also includes understanding the system requirements by continuous communication
between the customer and the system analyst. At the end of the spiral, the product is deployed in
the identified market.

Design: The Design phase starts with the conceptual design in the baseline spiral and involves
architectural design, logical design of modules, physical product design and the final design in
the subsequent spirals.

Anda mungkin juga menyukai