Date post: | 22-Dec-2015 |
Category: |
Documents |
View: | 220 times |
Download: | 3 times |
Requirements and Task Analysis
Please attend!!
Duke Hutchings: “Window interfaces for multiple monitor systems”: next Monday 2/6, 9:30-11, room 154 student meeting: 2/6 2-2:45, room 338
Jeff Nichols: “Automatically Generating High-Quality User Interfaces for Appliances” next Thursday 2/9 2-3:30, room 356 student meeting: 2/10 1-1:45, room 338
George Chin: “Capturing, Representing, and Implementing Scientific Knowledge in Scientific Computing Environments”: 2/13 9:30-11, room 154 student meeting: 2/13 2-2:45, room 338
Celine Letulipe: “Symmetric Interaction Techniques”: 2/20 2-3:30, room 356 student meeting: 2/21 2:30-3:15, room 441
Project Part 1 reminder
Due Feb. 16 (2 weeks!) by class time READ description and template Focus on the problem, not the solution Start gathering your data now! Ask for help and feedback Good communication skills are key
And please spell and grammar check
Functional vs. NonFunctional
Historically requirements
Features, functions that the system should do
Properties of the overall system
“-ilities” (quality, evolveability, flexibility, etc.)
Environment User requirements Usability
requirements
Not just “requirements”
Overall goals, success criteria User characteristics Task analysis Environment – physical, social,
technical Constraints Usability goals, criteria
User Characteristics: Recall
Attitude, morale, willingness to change, motivation, reading level, typing skill, education, frequency of use, training, color-blindness, handedness, gender,…
Novice, intermediate, expert System experience, task experience,
computer literacy Cultural factors
Uses of icons, colors, words, metaphors
Task Analysis
• Process of analyzing and documenting how people perform their jobs or activities
• Task-subtask decomposition
• Focus on:• Activities• Artifacts• Relations
• More in a moment…
Physical Environment
Amount of space to work Lighting levels / directions Noise level Temperature, humidity, dust… Standing / sitting Power availability Dangers
Implications?
Technical Environment
Computers/platforms for application Technology to interact with Networking Mobility
Implications?
Social Environment
How do users interact? Roles? How do users interact with others? Social implications of problem or
solution?InterruptionPrivacy
Implications?
Stakeholders
Primary – targeted end users Secondary – receive output or provide
input to system Tertiary – others directly receiving
benefits from system success or failure
Facilitating – design, development, maintenance
Stakeholder analysis
Cell phone
Bus stop kiosk
Nuclear power plant control system
Typical Real-World Constraints Elapsed time to market Cost/effort to design and implement Size/footprint/weight/power/price Computer power/memory (related to cost
and power Consistency with overall product line Backward compatibility Differentiation from competitive products
Usability Requirements
Usability goals: such as learnability, consistency, robustness, etc.
Ways to measure and judge success Time to complete key tasks - min, max Time to become proficient - do given set of
tasks in given time Subjective satisfaction
Example
What factors (environmental, user, usability) would affect the following systems?
• Self-service filling and payment system for a gas station
• On-board ship data analysis system for geologists searching for oil
• Fashion website for buying clothes
Example: bus stop kiosk
User characteristics Context: Environment, types of users Constraints: device, market, etc. Functional requirements Non-functional requirements
How?
Gather data Interviews, observation,
surveys/questionnaires, documentation, immersion
Organize data Notes, cards, brainstorming, computer tools
Represent data Lists, outlines, matrices Narratives Hierarchies, Networks, Flow charts
Formative vs. Summative evaluation
Summative assess an existing
system judge if it meets some
criteria Formative
assess a system being designed
gather input to inform design
Summative or formative? Depends on
• maturity of system• how evaluation results
will be used
Same technique can be used for either
(Not All) Requirements Gathering Methods
Observation Thing out Loud & Cooperative EvaluationInterviewsQuestionnairesFocus groupsStudy DocumentationLook at competitive productsEthnographyContextual Inquiry
Study Documentation
Quick and easy if it exists Often describe how things should be
done rather than how they are doneTry to understand why not done “by
the book”
Alternative: interview domain expert
Look at Competitive Products
Looking for both good and bad ideasFunctionalityUI style
Possibly do user task performance metrics to establish bounds on your system
Ethnography
Deeply contextual study Immerse oneself in situation you want to
learn about (has anthropological and sociological roots) Observing people in their cultural context
Behavior is meaningful only in context For UI designers: understand current
methods, activities, environment, problems to aid design
Ethnography
Things of interest to evaluator Structure and language used in work Individual and group actions Culture affecting work Explicit and implicit aspects of work
Example: Office work environment Business practices, rooms, artifacts, work
standards, relationships between workers, managers, …
Drawbacks of Ethnographic Methods Time required
Can take weeks or months for large systems Scale
Most use small numbers of participants just to keep somewhat manageable
Type of results Highly qualitative, may be difficult to
present/use Acquired skill – “learn by doing”
Identifying and extracting “interesting” things is challenging
Contextual Inquiry
Practical ethnographic-inspired method for requirements
Master-apprentice relationshipWatch and talk to customer as they do
their work See: Beyer and Holtzblatt. Contextual
Design. Morgan Kaufmann Publishers
How compares to other methods?
Which Methods to Use?
• Self-service filling and payment system for a gas station
• On-board ship data analysis system for geologists searching for oil
• Fashion website for buying clothes at large department store
Making Sense
Organize/categorize information“coding scheme”
Card Sorting Affinity Diagrams Task analysis
Affinity Diagram - “Sorted Cards”
From Interaction Design, Preece Rogers and Sharp
Task Analysis
Focus on observable behaviors What are the practices, methods, steps, objects, …,
used?
Tasks & Subtasks Physical Cognitive Communication
Conditions under which these tasks are done Results/outcomes of tasks Requirements to perform task
Information, artifacts Communication with others Equipment
Also see: Hackos and Redish, User and Task Analysis for Interface Design. Wiley Publishing.
Describing activities
Scenarios Use Cases Task - subtask decomposition
Includes sequencing information Workflow diagrams Flow charts ER or object models
Scenario
Describe tasks and context in sentences Natural way of describing general idea
Good for demonstrating specific problems, reasons behind actions, atypical activities
Bad for representing branching, parallel activities, various possibilities of one activity
Scenario: Example 1
Its Friday afternoon and John just got paid. He wants to deposit his check immediately so he can pay his rent. He stops at one branch of his bank on the way home from work. He waits in his car while another person finishes using the ATM in front of the bank since it is drizzling outside. He walks up to the ATM to deposit his check. Only, as he is about to put the check into the envelope at the ATM, he realizes that he has not signed the back of it, and he has no pen and can not find one on or near the ATM machine. He cancels the transaction on the ATM, and enters the bank, which luckily is still open for 5 more minutes. He goes to the counter, finds a pen, and signs his check. He also fills out a deposit slip. He then waits to see a teller in person to deposit his check, and get money for the weekend.
Scenario: Example 2
Annie walks up to the ATM to deposit her weekly pay check. She puts her ATM card into the slot in the machine. She then enters her PIN number quickly, trying to block the person waiting behind her from viewing the keypad, and knows that she does not have to press “Enter” at this particular machine. She then chooses “Deposit” and “Check.” She enters the amount of the check using the keypad, then takes an envelope from the ATM machine, puts her check inside, seals the envelope and writes the amount of the check on the outside. She feeds the envelope into the slot into the ATM machine. She then selects “No other transactions” to finish, and waits to receive her receipt and ATM card.
Example
Register for classes
What kinds of activities could we write a scenario about?
Let’s write one together
Use Case
Description of a user’s goal in using a system
Focuses on user-system interaction One path through a use case is
sometimes called a scenarioOften presented as a series of steps
Diagram of actors and use cases
Use Case Diagram
Administrator Departmentalmember
Arrange ameeting
Update calendarentry
Retrievecontact details
Use Case example
Arrange Meeting1. The user chooses the option to arrange a meeting.2. The system prompts user for the names of attendees.3. The user types in a list of names.4. The system checks that the list is valid.5. The system prompts the user for meeting constraints.6. The user types in meeting constraints.7. The system searches the calendars for a date that satisfies
the constraints. 8. The system displays a list of potential dates.9. The user chooses one of the dates.10. The system writes the meeting into the calendar.11. The system emails all the meeting participants informing
them of them appointment
Hierarchical Task Analysis (HTA)
Graphical notation & decomposition of tasks Goals – what the user wants to achieve Tasks – do these to achieve the goals
Not necessarily computer related Sequential dependencies Multiple occurrences of tasks Subtasks – lower-level tasks
Tasks organized into plans Clusters of subtasks with a preferred order and
prerequisite conditions
From Interaction Design, Preece Rogers and Sharp
Task Model - Borrow Book
Sequences added as annotations
Can also show hierarchy as indented text
Goal
Tasks tocomplete goal
Subtasks tocarry outone task
HTA: Types of Plans
Fixed sequence Optional tasks Waiting events Cycles Time-sharing Discretionary
HTA
Example
Goal: register for classes
Flow Charts
Flow Chart of Task StepsComplete, can become complex
• Sequential flow, branching, parallel tasks.
Includes actions, decisions, logic, by all elements of the system
Mature, well-known, good tools for doing it
Flow Chart Example
Start
Continue? Document
Input
Display
ManualOperation
End
Y
N
Workflow
Documents going from one person/organization to another
Multiple participants in an activity
Create TravelRequest
(Traveler)
Approval(Dean)
Notification ofApproval
(Dean)
Ensure FundsAvailable
(Accounting)
Notification ofApproval
(Dean)
No Funds
Make Trip (Traveler)
CompleteExpense Report
(Traveler)
Approval(Accounting) Etc
Workflow Example - Document Flow
From Interaction Design, Preece Rogers and Sharp
Entity Relationship Diagrams
Object Oriented Models Objects/people with links to related objects
• Stress relationship between objects and actions
Links described functionally and in terms of strength
About relations, not procedures Complements HTA & flow charts
Object Model: ATM
Objects Account, ATM machine, ATM card, customer
Relations Customer has one or more accounts ATM machine accesses account
Actions on objects Account: deposit($), withdraw($), balance ATM machine: authenticate, dispense($),
print receipt Etc
Your turn
Create a scenario describing a CURRENT bus stop activity that would help describe requirements information for a bus stop kiosk
Create an HTA of that same activity Create ER diagram of entities
involved in that activity Is Workflow or Flow chart applicable?
Beyond Requirements
Task analysis throughout life cycle:Describe and document design ideasHelp design menu, dialog structureHelp create documentation and help
Task descriptions can be given at any necessary abstraction level
Summary
Determine what data you need Gather it using various appropriate
methods and techniques Represent the tasks and subtasks,
plus other related information Use this data as basis for design
Note: Be efficient!
Exercise: Movie Ticket Kiosk
What data gathering techniques would you use? Who would you interact with?
Who are the stakeholders? What are typical user characteristics? What is physical/social/technical environment? What is a typical scenario of use? What is an atypical or problem scenario? What would you represent using HTA? What could you represent using ER diagram? What could you represent using flowchart?