Spiral Model

advertisement
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
Download