Human Computer Interaction Introduction

advertisement
Iterate (Requirements, Design)
IMD07101: Introduction to Human Computer Interaction
Brian Davison and Tom McEwan 2011/12
Content
•
•
•
•
The relationship between requirements and design
Process models
Functional and non-functional requirements
Use cases
• Coursework general feedback
Requirements and design
• Iterate: repeat until done
Requirements
Design
Structured process (the old way)
Requirements
specification
Analysis
Design
Implementation
Testing
Agile process (the new way)
Brief
Design
Implement
prototype
Plan
Evaluate
prototype
Product
Establishing requirements
•
•
•
•
Gathering
Generation
Elicitation
Engineering
• Initial data collection
–
–
–
–
Interviews
Questionnaires
Observation
Think aloud protocols
• Refining requirements
– Review prototypes
– Walk-throughs
– Focus groups
Types of requirement
• Functional requirements
– Define what the system must do
– Can be tested
– Either works or not
• Non-functional requirements
–
–
–
–
Define all other requirements
Include usability goals, performance goals, etc.
Need to be evaluated
May depend on users' preferences
Example: personal agenda
Functional
Non-functional
• Store/alter/delete appointments
• Deliver reminders
• Synchronise with Google
calendar
• Runs on Android, iPhone and
Windows phone
• Personalised theme
• Multilingual
• Under 2s start up
• Operates without Internet
• Attractive to UK teenagers
Use cases
• Describe functional requirements
• "Units of interaction"
• Define interactions between actors and the system
Personal agenda
Store
appointment
Alter
appointment
Owner
Delete
appointment
Deliver
reminder
Synchronise
System
Detailed use cases
UC1: Store appointment
Actor: Owner
1.
2.
3.
4.
5.
Choose day
Choose time
Enter detail
Enter duration
Save
UC3: Deliver reminder
Actor: System
Trigger: system time = appt. time
1.
2.
Exception:
1.
UC2: Delete appointment
Actor: Owner
1.
2.
Locate appointment
Delete
Display appointment detail
Sound audible alarm
Sound turned off
Relationships between use cases
Personal agenda
Manage
appointment
Owner
<<extends>>
<<extends>>
Store
appointment
<<extends>>
Delete
appointment
Alter
appointment
<<includes>>
<<includes>>
Find
appointment
Deliver
reminder
Synchronise
System
Defining NFRs
Category
Requirement
Compatibility Runs on Android, iPhone and Windows phone
Usability
Personalised theme
Accessibility
Multilingual
Performance Under 2s start up
Reliability
Operates without Internet
Usability
Attractive to UK teenagers
Design principles (Benyon)
•
•
•
•
•
•
Visibility
Consistency
Familiarity
Affordance
Navigation
Control
•
•
•
•
•
•
Feedback
Recovery
Constraints
Flexibility
Style
Conviviality
Techniques
Prototyping
Personas
Scenarios
Storyboards
Sketches
Design
Interviews
Questionnaires
Observation
Plan
Brief
Implement
prototype
Interviews
Focus groups
User testing
Evaluate
prototype
Product
Short break
Coursework
• In 1000 words (+/- 10%),
• explain how design techniques can be used to enhance the usability
and accessibility of an interactive system.
• You must discuss examples that you have seen in lectures, tutorials
and practicals in this year's delivery of the module.
• Make sure that you draw appropriate distinctions between principles
(what to do) and techniques (how to do it).
Important elements
• Design techniques
–
–
–
–
–
–
Methods for doing design
PACT analysis
Brainstorming
Personas
Scenarios
Storyboarding
• Usability
• Accessibility
• Examples
Possible structure
• Introduction
• Definitions
– Usability
– Accessibility
State purpose of report
Set the context
• Design techniques
–
–
–
–
–
General benefits
PACT analysis
Personas
Scenarios
Storyboarding
• Conclusion
For each example technique,
explain the benefits for
usability and accessibility and
provide examples
Common errors 1
• No mention of design techniques
• Failed to distinguish between techniques for design and others
• Failed to distinguish between techniques and principles
• Failed to explain the link between a technique and the usability and
accessibility of the final product
Common errors 2
• Description of features rather than process
• Majority of report spent on definitions
• High-level recommendations
• In my opinion...
• "There are many techniques..."
• Poor use of terminology – eg HCI
Download