There are many software
process but four activities that are fundamental to software engineering are
1.
Software
specification
2.
Software
design and implementation
3.
Software
validation
4.
Software
evolution
These are complex
activities and of course include sub activities architecture design, unit
testing etc.
Waterfall
Model
Waterfall model include
fundamental software process specification, design, validation, evolution and
represent them as requirement specification, software design, implementation,
testing, operation, maintenance. In this model each process phase is complete
and then move to another phase, so this model is known as ‘waterfall model’ or
‘software life cycle’. In waterfall model you must specify all the function and
constrain on function before starting work on them.
Waterfall model is used
when system requirement specified at an early stage of software development
process.
Principle stage of
waterfall model
Requirement
analysis and definition
Requirements are define according to the need of end user. System’s function, constrain and goal are
define by negotiation with end user in this step. System functions are defined
in detail and behave as system specification. System specification document is used in next phase as
input.
System
and software design
System design process allocates the requirement to either hardware or
software system by establishing an overall system architecture. In software design phase interfaces and
interactions of the modules are described, as well as their functional contents
and other system states like startup, shutdown, error conditions and diagnostic
modes have to be considered. The output of this phase is a Software Design
Document.
Implementation
and unit testing
Software design is realized as a program or unit program. Each unit is
developed independently. Unit testing check each unit meets it specification.
Integration
and system testing
Unit program are integrated and test as whole system to check that the
software requirement have been met. After software system is delivered to
customer.
Operation
and maintenance
This
is longest life cycle phase. System is installed and put into practical use.
Maintenance involves correcting error, improving the implementation of system
unit and enhancing system services as new requirement are discover and ensure
software system work properly.
Figure: The Waterfall Model
This software
model process is not a simple linear model but involves feedback from one phase
to another phase. Changes in the process are also reflected in documentation,
which is produced in each phase of process. Iteration can be costly and involve
significant work. In final phase the software is implemented to use. After
implementation we check software must meet the requirement that is specified
and also program and design error are checked and the need of new functionality
is identified.
Waterfall model drawback
1.
The
major problem is inflexible partition of process stage
2.
Waterfall
model is only used when requirement are well understood during the first phase
of requirement analysis and unlikely to change radically during system
development. If requirement are not specified in initial phase subsequent phase
will suffer from it.
