0% found this document useful (0 votes)
31 views32 pages

Lecture 5 - Prototyping SPIRAL, RAD Model

The document discusses three software development models: Prototyping, Spiral, and Rapid Application Development (RAD). Prototyping allows for early user feedback and improved design but may lack documentation and can be costly, while the Spiral model emphasizes risk assessment and iterative development, suitable for complex projects. RAD focuses on rapid development cycles and component-based construction, but requires commitment from both developers and customers to succeed.

Uploaded by

Mujtaba Vlogs
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
31 views32 pages

Lecture 5 - Prototyping SPIRAL, RAD Model

The document discusses three software development models: Prototyping, Spiral, and Rapid Application Development (RAD). Prototyping allows for early user feedback and improved design but may lack documentation and can be costly, while the Spiral model emphasizes risk assessment and iterative development, suitable for complex projects. RAD focuses on rapid development cycles and component-based construction, but requires commitment from both developers and customers to succeed.

Uploaded by

Mujtaba Vlogs
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 32

1

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.

A closer match to users’ real needs.

Benefits of Improved design quality.


prototyping
Improved maintainability.

Reduced development effort.


6

Prototype Development Process Model


 May be based on rapid prototyping
languages or tools
 May involve leaving out functionality
 Prototype should focus on areas of
Prototype the product that are not well
understood;
development  Error checking and recovery may
not be included in the prototype;
 Focus on functional rather than non
functional requirements such as
reliability and security

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

 This model is flexible in design.


 It is easy to detect errors.
 We can find missing functionality easily.
 There is scope of refinement, it means new requirements can be easily accommodated.
 It can be reused by the developer for more complicated projects in the future.
 It ensures a greater level of customer satisfaction and comfort.
 It is ideal for online system.
 It helps developers and users both understand the system better.
 Integration requirements are very well understood and deployment channels are
decided at a very early stage.
 It can actively involve users in the development phase.
17
Disadvantages

 This model is costly.


 It has poor documentation because of continuously changing customer
requirements.
 There may be too much variation in requirements.
 Customers sometimes demand the actual product to be delivered soon
after seeing an early prototype.
 Customers may not be satisfied or interested in the product after seeing
the initial prototype.
18
 Prototype model should be used when the
desired system needs to have a lot of
interaction with the end users.
 Typically, online systems, web interfaces
have a very high amount of interaction
with end users, are best suited for
Prototype model. It might take a while for
When to use a system to be built that allows ease of use
prototyping and needs minimal training for the end
user.
 Prototyping ensures that the end users
constantly work with the system and
provide a feedback which is incorporated
in the prototype to result in a useable
system. They are excellent for designing
good human computer interface systems.
19

SPIRAL MODEL
20
Process is represented as a spiral rather
than as a sequence of activities with
backtracking.

Each loop in the spiral represents a


phase in the process .
Boehm’s
No fixed phases such as specification or spiral model
design loops in the spiral are chosen
depending on what is required.

Risks are explicitly assessed and


resolved throughout the process.
21

 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

 A development model for the system is chosen


which can be any of the generic models.
 Planning
 The project is reviewed and the next phase of
the spiral is planned.
23

Boehm’s
spiral model
of the
software
process
24

 Spiral model has been very influential in


helping people think about iteration in
software processes and introducing the risk
driven approach to development.
Spiral model  In practice, however, the model is rarely
usage used:
 Can be a costly model to use
 Risk analysis requires highly specific expertise
 Doesn’t work well for smaller projects.
 When costs and risk evaluation is
important
 For medium to high risk projects
 Long term project commitment unwise
because of potential changes to
When to use economic priorities
Spiral Model  Users are unsure of their needs
 Requirements are complex
 New product line
 Significant changes are expected
(research and exploration)

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

 Rapid application development (RAD) is a


linear sequential S/W development
process model that emphasizes on
extremely short development cycle.
 high speed RAD is achieved by using a
Benefits of component based project construction
approach.
RAD  If requirements are well understood and
project scope is constrained (i.e. goals/
are fixed / freezed )
 the RAD enables a development team to
create a “fully functional system” within very
short time (e.g. 60 - 90 days).
29

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 

 The information flow is refined into a


set of data objects that are needed
to support the business
 Characteristics
 of each object are identified and
 Relationships between these objects
are defined

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

You might also like