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

3 - Software Process - 01

The document provides an overview of software process models and describes various process models including ad hoc, waterfall (V-model), RAD, iterative (incremental, spiral, agile), and evolutionary (exploratory, prototyping) models. It discusses the advantages and disadvantages of each model.

Uploaded by

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

3 - Software Process - 01

The document provides an overview of software process models and describes various process models including ad hoc, waterfall (V-model), RAD, iterative (incremental, spiral, agile), and evolutionary (exploratory, prototyping) models. It discusses the advantages and disadvantages of each model.

Uploaded by

amnarafi85
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 69

Overview

 What are software process models?

 Why do we need software process models?

 Models

2
By the end of this chapter, you should be
able to..
 Describe various software process models.

 Identify advantages and disadvantages of each


model.

 Evaluate the applicability of each model for different


software development contexts.

3
Ad hoc Software Development

 Developing software without planning for each phase,


and without specifying tasks, deliverables, or time
constraints.

 Relies entirely on the skills and experience of the


individuals performing the work.

 The software process may change as work progresses.


4
Activity: What could go wrong in a
software development project?

SaudiTech is a software company. It has a team of 25 programmers.


Faisal has recently established a dental clinic in Riyadh and asked
SaudiTech to develop a management system for his dental clinic.

Faisal’s request was to develop a system to electronically manage


patient records and perform administrative functions similar to ‘what
is being used in other clinics’ but within a budget of 50k Saudi riyals
and delivered within 3 months.

SaudiTech adopts an ad hoc approach to software development


and has not worked on large scale projects before. What problems
do you anticipate in this project?
5
How can we overcome problems with
ad hoc software development?
 Problems: (include but not limited to)
 Difficult to distinguish between tasks → important tasks may be
ignored.
 Inconsistent schedules, budgets, functionality and product quality.
 Delayed problem discovery → more costly to fix.

Solution? Software Process Model


“an abstract representation of a process. It presents a description of a
process from some particular perspective.”

 Software Process Models provide guidelines to organize how software


process activities should be performed and in what order. 6
V-model
VERIFICATION AND VALIDATION (V-
MODEL)
V-model
■ A variation in the representation of the waterfall model is
called V-model
■ In reality there is no fundamental difference between
classical lifecycle and the V-model
■ V model provides a way of visualizing how verification and
validation actions are applied to earlier engineering work
■ It is also known as Verification and Validation model. V-
Model is an extension of the waterfall model and is based on
association of a testing phase for each corresponding
development stage.
■ V-model depicts the relationship of quality assurance actions
to the actions associated with all the phases.
DISADVANTAGES

► REAL PROJECTS RARELY FOLLOW THE SEQUENTIAL FLOW THAT THE


MODEL PROPOSES.
► IT IS OFTEN DIFFICULT FOR THE CUSTOMER TO STATE ALL
REQUIREMENTS EXPLICITLY.
► A WORKING VERSION OF THE PROGRAM WILL NOT BE AVAILABLE
UNTIL LATE IN THE PROJECT TIME SPAN.
► LINEAR NATURE LEADS TO “BLOCKING STATES”.
COPING WITH CHANGE

► CHANGE IS INEVITABLE IN ALL LARGE SOFTWARE PROJECTS.


► BUSINESS CHANGES LEAD TO NEW AND CHANGED SYSTEM REQUIREMENTS
► NEW TECHNOLOGIES OPEN UP NEW POSSIBILITIES FOR IMPROVING
IMPLEMENTATIONS

► CHANGING PLATFORMS REQUIRE APPLICATION CHANGES


► CHANGE LEADS TO REWORK SO THE COSTS OF CHANGE INCLUDE
BOTH REWORK (E.G. RE-ANALYSING REQUIREMENTS) AS WELL AS
THE COSTS OF IMPLEMENTING NEW FUNCTIONALITY
REDUCING THE COSTS OF REWORK

► CHANGE AVOIDANCE, WHERE THE SOFTWARE PROCESS INCLUDES


ACTIVITIES THAT CAN ANTICIPATE POSSIBLE CHANGES BEFORE
SIGNIFICANT REWORK IS REQUIRED.
► FOR EXAMPLE, A PROTOTYPE SYSTEM MAY BE DEVELOPED TO SHOW SOME KEY
FEATURES OF THE SYSTEM TO CUSTOMERS.

► CHANGE TOLERANCE, WHERE THE PROCESS IS DESIGNED SO THAT


CHANGES CAN BE ACCOMMODATED AT RELATIVELY LOW COST.
► THIS NORMALLY INVOLVES SOME FORM OF INCREMENTAL DEVELOPMENT.
PROPOSED CHANGES MAY BE IMPLEMENTED IN INCREMENTS THAT HAVE NOT YET
BEEN DEVELOPED. IF THIS IS IMPOSSIBLE, THEN ONLY A SINGLE INCREMENT (A
SMALL PART OF THE SYSTEM) MAY HAVE BE ALTERED TO INCORPORATE THE
CHANGE.
RAD (Component-Based
Model)CBSE
Types of software components:

• Web services that are developed according to service


standards and which are available for remote invocation.
• Collections of objects that are developed as a package to be
integrated with a component framework such as .NET or J2EE.
• Stand-alone software systems (COTS) that are configured for
use in a particular environment.

37
Iterative Models

Incremental Spiral Agile


Model Model Model
• Development & • Risk driven process • Focus on rapid
delivery in model. delivery of working
increments. software.

40
Iterative (Spiral Model)

45
Evolutionary Models
Exploratory Prototyping
Model Model
• Objective: Work with • When a customer defines a
customers and evolve a final set of general objectives for a
system from an initial outline software but does not identify
specification. detailed I/O or processing
requirements.
• Start with well-understood
requirements → Add new • Consists of 4 iterating phases:
features as proposed by the • Requirements gathering.
customer. • Design and build SW
prototype.
• Evaluate prototype with
customer.
• Refine requirements. 51
Evolutionary (Exploratory Model)

Concurrent
Activities

Initial
Specification Version

Outline
Descriptio Intermedia
n Development te Version

Final
Validation
Version

52
2. Evolutionary (Prototyping Model)

1. Requirements gathering.
1/4 2. Design and build SW prototype.
Listen to 3. Evaluate prototype with
Customer
customer.
4. Refine requirements.

3 2
Customer Build /
Test-Drives Revise
prototypes prototypes
53

You might also like