Slide 10.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach.

Slides:



Advertisements
Similar presentations
Chapter 2: Software Process
Advertisements

Slide 15.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach.
SWEN 5130 Requirements EngineeringSlide 1 Software Prototyping u Animating and demonstrating system requirements.
Slide 3.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach
Ch2: Software Life Cycles Housekeeping  Feedback from Wednesday  Structured vs. Object Oriented Paradigm Structured: Data is an argument, functions separate,
CHAPTER 3 SOFTWARE LIFE-CYCLE MODELS.
Software Project Management
1 Software Engineering I The Requirements Phase Adrian Als & Paul Walcott.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
Alternate Software Development Methodologies
CS 3500 SE - 1 Software Engineering: It’s Much More Than Programming! Sources: “Software Engineering: A Practitioner’s Approach - Fourth Edition” Pressman,
Slide 10.1 CHAPTER 10 REQUIREMENTS PHASE. Slide 10.2 Overview l Requirements elicitation l Requirements analysis l Rapid prototyping l Human factors l.
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
1 CS 425/625 Software Engineering CS 425/625 Software Engineering Software Processes Based on Chapter 4 of the textbook [SE-7] Ian Sommerville, Software.
Slide 7D.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development.
Chapter 1 Software Development. Copyright © 2005 Pearson Addison-Wesley. All rights reserved. 1-2 Chapter Objectives Discuss the goals of software development.
CS 425/625 Software Engineering Software Processes
Slide 18.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
Slide 1.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach
1 CMSC 132: Object-Oriented Programming II Software Development III Department of Computer Science University of Maryland, College Park.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Slide 10C.52 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach.
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
Slide 12E.121 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements l.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements.
1 Building and Maintaining Information Systems. 2 Opening Case: Yahoo! Store Allows small businesses to create their own online store – No programming.
UHD-CMS-Chp91 Requirements Phase Chapter 9. UHD-CMS-Chp92 Requirements Phase What must the new product be able to do? What the client needs?
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Animating and.
1 Scope of Software Engineering Somnuk Keretho, Assistant Professor Department of Computer Engineering Faculty of Engineering, Kasetsart University
Requirements Engineering Requirements Elicitation Process Lecture-8.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements.
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
Slide 10A.1 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005.
Slide 10.1 Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Object-Oriented and Classical Software Engineering Eighth Edition,
Note Excerpts from Object-Oriented Software Engineering WCB/McGraw-Hill, 2008 Stephen R. Schach
소프트웨어공학 강좌 1 Chap 7. Software Prototyping - Rapid software development to validate requirements -
Slide 6.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach
1 Requirements Management - General concepts - Noureddine Abbadeni King Saud University College of Computer and Information Sciences Based on “Software.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
CS540 Software Design Lecture 5 1 Lecture 5: High Level Requirements Specification Anita S. Malik Adapted from Schach (2004) Chapter.
1 Software Development Software Engineering is the study of the techniques and theory that support the development of high-quality software The focus is.
Ch 10: Requirements CSCI Requirements Workflow 1.Acquire basic understanding of the application domain (banking, automobile manufacturing) 2.Identify.
Slide 12A.1 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach.
Slide 3.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach
Software Prototyping Rapid software development to validate requirements.
Slide 13.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach.
Topic 4 - Database Design Unit 1 – Database Analysis and Design Advanced Higher Information Systems St Kentigern’s Academy.
Slide 10.1 Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Object-Oriented Software Engineering WCB/McGraw-Hill, 2008 Stephen.
CS451 Software Implementation and Integration Yugi Lee STB #555 (816) Note: This lecture was designed.
1 The Requirements Problem Chapter 1. 2 Standish Group Research Research paper at:  php (1994)
Slide 12F.135 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach.
Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Object-Oriented and Classical Software Engineering Eighth Edition, WCB/McGraw-Hill Stephen R. Schach 1.
Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2010 Stephen R. Schach
CASE Tools and their Effect on Software Quality
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
Prototyping in the software process
Software Life Cycle “What happens in the ‘life’ of software”
CS 425/625 Software Engineering Software Processes
Software Prototyping Animating and demonstrating system requirements.
Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach
Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach
Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach
Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach
Rapid software development
Requirements Analysis Techniques
Presentation transcript:

Slide 10.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach

Slide 10.2 © The McGraw-Hill Companies, 2002 CHAPTER 10 REQUIREMENTS PHASE

Slide 10.3 © The McGraw-Hill Companies, 2002 Overview l Requirements elicitation l Requirements analysis l Rapid prototyping l Human factors l Rapid prototyping as a specification technique l Reusing the rapid prototype l Management implications of the rapid prototyping model l Experiences with rapid prototyping

Slide 10.4 © The McGraw-Hill Companies, 2002 Overview (contd) l Techniques for requirements elicitation and requirements analysis l Testing during the requirements phase l CASE tools for the requirements phase l Metrics for the requirements phase l Object-oriented requirements? l Air Gourmet case study: Requirements phase l Air Gourmet case study: Rapid prototype l Challenges of the requirements phase

Slide 10.5 © The McGraw-Hill Companies, 2002 Requirements Phase l Misconception –Must determine what client wants l “I know you believe you understood what you think I said, but I am not sure you realize that what you heard is not what I meant!” –Must determine client’s needs

Slide 10.6 © The McGraw-Hill Companies, 2002 Requirements Analysis Techniques l Interviewing (primary technique) l Structured versus unstructured interviews l Questionnaires l Forms analysis l Video cameras l Scenarios –Story boards –Trees l Rapid prototyping

Slide 10.7 © The McGraw-Hill Companies, 2002 Rapid Prototyping l Hastily built (“rapid”) l Key functionality l What the client sees l Experimentation and change l Languages for rapid prototyping

Slide 10.8 © The McGraw-Hill Companies, 2002 Human Factors l Client and intended users must interact with the user interface l Human-computer interface (HCI) –Menu, not command line –“Point and click” –Windows, icons, pull-down menus l Human factors must be taken into account –Lengthy sequence of menus –Expertise level of interface –Uniformity of appearance –Advanced psychology vs. common sense? l Rapid prototype of HCI obligatory

Slide 10.9 © The McGraw-Hill Companies, 2002 Rapid Prototyping as Specification Technique l No specification phase l Rapid prototype replaces specification document

Slide © The McGraw-Hill Companies, 2002 Rapid Prototyping as Specification Technique l Specifications: Rapid prototype plus list of additional features l Advantages –Speed –No ambiguities, omissions, contradictions l Disadvantages –Specification document is contract –Testing requires specifications –Maintenance requires specifications l Conclusion: Do not use rapid prototype as specifications

Slide © The McGraw-Hill Companies, 2002 Reusing the Rapid Prototype l Build-and-fix l No specifications, no design l Quality l Maintenance l Real-time constraints

Slide © The McGraw-Hill Companies, 2002 Reusing the Rapid Prototype l Expensive option –Reuse rapid prototype l Cheap option –Discard rapid prototype l Use of different language l Can safely retain (parts of) rapid prototype if –Prearranged –Passes SQA inspections –This is not “classical”

Slide © The McGraw-Hill Companies, 2002 Other Uses of Rapid Prototyping l Consensus l Management Implications –Immediate delivery –Instant maintenance –Waterfall model—get it right first time –Rapid prototyping—many changes, then discard –Increased interaction with clients

Slide © The McGraw-Hill Companies, 2002 Case for Rapid Prototyping l Not proven beyond all doubt l Experiment of Boehm, Gray, and Seewaldt (1984) –Seven different versions of product compared »four specified, three prototyped –Prototyping, specifying yielded equivalent performance –Prototyped versions had 40% less code, 45% less effort –Prototyped versions were lower on functionality and robustness, higher on ease of use and ease of learning –Specifying made integration easier

Slide © The McGraw-Hill Companies, 2002 Case for Rapid Prototyping (contd) l Important facts (not often mentioned) –Experiment on seven teams of graduate students –Three teams of size 2, and four teams of size 3 –Ten week duration –No maintenance l Treat results as indications, not facts

Slide © The McGraw-Hill Companies, 2002 Experiences with Rapid Prototyping l Analysis of 34 case studies [Gordon and Bieman, 1992] l 29 successes, 2 failures, 3 neutral –(But few failures are published!) l All agreed –User participation was essential, user needs were met l Not all issues were addressed in all case studies l (Only 16 mentioned ease of use, but all 16 were positive) l Choice of prototyping language was not important

Slide © The McGraw-Hill Companies, 2002 Controversy l Discard or retain rapid prototype? –Diametrically different processes used –18 recommended retention, 7 said discard –6 out of 6 large projects recommended retention

Slide © The McGraw-Hill Companies, 2002 Testing during the Requirements Phase l Aim: establish client’s real needs l Users must interact thoroughly with rapid prototype l Issues must reach client

Slide © The McGraw-Hill Companies, 2002 CASE Tools for the Requirements Phase l Language for Rapid Prototyping –Interpreted languages + environments (Lisp, Smalltalk) –Hypertext (HTML) for user interfaces –4GL »Fewer statements »Often interpreted »Often powerful CASE tools l Danger of 4GL –Part of larger environment –Cheap solution: separate tool

Slide © The McGraw-Hill Companies, 2002 Metrics for the Requirements Phase l Quality, reliability? l Volatility, convergence l Changes during subsequent phases l Number of times each feature is used

Slide © The McGraw-Hill Companies, 2002 Object-Oriented Requirements Phase l On the one hand –The aim is to find the client’s needs –Objects don’t enter into it l On the other hand –Using an object-oriented language for the rapid prototype may help to identify classes

Slide © The McGraw-Hill Companies, 2002 Air Gourmet Case Study: Requirements Phase l See pages 308 through 311 of the Fifth Edition of Object-Oriented and Classical Software Engineering

Slide © The McGraw-Hill Companies, 2002 Air Gourmet Case Study: Rapid Prototype l C and Java repid prototypes are available on the Web at l For speed in implementation –Data are stored in fixed-size arrays –Only two reports are implemented (the other four are similar) –Interface is menu driven

Slide © The McGraw-Hill Companies, 2002 Portion of Rapid Prototype C Java

Slide © The McGraw-Hill Companies, 2002 Challenges of the Requirements Phase l Employees of the client organization feel threatened by computerization l Requirements team members must be able to negotiate l The client’s needs may have to be scaled down l Key employees of the client organization may not have the time for essential in-depth discussions l Flexibility and objectivity are essential