Presentation is loading. Please wait.

Presentation is loading. Please wait.

University of Virginia Software Development Processes (CS340 John Knight 2005) 1 Software Development Processes.

Similar presentations


Presentation on theme: "University of Virginia Software Development Processes (CS340 John Knight 2005) 1 Software Development Processes."— Presentation transcript:

1 University of Virginia Software Development Processes (CS340 John Knight 2005) 1 Software Development Processes

2 University of Virginia Software Development Processes (CS340 John Knight 2005) 2 The CONFIRM System  Generalized Reservation System: Integrate Car, Hotel, Air Reservations  Owned By Consortium Formed In 1987: Hilton Hotels Marriott Hotels Budget Rent-a-Car  To Be Built By AMR Information Services (AMRIS)

3 University of Virginia Software Development Processes (CS340 John Knight 2005) 3 The CONFIRM System  Designed To Supersede/Outperform Separate Systems Already In Place  "Based" On AMR’s SABRE System - Successful Airline Reservation System  Original Schedule: Design- 7 Months Development- 45 Months Delivery- June 1992  Original Budget - $55.7M, Projected Operating Cost - $1.05 Per Reservation

4 University of Virginia Software Development Processes (CS340 John Knight 2005) 4 CONFIRM - The End July 1992 Consortium Disbanded After 3 1/2 Years Of Development After Spending $125,000,000  Technical Reasons Cited: Unable to integrate the transaction processing central reservation system with the decision-support system. Database was unrecoverable in the event of a crash.

5 University of Virginia Software Development Processes (CS340 John Knight 2005) 5 CONFIRM - The End  Law Suits Flew: AMRIS Settled Out Of Court For A Reported $160,000,000  Why?  How Can This Type Of Thing Be Avoided?  What Can We Learn From This?

6 University of Virginia Software Development Processes (CS340 John Knight 2005) 6 The Software Lifecycle

7 University of Virginia Software Development Processes (CS340 John Knight 2005) 7 Software Processes  Process Is The Events Undertaken And Their Sequence  Various Processes Are Advocated For Software Development: Code And Fix - No Science (Hacking) Waterfall Spiral Model Government Imposed Standards:  DoD Standards 2167, 2167A  FAA Standard DO-178A, DO-178B

8 University of Virginia Software Development Processes (CS340 John Knight 2005) 8 Software Processes  The Waterfall Development Process: Undertake The Lifecycle Phases In Order Document Driven, No Attention To Risk  The Spiral Development Process: Explicit Attention To Risk Activities Driven By Risk Analysis

9 University of Virginia Software Development Processes (CS340 John Knight 2005) 9 Risk  Most Problems In Software Development Arise Because Of Risk  Things Happen During Development That Were Not Anticipated  Software Engineers Are Not Malicious  Note: This Is A Special Use Of The Word RISK

10 University of Virginia Software Development Processes (CS340 John Knight 2005) 10 Risk  Problems That Arise Are Things Like: Insufficient Computer Time Inadequate Software Tools Critical Staff Leave The Project Wrong Requirements Incorrect Design Expected New Equipment (Hardware Or Software) Fails To Arrive Ambiguous Documents Projected Schedule Unachievable Project Cost Estimates Incorrect  Goal - Risk Reduction  Other Engineering Disciplines Use Predictive Models

11 University of Virginia Software Development Processes (CS340 John Knight 2005) 11 Spiral Process  Driving Philosophy: No Software Manufacturing Do Not Know Risks Until Development  Simple Initial Implementation  Iterative Approach To Development

12 University of Virginia Software Development Processes (CS340 John Knight 2005) 12 Spiral Process  Repeat The Following: Identify Objectives Identify Alternatives Identify Risks And Uncertainties Resolve Risks And Uncertainties  Many Cycles: Gradually Increasing Overall Cost Provide Intermediate Deliverables

13 University of Virginia Software Development Processes (CS340 John Knight 2005) 13 Significant Risk Areas  Personnel—People Vary A Lot  Schedules And Budgets—How Long Will It Take To Build The System?  Developing Software Functions—Wrong Functionality Developed: Developer Does Not Understand Application Inadequate Requirements Analysis

14 University of Virginia Software Development Processes (CS340 John Knight 2005) 14 Significant Risk Areas  Requirements Stability: Customers Think Software Is Flexible So Requests Changes  Quality Of External Components: Compiler, Operating System, Or Other Support Software Has Bugs Hardware Slower Than Expected Late Delivery Of Equipment  ALWAYS REMEMBER: Difficult To Anticipate All The Development Problems

15 University of Virginia Software Development Processes (CS340 John Knight 2005) 15 Some Techniques For Risk Reduction  Prototyping: Build A Piece Of The Application In The Risk Area  Simulation: Simulate The Situation  Benchmarking: Try Out Things That Might Be Bottlenecks

16 University of Virginia Software Development Processes (CS340 John Knight 2005) 16 Some Techniques For Risk Reduction  References: See If Others Have Done It Before  User Questionnaires: Ask Users About Their Requirements  Analytic Modeling: Queueing Model, Etc.

17 University of Virginia Software Development Processes (CS340 John Knight 2005) 17 Prototyping  Very Important Risk Reduction Technique  A Prototype: Actually Executes - It Is A Program It Has A Lifetime That Depends On Its Purpose(s) Might Serve Many Purposes A Key Part Of The Iterative (Spiral) Process

18 University of Virginia Software Development Processes (CS340 John Knight 2005) 18 Prototyping  Two Major Approaches: Throw-Away PrototypeBuild, Use, And Discard Evolutionary PrototypeBuild, Evaluate, And Evolve Into Product  A Throw-Away Prototype Ignores: Structure, Efficiency, Reliability, Documentation, Maintainability, Etc.  An Evolutionary Prototype: Is A Partial Implementation - Implements The Major Risk Areas First Must Follow Good Engineering Principles - Becomes The Product

19 University of Virginia Software Development Processes (CS340 John Knight 2005) 19 Multiple Roles Of Prototyping  Requirements Analysis: Show User Important Parts Of The System Obtain Users’ Reactions  Requirements Specification: Prototype Defines System Specifications  Design Feasibility Study: Evaluate High Risk Design Decisions

20 University of Virginia Software Development Processes (CS340 John Knight 2005) 20 Multiple Roles Of Prototyping  Human Factors Analysis: Optimize System Interface Mouse vs. Keyboard vs. Voice, Etc.  User Training: Once Specified, Let User Learn About System  Provide One-Shot Applications: Maybe All That Is Needed  Critical Part Of Modern Software Development Method - Risk Reduction

21 University of Virginia Software Development Processes (CS340 John Knight 2005) 21 Prototyping Techniques  Carefully Define The Risk(s) To Be Addressed  Make Sure It Is The Most Important Risk  Make Sure Prototyping Is The Right Risk- resolution Approach  Make Sure The Data Required To Resolve The Risk Will Be Obtained

22 University of Virginia Software Development Processes (CS340 John Knight 2005) 22 Prototyping Techniques  Set A Schedule For Building The Prototype  Decide The Approach - Throw-Away Or Evolutionary  Follow Appropriate Programming Approach: Eliminate Unnecessary Operations Optimize Development To Answer Questions  Sophisticated Techniques Have Been Developed: Executable Specifications Application Generators Software Reuse Screen Generators Graphic-User-Interface (GUI) Workbenches


Download ppt "University of Virginia Software Development Processes (CS340 John Knight 2005) 1 Software Development Processes."

Similar presentations


Ads by Google