280 likes | 801 Views
Spiral Model. SPEAKER : KAI-JIA CHANG ADVISER : QUINCY WU DATA : 2010-03-17. Outline. Introduction The spiral model Evaluation Conclusions References. Introduction. A Risk-Driven Approach Different idea of software development.
E N D
Spiral Model SPEAKER : KAI-JIA CHANG ADVISER : QUINCY WU DATA : 2010-03-17
Outline • Introduction • The spiral model • Evaluation • Conclusions • References
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.
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(Ballyand others) • 1988 : Spiral model(Boehm)
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 poormatch for the users’ needs.
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.
The spiral model A Typical Cycle of the spiral • Risk Analysis • Prototype • Design/Validation • Planning • Alternatives • And repeat • Measure of Cumulative Cost and Progress
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)?
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.
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.
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.
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
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.
Spiral model usage: TRW Software Productivity System, Round 0.--Feasibility study.
Spiral model usage: TRW Software Productivity System, Round 1.--Concept of operations.
Spiral model usage: TRW Software Productivity System, Round 2.--Top-level requirements specification.
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
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.
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.