Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Slide 10.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach."— Presentation transcript:

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

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

3 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

4 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

5 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

6 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

7 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

8 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

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

10 Slide 10.10 © 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

11 Slide 10.11 © 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

12 Slide 10.12 © 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”

13 Slide 10.13 © 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

14 Slide 10.14 © 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

15 Slide 10.15 © 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

16 Slide 10.16 © 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

17 Slide 10.17 © 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

18 Slide 10.18 © 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

19 Slide 10.19 © 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

20 Slide 10.20 © 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

21 Slide 10.21 © 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

22 Slide 10.22 © 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

23 Slide 10.23 © The McGraw-Hill Companies, 2002 Air Gourmet Case Study: Rapid Prototype l C and Java repid prototypes are available on the Web at www.mhhe.com/engcs/compsci/schach 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

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

25 Slide 10.25 © 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


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

Similar presentations


Ads by Google