Software Process Models
Software Process Models
Software Processes
Coherent sets of activities for analysing, designing,
implementing and testing software systems
The software process
A structured set of activities required to develop a
software system
Analysis: determining what the software will do
Design: how will the system accomplish it
Implementation: writing code
Validation: finding errors
Evolution: modifying the software
A software process model is an abstract representation
of a process. It presents a description of a process from
some particular perspective
Generic software process models
The waterfall model
Separate and distinct phases of specification and development
Fountain development
Separate and distinct phases of specification and development
with some overlapping
Evolutionary development
Specification and development are interleaved
Formal systems development
A mathematical system model is formally transformed to an
implementation
Reuse-based development
The system is assembled from existing components
Waterfall model
Waterfall model phases
Requirement definition:
In this Phase , the requirements for the software are
established through discussion with client and are
then documented.
System and software designing:
In this phase , the requirements are converted into
design to be used in the next phase. The design
includes various elements such as database structures,
software architecture and procedures.
The design is first passes through the quality test and
then documented.
Waterfall model phases
Implementation and unit testing:
In this phase the actual coding of the software is done.
The design of the previous phase is converted into the
code. Unit testing involves verifying that each unit meets
its specification.
Integration and system testing:
In this phase, the individual program units or programs
are integrated and tested as a complete system to ensure
that the software requirements have been met (i.e. the
output generated is checked to ensure that it matches
the requirements). After testing, the software system is
delivered to the customer.
Waterfall model phases
Operation and maintenance:
Normally (although not necessarily) this is the longest
life-cycle phase. The software is installed and put into
practical use. Maintenance involves correcting errors
which were not discovered in earlier stages of the life
cycle, improving the implementation of the software units
and enhancing the software's services as new
requirements are discovered.