|
|||||
VU
Information
System (CS507)
LESSON
21
Spiral
Model
SPIRAL
is an iterative approach to system
development. The spiral lifecycle model
is a combination of the
classic
waterfall model and aspects of risk
analysis. This model is very appropriate
for large and complex
Information
Systems. The spiral model
emphasizes the need to go back
and reiterate earlier steps
a number
of
times as the project progresses.
It's actually a series of short waterfall
cycles, each producing an
early
prototype
representing a part of the entire project. It is a
circular view of the software
lifecycle as opposed
to the linear
view of the waterfall approach. It can
incorporate other models in its
various developmental
phases.
There
are usually four distinct
phases of the spiral model software
development approach.
21.1
Determine objectives, alternatives,
constraints.
·
The
new system requirements are
defined, after a comprehensive system
study of the various
business
processes, in as much detail as possible.
This may and usually
does involve
interviewing
internal
and external users, preparation of
detailed flow diagrams showing the
process or processes
for
which the IS is to be developed, the inputs
and outputs in terms of how
the data is to be
recorded/
entered and the form in
which the results are to be
presented. Controls and
checks
desired
to be implemented in the transactional processing
procedures are also examined
as they are
to
become an integral part of the development.
Alternative strategies, in terms of IS
development
issues,
to meet the determined need requirements
are examined as well as
constraints observed
when
defining the system and need
requirements are also
reviewed and appropriately
addressed.
·
Evaluate
alternatives, identify and resolve
risks This
involves.
1. Risk
analysis it
includes addressing any
factors which may risk the
successful completion of
the entire
project of IS development including alternative
strategies and constraints.
Issues
pertaining
to the possibility of the IS development not
meeting, for example,
user
requirements,
reporting requirements or the capability of the IS
development team or the
compatibility
and functionality of the hardware
with software. The Risk
analysis and
suggested
solutions to
mitigate and eliminate the Risks would
thus become a part of the
finalized strategy
to undertake IS
development.
2. Prototyping
Based upon the finalized
strategy and the preliminary
design, the first
prototype
of the
new system is then
developed. This is usually a
scaled-down version of the system,
and
represents
an approximation of the characteristics of the
final product.
·
Develop,
verify next-level product
The
prototype prepared is tested
against benchmarks based on
customer expectations and
evaluated
risks
to verify the various aspects of the
development. Refinements and rectifications of
the
prototype
are undertaken until customer
satisfaction is achieved before development of the
next-
level of the
product.
·
Plan
next phase
The
preceding steps are iterated
until the customer is satisfied
that the refined prototype
represents
the
final product desired. The
final system is constructed
based on the refined prototype.
The final
system
is thoroughly evaluated and
tested. Routine maintenance is
carried out on a continuing
basis
to
prevent large-scale failures
and to minimize downtime.
The
various stages discussed
above are shown pictorially
below:
88
VU
Information
System (CS507)
·
Strengths:
·
Good
for large and complex
projects
·
Customer
Evaluation allows for any
changes deemed necessary, or
would allow for
new
technological
advances to be used
·
Allows
customer and developer to determine
and to react to risks at
each evolutionary level
·
Direct
consideration of risks at all levels
greatly reduces
problems
·
Weaknesses:
·
Difficult
to convince some customers that the
evolutionary approach is
controllable
·
Needs
considerable risk assessment
·
If a risk is
not discovered, problems
will surely occur
21.2
Prototyping
"Prototyping
is the process of quickly putting
together a working model in order to test
various aspects of
the
design to gather early user
feedback."
The
working model made during this
process is called "Prototype".
Prototyping is often treated as
an
integral
part of the development process where it
is believed to reduce project risk and
cost.
The
various steps form a logical
flow as depicted below:
89
VU
Information
System (CS507)
Define
User
Requirement
Design/Develop
Prototype
Implement
Prototype
Use
Prototype
Build
actual system
As it is
quite obvious from the logical
flow shown above the
prototype is refined and
tested as far as
possible
in the design, development, implementation
and usage stages before
actually being declared fit
for
the development of
the actual system or the final
version. If at any stage it is determined
in the tests that the
expected
results are not being
achieved the design can be
re-considered or major modifications may
result
in the
original design. It is also
possible that if alternative routes or
strategies are available
more than one
prototype
may be developed to determine which
particular proto-type may provide the
best possible route
for
achievement of the Objectives.
Alternatively, various versions of the
same proto-type may be made
in a
process
of incremental development where each
prototype is influenced by the performance of
previous
designs.
When the prototype is sufficiently
refined and meets the
functionality, robustness, control
and
other
design goals, the product is
ready for production.
Prototyping
software approach is of particular use in
software that is to be developed for
use by the public
at
large, for example software
for computer games, word
processing, as well as specialists using
architectural
software,
engineering software for
design of aircrafts, automobiles
etc.
Why
prototypes are
used?
In
many fields, there is great uncertainty
as to whether a new design will
actually do what is desired.
New
designs
often have unexpected
problems. A prototype is built to
test the function of the new
design before
starting
production of a product. Building the
full design is often
expensive and can be
time-consuming. A
prototype
allows manufacturers to rapidly
and inexpensively test the parts of the
design that are most
likely
to
have problems, solve those
problems, and then build the
full design.
21.3
Advantages of Prototype
·
Prototypes
may be easily changed or
even discarded.
·
Prototyping
may improve communication between
and among developers and
customers
·
Users
may be more satisfied with
systems developed using
prototyping.
·
A
prototype may provide the
proof of concept necessary to
attract funding.
·
Early
visibility of the prototype may
help management assess
progress.
·
Prototypes
may demonstrate progress at an
early stage of development.
90
VU
Information
System (CS507)
·
Prototypes
may provide early training
for future users of the
system.
·
Prototyping
may prevent unpleasant surprises by
calling attention to incomplete or
inconsistent
requirements,
or to missing functionality.
·
Prototyping
may produce some useful
deliverables even if the project
runs out of time or
money.
·
Prototyping
may reduce misunderstandings
between and among developers
and customers.
·
Prototyping
may save on initial
maintenance costs because, In effect,
customers are doing
"acceptance
testing" all along the way.
·
Systems
produced through prototyping may be
judged easier to learn and
easier to use.
21.4
Risks of Prototyping
·
Prototyping
may encourage an excess of
change requests.
·
Working
prototypes may lead management
and customers to believe
that the final product
is
almost
ready for delivery.
·
The
excellent (or disappointing)
performance characteristics of prototypes
may mislead the
customer.
·
Customers
may not be prepared to
provide the level or
frequency
of feedback required for iterative
prototyping.
·
Early
prototypes may be of low fidelity,
dismissed as toys.
91
Table of Contents:
|
|||||