Lecture 7 (2).pptx
Document Details
Uploaded by CleverBromeliad
Tags
Full Transcript
Lecture 7 Task Analysis User Centered Design (UCD) Steps 1. Task and user analysis 2. Design sketches 3. Paper prototype 4. User testing 5. Computer prototype 6. Heuristic evaluation 7. Full implementation 8. User testing Lecture outlines User Analysis Task Analysis Domain Anal...
Lecture 7 Task Analysis User Centered Design (UCD) Steps 1. Task and user analysis 2. Design sketches 3. Paper prototype 4. User testing 5. Computer prototype 6. Heuristic evaluation 7. Full implementation 8. User testing Lecture outlines User Analysis Task Analysis Domain Analysis Requirements Analysis User Analysis Identify characteristics of target user Age, gender, culture and language Education Physical limitations Computer experience Motivation, attitude Domain Experience Application Experience Importance of user Analysis Since you’re not the user, you need to find out who the user actually is. User analysis seems so obvious that it’s often skipped. Failing to do it explicitly makes it easier to fall into the trap of assuming every user is like you. It’s better to do some thinking and collect some information first. Multiple classes of users Many, if not most, applications have to worry about multiple classes of users. Some user groups are defined by the roles that the user plays in the system: student, teacher, reader, editor. Other groups are defined by characteristics: age (teenagers, middle-aged, elderly); motivation (early adopters, frequent users, casual users). How to do user analysis? Find some representative users and talk to them. Straightforward characteristics can be obtained by a questionnaire. Details about context and environment can be obtained by interviewing users directly, Observing your users going about their business, in their natural habitat. Task Analysis Tasks involved in your problem. A task should be expressed as a goal: what needs to be done, not how. One good way to get started on a task analysis is hierarchical decomposition. Think about the overall problem you’re trying to solve. That’s really the top-level task. Then decompose it into a set of subtasks, or subgoals, that are part of satisfying the overall goal. Hierarchical Task Analysis Build a tree diagram structure, objective approach to describing users’ performance of tasks. You can break down these tasks into multiple levels of subtasks. Understanding user interactions at multiple levels of abstraction When designing a new system, hierarchical task analysis lets you explore various possible approaches to completing the same task. The Benefits of Hierarchical Task Analysis It lets you objectively compare different approaches to the supporting same task in terms of the numbers and types of steps the approaches require. It enables effective UI design, because designers can understand how a system works, at whatever level of abstraction. Essential parts of Task Analysis Every task in a task analysis should have at least these parts. 1. The goal is just the name of the task, 2. The preconditions are the conditions that must be satisfied before it’s reasonable or possible to attempt the task. 3. Finally, decompose the task into subtasks, individual steps involved in doing the task. Example: Task Analysis of Shopping Clothes Online Application Goal: Buy a sweatshirt Preconditions : Must know the type of product you want to buy and your payment type. Subtasks: Choose your product, Confirm to buy, update your information finally, confirm for payment Domain Analysis Identify important things in the domain Domain analysis: Discovers the elements of the domain and how they’re related to each other. Elements or entities of the domain: People(user classes) Physical objects Information objects issomething that consists only of bits. You can't store a chair digitally, but you can purchase order, or an email message, or an account. Identify important things in the domain Draw each kind of entity as a labeled box, as shown here. Think about these boxes as representing a set of objects. Next, determine the relationships between the entities that matter to your problem, and draw them as edges. “has-a”: Customer has an account “is-a”: to show that several entity classes are subclasses of a larger one teacher and TA’s are Instructors Example of domain analysis : UML and ERD Example: Domain’s Entities Sysadmin Products Users Accounts Message Producer determine the relationships between the entities sysadmin create users account product account Buy Add Multiplicity Users accoun Account Buy Product t ! 10 [0-100] You can abbreviate common multiplicities with symbols: ! means exactly 1, ? means 0 or 1, +means 1 or more, * means 0 or more. Requirements Analysis Requirements Analysis User, task, and domain analysis feed into a more general process called requirements analysis. creates a description of the system’s desired functionality and nonfunctional properties performance, security, and capacity. User and task analysis contribute additional functionality. How system will behave to a certain input. Also nonfunctional requirements about usability how efficient certain tasks should be, or how learnable, or how memorable about other properties of the system as well accommodation for users’ physical limitations, like impaired vision. Example: Support Multilanguage for international customers. Purchase task should take less than 30 seconds. Support different payment options. Keep track of items in the stock. Etc… HW: will be handed in the section Divide into groups of at least 6 members. Choose a project of your interest. Submit user analysis form: questionnaire Submit user task analysis. Submission will be in your section time scheduled by your TAs.