200 likes | 403 Views
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.
E N D
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
Structured process (the old way) Requirements specification Analysis Design Implementation Testing
Agile process (the new way) Brief 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 Runs on Android, iPhone and Windows phone Personalised theme Multilingual Under 2s start up Operates without Internet Attractive to UK teenagers • Store/alter/delete appointments • Deliver reminders • Synchronise with Google calendar
Use cases • Describe functional requirements • "Units of interaction" • Define interactions between actors and the system Personal agenda Store appointment Alter appointment Delete appointment Owner Deliver reminder Synchronise System
Detailed use cases UC1: Store appointment Actor: Owner • Choose day • Choose time • Enter detail • Enter duration • Save UC2: Delete appointment Actor: Owner • Locate appointment • Delete UC3: Deliver reminder Actor: System Trigger: system time = appt. time • Display appointment detail • Sound audible alarm Exception: • Sound turned off
Relationships between use cases Personal agenda <<extends>> Manage appointment Store appointment <<extends>> <<extends>> Owner Alter appointment Delete appointment <<includes>> <<includes>> Find appointment Deliver reminder Synchronise System
Design principles (Benyon) • Visibility • Consistency • Familiarity • Affordance • Navigation • Control • Feedback • Recovery • Constraints • Flexibility • Style • Conviviality
Techniques Prototyping Personas Scenarios Storyboards Sketches Interviews Focus groups User testing Interviews Questionnaires Observation Brief Product
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 State purpose of report • Introduction • Definitions • Usability • Accessibility • Design techniques • General benefits • PACT analysis • Personas • Scenarios • Storyboarding • Conclusion Set the context 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