Upload
yadavdan
View
215
Download
0
Embed Size (px)
Citation preview
8/7/2019 processmodels1
1/29
Process Models
8/7/2019 processmodels1
2/29
Software Process
Process consists of activities/steps to becarried out in a particular order
Software process deals with both technicaland management issues
Consists of different types of process
Process for software development: produces
software as end-result multiple such processes may exist
a project follows a particular process
8/7/2019 processmodels1
3/29
8/7/2019 processmodels1
4/29
Characteristics of a Good Process
Should be precisely defined no ambiguity aboutwhat is to be done, when, how, etc.
It must be predictable-Predictable with respect to
effort, cost Facilitates early detection of and removal of
defects
It should facilitate monitoring and improvement
8/7/2019 processmodels1
5/29
PRESCRIPTIVE PROCESSMODELS
A prescriptive model prescribes how a new software system should
be developed.
Prescriptive models are used as guidelines or frameworks to
organize and structure how software development activitiesshould be performed, and in what order.
Describe a set of process elements-activities,engineering
actions,tasks,work products,quality assurance,change controlmechanisms.
8/7/2019 processmodels1
6/29
PRESCRIPTIVE PROCESSMODELS
Water fall model
Incremental process model
Incremental model
RAD model
Evolutionary process models
Prototyping Spiral model
Concurrent development model
Agile process models
8/7/2019 processmodels1
7/29
The first model proposed was the waterfall
model [Royce 1970]
Water fall Model
8/7/2019 processmodels1
8/29
A series of steps where each steps falls
to the next step. One phase has to be complete before moving
onto the next phase.
Separate and distinct phases of specification and
development.
8/7/2019 processmodels1
9/29
drawbacks
1.The main drawback of the waterfall model is the difficulty of
acommodating change after the process is underway.difficult
to correct the previous stages
2. Inflexible partitioning of the project into distinct stages makesit difficult to respond to changing customer requirements.
3. Therefore, this model is only appropriate when the
requirements are well-understood and changes will be fairly
limited during the design process.
4.A working version will be available only late in the project time
span.
The waterfall model is mostly used for large systems engineering projects
where a system is developed at several sites.
8/7/2019 processmodels1
10/29
Incremental process model
Rather than deliver the system as a single delivery, the
development and delivery is broken down into increments
with each increment delivering part of the required
functionality.
User requirements are prioritised and the highest priority
requirements are included in early increments.
Once the development of an increment is started, the
requirements are frozen though requirements for later
increments can continue to evolve.
8/7/2019 processmodels1
11/29
1.Incremental model
8/7/2019 processmodels1
12/29
1.Incremental model
First step gets a quick version that doespart of project.
Second increment gets a better, moredetailed version.
Successive increments get better andmore complete software.
8/7/2019 processmodels1
13/29
1.Incremental model
The incremental model combines elements of the waterfall
model applied in iterative fashion.
It also applies linear sequence in a staggered fashion as
calendar time progress. Each linear sequence produces deliverable increments of the
software.
First incremental is core product featuring the basic
requirements .
Core products is used by customer ,evaluated and a modified
plan for the next increment is given
Ex: word processing.(i, increment, ii, increment, iii, increment
8/7/2019 processmodels1
14/29
2.RAD model
8/7/2019 processmodels1
15/29
Traditional vs RAD
8/7/2019 processmodels1
16/29
2.RAD Model
RAD is an incremental software process model
that emphasizes a short development cycle.
It is a high speed adaptation of the water fallmodel.
It process enables a development team to
create a fully functional system within a very
short time period.
Its goals are: faster, better, cheaper
8/7/2019 processmodels1
17/29
2.RAD Model
The RAD model follows a component based approach.
Separate the project to modules
In this approach individual components developed by different
people are assembled to develop a large software system.
Put together a team of Smart Guys from multiple disciplines
Show it to the U
SERS
Get Feedback
Incorporate for the final product
It encourages the development of program component
reusable.
8/7/2019 processmodels1
18/29
Drawbacks
criticized because it lacks a methodology and a
designed architecture
flexibility of RAD systems decreases as applications
grow
RAD tends to fail when
Application must interoperate with existing programs
Performance and reliability are critical
The system cannot be modularized
New technologies are used
8/7/2019 processmodels1
19/29
Evolutionary process model
8/7/2019 processmodels1
20/29
8/7/2019 processmodels1
21/29
Evolutionary process model
It is also iterative, they are characterized in a
manner that enables software engineers to
develop increasingly more complete versions
of the software.
Core product with requirement specification is
defined but details of the product has to be
yet defined
Product will evolves over time
8/7/2019 processmodels1
22/29
1.PROTOTYPING
Co m m u n ic a t io n
Q u ic k p l a n
Co n st r u ct io no f
p r o t o t y p e
M o d e li n g
Q u ic k d e s ig n
D e liv e r y
& F e e d b a c k
D e p l o y m e n t
8/7/2019 processmodels1
23/29
1.PROTOTYPING
In this model the developer and client interact to establishedthe requirements of the software.
Define the broad set of objectives.
This is follow up by the quick design, in which the visibleelements of the software, the input and the output aredesigned.
The quick design stresses the clients view of the software .
The final product of the design is a prototype.
The client the evaluates the prototype and provides itsrecommendations and suggestion to the analyst.
The process continues in an iterative manner until the all theuser requirements are met.
8/7/2019 processmodels1
24/29
1.PROTOTYPING
Drawbacks:
Customers like the prototype and want to
place it in production. Developers forget the design decisions and
their mistakes leak into the prototype which
they have developed quickly.
Documentation may get neglected
Effort in building a prototype may be wasted
Difficult to plan and manage
8/7/2019 processmodels1
25/29
2.Spiral Model
The spiral model developed by Boehm combines thephilosophy ofINM,RAD and LSM models with the use of
prototyping.
The spiral model is recommended where the requirements and
solution call for developing full-fledge , large, complicatedsystem with lots of features and facilities from the scratch.
It is used when experimenting on technology , trying out new
skills and when the user is not able to offer requirements in
clear terms.
It emphasis at the quick development of the software, which is
released in increments.
8/7/2019 processmodels1
26/29
2.Spiral Model
commu ication
planning
modeling
constructiondeployment
delivery
feedback
start
analysis
design
code
test
estimation
scheduling
risk analysis
8/7/2019 processmodels1
27/29
2.Spiral Model
The process is represented as a spiral, each loop in the
spiral representing a process phase
Five sectors per loop: communication, risk assessment and
reduction, development and validation, planning At each cycle through the spiral, milestones are achieved
and risk is reevaluated.
Risk is explicitly taken into consideration which helps to
reduce technical risk. This model is more in tune with large real-life project development.
It is suitable for application that can be use an object oriented approach
to develop software.
8/7/2019 processmodels1
28/29
2.Spiral Model-disadvantages
The spiral model has the following disadvantages:
It can cause problems in negotiating a development
contract with the client.
It requires considerable experience in risk
management for the project to be successful.
It requires a lot of patience and time in years before
this models effectiveness can be assessed accurately.
8/7/2019 processmodels1
29/29
U n d e rre v i e w
B a s e l i n e d
D o n e
U n d e r
re v i s i o n
A w a i t i n g
c h a n g e s
U n d e r
d e v e l o p m e n t
n o n e
M o d e l i n g a ct i v i t y
re p re s e n t s t h e st a t e
o f a s o ft w a re e n gi n e e r i n g
a c t i v i t y ort a s k
3.Concurrent development model