Sunteți pe pagina 1din 14

Lecture Notes of SE 1: Chapter-3, Process Models

Chapter 3
Process Models
The Waterfall Model:
The phases of waterfall model are:
Requirement analysis & definitions (Communication)
System and software design
(Planning)
Implementation and unit testing (Modeling: Analysis, design)
Integration and system testing (Construction: code, test))
Operation and maintenance
(Deployment: delivery & feedback)

Problems with waterfall model:


Inflexible portioning of the project into distinct stages
that makes it difficult to respond to changing customer
requirements.
Therefore, this model is only appropriate when the
requirements are well understood and will remain the
constant throughout the development cycle.

Instructor: Dr. M. Yousuf Khan

Ch 3 # 1

SE by Pressman 6th edit

Lecture Notes of SE 1: Chapter-3, Process Models

The Incremental Model:


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.
Instructor: Dr. M. Yousuf Khan

Ch 3 # 2

SE by Pressman 6th edit

Lecture Notes of SE 1: Chapter-3, Process Models

Example

of
incremental approach is the
development of word processing applications where the
following services are provided on subsequent builds:

1. Basic file management, editing and document


production functions
2. Advanced editing and document production
functions
3. Spell and grammar checking
4. Advance page layout

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.

Instructor: Dr. M. Yousuf Khan

Ch 3 # 3

SE by Pressman 6th edit

Lecture Notes of SE 1: Chapter-3, Process Models

Stages are:
- The client assigns a value to each build not yet
implemented
- The developer estimates cost of developing each
build
- The resulting value-to-cost ratio is the criterion
used for selecting which build is delivered next
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.

Instructor: Dr. M. Yousuf Khan

Ch 3 # 4

SE by Pressman 6th edit

Lecture Notes of SE 1: Chapter-3, Process Models

The RAD Model: (Rapid Application Development)


Rapid Application Development (RAD) is an
incremental software development process model that
emphasises a very short development cycle [typically
60-90 days].
The RAD model, is a high-speed adaptation of the
waterfall model, where the result of each cycle a fully
functional system.
It is a software development process that allows usable
systems to be built in as little as 60-90 days, often with
some compromises

Instructor: Dr. M. Yousuf Khan

Ch 3 # 5

SE by Pressman 6th edit

Lecture Notes of SE 1: Chapter-3, Process Models

RAD is used primarily for information systems


applications.

RAD enables programmers to quickly build working


programs. It provides a number of tools to help build
graphic user interface that would normally take a large
development effort. Two of the most popular RAD
systems for Windows are Visual Basic and Delphi.
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.

Instructor: Dr. M. Yousuf Khan

Ch 3 # 6

SE by Pressman 6th edit

Lecture Notes of SE 1: Chapter-3, Process Models

Evolutionary Process Model:


The objective of the Evolutionary Model is to work with
customers and to evolve a final system from an initial
outline specification.

Should start with well-understood requirements.

Evolutionary modes are:


- Prototyping,
- Spiral,
- Concurrent Development models.

Evolutionary development models are applicable for:


- small or medium-size interactive system
- or for parts of a large system (e. g. the user
interface)
- and for short-lifetime systems.

Instructor: Dr. M. Yousuf Khan

Ch 3 # 7

SE by Pressman 6th edit

Lecture Notes of SE 1: Chapter-3, Process Models

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.

Instructor: Dr. M. Yousuf Khan

Ch 3 # 8

SE by Pressman 6th edit

Lecture Notes of SE 1: Chapter-3, Process Models

Consider an
called:

Example

of a prototype system for

"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.

Instructor: Dr. M. Yousuf Khan

Ch 3 # 9

SE by Pressman 6th edit

Lecture Notes of SE 1: Chapter-3, Process Models

The Spiral Model:


The spiral model, also known as the spiral lifecycle
model.

This model combines the features of the prototyping


model and the waterfall model.

Basic idea is to use waterfall model for each step


without defining the detail of the entire system at first.

The developers should only define the highest priority


features first and implement them, then get feedback
from users/customers.

With this knowledge, the developer should then go back


to define and implement more features in smaller
chunks.

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.
Instructor: Dr. M. Yousuf Khan

Ch 3 # 10

SE by Pressman 6th edit

Lecture Notes of SE 1: Chapter-3, Process Models

The spiral model is intended for large, expensive, and


complicated projects and needs constant review to stay
on target.

Instructor: Dr. M. Yousuf Khan

Ch 3 # 11

SE by Pressman 6th edit

Lecture Notes of SE 1: Chapter-3, Process Models

The Concurrent Development Model


(also known as Concurrent Engineering)

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.

Instructor: Dr. M. Yousuf Khan

Ch 3 # 12

SE by Pressman 6th edit

Lecture Notes of SE 1: Chapter-3, Process Models

The following diagram shows one element of the


concurrent process model.
All activities exist concurrently but resides in different
states.

Instructor: Dr. M. Yousuf Khan

Ch 3 # 13

SE by Pressman 6th edit

Lecture Notes of SE 1: Chapter-3, Process Models

Formal System Development:


It is based on the transformation of a mathematical
specification to an executable code.

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.
The formal transformations can be shown as:

Instructor: Dr. M. Yousuf Khan

Ch 3 # 14

SE by Pressman 6th edit

S-ar putea să vă placă și