0% found this document useful (0 votes)
41 views

Processmodels 1

The document discusses various process models for software development including: 1. The waterfall model which progresses through defined sequential phases but is inflexible to changes. 2. Incremental process models like the incremental model and RAD model which deliver functionality in increments to accommodate changes but each increment still progresses sequentially. 3. Evolutionary process models like prototyping and spiral model which are iterative and evolve the software over time through prototypes and risk assessment. The document provides details on the characteristics, activities, advantages and disadvantages of each model type. It emphasizes that different models are suited to different project needs based on requirements certainty and ability to adapt to changes.

Uploaded by

yadavdan
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
41 views

Processmodels 1

The document discusses various process models for software development including: 1. The waterfall model which progresses through defined sequential phases but is inflexible to changes. 2. Incremental process models like the incremental model and RAD model which deliver functionality in increments to accommodate changes but each increment still progresses sequentially. 3. Evolutionary process models like prototyping and spiral model which are iterative and evolve the software over time through prototypes and risk assessment. The document provides details on the characteristics, activities, advantages and disadvantages of each model type. It emphasizes that different models are suited to different project needs based on requirements certainty and ability to adapt to changes.

Uploaded by

yadavdan
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 29

Process Models

Software Process
• Process consists of activities/steps to be
carried out in a particular order
• Software process deals with both technical
and 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
Process Types
Process for managing the project
– defines project planning and control
– effort estimations made and schedule prepared
– resources are provided
– feedback taken for quality assurance
– monitoring done.
Process for change and configuration mgmt.
Resolving requests for changes
Defining versions, their compositions
Release control
Process for managing the above processes themselves
Improving the processes based on new techniques, tools, etc.
Standardizations and certifications (ISO, CMM)
Characteristics of a Good Process
• Should be precisely defined – no ambiguity about
what 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
PRESCRIPTIVE PROCESS MODELS
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 activities
should be performed, and in what order.

Describe a set of process elements-activities,engineering


actions,tasks,work products,quality assurance,change control
mechanisms.
PRESCRIPTIVE PROCESS MODELS
• Water fall model
• Incremental process model
– Incremental model
– RAD model
• Evolutionary process models
– Prototyping
– Spiral model
– Concurrent development model
• Agile process models
Water fall Model
• The first model proposed was the waterfall
model [Royce 1970]
• 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.
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 makes it
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.
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.
1.Incremental model
1.Incremental model
• First step gets a quick version that does
part of project.
• Second increment gets a better, more
detailed version.
• Successive increments get better and
more complete software.
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
2.RAD model
Traditional vs RAD
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 fall
model.
• It process enables a development team to
create a fully functional system within a very
short time period.
• Its goals are: faster, better, cheaper
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 USERS
• Get Feedback
• Incorporate for the final product
• It encourages the development of program component reusable.
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
Evolutionary process model
Evolutionary process model
• Software, like all complex systems, evolves
over a period of time.
• Business and product requirement often
change as development proceeds.
• Customers define general objectives , but
does not identify the details.
• Often, the customer doesn’t know what they
want the system to look like.
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
1.PROTOTYPING

Qu ic k p la n

Co m m u n ic a t io n

Mo d e l i n g
Qu ic k d e s ig n

De p lo ym e n t
D e liv e ry
& Fe e d b a c k Co n s t ru c t io n
of
p ro t o t y p e
1.PROTOTYPING
• In this model the developer and client interact to established
the requirements of the software.
• Define the broad set of objectives.
• This is follow up by the quick design, in which the visible
elements of the software, the input and the output are
designed.
• 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 its
recommendations and suggestion to the analyst.
• The process continues in an iterative manner until the all the
user requirements are met.
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
2.Spiral Model
• The spiral model developed by Boehm combines the
philosophy of INM,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, complicated
system 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.
2.Spiral Model
planning
estimation
scheduling
risk analysis

communication

modeling
analysis
design
start

deployment
construction
delivery code
feedback test
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.
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 model’s effectiveness can be assessed accurately.
3.Concurrent development model
none

Mode ling a c t ivit y

re p re s ent s t he s t at e
Und e r o f a s o ft wa re eng ineering
ac t ivit y o r t as k
de ve lopm e nt

Awa it ing
c ha nge s

Unde r re vie w

Unde r
re vis ion

Ba s e line d

Don e

You might also like