Lecture 5 - Prototyping SPIRAL, RAD Model
Lecture 5 - Prototyping SPIRAL, RAD Model
Intro to
Software Engineering
LECTURE: PROTOTYPING MODEL, SPIRAL MODEL, RAD
2
SOFTWARE
PROTOTYPING
A prototype is an initial version of
a system used to demonstrate
concepts and try out design
options.
A prototype can be used in:
Software The requirements engineering
prototyping process to help with requirements
elicitation and validation;
In design processes to explore
options and develop a UI design;
In the testing process to run back to
back tests.
3
4
5
Improved system usability.
7
8
Examples
9
10
11
My own
prototypes
12
13
Prototypes should be discarded after
development as they are not a good
basis for a production system:
It may be impossible to tune the
system to meet non functional
requirements;
Throw away Prototypes are normally
prototypes undocumented;
The prototype structure is usually
degraded through rapid change;
The prototype probably will not meet
normal organizational quality
standards.
14
15
Controlling
changes
with
prototyping
16
Advantages
SPIRAL MODEL
20
Process is represented as a spiral rather
than as a sequence of activities with
backtracking.
Objective setting
Specific objectives for the phase are identified.
Risk assessment and reduction
Risks are assessed and activities put in place to
Spiral model reduce the key risks.
Development and validation
sectors
Boehm’s
spiral model
of the
software
process
24
25
Benefits Drawbacks
Allows the use prototyping Management is more
complex
Client can see the system
early on
Should not be used for
small projects
Benefits &
Changes in requirements This method requires a drawbacks:
can be made easily lot of documentation
27
Rapid Application
Development (RAD)
28
RAD
MODEL
1. Business Modeling (Business
Processes)
What information is generated?
Who generates it?
Where does the information go?
Who processes it?
2. Data Modeling
RAD Phases
30
3. Process modeling
The data object defined in the data
modeling phase are transformed to
achieve the information flow
necessary to implement a business
function (i e transformation of input
object to output object defines flow
of information in a process/function)
Such processing descriptions are
RAD Phases (2) created for adding, modifying,
deleting, or retrieving a data object
4. Application Generation
RAD process works to re use existing
components (when possible)
Create re useable components
(when necessary) In all cases
automated tools are used to
facilitate construction of S/W
31
5. Testing and Turnover
New components must be tested and all
interfaces must be fully exercised.
Drawbacks
For large scalable projects RAD
RAD Phases (3)
requires sufficient human resources
to create right number of RAD teams
RAD requires developers customers
committed to complete a system in
a short time frame, other wise if
commitment is lacking from either
side, RAD projects will fail
32
33