18
UHD-CMS-Chp9 1 Requirements Phase Chapter 9

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?

Embed Size (px)

Citation preview

Page 1: 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?

UHD-CMS-Chp9 1

Requirements Phase

Chapter 9

Page 2: 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?

UHD-CMS-Chp9 2

Requirements Phase

• What must the new product be able to do?

• What the client needs?

Page 3: 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?

UHD-CMS-Chp9 3

Requirements

• Functional Requirements: describe the interaction between the system and its environment– Environment: users, any other external

system with which the system interacts• Non-Functional Requirements: quantitative

constrains e.g.– response time– accuracy

Page 4: 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?

UHD-CMS-Chp9 4

Requirements Contd

• Pseudo-requirements: requirements imposed by the client that restrict the implementation of the system– implementation language– platform– process and documentation requirements: e.g.

use of a specific formal specification language, etc.

Page 5: 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?

UHD-CMS-Chp9 5

Requirement Elicitation

• Identify the actors: an actor is an external entity that interacts with the system

• Identify scenarios: a scenario is a concrete, focused informal description of a single feature of the system from the viewpoint of a single actor

Page 6: 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?

UHD-CMS-Chp9 6

Questions to identify scenarios

• What are the tasks that the actor wants the system to perform

• What info does the actor access? – Who creates that data?

– Can it be modified or removed?

• Which external changes does the actor need to inform the system about? How often? When?

• Which event does the actor need to be informed by the system about?

Page 7: 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?

UHD-CMS-Chp9 7

Req. Analysis Techniques

• Interviews– Structured– Unstructured

• Send a questionnaire

• Examine the various forms

• Set up video cameras

• Scenarios

• Rapid Prototyping (most effective)

Page 8: 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?

UHD-CMS-Chp9 8

Rapid Prototyping

• Exhibit the key functionality

• Reflects the functionality that the client sees

• Built quickly

• Built to be changed

• using 4GL and interpreted languages

• Using UNIX Shell or Lisp

Page 9: 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?

UHD-CMS-Chp9 9

Human Factors

• Human-computer interface (HCI)

• User friendly– using windows, icons, menus, ..

• Menu-driven system is thoughtfully designed– multiple level of sophistication

• implies reduced learning times and lower error rates

• e.g., Macintosh

Page 10: 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?

UHD-CMS-Chp9 10

Rapid Prototyping as a Spec. Tech.

• Fully or partially

• advantage– offers speed and accuracy

• Disadvantages– can not be used as a legal document– maintenance problems

• Should be used just for requirement analysis

Page 11: 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?

UHD-CMS-Chp9 11

Reusing the Rapid Prototype• Refine it, until it becomes the product

• In theory a fast development process

• In practice much like build-and-fix

• Reasons for throwing it away– cheaper in both short and long term – performance (specially in real time systems)

• to enforce not being reused– build it in a different language– use limited languages (e.g., hypertext)

• hybrid approach is used

Page 12: 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?

UHD-CMS-Chp9 12

Other uses for Rapid Prototyping

• To resolve disagreements

• In many cases the only way to arrive to consensus quickly

Page 13: 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?

UHD-CMS-Chp9 13

Management issues in regard to Rapid Prototyping

• Encourage clients for changing the product

• Changes be made quickly

• Not to wait for the real product

• It has not been proved beyond all doubts

• two aspects:– used solely for requirement analysis– in special cases could be used as a specification

• Rapid Prototyping has no good design

• requires interactions unlike waterfall model

Page 14: 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?

UHD-CMS-Chp9 14

Experiences with Rapid Prototyping

• Gordon and Bieman report

• using published and unpublished case studies

• 33 out 39 where successful

• choice of languages is not critical

• partial retaining is important (larger porj.)

• fewer unnecessary features were implemented with it

Page 15: 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?

UHD-CMS-Chp9 15

Joint Application Design (JAD)

• A techniques for requirement and specification phases

• The client takes an active role in the first two phases

• Productivity may increase 20 to 60 percent

Page 16: 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?

UHD-CMS-Chp9 16

Comparison of Req. Analysis Techniques

• Interviewing (most important)– using forms– with relevant members of client organization

• Rapid Prototyping to meet client’s real needs– using JAD

Page 17: 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?

UHD-CMS-Chp9 17

Case Tools for Req.

• Interpreted languages

• Case tools and language environments– smalltalk, interlisp, UNIX shell

• Hypertext

• two popular case tools– Demo II, Guide

• 4GL

Page 18: 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?

UHD-CMS-Chp9 18

Metrics for the Req. Phase

• Measure of requirement volatility– can be used for scenario and interview

techniques

• Number of requirements changes during the development process

• Number of time each feature is used– useful in Rapid Prototyping