What Are The Software Development Life Cycle (SDLC) Phases?
What Are The Software Development Life Cycle (SDLC) Phases?
Software life cycle models describe phases of the software cycle and the order in which those
phases are executed. Each phase produces deliverables required by the next phase in the life
cycle. Requirements are translated into design. Code is produced according to the design which
is called development phase. After coding and development the testing verifies the deliverable of
the implementation phase against requirements. The testing team follows Software Testing Life
Cycle (STLC) which is similar to the development cycle followed by the development team.
There are following seven phases in every Software development life cycle model:
3) System Design: Based on the user requirements and the detailed analysis of a
new system, the new system must be designed. This is the phase of system
designing. It is the most crucial phase in the development of a system. The logical
system design arrived at as a result of system analysis and is converted into
physical system design. In the design phase the SDLC process continues to move
from the what questions of the analysis phase to the how . The logical
design produced during the analysis is turned into a physical design - a detailed
description of what is needed to solve original problem. Input, output, databases,
forms, codification schemes and processing specifications are drawn up in detail.
In the design stage, the programming language and the hardware and software
platform in which the new system will run are also decided. Data structure,
control process, equipment source, workload and limitation of the system,
Interface, documentation, training, procedures of using the system, taking
backups and staffing requirement are decided at this stage.
There are several tools and techniques used for describing the system design of
the system. These tools and techniques are: Flowchart, Data flow diagram (DFD),
Data dictionary, Structured English, Decision table and Decision tree
5) Testing :Before actually implementing the new system into operations, a test run
of the system is done removing all the bugs, if any. It is an important phase of a
successful system. After codifying the whole programs of the system, a test plan
should be developed and run on a given set of test data. The output of the test run
should match the expected results. Sometimes, system testing is considered as a
part of implementation process.
Using the test data following test run are carried out:
Program test
System test
Program test : When the programs have been coded and compiled and brought to
working conditions, they must be individually tested with the prepared test data.
All verification and validation be checked and any undesirable happening must be
noted and debugged (error corrected).
System Test : After carrying out the program test for each of the programs of the
system and errors removed, then system test is done. At this stage the test is done
on actual data. The complete system is executed on the actual data. At each stage
of the execution, the results or output of the system is analyzed. During the result
analysis, it may be found that the outputs are not matching the expected output of
the system. In such case, the errors in the particular programs are identified and
are fixed and further tested for the expected output. All independent modules be
brought together and all the interfaces to be tested between multiple modules, the
whole set of software is tested to establish that all modules work together
correctly as an application or system or package.
When it is ensured that the system is running error-free, the users are called with
their own actual data so that the system could be shown running as per their
requirements.
6) Implementation: After having the user acceptance of the new system developed,
the implementation phase begins. Implementation is the stage of a project during
which theory is turned into practice. The major steps involved in this phase are:
During this phase, all the programs of the system are loaded onto the user’s
computer. After loading the system, training of the user starts. Main topics of such
type of training are:
Manual results can be compared with the results of the computerized system.
The operational work is doubled.
Failure of the computerised system at the early stage does not affect the working of the
organization, because the manual system continues to work, as it used to do.
(iii) Pilot run: In this type of run, the new system is run with the data from one or more
of the previous periods for the whole or part of the system. The results are compared with
the old system results. It is less expensive and risky than parallel run approach. This
strategy builds the confidence and the errors are traced easily without affecting the
operations.
The documentation of the system is also one of the most important activity in the system
development life cycle. This ensures the continuity of the system. Generally following
two types of documentations are prepared for any system.
System Documentation: The system documentation contains the details of system design,
programs, their coding, system flow, data dictionary, process description, etc. This helps to
understand the system and permit changes to be made in the existing system to satisfy new
user needs.
7) Maintenance : Maintenance is necessary to eliminate errors in the system during
its working life and to tune the system to any variations in its working
environments. It must meet the scope of any future enhancement, future
functionality and any other added functional features to cope up with the latest
future needs. It has been seen that there are always some errors found in the
systems that must be noted and corrected. It also means the review of the system
from time to time. The review of the system is done for: