Chap-3-Process Model
Chap-3-Process Model
Chapter – 3
Process Models
Google class room code:
The process model shows the process flow (work flow), that is, the manner in which the
process elements are interrelated to each other. Some examples of Process Models are:
• Waterfall model
• Prototyping model
• Spiral model
• Iterative & incremental model
th
Chby
Instructor: Dr. M. Yousuf Khan SE 3, Pressman
Page 1 of 810 edit
Lecture Notes of SE: Chapter-3, Process Models
As a software team moves down the left side of the V, basic problem requirements are
refined into progressively more detailed and technical representations of the problem and
its solution. Once code has been generated, the team moves up the right side of the V,
essentially performing a series of tests (quality assurance actions) that validate each of
the models created as the team moved down the left side.
In reality, there is no fundamental difference between the classic life cycle and the V-
model. The V-model provides a way of visualizing how verification and validation
actions are applied to earlier engineering work.
The waterfall model is the oldest paradigm for software engineering over the past three
decades.
th
Chby
Instructor: Dr. M. Yousuf Khan SE 3, Pressman
Page 2 of 810 edit
Lecture Notes of SE: Chapter-3, Process Models
The Incremental model, derives its name from the way in which the software is built.
More specifically, the model is designed, implemented and tested as a series of
incremental builds until the product is finished. A build consists of pieces of code from
various modules that interact together to provide a specific function.
At each stage of the IM a new build is coded and then integrated into the structure, which
is tested as a whole. Note that the product is only defined as finished when it satisfies all
of its requirements.
This model combines the elements of the waterfall model with the iterative philosophy of
prototyping. However, unlike prototyping the IM focuses on the delivery of an
operational product at the end of each increment.
th
Chby
Instructor: Dr. M. Yousuf Khan SE 3, Pressman
Page 3 of 810 edit
Lecture Notes of SE: Chapter-3, Process Models
The first increment is usually the core product, which addresses the basic requirements of
the system. This maybe either be used by the client or subjected to detailed review to
develop a plan for the next increment. This plan addresses the modification of the core
product to better meet the needs of the customer, and the delivery of additionally
functionality at each stage. Stages are:
Essentially the build with the highest value-to-cost ratio is the one that provides the client
with the most functionality (value) for the least cost. Using this method the client has a
usable product at all of the development stages.
th
Chby
Instructor: Dr. M. Yousuf Khan SE 3, Pressman
Page 4 of 810 edit
Lecture Notes of SE: Chapter-3, Process Models
th
Chby
Instructor: Dr. M. Yousuf Khan SE 3, Pressman
Page 5 of 810 edit
Lecture Notes of SE: Chapter-3, Process Models
In general, a RAD system tends to reduce development time, sometimes at the expense of
generating efficient executable code. Nowadays, many traditional programming
environments come with a number of visual tools to aid development.
Prototyping.
The Prototyping Model is a systems development method (SDM) in which a prototype is
built, tested, and then reworked as necessary until an acceptable prototype is finally
achieved from which the complete system or product can now be developed. This model
works best where not all of the project requirements are known in detail ahead of time. It
is an iterative, trial-and-error process that takes place between the developers and the
users.
th
Chby
Instructor: Dr. M. Yousuf Khan SE 3, Pressman
Page 6 of 810 edit
Lecture Notes of SE: Chapter-3, Process Models
Consider an example of a prototype system for called "Spell Check" , how it was
constructed, and how it was used within the prototyping process. A spell checking is a
sub-system of a modern word processing. The aim of which is to provide a concrete
demonstration of the principles and techniques involved in the software prototyping
process. The Windows "Spell Check" prototype has been developed using Microsoft's
Visual Basic programming environment.
In this model the software is developed in a series of incremental releases, with the early
stages being either paper models or prototypes. Later iterations become increasingly more
complete versions of the product.
The spiral model is intended for large, expensive, and complicated projects and needs
constant review to stay on target.
th
Chby
Instructor: Dr. M. Yousuf Khan SE 3, Pressman
Page 7 of 810 edit
Lecture Notes of SE: Chapter-3, Process Models
A development model describes how development takes place. The concurrent version
allows many developers (or teams) to work on the source tree at the same time, i.e. each
team works on its own component, typically following a spiral or any other evolutionary
approach.
In this model, a series of events can be triggered from state to state for each SE activities.
This model is applicable to all type of SW development and it provides an accurate
picture of the current state of a project.
The following diagram shows one element of the concurrent process model. All activities
exist concurrently but resides in different states.
th
Chby
Instructor: Dr. M. Yousuf Khan SE 3, Pressman
Page 8 of 810 edit
Lecture Notes of SE: Chapter-3, Process Models
Applicability of this model are for critical systems, specially those where a safety or
security case must be made before the system is put into operation. It needs specialized
skills or training to apply the technique.
th
Chby
Instructor: Dr. M. Yousuf Khan SE 3, Pressman
Page 9 of 810 edit
Lecture Notes of SE: Chapter-3, Process Models
Chby
Instructor: Dr. M. Yousuf Khan SE Page 10 of8th10
3, Pressman edit