Software Process Models
Software Process Models
Software Process Models
ISE 2019
• There are many software processes but all must
include four activities that are fundamental to
software engineering:
• SOFTWARE SPECIFICATION: The functionality of
the software and constraints on its operation
must be defined.
• SOFTWARE SPECIFICATION & IMPLEMENTATION:
The software to meet the specification must be
provided.
• SOFTWARE VALIDATION: The software must be
validated to ensure that it does what the
customer wants.
• SOFTWARE EVOLUTION: The software must
evolve to meet changing customer needs.
Software process models
• The waterfall model
– Plan-driven model. Separate and distinct phases of specification
and development.
• Incremental development
– This approach interleaves the activities of specification,
development and validation . The system is developed as a
series of versions (increments) with each version adding
functionality to the previous version.
• Reuse oriented software engineering
– The system is assembled from existing configurable
components. Focuses on integrating these components into a
system rather than developing from scratch.
– In practice, most large systems are developed using a process
that incorporates elements from all of these models.
The waterfall model
Waterfall model phases
• There are separate identified phases in the
waterfall model:
– Requirements analysis and definition
– System and software design
– Implementation and unit testing
– Integration and system testing
– Operation and maintenance
• The main drawback of the waterfall model is the
difficulty of accommodating change after the
process is underway. In principle, a phase has to
be complete before moving onto the next phase.
Waterfall model phases
• The principal stages of the waterfall model directly reflect
the fundamental development
• activities:
• 1. Requirements analysis and definition The system’s
services, constraints, and goals are established by
consultation with system users. They are then defined in
detail and serve as a system specification.
• 2. System and software design The systems design process
allocates the requirements to either hardware or software
systems by establishing an overall system
• architecture. Software design involves identifying and
describing the fundamental software system abstractions
and their relationships.
Waterfall model phases
• 3.Implementation and unit testing During this stage, the software
design is realized as a set of programs or program units. Unit testing
involves verifying that each unit meets its specification.
• 4. Integration and system testing The individual program units or
programs are integrated and tested as a complete system to ensure
that the software requirements have been met. After testing, the
software system is delivered to the customer.
• 5. Operation and maintenance this is the longest life cycle phase.
The system 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 system
units and enhancing the system’s services as new requirements are
discovered.
Waterfall model problems
• Inflexible partitioning of the project into distinct
stages makes it difficult to respond to changing
customer requirements.
– Therefore, this model is only appropriate when the
requirements are well-understood and changes will be
fairly limited during the design process.
– Few business systems have stable requirements.
• The waterfall model is mostly used for large
systems engineering projects where a system is
developed at several sites.
– In those circumstances, the plan-driven nature of the
waterfall model helps coordinate the work.
Incremental development
Incremental development
• Incremental development is based on the idea of
developing an initial implementation, exposing this to user
comment and evolving it through several versions until an
adequate system has been developed (Figure).
Specification, development, and validation activities are
interleaved rather than separate, with rapid feedback
across activities.
• 4.Planning
The project is reviewed and a decision
made whether to continue with a further loop
of the spiral. If it is decided to continue, plans
are drawn up for the next phase of the project.