L3 Unit 1 Process Models
L3 Unit 1 Process Models
Question is:
How the framework activities and the actions and tasks
that occur within each activity are organized with respect
to sequence and time? See the process flow for answer.
Process Flow
Process Flow
Linear process flow executes each of the five
activities in sequence.
An iterative process flow repeats one or more of the
activities before proceeding to the next.
An evolutionary process flow executes the activities
in a circular manner. Each circuit leads to a more
complete version of the software.
A parallel process flow executes one or more
activities in parallel with other activities ( modeling
for one aspect of the software in parallel with
construction of another aspect of the software.
Process Flow
Before you can proceed with the process model,
A key question: what actions are appropriate for a
framework activity given the nature of the problem,
the characteristics of the people and the
stakeholders?
Identifying a Task Set
problems:
1. rarely linear, iteration needed.
2. hard to state all requirements explicitly. Blocking
state.
3. code will not be released until very late.
Revision is prohibited
increment # n
Co m m u n i c a t i o n
Pl a nn i ng
M odeling
analys is Co n s t ru c t i o n
design
code De p l o y m e n t
t est d e l i v e ry
fe e dba c k
delivery of
increment # 2 nt h increment
Co m m u n i c a t i o n
Pla nning
M odeling
analys is Co n s t r u c t i o n
design 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
Co m m u n i c a t i o n
Pl a nn i ng
M odeling
analy sis Co n s t ru c t i o n
des ign code
t est
De p l o y m e n t
d e l i v e ry delivery of
feedback
1st increment
Q u i ck p l a n
Quick
Co m m u n icat io n plan
communication
Mo d e l i n g
Modeling
Q u ick d e sig n
Quick design
Deploym ent
Deployment Construction
D e live r y
delivery of Co
prototype
& Fe e d b & ack n st r u ct io n
feedback Construction
of
ofr oprototype
p t o t yp e
Evolutionary Models
Software system evolves over time as requirements often change
as development proceeds. Thus, a straight line to a complete end
product is not possible. However, a limited version must be
delivered to meet competitive pressure.
Usually a set of core product or system requirements is well
understood, but the details and extension have yet to be defined.
You need a process model that has been explicitly designed to
accommodate a product that evolved over time.
It is iterative that enables you to develop
Construction increasingly more
of prototype
complete version of the software.
Two types are introduced, namely Prototyping and Spiral models.
Evolutionary Models: Prototyping
When to use:
Customer defines a set of general objectives but does not
identify detailed requirements for functions and features.
What step:
Begins with communication by meeting with stakeholders
to define the objective, identify whatever requirements are
known, outline areas where further definition is mandatory.
A quick plan for prototyping and modeling (quick design)
Construction
occur. of prototype
communication
modeling
analysis
design
start
deployment
construction
delivery code
feedback test
Evolutionary Models: The Spiral
It couples the iterative nature of prototyping with the
controlled and systematic aspects of the waterfall model
Each phase in spiral model begins with a design goal and
ends with the client reviewing the progress.
The spiral model was first mentioned by Barry Boehm in
his 1986 paper.
A series of evolutionary releases are delivered.
The exact number of loops of the spiral is unknown and can
vary from project to project.
During the early iterations, the release might be a model or
prototype.
During later iterations, increasingly more complete version
of the engineered system are produced.
Evolutionary Models: The Spiral
The first circuit in the clockwise direction might result in the
product specification; subsequent passes around the spiral
might be used to develop a prototype and then
progressively more sophisticated versions of the software.
Each pass results in adjustments to the project plan. Cost
and schedule are adjusted based on feedback. Also, the
number of iterations will be adjusted by project manager.
Good to develop large-scale system as software evolves as
the process progresses and risk should be understood and
properly reacted to. Prototyping is used to reduce risk.
However, it may be difficult to convince customers that it is
controllable as it demands considerable risk assessment
expertise.
Evolutionary Models: The Spiral
When to use Spiral Methodology?
When project is large
When releases are required to be frequent
When creation of a prototype is applicable
When risk and costs evaluation is important
For medium to high-risk projects
When requirements are unclear and complex
When changes may require at any time
When long term project commitment is not feasible due to
changes in economic priorities
Evolutionary Models: Concurrent
Concurrent models are those models within which the
various activities of software development happen at the
same time, for faster development and a better outcome.
Incep t io n
inception
co nst r uct io n
Release
t r ansit io n
soft ware increment
pr oduct io n
UP Work Products
Inception phase
Elaboration phase
Vision document
Init ial use-case model
Init ial project glossary Construction phase
Use-case model
Init ial business case Supplement ary requirement s
Init ial risk assessment . including non-funct ional Transition phase
Design model
Project plan, Analysis model Soft ware component s
phases and it erat ions. Soft ware archit ect ure Int egrat ed soft ware Delivered soft ware increment
Business model, Descript ion. increment Bet a t est report s
if necessary. Execut able archit ect ural General user feedback
Test plan and procedure
One or more prot ot ypes prot ot ype.
I nc e pt i o
Test cases
n Preliminary design model Support document at ion
Revised risk list user manuals
Project plan including inst allat ion manuals
it erat ion plan descript ion of current
adapt ed workflows increment
milest ones
t echnical work product s
Preliminary user manual
Personal Software Process (PSP)