Software Process Models

Software Process Models
The slides and the material of this chapter is adopted from:
1. “Software Engineering”, by I. Somerville, 7th Ed., 2004.
2. “Software Engineering: A Practitioner’s Approach,” by R.S. Pressman, 6th Ed., 2005.
Objective


To introduce software process models
To describe the generic process models and when
they may be used
SWE 418 (062)
Software Process Models
2
Topics covered

Software process models




The waterfall model
Incremental model
Evolutionary development
Specialized process models
SWE 418 (062)
Software Process Models
3
The software process

A structured set of activities required to develop a
software system






Specification;
Design;
implementation
Validation;
Evolution.
A software process model is an abstract
representation of a process. It presents a
description of a process from some particular
perspective.
SWE 418 (062)
Software Process Models
4
Software process models





The waterfall model
Incremental model
Evolutionary development
Specialized process models
Agile processes
SWE 418 (062)
Software Process Models
5
Waterfall model
SWE 418 (062)
Software Process Models
6
Incremental development
SWE 418 (062)
Software Process Models
7
Evolutionary development

Prototyping



Exploratory development
Throw-away prototyping
Spiral model
SWE 418 (062)
Software Process Models
8
Prototyping
Qu ick
p lan
Quick
Comm unicat ion
plan
communication
Mo
d e lin g
Modeling
Qu ick
d e sig n
Quick
design
Deployment
Deployment
De
live ry&
delivery
&feedback
Fe e dback
Const r uct ion
Construction
of
of prototype
pr ot ot ype
SWE 418 (062)
Software Process Models
9
Still Other Process Models



Component based development—the process to
apply when reuse is a development objective
Formal methods—emphasizes the mathematical
specification of requirements
Unified Process—a “use-case driven,
architecture-centric, iterative and incremental”
software process closely aligned with the Unified
Modeling Language (UML)
SWE 418 (062)
Software Process Models
10
Summary





Software processes are the activities involved in
producing and evolving a software system.
Software process models are abstract
representations of these processes.
General activities are specification, design and
implementation, validation and evolution.
Generic process models describe the organisation
of software processes.
Specialized software processes do exist
SWE 418 (062)
Software Process Models
11