SPEAKER : KAI-JIA CHANG ADVISER : QUINCY WU DATA : 2010-03-17 Spiral Model.

Slides:



Advertisements
Similar presentations
Software Processes.
Advertisements

Computer Science Department
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
1 Requirements and the Software Lifecycle The traditional software process models Waterfall model Spiral model The iterative approach Chapter 3.
1 Software Processes A Software process is a set of activities and associated results which lead to the production of a software product. Activities Common.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
CS 501: Software Engineering Fall 2000 Lecture 2 The Software Process.
Multimedia Specification Design and Production 2013 / Semester 1 / week 7 Lecturer: Dr. Nikos Gazepidis
Unit 2. Software Lifecycle
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 المحاضرة الثانية.
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.
ISNE101 Dr. Ken Cosh. Recap  We’ve been talking about Software…  Application vs System Software  Programming Languages  Vs Natural Languages  Syntax,
7M701 1 Software Prototyping Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 8
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
Alternative Software Life Cycle Models By Edward R. Corner vol. 2, chapter 8, pp Presented by: Gleyner Garden EEL6883 Software Engineering II.
CS 5150 Software Engineering
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 2 Software Processes.
Software Engineering.
©Ian Sommerville 2000 Software Engineering, 6th edition Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing.
Software lifecycle. CS351 - Software Engineering (AY2004)2 Software lifecycle “student view” Design & Specification Coding Testing (optional) Hand it.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Chapter 3 Software Processes.
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
Lecture 2 Software Processes CSC301-Winter 2011 Hesam C. Esfahani
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Topic (1)Software Engineering (601321)1 Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution.
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
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.
© The McGraw-Hill Companies, Software Project Management 4th Edition Risk management Chapter 7.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
Project Life Cycles.
Rapid software development 1. Topics covered Agile methods Extreme programming Rapid application development Software prototyping 2.
1 SWE Introduction to Software Engineering Lecture 4.
Methodologies. Contents Waterfall Model Evolutionary Models Incremental Development.
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
1 Software Development Software Engineering is the study of the techniques and theory that support the development of high-quality software The focus is.
Chapter 2 – Software Processes Lecture 2 1Chapter 2 Software Processes.
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.
An Introduction to Software Engineering
CS205 Software Engineering_Overview Specifications: The Ariane 6 must be able to deliver both satellite hardware and crew into geostationary orbit. (Ariane.
1 CS 501 Spring 2004 CS 501: Software Engineering Lecture 2 Software Processes.
Project & Risk Management For next class -- Pressman: 3, , 5.8, , 6.6 Introductions Software Development Processes Software Maturity Models.
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.
Assoc. Prof. Dr. Ahmet Turan ÖZCERİT.  System and Software  System Engineering  Software Engineering  Software Engineering Standards  Software Development.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
CC20O7N Software Engineering 1 CC2007N Software Engineering 1 Part 1 Introduction to Software Engineering.
Chapter 2 – Software Processes Lecture 2 1Chapter 2 Software Processes.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Copy of the slides: (will also be put on the esse3 website)
Systems Development Life Cycle
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.
Copy of the slides: (will also be put on the esse3 website)
CS 5150 Software Engineering
The Spiral Model The Spiral Model Damian Gordon Damian Gordon.
Software Processes (a)
Requirements and the Software Lifecycle
CS310 Software Engineering Lecturer Dr.Doaa Sami
Software Processes.
PRESENTED BY P.SANDEEP MSc,MTech
Presentation transcript:

SPEAKER : KAI-JIA CHANG ADVISER : QUINCY WU DATA : Spiral Model

Outline 2  Introduction  The spiral model  Evaluation  Conclusions  References

Introduction 3 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 4 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)

Introduction 5 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.

Introduction 6 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 7 A Typical Cycle of the spiral  Risk Analysis  Prototype  Design/Validation  Planning  Alternatives  And repeat  Measure of Cumulative Cost and Progress

The spiral model 8 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 9 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 10

The spiral model 11

The spiral model 12 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.

13

14

The spiral model 15 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 16 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

17 Risk itemRisk management techniques Personnel shortfallsStaffing 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 platingRequirements 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 computer- science Capabilities Technical analysis; cost-benefit analysis; prototyping; reference checking

The spiral model 18 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. 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 22 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 23  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 24 Rapid Prototyping Tools Revisited Alan M. Davis, "Operational Prototyping: A new Development Approach. IEEE Software, September Page 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: Barry Boehm et al., "Using the WinWin Spiral Model: A Case Study, IEEE Computer, July 1998 (vol. 31 no. 7) pp