The Spiral Model The Spiral Model Damian Gordon Damian Gordon.

Slides:



Advertisements
Similar presentations
2003 Mateusz Żochowski, Marcin Borzymek Software Life Cycle Analysis.
Advertisements

Ninth Lecture Hour 8:30 – 9:20 pm, Thursday, September 13
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Software Process Models
Virtual University - Human Computer Interaction 1 © Imran Hussain | UMT Imran Hussain University of Management and Technology (UMT) Lecture 16 HCI PROCESS.
Software Project Management
CSE 470 : Software Engineering The Software Process.
The software process A software process is a set of activities and associated results which lead to the production of a software product. This may involve.
CHAPTER 1 SOFTWARE DEVELOPMENT. 2 Goals of software development Aspects of software quality Development life cycle models Basic concepts of algorithm.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
Object-oriented Analysis and Design
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
© 2005 Prentice Hall14-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
1 CMPT 275 Software Engineering Software life cycle.
THE PROTOTYPING MODEL The prototyping model begins with requirements gathering. Developer and customer meet and define the overall objectives for the software.
SPEAKER : KAI-JIA CHANG ADVISER : QUINCY WU DATA : Spiral Model.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Software Engineering Management Lecture 1 The Software Process.
1 Project Risk Management Project Risk Management Dr. Said Abu Jalala.
Software Life Cycle Models. Waterfall Model  The Waterfall Model is the earliest method of structured system development.  The original waterfall model.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
Project Life Cycles.
1 Requirements Management - General concepts - Noureddine Abbadeni King Saud University College of Computer and Information Sciences Based on “Software.
Software Engineering MCS-2 Lecture # 6
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
Fifth Lecture Hour 9:30 – 10:20 am, September 9, 2001 Framework for a Software Management Process – Life Cycle Phases (Part II, Chapter 5 of Royce’ book)
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Chapter 2 Software processes. Topics covered Software process models Process activities Coping with change.
September 30, 2010COMS W41561 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Spiral Model For Software Development By : Sumeet Singh Roll No. : 23 Reg No. :
Petter Nielsen Information Systems/IFI/UiO 1 Systems development Methodologies IN364.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Lectures 2 & 3: Software Process Models Neelam Gupta.
Copy of the slides: (will also be put on the esse3 website)
1 Chapter 2 SW Process Models. 2 Objectives  Understand various process models  Understand the pros and cons of each model  Evaluate the applicability.
SOFTWARE DEVELOPMENT Presented By : Emporiumtech This presentation is brought you by
Slide 3.1 © The McGraw-Hill Companies, 2002 SOFTWARE LIFE-CYCLE MODELS.
Software Development Process includes: all major process activities all major process activities resources used, subject to set of constraints (such as.
Advanced Software Engineering Dr. Cheng
Methodologies/Life Cycle Models
Project Management PTM721S
Copy of the slides: (will also be put on the esse3 website)
Software Engineering Management
Lecture 3 Prescriptive Process Models
Systems Planning and Analysis
Requirement Prioritization
Software Life Cycle “What happens in the ‘life’ of software”
CS 5150 Software Engineering
Software Processes (a)
Chapter 2 SW Process Models
Chapter 2: Software Process Models
The V Model The V Model Damian Gordon Damian Gordon.
Software Processes.
Software Engineering Lecture 09 & 10.
Defining the Activities
Requirements and the Software Lifecycle
Chapter 2 Software Processes
Lecture 2 Revision of Models of a Software Process
Chapter 2 – Software Processes
Software Process Models
Incremental Waterfall
CS310 Software Engineering Lecturer Dr.Doaa Sami
Software Processes.
Chapter 2: Software Process Models
MANAGING THE DEVELOPMENT AND PURCHASE OF INFORMATION SYSTEMS
SNS College of Engineering Coimbatore
PRESENTED BY P.SANDEEP MSc,MTech
Presentation transcript:

The Spiral Model The Spiral Model Damian Gordon Damian Gordon

Contents Overview Details Advantages Disadvantages Interesting Reflection Review Summary

1. Overview

Overview The “Spiral Model” is a model that represents one method as to how software can be developed.

Timeline of Methodologies 1950s Code & Fix 1960s Design-Code-Test-Maintain 1970s Waterfall Model 1980s Spiral Model 1990s Rapid Application Development, V Model 2000s Agile Methods

Timeline of Methodologies 1950s Code & Fix 1960s Design-Code-Test-Maintain 1970s Waterfall Model 1980s Spiral Model 1990s Rapid Application Development, V Model 2000s Agile Methods

Reference Boehm, B., 1986, "A Spiral Model of Software Development and Enhancement", ACM SIGSOFT Software Engineering Notes, 11(4) (August), pp.14-24.

Barry Boehm Born in 1935. An American software engineer, TRW Emeritus Professor of Software Engineering at the Computer Science Department of the University of Southern California. Known for his many contributions to software engineering.

2. Details

Abstract “Stop the life cycle—I want to get off!” “Life-cycle Concept Considered Harmful.” “ The waterfall model is dead.” “No, it isn’t, but it should be.” “These statements exemplify the current debate about software life-cycle process models. The topic has recently received a great deal of attention.”

Abstract “The Defense Science Board Task Force Report on Military Software issued in 1987 highlighted the concern that traditional software process models were discouraging more effective approaches to software development such as prototyping and software reuse. The Computer Society has sponsored tutorials and workshops on software process models that have helped clarify many of the issues and stimulated advances in the field”.

Abstract “The spiral model presented in this article is one candidate for improving the software process model situation. The major distinguishing feature of the spiral model is that it creates a risk-driven approach to the software process rather than a primarily document-driven or code-driven process. It incorporates many of the strengths of other models and resolves many of their difficulties.”

Abstract “This article opens with a short description of software process models and the issues they address. Subsequent sections outline the process steps involved in the spiral model; illustrate the application of the spiral model to a software project, using the TRW Software Productivity Project as an example; summarize the primary advantages and implications involved in using the spiral model and the primary difficulties in using it at its current incomplete level of elaboration; and present resulting conclusions.”

Background The primary functions of a software process model are to determine the order of the stages involved in software development and evolution and to establish the transition criteria for progressing from one stage to the next.

Background Thus the key questions that a process model must consider are: What shall we do next? How long shall we continue to do it?

Background Problem with the Waterfall Model: It emphasises fully elaborated documents as a completion criteria for the stages. This may not be always desirable, for example, for end-user applications a large amount of documentation is not necessarily desirable or needed.

The Spiral Model The spiral model of the software process has been evolving for several years, based on experience with various refinements of the waterfall model as applied to large government software projects.

The Spiral Model The radial dimension represents the cumulative cost incurred in accomplishing the steps to date; the angular dimension represents the progress made in completing each cycle of the spiral.

The Spiral Model The model reflects the underlying concept that each cycle involves a progression that addresses the same sequence of steps, for each portion of the product and for each of its levels of elaboration, from an overall concept of operation document down to the coding of each individual program.

1

The Spiral Model 1. A typical cycle of the spiral. Each cycle of the spiral begins with the identification of the objectives of the portion of the product being elaborated (performance, functionality, ability to accommodate change, etc.); the alternative means of implementing this portion of the product (design A , design B, reuse, buy, etc.); and the constraints imposed on the application of the alternatives (cost, schedule, inter-face, etc.).

2

The Spiral Model 2. The next step is to evaluate the alternatives relative to the objectives and constraints. Frequently, this process will identify areas of uncertainty that are significant sources of project risk. If so, the next step should involve the formulation of a cost-effective strategy for resolving the sources of risk. This may involve prototyping, simulation, benchmarking, reference checking, administering user questionnaires, analytic modelling, or combinations of these and other risk resolution techniques.

3

The Spiral Model 3. Once the risks are evaluated, the next step is determined by the relative remaining risks. If performance or user-interface risks strongly dominate program development or internal interface-control risks, the next step may be an evolutionary development one: a minimal effort to specify the overall nature of the product, a plan for the next level of prototyping, and the development of a more detailed prototype to continue to resolve the major risk issues.

4

The Spiral Model 4. If this prototype is operationally useful and robust enough to serve as a low-risk base for future product evolution, the subsequent risk-driven steps would be the evolving series of evolutionary prototypes going toward the right of the figure.

The Spiral Model 4. In this case, the option of writing specifications would be addressed but not exercised. Thus, risk considerations can lead to a project implementing only a subset of all the potential steps in the model.

The Spiral Model 4. On the other hand, if previous prototyping efforts have already resolved all of the performance or user-interface risks, and program development or interface-control risks dominate, the next step follows the basic waterfall approach (concept of operation, soft-ware requirements, preliminary design, etc.), modified as appropriate to incorporate incremental development.

The Spiral Model 4. Each level of software specification in the figure is then followed by a validation step and the preparation of plans for the succeeding cycle.

A prioritized top-ten list of software risk items

Risk Management Techniques Risk Item Risk Management Techniques 1. Personnel shortfalls Staffing with top talent, job matching; teambuilding; morale building; cross-training; pre-scheduling key people 2. Unrealistic schedules and budgets Detailed, multisource cost and schedule estimation; design to cost; incremental development; software reuse; requirements scrubbing 3. Developing the wrong software functions Organization analysis; mission analysis; ops-concept formulation; user surveys; prototyping; early users’ manuals 4. Developing the wrong user interface Task analysis; prototyping; scenarios; user characterization (functionality, style, workload) 5. Gold plating Requirements scrubbing; prototyping; cost-benefit analysis; design to cost 6. Continuing stream of requirement changes High change threshold; information hiding; incremental development (defer changes to later increments) 7. Shortfalls in externally furnished components Benchmarking; inspections; reference checking; compatibility analysis 8. Shortfalls in externally performed tasks Reference checking; pre-award audits; award-fee contracts; competitive design or prototyping; teambuilding 9. Real-time performance shortfalls Simulation; benchmarking; modelling; prototyping; instrumentation; tuning 10. Straining computer-science capabilities Technical analysis; cost—benefit analysis; prototyping; reference checking

3. Advantages

Advantages High amount of risk analysis hence, avoidance of Risk is enhanced.

Advantages Good for large and mission-critical projects.

Advantages Strong approval and documentation control.

Advantages Additional Functionality can be added at a later date.

Advantages Software is produced early in the software life cycle.

4. Disadvantages

Disadvantages Can be a costly model to use.

Disadvantages Risk analysis requires highly specific expertise.

Disadvantages Project’s success is highly dependent on the risk analysis phase.

Disadvantages Doesn’t work well for smaller projects.

5. Interesting

Interesting When to use the Spiral Model: When costs and risk evaluation is important For medium to high-risk projects Long-term project commitment unwise because of potential changes to economic priorities Users are unsure of their needs Requirements are complex When significant changes are expected

Interesting As originally envisioned the iterations are typically 6 months to 2 years.

Interesting There are other versions of the Model:

6. Reflections

Reflections The Spiral model works well when significant changes are expected, e.g. Research and Exploration projects New product lines Consequential organisational change

Reflections The model is a combination of the Waterfall Model and Prototyping Models.

Reflections

7. Review

Review What did we learn?

8. Summary

Summary