3 - Process Models - SE550
3 - Process Models - SE550
2024-25 Fall
What are the
elements of a
software
process?
2
To begin with …
What is a
process?
3
A Generic
Process Model
A software process - a
collection of activities,
tasks to create a product,
a roadmap to create a
product effectively
Process Framework -
communication with
customer, planning, modeling,
development, deployment
4
A Generic
Process Model
- sw project tracking and
control (progress
schedule)
Umbrella activities - risk management
- applied - sw quality assurance
throughout - technical reviews (uncover
software project errors)
and help team - measurement,
manage and control - sw configuration
progress, quality, management(manage
effects of change),
risk and change - reusability management
- work product preparation
and production
5
A Generic
Process Model
Tasks
- Actual work to be done to accomplish
objectives
- Work products to be produced
- Quality assurance filters to be applied
6
A Generic
Process Model
Tasks
- Actual work to be done to accomplish
objectives
- Work products to be produced
- Quality assurance filters to be applied
7
A Generic
Process Model
● Linear - in sequence
● Iterative - repeat one or more of activities
before proceeding to the next
● Evolutionary - in a circular manner - each
circle => more complete version
● Parallel - one or more activities in parallel
with other activities
8
Process Pattern
But first … what is a pattern?
9
Process Pattern
10
Process Pattern
a recurring process model to solve a
problem = to accomplish a task
- Identifies the environment and possible
solution(s)
- a template - a consistent method for
describing problem solutions within the
context of the software process
11
Process Models
Prescriptive Models
- advocate an orderly approach to software engineering - structural
- prescribe a set of process elements - framework activities, actions and tasks
Questions
- If prescriptive process models strive for structure and order, are they
inappropriate for a software world that thrives on change?
- Yet, if we reject traditional process models (and the order they imply) and
replace them with something less structured, do we make it impossible to
achieve coordination and coherence in software work?
13
Waterfall Model
Linear Fashion
Pros Cons
14
Waterfall Model
Linear Fashion
Pros Cons
● It is easy to understand and plan. ● It does not accommodate change
● It works for well-understood small well.
projects. ● Testing occurs late in the process.
● Analysis and testing are ● Customer approval is at the end.
straightforward.
15
V Model Same as Waterfall with a difference of
how verification and validation actions
are applied to earlier work!
Pros
Cons
Linear Fashion 16
V Model Same as Waterfall with a difference of
how verification and validation actions
are applied to earlier work visually!
Pros
● It is easy to understand and plan.
● It works for well-understood small
projects.
● Analysis and testing are
straightforward.
Cons
● It does not accommodate change
well.
● Testing occurs late in the process.
● Customer approval is at the end.
Linear Fashion 17
Incremental Model
● Need to provide a limited set of
functionalities to users quickly
● Then refine and expand on
that functionality in later
software releases
Deliverable increments
● 1st increment = core product
● nth increment = core product +
more features
● Up to a complete product
Linear & Parallel Fashion
18
Incremental Model
19
Incremental vs Iterative
20
Incremental & Iterative
21
Evolutionary Models
Prototyping
Pros
● Reduced impact of requirement
changes.
● Customer is involved early and often.
● Works well for small projects.
● Reduced likelihood of product
rejection.
Cons
● Customer involvement may cause
delays.
● Temptation to “ship” a prototype.
● Work lost in a throwaway
prototype.
Iterative & Evolutionary Fashion ● Hard to plan and manage.
22
Evolutionary Models
Prototyping
Pros
● Reduced impact of requirement
changes.
● Customer is involved early and often.
● Works well for small projects.
● Reduced likelihood of product
rejection.
Cons
● Customer involvement may cause
delays.
● Temptation to “ship” a prototype.
● Work lost in a throwaway
prototype.
Iterative & Evolutionary Fashion ● Hard to plan and manage.
23
Evolutionary Models
Spiral
● Combined iterative fashion with
systemics aspects of waterfall
model
● Increasingly more complete
versions of software/product
● Early releases can be models or
prototypes, later releases
include increasingly more
complete version of the system
● Risk analysis is conducted for
each round
○ emphasis on risk
Iterative & Evolutionary Fashion
24
Evolutionary Models
Spiral
Pros
● Continuous customer involvement.
● Development risks are managed.
● Suitable for large, complex
projects.
● It works well for extensible
products.
Cons
● Risk analysis failures can doom
the project.
● Project may be hard to manage.
● Requires an expert
Iterative & Evolutionary Fashion development team.
25
Evolutionary Models
Spiral
Pros
● Continuous customer involvement.
● Development risks are managed.
● Suitable for large, complex
projects.
● It works well for extensible
products.
Cons
● Risk analysis failures can doom
the project.
● Project may be hard to manage.
● Requires an expert
Iterative & Evolutionary Fashion development team.
26
Evolutionary Models
Concurrent
● All software engineering activities exist
concurrently but in different states
Example - early in the project
● Communication - awaiting changes
● Modeling - None
○ then => under development
○ then may be => awaiting changes
Pictures a complete state of current activities
● network of actions
Better for product engineering projects involving
multiple different teams
28
Unified Software
Development Process
elaboration
The phases
Inception - determining the scope and
inception
purpose of the project
Elaboration - requirements capture
and determining the structure of the
system
Construction - build the software
system
Pros
inception
● Quality documentation emphasized.
● Continuous customer involvement.
● Accommodates requirements
changes.
● Works well for maintenance projects
Cons
● Use cases are not always precise.
● Tricky software increment integration.
● Overlapping phases can cause
problems.
● Requires expert development team
Pros
inception
● Quality documentation emphasized.
● Continuous customer involvement.
● Accommodates requirements
changes.
● Works well for maintenance projects
Cons
● Use cases are not always
precise.
● Overlapping phases can cause
problems.
● Requires expert development
team
32
Unified Software
Development Process
Waterfall
34
USDP vs Waterfall
Waterfall
35
Personal Software Process
Planning High-level design
Postmortem.
TSP framework activities: project launch, high level design, implementation, integration,
test and post-mortem
39
Discussion Question
● Let’s work on the discussion questions …
40
Next Week
Agile Development