Lectur
e-8
University of Management & Technology
School of Systems and Technology
Software Engineering
CC-2101
Software Process Models
Somerville | Ch-2 (Pg.
43)
Software Process Model
A structured set of activities required to develop
a software system is known as a software process.
A software process model is an abstract
representation of a process.
It presents a description of a process from some
particular perspective.
2
Contd….
Specification – defining what the system
Many different should do;
Design and implementation – defining
software the organization of the system and
implementing the system;
processes but Validation – checking that it does what the
customer wants;
all involve:
Evolution – changing the system in
response to changing customer needs.
3
When we describe and discuss processes, we
usually talk about the activities in these processes
such as:
⮚ specifying a data model,
Software ⮚ designing a user interface, etc. and
process ⮚ the ordering of these activities.
descriptio
ns Process descriptions may also include:
Products, which are the outcomes of a process
activity;
Roles, which reflect the responsibilities of the people
involved in the process;
4
Pre- and post-conditions, which are statements that
are true before and after a process activity has been
⮚ Plan-driven processes are processes where
all of the process activities are planned in
advance and progress is measured against
Plan-driven this plan.
vs Agile
⮚ Agile processes, all the planning is
processes
incremental, and it is easier to change the
process to reflect changing customer
requirements.
In practice, most practical processes include elements5 of
❖ The waterfall model
Plan-driven model. Separate and distinct phases of
specification and development.
Softwar ❖ Incremental development
e Specification, development and
interleaved. May be plan-driven or agile.
validation are
process
models ❖ Integration and configuration
The system is assembled from existing configurable
components. May be plan-driven or agile.
In practice, most large systems are developed using a
process that incorporates elements from all of these
models. 6
The waterfall model
7
Waterfall model phases - Requirements analysis and
definition
There are separate - System and software design
- Implementation and unit
identified phases in the testing
waterfall model: - 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. 8
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 9
waterfall model helps coordinate the work.
The waterfall model is only appropriate for some types of systems:
⮚ Embedded systems where the software has to
interface with hardware systems.
⮚ Critical systems where there is a need for
extensive safety and security analysis of the
software specification and design.
Contd….
⮚ Large software systems that are part of broader
engineering systems developed by several partner
10
companies
Thankyou
Q&A
11