Unit 1
Prescriptive Process Models
Prescriptive Models
Prescriptive process models advocate an orderly approach
to software engineering
The prespective process models prescribe a set of process
elements framework activities, software engg actions,
tasks, work products, quality assurance and change
control mechanisms for each project.
The Waterfall
Model
Communication
project initiation Planning
requirement gathering estimating Modeling
scheduling
analysis Construction
tracking
design Deployment
code
test delivery
support
feedback
It is often difficult for the customer to state all the requirements
explicitly.
A major blunder if undetected until the working program is
reviewed, this can be a disastrous
The Incremental
Model
increment #n
Communic at ion
Planning
M odeling
analys is C o n s t ru c t i o n
des ign
c ode De p l o y m e n t
t es t d e l i v e ry
fe e dba c k
delivery of
increment # 2 nt h increment
Communic at ion
Planning
M odeling
analys is C o n s t ru c t i o n
des ign c ode De p l o y m e n t
t es t d e l i v e ry
fe e dba c k
delivery of
increment # 1 2nd increment
Communic at ion
Planning
M odeling
analys is C o n s t ru c t i o n
des ign c ode
t es t
De p l o y m e n t
d e l i v e ry delivery of
fe e dba c k
1st increment
project calendar time
The first increment is a core product
The core product is used by the customer, as a result of use a plan is developed for the
next increment.
The plan addresses the modification of the core product to better meet the needs of the
customer.
Incremental is useful when staffing is unavailable,buisiness deadline
Increments can be planned to manage technical risks.
The RAD Model
Team # n
Mo d e lin g
bus ines s modeling
data modeling
proces s modeling
C o n st ru c t io n
component reus e
Team # 2 automatic code
Communication generation
tes ting
Modeling
business modeling
dat a modeling
process modeling
Planning
Construction Deployment
Team # 1 component reuse
int egrat ion
aut omat ic code
generat ion delivery
Modeling t est ing feedback
business modeling
dat a modeling
process modeling
Construction
component reuse
aut omat ic code
generat ion
t est ing
60 - 90 days
Rapid Application Development model is an incremental software process model that
emphasizes a short development cycle. RAD is high speed adaptation of water fall
model.
Component based construction approach.
If Requirements well understood ,project scope is constrained ,the RAD model will
create fully functional system.
Evolutionary Models:
Prototyping
Quick plan
Communication
Quick
plan
communication
Modeling
Quick design
Modeling
Quick design
Deployment
Delivery
& Feedback Construction
of
Deployment prototype
delivery &
feedback Construction
of prototype
Evolutionary process models are used mostly where Business and product requirements
change as development proceeds, tight market deadlines, when limited version must be
introduced. Evolutionary models are iterative.
Prototyping
Customer defines a set of general objectives
Does not define the detailed input, processing,
output requirements
Developer may be unsure of the efficiency of the
algo, which OS to use, unsure of the human
machine interaction
Prototyping assists the Software engineer and
the customer to better understand what is to be
built when requirements are fuzzy.
Problems faced in prototyping
1.Implementation compromises by the developer
2.Customer might ask for few fixes be applied to
make the prototype a working product
Prototype is built to serve as a mechanism for
defining requirements. It is then discarded (at
least the part) and actual software is built with
an eye toward quality.
Evolutionary Models: The
Spiral planning
estimation
scheduling
risk analysis
communication
modeling
analysis
design
start
deployment
construction
delivery
code
feedback test
Risk driven process model.Risk is considered as each revolution is made.
Combination of work products and conditions that are attained along the path
of the spiral are noted for each pass.
The first circuit might result in product specification,subsequent passes
might result in prototype and then more sophisticated versions of the
software.
Spiral Model
Does not end when software is delivered
First Circuit-----Concept development cycle
After multiple iteration—New product
development cycle
Again after some iteration-Product enhancement
project
This model is a realistic approach to the
development of large scale systems and
software.
Consideration of technical risks at all stages
Problem: Difficult to convince customers that
Uncertain number of cycles required
Maximum speed of the evolution,not too fast or
not too slow
Should also be focused on flexibilty and
extesibility rather than high speed.
1. Find One case study , discuss which model is
suitable for the C.S. Also discuss Why other
models(shown below) are not suitable process
models.
Water-Fall Model
Incremental Model
RAD Model
Prototype Model
Spiral Model
Concurrent Development Model