31
CS 5150 1 CS 5150 Software Engineering Lecture 11 Usability 1

CS 5150 1 CS 5150 Software Engineering Lecture 11 Usability 1

  • View
    231

  • Download
    1

Embed Size (px)

Citation preview

Page 1: CS 5150 1 CS 5150 Software Engineering Lecture 11 Usability 1

CS 5150 1

CS 5150 Software Engineering

Lecture 11

Usability 1

Page 2: CS 5150 1 CS 5150 Software Engineering Lecture 11 Usability 1

CS 5150 2

Course Administration

Test 2 this evening

Same format as the first test

Weekly reports

Alex Fix will read the reports and send you any messages about them.

Be sure that the report includes a brief summary of what was planned for last week, what was achieved, and what is planned for this week.

Page 3: CS 5150 1 CS 5150 Software Engineering Lecture 11 Usability 1

CS 5150 3

Planning for the Presentation

How will you use the time?

This is a presentation to the client, with the instructor and teaching assistant as a secondary audience. Possible topics:

• Overview of project and progress against plan.

• Presentation of assumptions, decisions.

• Summary of requirements in moderate detail.

• What has been learned since feasibility study? Changes in plans.

Allow 15 minutes for questions. Expect interruptions.

"This is our understanding of your requirements..."

Page 4: CS 5150 1 CS 5150 Software Engineering Lecture 11 Usability 1

CS 5150 4

Planning for the Presentation

Not everybody is a great presenter, but everybody can be well-prepared.

Have a rehearsal, check visual aids and demonstrations. Then change nothing.

Check out the equipment in the meeting room. What network will you use (if any). How will you connect a computer (if you do)? What about firewalls?

Will one person act as chair and call on other members of the team?

Page 5: CS 5150 1 CS 5150 Software Engineering Lecture 11 Usability 1

CS 5150 5

During the Presentation

• The presenter should stand. Other people should sit.

• Appoint a team member to take notes.

• The first presenter should introduce everybody.

• When asked a question:

-> If the presenter knows the answer, answer it.-> Or the presenter may ask another team member to answer.-> Otherwise make a note and reply later.

• Never interrupt your colleagues. If you have information to add, raise you hand and the presenter can decide whether to call on you.

Page 6: CS 5150 1 CS 5150 Software Engineering Lecture 11 Usability 1

CS 5150 6

The Importance of User Interface Design

Good support for users is more than a cosmetic flourish

• Elegant design, appropriate functionality, & responsive system: => a measurable difference to their effectiveness

• A system that is hard to use: => users may fail to find important results, or mis-interpret what they do find=> user may give up in disgust

A computer system is only as good as the interface it provides to its users

Page 7: CS 5150 1 CS 5150 Software Engineering Lecture 11 Usability 1

CS 5150 7

Usability: The Analyze/Design/Evaluate Loop

Evaluate

?Design

Build

Analyze requirements

The Information Science program and Communication Department offer a series of courses in Human Computer Interaction.

User testing

Page 8: CS 5150 1 CS 5150 Software Engineering Lecture 11 Usability 1

CS 5150 8

Requirements for User Interfaces

It is almost impossible to specify an interactive interface in a textual document

• Requirement documents benefit from sketches, comparison with existing systems, etc.

• Design documents should definitely include graphical elements and benefit from a mock-up or other form of prototype.

• Schedules should include user testing and time to make changes.

User interfaces must be tested with users. Expect to changethe requirements as the result of testing.

Page 9: CS 5150 1 CS 5150 Software Engineering Lecture 11 Usability 1

CS 5150 9

Tools for Usability Requirements and Evaluation

Initial Mock-up Prototype Production

Client's opinions

Competitive analysis

Expert opinion

Focus groups

Observing users

Measurements

Page 10: CS 5150 1 CS 5150 Software Engineering Lecture 11 Usability 1

CS 5150 10

Tools for Usability Requirements:

Mock-up

Page 11: CS 5150 1 CS 5150 Software Engineering Lecture 11 Usability 1

CS 5150 11

Tools for Usability Requirements: Focus Group

A focus group is a group interview

• Interviewer

• Potential users

Typically 5 to 12

Similar characteristics (e.g., same viewpoint)

• Structured set of questions

May show mock-ups

Group discussions

• Repeated with contrasting user groups

Page 12: CS 5150 1 CS 5150 Software Engineering Lecture 11 Usability 1

CS 5150 12

Usability:Accessibility Requirements

Requirements about accessibility (e.g., support for users with disabilities) are most likely to arise in the user interface.

You may have a legal requirement to support people with disabilities.

Example of requirements specification:

The system must comply with Section 508 of the US Rehabilitation Act. See http://www.section508.gov/

Page 13: CS 5150 1 CS 5150 Software Engineering Lecture 11 Usability 1

CS 5150 13

Usability Requirements: Device-aware User Interfaces

Examples:

desk-top computer, fast network connectionlaptop computer, intermittent connectivityiPod, synchronizationsmart telephonedigital camera, camcorder

Device-aware user interfaces:

=> performance of device=> limited form factor (display, keyboard)=> connectivity

Page 14: CS 5150 1 CS 5150 Software Engineering Lecture 11 Usability 1

CS 5150 14

Usability: Non-Functional Requirements

Performance, Reliability, Scalability, Security…

Example: Response time0.1 sec – the user feels that the system is reacting instantaneously1 sec – the user will notice the delay, but his/her flow of thought stays uninterrupted10 sec – the limit for keeping the user's attention focused on the dialogue

Page 15: CS 5150 1 CS 5150 Software Engineering Lecture 11 Usability 1

CS 5150 15

Design from a System Viewpoint

interface design

functional design

data and metadata

computer systems and networks

mentalmodel

Page 16: CS 5150 1 CS 5150 Software Engineering Lecture 11 Usability 1

CS 5150 16

Mental Model

What a person thinks is true about a system, not necessarily what is actually true

• Similar in structure to the system that is represented

• Allows a person to predict the results of his actions

• Simpler than the represented system. A mental model includes only enough information to allow accurate predictions (i.e. no data structures)

Also called conceptual model

Page 17: CS 5150 1 CS 5150 Software Engineering Lecture 11 Usability 1

CS 5150 17

Examples of Mental Model

The mental (conceptual) model is the user's internal model of what the system provides:

• The desk top metaphor -- files and folders

• The Web model -- one vast collection of pages with hyperlinks

Page 18: CS 5150 1 CS 5150 Software Engineering Lecture 11 Usability 1

CS 5150 18

Interface Design

The interface design is the appearance on the screen and the actual manipulation by the user

• Fonts, colors, logos, key board controls, menus, buttons

• Mouse control or keyboard control

• Conventions (e.g., "back", "help")

Examples:

• Screen space utilization in Acrobat.

• Number of snippets per page in Web search.

Page 19: CS 5150 1 CS 5150 Software Engineering Lecture 11 Usability 1

CS 5150 19

Principles of Interface Design

Interface design is partly an art, but there are general principles:

• Consistency -- in appearance, controls, and function.

• Feedback -- what is the computer system doing? why does the user see certain results?

• Users should be able to interrupt or reverse actions

• Error handling should be simple and easy to comprehend

• Skilled users should be offered shortcuts; beginners should have simple, well-defined options

The user should feel in control

Page 20: CS 5150 1 CS 5150 Software Engineering Lecture 11 Usability 1

CS 5150 20

Functional Design

The functional design, determines the functions that are offered to the user

• Selection of parts of an object

• Searching a list or sorting the results

• Help information

• Manipulation of objects on a screen

• Pan or zoom

There may be many user interface choices for the same function, e.g., Macintosh v. Windows desktop

Page 21: CS 5150 1 CS 5150 Software Engineering Lecture 11 Usability 1

CS 5150 21

Data and Metadata

Structural data and metadata stored by the computer system enable the functions and the interface

• Effectiveness of searching depends on the type and quality of data that is indexed (free-text, controlled vocabulary, etc.)

• The desktop metaphor has the concept of associating a file with an application. This requires a file type to be stored with each file:

-- extension to filename (Windows and Unix) -- resource fork (Macintosh)

Page 22: CS 5150 1 CS 5150 Software Engineering Lecture 11 Usability 1

CS 5150 22

Computer Systems and Networks

The performance, reliability and predictability of computer systems and networks is crucial to usability

Examples

• Instantaneous response time for mouse tracking and echo of key stroke

• Pipelined algorithm for the Mercury page turner

• Quality of Service for real time information

Page 23: CS 5150 1 CS 5150 Software Engineering Lecture 11 Usability 1

CS 5150 23

Command Line Interfaces andText-only Menus

Command line interfaces and text-only menus had become almost entirely replaced by graphical interfaces, but are returning:

• Devices with small form factor or other special features, e.g. cell phone, PDA, etc.

• Interfaces for simple tasks with general users, e.g. automated bank teller (ATM)

Page 24: CS 5150 1 CS 5150 Software Engineering Lecture 11 Usability 1

CS 5150 24

Design: Command Line Interfaces

SEARCH I NSPEC Dat abase- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Type keywor ds and pr ess RETURN - - orent er a command

Def aul t i s ADJ : aci d f r ee- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Set #3: aci d adj f r e 0 r ecor ds I NSPEC Dat abase

Set #4: aci d adj f r ee 5 r ecor ds I NSPEC Dat abase

Set #5: aci d and paper 448 r ecor ds I NSPEC Dat abase

Set #6: deaci di f i cat i on 4 r ecor ds I NSPEC Dat abase- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Page 25: CS 5150 1 CS 5150 Software Engineering Lecture 11 Usability 1

CS 5150 25

Design: Command Line Interfaces

User interacts with computer by typing commands

• Allows complex instructions to be given to computer

• Facilitates formal methods of specification & implementation

• Skilled users can input commands quickly

• Unless very simple, requires learning or training

• Can be adapted for people with disabilities

• Can be multi-lingual

• Suitable for scripting / non-human clients

Page 26: CS 5150 1 CS 5150 Software Engineering Lecture 11 Usability 1

CS 5150 26

Design:Graphical Interfaces and Direct Interaction

User interacts with computer by manipulating objects on screen

• Can be intuitive and easy to learn

• Users get immediate feedback

• Not suitable for some complex interactions

• Does not require typing skills

• Straightforward for casual users, may be slow for skilled users

• Icons can be language-independent

• Difficult to build scripts

• Only suitable for human users

Page 27: CS 5150 1 CS 5150 Software Engineering Lecture 11 Usability 1

CS 5150 27

Design for Direct Manipulation

metaphors and mental models: Conceptual models, metaphors, icons, but there may not be an intuitive model

navigation rules: How to move among data functions, activities and roles in a large space

conventions: Familiar aspects that do not need extra training.

=> scroll bars, buttons, help systems, sliders

=> good for users, good for designers

look: characteristics of the appearance that convey information

feel: interaction techniques that provide an appealing experience

Page 28: CS 5150 1 CS 5150 Software Engineering Lecture 11 Usability 1

CS 5150 28

Design for Direct Manipulation: Menus

• Easy for users to learn and use• Certain categories of error are avoided• Enables context-sensitive help

Major difficulty is structure of large choices

• Scrolling menus (e.g., states of USA)• Hierarchical• Associated control panels• Menus plus command line

Users prefer broad and shallow to deep menu systems

Page 29: CS 5150 1 CS 5150 Software Engineering Lecture 11 Usability 1

CS 5150 29

Help System Design

Help system design is difficult

• Must prototype with mixed users

• Categories of help:

=> Overview and general information=> Specific or context information=> Tutorials (general)=> Cook books and wizards=> Emergency ("I am in trouble ...")

• Must have many routes to same information

Never blame the user!

Page 30: CS 5150 1 CS 5150 Software Engineering Lecture 11 Usability 1

CS 5150 30

Information Presentation

Simple is often better than fancy

• Text

precise, unambiguous

fast to compute and transmit

• Graphical interface

simple to comprehend / learn

uses of color

variations show different cases

Page 31: CS 5150 1 CS 5150 Software Engineering Lecture 11 Usability 1

CS 5150 31

Separation of Presentation from Content

Information to be displayed

Presentation software Display

Presentation software

Display

PDF

Acrobat

html

Firefox