Slide 10.1 CHAPTER 10 REQUIREMENTS PHASE. Slide 10.2 Overview l Requirements elicitation l Requirements analysis l Rapid prototyping l Human factors l.

Slides:



Advertisements
Similar presentations
SWEN 5130 Requirements EngineeringSlide 1 Software Prototyping u Animating and demonstrating system requirements.
Advertisements

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
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
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
1 Software Engineering I The Requirements Phase Adrian Als & Paul Walcott.
Alternate Software Development Methodologies
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
Introduction to Software Engineering Dr. Basem Alkazemi
Software Engineering 6/e, Chapter 8
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.
Chapter 6 The Process of Interaction Design Presented by: Kinnis Gosha, Michael McGill, Jamey White, and Chiao Huang.
©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
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Process Models.
Slide 1.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach
Slide 10.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.
©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.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Requirements Engineering Requirements Elicitation Process Lecture-8.
Chapter 11: Software Prototyping Omar Meqdadi SE 273 Lecture 11 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
©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.
소프트웨어공학 강좌 1 Chap 7. Software Prototyping - Rapid software development to validate requirements -
©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.
1 Human Computer Interaction Week 7 Prototyping. 2 Introduction Prototyping is a design technique where users can be involved in testing design ideas.
Slide 3.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach
Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS
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.
Different Types of HCI CLI Menu Driven GUI NLI
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)
©Ian Sommerville 2000, Tom Dietterich 2001 Slide 1 System prototyping l Prototyping is the rapid development of a system l In the past, the developed system.
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 Seventh Edition, WCB/McGraw-Hill, 2010 Stephen R. Schach
1 Chapter 2 SW Process Models. 2 Objectives  Understand various process models  Understand the pros and cons of each model  Evaluate the applicability.
CASE Tools and their Effect on Software Quality
1 M206 Chapter 31: An Overview of Software Development 1.Defining the problem 2.Analyzing the requirement – constructing initial structural model 3.Analyzing.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
Rekayasa Perangkat Lunak Part-6
Prototyping in the software process
Software Prototyping.
Software Life Cycle “What happens in the ‘life’ of software”
Software Myths Software is easy to change
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 Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach
Rapid software development
Requirements Analysis Techniques
Presentation transcript:

Slide 10.1 CHAPTER 10 REQUIREMENTS PHASE

Slide 10.2 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.3 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.4 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!” [George Romney, US president candidate,1967] l Must determine client’s needs

Slide 10.5 Requirements Elicitation & 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.6 Rapid Prototyping l Hastily built (“rapid”) l Key functionality l What the client sees l Experimentation and change l Languages for rapid prototyping –4GL (Smalltalk, Prolog, Lisp) –HTML, Perl, Visual C++, Java

Slide 10.7 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 (e.g., MS Office tools) –Use common sense

Slide 10.8 Rapid Prototyping as Specification Technique l No specification phase l Rapid prototype replaces specification document

Slide 10.9 Rapid Prototyping as Specification Technique l Specifications: Rapid prototype plus a 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 Reusing the Rapid Prototype l Develop and refine rapid prototype till the final product l Build-and-fix l No specifications, no design l Quality l Maintenance l Real-time constraints

Slide Reusing the Rapid Prototype l Expensive option –Reuse rapid prototype l Cheap option –Discard rapid prototype l Use of different language for building prototype l Can safely retain (parts of) rapid prototype if –Computer generated (e.g., user interface) –Prearranged –Passes SQA inspections –This is not “classical” – not recommended!

Slide Other Uses of Rapid Prototyping 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 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 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 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 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 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 CASE Tools for the Requirements Phase l Language for Rapid Prototyping –Interpreted languages + environments (Lisp, Smalltalk) –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 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 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 Air Gourmet Case Study: Requirements Phase l Read pages 308 through 311 of the Fifth Edition of Object-Oriented and Classical Software Engineering

Slide Air Gourmet Case Study: Rapid Prototype l C and Java rapid 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 Portion of Rapid Prototype C Java

Slide 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 l READ Chapter 10 of Schach