0% found this document useful (0 votes)
9 views11 pages

Lecture 8

The document discusses software process models, defining them as structured activities necessary for software development. It contrasts plan-driven and agile processes, highlighting the waterfall model's phases and its limitations in accommodating changes. The waterfall model is suitable for specific types of systems, such as embedded and critical systems, where requirements are well-understood and stable.

Uploaded by

ranahassan7674
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views11 pages

Lecture 8

The document discusses software process models, defining them as structured activities necessary for software development. It contrasts plan-driven and agile processes, highlighting the waterfall model's phases and its limitations in accommodating changes. The waterfall model is suitable for specific types of systems, such as embedded and critical systems, where requirements are well-understood and stable.

Uploaded by

ranahassan7674
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd

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

You might also like