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

Slides:



Advertisements
Similar presentations
Prescriptive Process models
Advertisements

2003 Mateusz Żochowski, Marcin Borzymek Software Life Cycle Analysis.
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.
Software Process Models
Systems Analysis and Design
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Software Project Management
IS2210: Systems Analysis and Systems Design and Change
CHAPTER 1 SOFTWARE DEVELOPMENT. 2 Goals of software development Aspects of software quality Development life cycle models Basic concepts of algorithm.
Modeling the Process and Life Cycle CSCI 411 Advanced Database and Project Management Monday, February 2, 2015.
ISNE101 Dr. Ken Cosh. Recap  We’ve been talking about Software…  Application vs System Software  Programming Languages  Vs Natural Languages  Syntax,
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Chapter 11 Software Development Horror Stories. Sampling of Software Problems = Faye Starman gets an electric bill for $6.3 million instead of $63 due.
System Analysis and Design (SAD )
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 2 Software Processes.
Slide 1 Systems Analysis & Design CS183 Spring Semester 2008 Dr. Jonathan Y. Clark Course Website:
Slide 1 INTRODUCTION Chapter 1. Slide 2 Key Ideas Many failed systems were abandoned because analysts tried to build wonderful systems without understanding.
Chapter 1 Software Development. Copyright © 2005 Pearson Addison-Wesley. All rights reserved. 1-2 Chapter Objectives Discuss the goals of software development.
©Ian Sommerville 2000 Software Engineering, 6th edition Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing.
PowerPoint Presentation for Dennis & Haley Wixom, Systems Analysis and Design Copyright 2000 © John Wiley & Sons, Inc. All rights reserved. Slide 1 Systems.
Fundamentals of Information Systems, Second Edition
Solving Problems in IS: Systems Approaches Logical framework in which to work. Logical framework in which to work. Serves as a reminder. Did I forget anything?
SDLC and Related Methodologies
SE 555 Software Requirements & Specification 1 SE 555 Software Requirements & Specification Prototyping.
1 Case Study: Starting the Student Registration System Chapter 3.
Problem with Software Requirements are complex The client does not know the functional requirements in advance Requirements may be changing Technology.
CHAPTER 19 Building Software.
Chapter 3 Software Processes.
© 2005 Prentice Hall14-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
1 Building and Maintaining Information Systems. 2 Opening Case: Yahoo! Store Allows small businesses to create their own online store – No programming.
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
IT Systems Analysis & Design
PowerPoint Presentation for Dennis & Haley Wixom, Systems Analysis and Design, 2 nd Edition Copyright 2003 © John Wiley & Sons, Inc. All rights reserved.
The Software Engineering Process Alan Sexton Based on “UML Distilled”, Fowler & Scott, Addison Wesley 1999.
1 ISA&D7‏/8‏/ ISA&D7‏/8‏/2013 Systems Development Life Cycle Phases and Activities in the SDLC Variations of the SDLC models.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Teaching material for a course in Software Project Management & Software Engineering – part II.
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
Topic (1)Software Engineering (601321)1 Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution.
[ §3 : 1 ] 2. Life-Cycle Perspective Overview 2.1 Motivation 2.2 Waterfall Model 2.3 Requirements in Context.
Lecture 31 Introduction to System Development Life Cycle - Part 2.
Software Engineering Management Lecture 1 The Software Process.
13-January-2003cse LifeCycle © 2003 University of Washington1 Lifecycle CSE 403, Winter 2003 Software Engineering
 System Development Life Cycle System Development Life Cycle  SDLC Phases SDLC Phases Phase 1: Preliminary Investigation Phase 2: Feasibility Study.
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.
Rational Unified Process Mr Hisham AlKhawar. Iterative versus Waterfall  We need to use a life cycle model in order to approach developing a system easily,
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Systems Analysis and Design in a Changing World, Fourth Edition
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 1: Introduction to Systems Analysis and Design Alan.
1 CS 501 Spring 2004 CS 501: Software Engineering Lecture 2 Software Processes.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
1 - 1 Systems Analysis and Design, Key Ideas Many failed systems were abandoned because analysts tried to build wonderful systems without understanding.
Ch7: Software Production Process. 1 Waterfall models  Invented in the late 1950s for large air defense systems, popularized in the 1970s  Main characteristics:
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
Chapter 1: Introduction Omar Meqdadi SE 3860 Lecture 1 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Lectures 2 & 3: Software Process Models Neelam Gupta.
1 Chapter 2 SW Process Models. 2 Objectives  Understand various process models  Understand the pros and cons of each model  Evaluate the applicability.
S OFTWARE E NGINEERING C ONCEPT B y Rubel Biswas.
Software Development Process includes: all major process activities all major process activities resources used, subject to set of constraints (such as.
Methodologies and Algorithms
Chapter 2 SW Process Models
Requirements and the Software Lifecycle
Software life cycle models
Presentation transcript:

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

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)

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

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.

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?

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

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

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

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

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

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

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

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

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

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

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.

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

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

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

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

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

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