Elaborated Phases of Software Development Life Cycle: Radhika D Amlani Dr. Deepak Kumar
Elaborated Phases of Software Development Life Cycle: Radhika D Amlani Dr. Deepak Kumar
Page |1 y
www.ijcait.com International Journal of Computer Applications & Information Technology
Vol. I, Issue II, September 2012 (ISSN: 2278-7720)
In this phase all the planning should be done like what to do? requirement is also placed into the first version of the
What kind of features should be there in software? A kind of Requirements Traceability Matrix (RTM), along with the
prototype would be developed at the planning stage. One identifier of each goal from the parent project plan or
more thing is taken into consideration like; the project is component iteration plan.
feasible in all aspect of the current situation. As a result long
term project is planned. The outputs of this phase are these, 3) Project Adoption and Project Scoping
SDLC description, the Software Configuration Management
System requirements outputs will be inputs of this phase.
Plan (SCMP), the Software Quality Assurance Plan (SQAP),
After thinking on all the pros and cons of the system
the Software Project Management Plan(SPMP) and the
requirements, the project is put into developing stage. All the
associated project or component schedule. The schedule
requirements are analyse and decide to develop that project.
includes a detailed listing of activities for the upcoming
Weather the current technology is enough to adopt a new
requirement stage and high-level estimates of effort for the
project. Which is new technology to adopt to cope with new
out stages.
project? What is the future scope of the project? All these
2)System Requirements and Benefits things must be keep in mind. Feasibility study of the system is
done over here. There are four types of feasibility study.
Analysis Technical feasibility, economical feasibility, operational
This phase takes as its input the goals identified in the above feasibility, and organizational feasibility.
phase or system conceptualization. Goal is refined into set of
requirements. System requirements are defined in this phase.
4) System Design
Requirement of the System is actually there or not, is identify After getting positive result from previous phase the System is
in this phase. Characteristics of System are defined in this designed in detail. Outputs of the system requirements will be
phase. All the requirement or need should fulfil by new inputs of this phase.
system. All the requirements to develop a system is analyse
this phase. Weather the new system is beneficial over current Project is designed in this phase. Whole project/system design
system or not. All the pros and cons of the new system is is developed. All operations and features are described in
analyse in this phase. If the benefits are there of new system is detail, which include technical specification. UML is used in
much than current system then the idea to develop new system this phase when required. Process diagrams are prepared to
put forward. facilitate the SDLC process with required documentation. In
short, blue print of the whole system is develop in this phase.
In this phase all the requirement information are to be How the system will work, is decided.
gathered. Which of them are taken into consideration is
decided in this phase. Basis on this information, well-defined System design is the phase where system engineers analyze
functions are created from the defined project goal. and understand the business of the proposed system by
studying the user requirements document. They plan our
This phase is concerned with establishing what the ideal possibilities and techniques by which the user requirements
system has to perform. However it does not determine how can be implemented. If any of the requirements are not
the software will be designed or built. Usually, the users are feasible, the user is informed about this issue. A resolution is
interviewed and a document called the user requirements found and the user requirements document is edited
document is generated. The user requirements document will accordingly. Establishes the expectations for software
typically describe the system’s functional, interface, functionality and identifies which system requirements the
performance, data, security, etc requirements as expected by software affects. Requirements analysis includes determining
the user. It is used by business analysts to communicate their interaction needed with other applications and databases,
understanding of the system to the users. The users carefully performance requirements, user interface requirements, and so
review this document as this document would serve as the on.
guideline for the system designers in the system design phase.
The user acceptance tests are designed in this phase. There are Design elements describe the desired software features in
different methods for gathering requirements of both soft and detail. The Software Design Document (SDD) contains the
hard methodologies including; interviews, questionnaires, functional or dynamic design elements, such as business rules,
document analysis, observation, throw-away prototypes, use business process diagrams. Physical Database Description
cases and status and dynamic views with users. (PDD) contains the static or structural design elements such as
the entity relationship diagram, the access control matrix.
These requirements define the major functions of the
supposed application and defined the initial data entities. The software specification document which serves as a
Major functions include critical processes to be managed for blueprint for the System development phase is generated in
i.e. critical inputs, outputs and reports. Each of these this phase. This document contains the general system
definitions is termed a Requirement. Requirements are organization, menu structures, data structure etc. It also hold
identified by unique requirements identifiers and at minimum, system scenario, sample windows, reports for the better
contain a requirement title and textual description. These understanding. Other technical documents like entity diagram,
requirements are fully described in the primary deliverables data dictionary will also be produced in this phase. When the
for this stage: the Software Requirements Document (SRD) SDD and PDD are finalized and accepted, the RTM is
and the Logical Database Description (LDD). The SRD updated to show that each design element is formally
contains complete descriptions of each requirement, including associated with a specific requirement.
references to external documents, such as Use Cases. The
LDD describes the major data entities of the project or 5) Specification of software requirements
component, along with their relationships to other entities and All the technical specification is describe in this phase. Which
their user base. The identifier associated with each tool are required to develop this project? The need for the
Page |2 y
www.ijcait.com International Journal of Computer Applications & Information Technology
Vol. I, Issue II, September 2012 (ISSN: 2278-7720)
specific platform and technology is also decide in this phase the correctness and completeness of the software, an updated
of the develop. Specify also, if there is any need of other tools RTM.
or technology to build the project.
9) Unit testing
6) Architectural design
In computer programming, unit testing is a method by which
The design of the Whole System is precise briefly in this individual units of source code are tested to determine if they
phase. Whole system is divided in different modules or units. are fit for use. A unit is the smallest testable part of an
And documentation is prepared in this unit according to application. In procedural programming a unit may be an
completion of the previous phase. Functionality of each unit is individual function or procedure. Unit tests are created by
design in this phase. Determines the software framework of a programmers or occasionally by white box testers. The
system to meet the specific requirements. This design defines purpose is to verify the internal logic code by testing every
the major components and the interaction of those possible branch within the function, also known as test
components, but it does not define the structure of each coverage. Static analysis tools are used to facilitate in this
component. The external interfaces and tools used in the process, where variations of input data are passed to the
project can be determined by the designer. This phase of the function to test every possible case of execution. It is main
design of computer architecture and software architecture can type of testing.
also be referred to as high level design. The baseline in
selecting the architecture is that in this phase list of modules, 10) Software integration & testing
brief functionality of each module, their interface relationship,
Integrated module is tested for their interoperability and
dependencies, database tables, architecture diagrams,
functionality. In integration testing the separate modules will
technology details etc are prepared.
be tested together to expose faults in the interfaces and in the
7) Detailed design interaction between integrated components. Testing is
usually black box as the code is not directly checked for
In this phase all the unit are designed in detail. As errors. During the integration and test phase, the software
functionality of each unit is designed in previous phase. How objects, online help and test data are migrated from the
this unit works, is design in this phase? Which kind of development environment to a separate test environment. At
functions should be there and functionality provided by that this point, all the cases are run to verify the correctness and
functions are decided in this phase. Characteristics of all the completeness of the software. Successful execution of the test
units are decided in this phase. The designed system is broken suite confirms a robust and complete migration capability.
up into smaller units or modules and each of them is
explained so that the programmer can start coding directly. During this stage, reference data is finalized for production
The low level design document or program specification will use and production users are identified and linked to their
contain a detailed functional logic of the module or pseudo appropriate roles. The final reference data (or links to
code. Database tables with all elements, including their type reference data source files) and production user list are
and size are prepared in this phase. All dependency issues, compiled into the Deployment Plan (DP). The outputs of the
error message list are prepared in this phase. Complete inputs integration and test phase include an integrated set of
and outputs are decided for a module. software, an online help system, an updated Implementation
Map (IMP if necessary), a Deployment Plan (DP) that
8) Unit development describes reference data and production users, an acceptance
plan which contains the final suite of test cases.
All the units are actually design in this phase. This is the
coding phase. Coding is being done in this unit. Units are 11) System integration & testing
developed under the technology, which is decided in previous
phase. This is the actual phase where project is converted into System testing will compare the system specification against
reality.This development stage takes as its inputs the design the actual system. After the integration test is completed, the
elements describes in the approved SDD and PDD. For each next test level is the system test. System testing check if the
design element, a set of one or more software objects are integrated product meets the desired requirements. It is done
produced. Software objects include but are not limited to because the customer who has ordered and paid for the system
menus, dialogs, data entry forms, data reporting formats, and and the end user who will use the system may be different
specialized procedures and functions. Appropriate test cases group of people or organizations with their own specific
are developed for each set of functionally related software interests and requirements of the system. So software testing
objects and an online help system is developed to guide users is done against technical specifications. And the system test,
in their interactions with the software. looks at the system from the perspective of the customer and
the future user. The tester validate if the requirements are
The RTM is updated to show that each developed object is linked to a completely and appropriately met or not. Many functions and
specific design element and that each developed object has one or more system characteristics result from the interaction of all system
corresponding test case items. At this point, the RTM is in its final components, so they are only visible on the level of the entire
configuration. The outputs of the development stage include a system and can only be observed and tested there.
fully functional set of software that satisfies the requirements
and design elements previously documented, an online help 12) Installation at site
system that describes the operation of the software, an
Implementation Map (IMP) that identifies the primary code After whole system is integrated and tested, the project is
entry points for all major system functions, a Software Test installed at customer’s place. All the applications which are
Plan (STP) that describes the test cases to be used to validate required to run this project is also installed at the customer’s
place.
Page |3 y
www.ijcait.com International Journal of Computer Applications & Information Technology
Vol. I, Issue II, September 2012 (ISSN: 2278-7720)
13) Site testing and acceptance to develop any software very smoothly and easily. This paper
would lead programmer to do their job without any problem.
After installing the project at its customer’s place, the whole This will facilitate the programmer to build the software
project is tested again. If it works properly without any stepwise, so confusion can be avoid in any phase of
problem then it is accepted by the customer. development.
3. CONCLUSION
Researchers have tried to explain all the phases of Software
Development Life Cycle in detail. This will help programmer
Page |4 y