Broadly, the SDLC steps discussed earlier can be categorized
into:
·
Requirement Specification
·
Requirement Analysis and Design
·
Coding and Testing
·
Deployment and Support
The following sections discuss these in more detail.
Requirement Specification
Software Requirements Specification (SRS) provides a
complete description of all the functions and specifications of the software to
be designed. It extracts the functional and the nonfunctional requirements of
the desired software product. It is the initial stage in the SDLC, the first
and the foremost step that has to be performed and includes the information
about the requirements for the proposed system. The requirements are pertained
to such as resources, scope of the system, purpose of the system and the
limitations. This phase is also known as the feasibility study phase. The Software
Requirements Specification Document that is created in this stage, states all the
necessary guidelines (the functional requirements, the nonfunctional
requirements, etc.) for the immediate next phase, the design phase and the
software development life cycle. It serves as a type of Bible for the Software
Design Process.
Requirement Analysis and Design
After the requirements specification is over, it is analyzed
for its accuracy and sufficiency. Issues such as whether that particular
proposed system will serve the purpose or not, what are the necessary
constraints that have to be taken into consideration and the monitoring the
management of the activities in a fashion are all carried out in a hierarchical
manner which is specified in the BRS (Business Requirement Specification)
document.
The design stage takes as its initial input the requirements
identified in the approved requirements document. The Analysis and Design phases
are very crucial in the software development cycle process. This phase also
includes the work assignments, costs, project schedule, and the specification
of the target dates.
Coding and Testing
The next step consists of developing the application logic
and writing the functionalities for the user interfaces on a specific action
performed (known as Coding). The coding or the development phase takes as its
primary input the design elements described in the approved design document. It
is to be noted that the Programmers/Developers should adhere to the required
coding standards. The code should also be optimized for the purpose of saving
the valuable resources. Next in the SDLC cycle comes the testing phase.
After the source code is generated, the testing phase begins
to reveal the bugs that were committed during the previous phases. This
testing can be manual or automated using the testing tools and methodologies that
are available.
Deployment and Support
The software that has been developed and deployed should
provide adequate support for maintenance so as to cope with the bugs that can
exists even after deployment of the software is over. This can take far more
time than the initial development process of the software.
The maintenance phase of the software development life cycle
should be able to accommodate the changes that can happen during the post
implementation period. A change can happen because of some unexpected input
values into the system.