Prescriptive Process Models
Prescriptive Process Models
Chapter 3
Prescriptive Process Models
copyright © 1996, 2001, 2005
R.S. Pressman & Associates, Inc.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 1
Prescriptive Models
Prescriptive process models advocate an orderly approach to
software engineering
That leads to a few 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?
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 2
The Waterfall Model
Co m m u n ic a t io n
p ro je c t in it ia t io n Planning
re q u ire m e n t g a t h e rin g estimating Mo d e lin g
scheduling
a na lys is Co n s t ru c t io n
tracking
de s ign De p lo y m e n t
c ode
t es t d e liv e ry
s u p p o rt
f e e dba c k
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 3
The Incremental Model
incre m e nt # n
Co m m u n ic a t i o n
P la n n in g
Mo d e lin g
a n a ly s is Co n s t ru c t i o n
d e s ig n
c ode De p l o y m e n t
t est d e l i v e ry
fe e d b a c k
d e liv e ry o f
in cre m e n t # 2 n t h in cre me n t
Co m m u n i c a t i o n
Pla n n in g
Mo d e li n g
a n a ly s is Co n s t ru c t i o n
d e s ig n code De p l o y m e n t
t es t d e l i v e ry
fe e d b a c k
d e liv e ry o f
in cre m e n t # 1 2 n d in cre me n t
Co m m u n i c a t i o n
Pla n n in g
Mo d e lin g
a n a ly s is Co n s t ru c t i o n
d e s ig n c ode
d e liv e ry o f
De p l o y m e n t
t est d e l i v e ry
fe e d b a c k
1 st in cre m e n t
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 4
The RAD Model
Te am # n
Mo d e lin g
bus ine s s m o d e lin g
da t a m o de lin g
proc e s s m o d e lin g
C o n s t ru c t io n
c om p one nt re us e
Te am # 2 a ut om a t ic c od e
Co m m u n ic a t io n ge ne ra t ion
t e s t in g
Mo d e ling
b u s in e s s m o d e lin g
d a t a m o d e lin g
p ro ce ss m o d e lin g
Plan n in g
Co ns t ruc t io n De p lo y m e n t
Te am # 1 co m p o n e n t re u s e
in t e g rat io n
a u t o m a t ic co d e
g e n e ra t io n d e liv e ry
Mo d e lin g t e s t in g fe e d b ack
b u s in e s s mo d e lin g
d at a mo d e lin g
p ro ce s s mo d e lin g
Co n s t ru c t io n
co mp o n e n t re u s e
au t o mat ic co d e
g e n e rat io n
t e s t in g
6 0 - 9 0 d ay s
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 5
Evolutionary Models: Prototyping
Qu iQuick
c k p la n
Co m m u n ic a t io n plan
communication
Modeling
Mo d e lin g
Qu ic k d e s ig n
Quick design
De plo ym e n t
Deployment
De liv e ry
delivery & Co n s t ru c t io n
& Fe e d b a c k Construction
feedback of
pofroprototype
t o t yp e
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 6
Evolutionary Models: The Spiral
planning
estimation
scheduling
risk analysis
communication
modeling
analysis
design
start
deployment
construction
delivery code
feedback test
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 7
Spiral Model Characteristics
Originally proposed by Boehm, couples iterative nature
of prototyping and the systematic aspects of waterfall
model
Software is developed in series of incremental releases
Each iteration produces a more complete product
Better management through risk analysis
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 8
Problems of Spiral Model
May be difficult to convince customers that evolution is
controllable
Demands risk assessment expertise - major risk will
cause problems if not identified
Relatively new and not widely used - cannot determine
performance
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 9
Component Assembly Model
Extract
components
Build
components
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 10
Component Assembly Characteristics
Use of object-oriented technology
Components - classes that encapsulate both data and
algorithms
Components developed to be reusable
Paradigm similar to spiral model, but engineering
activity involves components
System produced by assembling the correct components
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 11
Fourth Generation Techniques (4GT)
Requirements
gathering
"Design"
Strategy
Implementation
using 4GL
Testing
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 12
4GT Characteristics
Use of software tools that allow software engineer to
specify s/w characteristics at higher level
The tools generate codes based on specification
More time in design and testing - increase productivity
Tools may not be easy to use, codes generated may not
be efficient
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 13
Other Process Models
Component assembly model—the process to apply when reuse is a
development objective
Concurrent process model—recognizes that different part of the
project will be at different places in the process
Formal methods—the process to apply when a mathematical
specification is to be developed
Cleanroom software engineering—emphasizes error detection
before testing
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 14
Evolutionary Models: Concurrent
none
Awa it ing
c ha nges
Unde r re vie w
Unde r
re vis ion
Ba s e line d
Done
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 15
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
AOSD—provides a process and methodological
approach for defining, specifying, designing, and
constructing aspects
Unified Process—a “use-case driven, architecture-centric,
iterative and incremental” software process closely
aligned with the Unified Modeling Language (UML)
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 16
Conclusion
The paradigm used for development of software
depends on a number of factors
People - staff & users
Software product
Tools available
Environment
Existing models makes development process clearer, but
they can be evolved to become new paradigms
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 17
The Unified Process (UP)
Ela b o ra t io n
elaboration
Inc e p t io n
inception
inception
c o ns t ruc t io n
Re le a s e
t ra ns it io n
s oft wa re inc re m e nt
p ro d uc t io n
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 18
UP Phases
UP Phases
In ce p t io n Elabo rat io n Co ns t ru ct io n Tran s it io n Pro d u ct io n
Workflows
Requirements
Analysis
Design
Implementation
Test
Support
Iterations #1 #2 #n-1 #n
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 19
In ce p t io n p h as e
UP Work Products
Elab orat ion ph as e
Vis io n d o cu me n t
In it ial u s e -cas e mo d e l
In it ial p ro je ct g lo s s ary
Co ns t ruct ion ph as e
Us e -cas e mo d e l
In it ial b u s in e s s cas e Su p p le me n t ary re q u ire me n t s
In it ial ris k as s e s s me n t . in clu d in g n o n -fu n ct io n al De s ig n mo d e l
Tran s it io n p h as e
Pro je ct p lan , An aly s is mo d e l So ft ware co mp o n e n t s
p h as e s an d it e rat io n s . So ft ware arch it e ct u re In t e g rat e d s o ft ware De liv e re d s o ft ware in cre me n t
Bu s in e s s mo d e l, De s crip t io n . in cre me n t Be t a t e s t re p o rt s
if n e ce s s ary . Exe cu t ab le arch it e ct u ral Te s t p lan an d p ro ce d u re Ge n e ral u s e r fe e d b ack
On e o r mo re p ro t o t y p e s p ro t o t y p e .
In c e p t i o
Te s t cas e s
n Pre limin ary d e s ig n mo d e l Su p p o rt d o cu me n t at io n
Re v is e d ris k lis t u s e r man u als
Pro je ct p lan in clu d in g in s t allat io n man u als
it e rat io n p lan d e s crip t io n o f cu rre n t
ad ap t e d wo rkflo ws in cre me n t
mile s t o n e s
t e ch n ical wo rk p ro d u ct s
Pre limin ary u s e r man u al
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 20