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

Chap-3-Process Model

helping note for course of software engineering

Uploaded by

Hamid Saleem
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views

Chap-3-Process Model

helping note for course of software engineering

Uploaded by

Hamid Saleem
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 10

Lecture Notes of SE: Chapter-3, Process Models

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

The Waterfall Model:


A waterfall mode (also known as classic life cycle model) for a systematic sequential
approach to software development.

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)

The actual model is:

This may be represented as:

th
Chby
Instructor: Dr. M. Yousuf Khan SE 3, Pressman
Page 1 of 810 edit
Lecture Notes of SE: Chapter-3, Process Models

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.

A variation in waterfall model is also shown as V-model.

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:

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.

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

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:

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

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

th
Chby
Instructor: Dr. M. Yousuf Khan SE 3, Pressman
Page 4 of 810 edit
Lecture Notes of SE: Chapter-3, Process Models

RAD is used primarily for information systems applications.

th
Chby
Instructor: Dr. M. Yousuf Khan SE 3, Pressman
Page 5 of 810 edit
Lecture Notes of SE: Chapter-3, Process Models

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.

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.

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.

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.

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

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.

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

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.

th
Chby
Instructor: Dr. M. Yousuf Khan SE 3, Pressman
Page 9 of 810 edit
Lecture Notes of SE: Chapter-3, Process Models

The formal transformations can be shown as:

Computer based systems follows in next lecture.

Chby
Instructor: Dr. M. Yousuf Khan SE Page 10 of8th10
3, Pressman edit

You might also like