14
CSE 403, Software Engineering Lecture 4 Gathering user requirements

CSE 403, Software Engineering Lecture 4 Gathering user requirements

Embed Size (px)

Citation preview

Page 1: CSE 403, Software Engineering Lecture 4 Gathering user requirements

CSE 403, Software EngineeringLecture 4

Gathering user requirements

Page 2: CSE 403, Software Engineering Lecture 4 Gathering user requirements

User requirements

Requirements from the user's point of view

Expressed in the user's language Based on understanding of user's

application Does not define implementation How do we get them???

Page 3: CSE 403, Software Engineering Lecture 4 Gathering user requirements

Requirements gathering Understand application from users

perspective  An application which doesn't match

needs won't be purchased, or won't be used

Building for a specific customer  Building a widely used application,

getting requirements from representative users

Page 4: CSE 403, Software Engineering Lecture 4 Gathering user requirements

Understanding use case

Not asking users to define the application

Observations, Interviews, Examination of artifacts, Focus Groups

Ethnography Branch of anthropology dealing with the

scientific description of individual cultures

Page 5: CSE 403, Software Engineering Lecture 4 Gathering user requirements

Anthropology 101 Yanomamo: the Fierce People Become unobtrusive observer of

daily lives of target population Long term, immersive Initial observations often

incorrect/incomplete Many reasons for not telling the truth Exceptions and complexities appear

over time

Page 6: CSE 403, Software Engineering Lecture 4 Gathering user requirements

Background study for restaurant table management app

Get a job waiting table Excuse for many restaurant meals

Page 7: CSE 403, Software Engineering Lecture 4 Gathering user requirements

"Describe process of seating a patron"

Maitre d' consults seating chart and directs waiter to take the patron to the specified seat

Page 8: CSE 403, Software Engineering Lecture 4 Gathering user requirements

Observed behavior

Patron sees a friend and joins another table

Patron sits at a different table and won't move

Group is wrong size and tables are combined

Patron chooses own table

Page 9: CSE 403, Software Engineering Lecture 4 Gathering user requirements

Ethnographic study

Jonathon Grudin Boeing executives use of video

conferencing Result

Deployment of video conferencing facilities in offices a failure because it required a different work flow for establishing communication

Page 10: CSE 403, Software Engineering Lecture 4 Gathering user requirements

Field observations

Protocols developed in many academic fields

Event based Narrative

Page 11: CSE 403, Software Engineering Lecture 4 Gathering user requirements

What do you do with the data?

Define user experience of application

Application must support the process

Efficient handling of common cases Ability to handle exceptional cases

(which aren't all that exceptional!) Develop feature lists

Page 12: CSE 403, Software Engineering Lecture 4 Gathering user requirements

User requirements

Business Requirements

User Study Use

Cases

User Requirements

Functional Requirements

Page 13: CSE 403, Software Engineering Lecture 4 Gathering user requirements

Positive Example

TCAS – Air traffic collision avoidance system

Target: Pilots

Page 14: CSE 403, Software Engineering Lecture 4 Gathering user requirements

Negative example

Microsoft Visual Studio Academic Target: Intro CS Instructors and

their students