Page 111 - DCAP304_DCAP515_SOFTWARE_PROJECT_MANAGEMENT
P. 111
Unit 5: Project Approach
Notes
Figure 5.1: Waterfall Model
R equ irem ents
analysis and
specification
Softw are
desig n
C on struction
T esting
O peratio n a nd
m ainten ance
This model has five phases: (i) requirement analysis and specification, (ii) design,
(iii) implementation and unit testing, (iv) integration and system testing and (v) operation and
maintenance. All the phases occur one-by-one without overlapping. The next phase begins only
after the end of the previous phase.
Requirement Analysis and Specification: This phase aims at understanding the exact
requirements of the customer and documents them. Both the customer and the software
developer work together so as to document all the functions, performance and interfacing
requirements of the software. It describes the “what” of the system to be produced and not
“how”. In this phase a large document called Software Requirement Specification document
(SRS) is produced which contains the detailed description of what the system will do in the
common language.
Design Phase: The aim of this phase is to transform the requirements gathered in the SRS
into a suitable form which permits further coding in a programming language. It defines
the overall software architecture together with high level and detailed design. All this
work is documented as Software Design Description document (SDD).
Implementation and Unit Testing Phase: The actual coding begins at his stage. The
implementation goes smoothly if the SDD has complete information required by the
software engineers. During testing, the code is thoroughly examined and modified. Small
modules are testes in isolation initially. Thereafter, these modules are tested by writing
some overhead code in order to check the interaction between these modules and the flow
of intermediate output.
Integration and System Testing: This phase is highly crucial as the quality of the end
product is determined by the effectiveness of the testing carried out. Better output will
lead to satisfied customers, lower maintenance costs and accurate results. Unit testing
determines the efficiency of individual modules. However, in this phase the modules are
tested for their interactions with each other and with the system.
Operation and Maintenance Phase: Maintenance is the task performed by every user once
the software has been delivered to the customer, installed and operational.
LOVELY PROFESSIONAL UNIVERSITY 105