Spiral Model
Download
Report
Transcript Spiral Model
Spiral Model
SPEAKER : KAI-JIA CHANG
ADVISER : QUINCY WU
DATA
: 2010-03-17
Outline
Introduction
The spiral model
Evaluation
Conclusions
References
2
Introduction
A Risk-Driven Approach
Different idea of software development.
How does this project affect the developers and the
clients?
How does each step in the project affect its overall
development?
Not used in previous development models.
– Usually code-driven or document-driven.
3
Introduction
Background on software process models
1950 :Code-and-fix model
1956 : Stagewise model (Bengington )
1970 : Waterfall model (Royce)
1971 : Incremental model(Mills)
1977 : Prototyping model(Bally and others)
1988 : Spiral model(Boehm)
4
Introduction
Code-and-fix model
First, elementary model
Write code now; fix it later
No planning involved
Problems:
– Code is poorly structured.
– The software developed was usually a poor match
for the users’ needs.
5
Introduction
Waterfall model
Introduced:
– Feedback loops across multiple stages:
Validation and verification steps.
– Prototyping via a “build it twice” step alongside of
requirements and design.
Difficulties exposed even as revisions were made to the
model.
– Required elaborated documents. (Document-driven)
– Led to pursuing stages of development in the wrong
order.
6
The spiral model
A Typical Cycle of the spiral
Risk Analysis
Prototype
Design/Validation
Planning
Alternatives
And repeat
Measure of Cumulative Cost and Progress
7
The spiral model
Initiating and terminating the spiral
Four fundamental questions arise in considering this
presentation of the spiral model:
(1) How does the spiral ever get started?
(2) How do you get off the spiral when it is
appropriate to terminate a project early?
(3) Why does the spiral end so abruptly?
(4) What happens to software enhancement (or
maintenance)?
8
The spiral model
Initiating and terminating the spiral
Initiating the process:
– The spiral gets started by a hypothesis that a
particular operational mission (or set of missions)
could be improved by a software effort.
Terminating the process:
– The spiral process then involves a test of this
hypothesis:
At any time, if the hypothesis fails the test, the spiral
is terminated.
9
The spiral model
10
The spiral model
11
The spiral model
Cycle Requirements
Each cycle is completed by a review by the
people concerned with the project.
Plans for the next cycle should be introduced.
With each succeeding level in the spiral the
level of detail increases.
12
13
14
The spiral model
Prototype
Throwaway prototyping
Throwaway or Rapid Prototyping refers to the creation of a model that
will eventually be discarded rather than becoming part of the final
delivered software.
Evolutionary prototyping
The main goal when using Evolutionary Prototyping is to build a very
robust prototype in a structured manner and constantly refine it.
Incremental prototyping
The final product is built as separate prototypes. At the end the
separate prototypes are merged in an overall design.
Extreme prototyping
It is a development process is used especially for developing web
applications.
15
The spiral model
Advantages of prototyping
Reduced time and costs
Improved and increased user involvement
Disadvantages of prototyping
Insufficient analysis
User confusion of prototype and finished system
Developer misunderstanding of user objectives
Developer attachment to prototype
Excessive development time of the prototype
Expense of implementing prototyping
16
Risk item
Risk management techniques
Personnel shortfalls
Staffing with top talent, job matching; teambuilding;
morale building; cross-training; pre-scheduling key people
Unrealistic schedules
and Budgets
Detailed, multisource cost and schedule estimation;
design to cost; incremental development; software reuse;
requirements scrubbing
Developing the wrong
software Functions
Organization analysis; mission analysis; ops-concept
formulation; user surveys; prototyping; early users’manuals
Developing the wrong
user Interface
Task analysis; prototyping; scenarios; user characterization
(functionality, style, workload)
Gold plating
Requirements scrubbing; prototyping; cost-benefit analysis;
design to cost
Continuing stream of
requirement Changes
High change threshold; information hiding; incremental
development (defer changes to later increments)
Shortfalls in externally
furnished Components
Benchmarking; inspections; reference checking; compatibility
analysis
Shortfalls in externally
performed tasks
Reference checking; pre-award audits; award-fee contracts;
competitive design or prototyping;Teambuilding
Real-time performance
Shortfalls
Simulation; benchmarking; modeling; prototyping;
instrumentation; tuning
Straining computerscience Capabilities
Technical analysis; cost-benefit analysis; prototyping;
reference checking
17
The spiral model
The Risk Management Plan
Identify the project’s top 10 risk items.
Present a plan for resolving each risk item.
Update list of top risk items, plan, and results
monthly.
Highlight risk-item status in monthly project reviews.
Compare with previous month’s rankings, status.
Initiate appropriate corrective actions.
18
Spiral model usage: TRW Software Productivity
System, Round 0. --Feasibility study.
19
Spiral model usage: TRW Software Productivity
System, Round 1.--Concept of operations.
20
Spiral model usage: TRW Software Productivity System,
Round 2.--Top-level requirements specification.
21
Evaluation
Advantages
Estimates become more realistic as work progresses, because
important issues are discovered earlier.
It is more able to cope with the changes that software
development generally entails.
Software engineers can get their hands in and start working
on a project earlier.
Disadvantages
Highly customized limiting re-usability
Applied differently for each application
Risk of not meeting budget or schedule
22
Conclusions
The risk-driven nature provides adaptability for a full
range of software projects.
The model has been successful in a large application,
the TRW-SPS.
The model is not yet fully elaborated.
Even partial implementations of the model, such as
the risk management plan, are compatible with the
other process models.
23
References
Rapid Prototyping Tools Revisited
Alan M. Davis, "Operational Prototyping: A new
Development Approach. IEEE Software, September 1992.
Page 70-78.
Wikipedia: Software Prototyping
B. Boehm, " A Spiral Model of Software Development and
Enhancement, ACM SIGSOFT Software Engineering Notes,
Volume 11 , Issue 4 (August 1986) Pages: 14 - 24.
Barry Boehm et al., "Using the WinWin Spiral Model: A
Case Study, IEEE Computer, July 1998 (vol. 31 no. 7) pp.
33-44.
24