Choice of Process Models
Executing one or more activities – Process
Activities can be organized in different ways
Can be categorized into different process models
Major part of the planning will be the choosing of the
development methods to be used and slotting of these into
an overall process model
1
Choice of Process Models …
The Waterfall Model
Feasibility study
User requirements
Analysis
System design
Program design
Coding
Testing
Operation
2
Choice of Process Models …
The Waterfall Model (continued…)
There is a sequence of activities working top to down
Arrows pointing upwards and downwards indicates that it
is necessary to go back and rework tasks that we thought
has been completed.
It is similar to Waterfall which flows downwards with
possibility of just a little splashing back
The project is expected to progress down the path
through each of the phases of development
3
Choice of Process Models …
The Waterfall Model (continued…)
Advantage
Waterfall approach allows project completion times to
be forecast with more confidence
4
Choice of Process Models …
The Waterfall Model (continued…)
Disadvantages
Customers must be able to express their requirements
completely, correctly and with clarity
Delays can occur in design, coding and testing
Difficult to access the true stage of progress during the
first two to three stages
No demonstration of system capabilities can occur until
the end of the project
5
Choice of Process Models …
• The V – process model
Corrections
Feasibility study Review
Corrections
User requirements User acceptance
Corrections
System design System testing
Corrections
Program design Program testing
code
6
Choice of Process Models …
• The V – process model (continued…)
Elaboration of the waterfall model
Stresses the necessity for validation activities
Each step has matching validation process
Defects cause a loop back to the corresponding
development stage and a reworking of the succeeding
steps
May slip into an ‘evolutionary prototype’
7
SPIRAL MODEL
Another way of looking at waterfall model.
Greater level of detail are considered at each stage of the
project
Hence greater degree of confidence about the success of
the project
More details are analyzed in each sweep and an
evolution process is undertaken for next iteration.
8
Spiral Model
9
Software Prototyping
A prototype is a working model of one or more aspects of the projected
system.
In order to test assumptions it is constructed and tested quickly and
inexpensively.
Classification
Throw-away prototypes
Used only to test out ideas and is then discarded.
Evolutionary prototypes
It is developed and modified until it is in a state where it can
become the operational system.
Incremental prototypes
The operational system is developed and implemented in small
stages so that the feedback from earlier stages can influence later
stages of project
10
Software Prototyping
Advantages
Learning by doing.
Improved communication and user involvement.
Reduced need for documentation.
Reduced maintenance costs.
Production of expected Results.
Disadvantages
Lack of control and projects standards.
Additional expense.
Close proximity of developers.
11
Software Prototyping
Other ways of categorizing prototypes
What is being learnt?
To what extent is the prototyping to be done?
What is being prototyped?
12
Software Prototyping
What is being learnt?
Helps to learn about an area of uncertainty in the project.
Specify what they hope to learn from the prototype
Plan how the prototype is to be evaluated.
Report on what has actually been learnt.
To what extent is the prototyping to be done?
Mock-ups.
Simulated interaction.
Partial working model.
Vertical: some features are prototyped fully.
Horizontal: All features are prototyped but not fully.
What is being prototyped?
Human - Computer Interface.
The Functionality of the system.
13
14