CS 501: Software Engineering - PowerPoint PPT Presentation

About This Presentation
Title:

CS 501: Software Engineering

Description:

A mental model includes only enough information to allow accurate predictions (i. ... Selection of parts of an object. Searching a list or sorting the ... – PowerPoint PPT presentation

Number of Views:120
Avg rating:3.0/5.0
Slides: 52
Provided by: wya1
Category:

less

Transcript and Presenter's Notes

Title: CS 501: Software Engineering


1
CS 501 Software Engineering
Lectures 11 12 Usability
2
Course Administration
Quiz 2 on Thursday Same format as the first
quiz Quiz 3 will be on March 16
3
Presentations
Project Presentations First presentation is next
week, Tuesday through Thursday. Meeting room is
at 301 College Avenue. For instructions, read
the Assignments page. Schedule your presentation
now!!!! Available time slots are on the Home
page. Your client must attend the presentation
unless you have special permission.
4
Design
Your understand the requirements, now to design
the system.
Feasibility and Planning
Requirements
Design
Operation and Maintenance
Implementation
5
Software Design
The design phase is the most creative part of
software development. The design must Meet
the requirements Satisfy the users Provide
flexibility for changing requirements Be
suitable for implementation with available
resources Be testable and maintainable Fit
within the style of the organization(s)
6
Lectures on Design
Lectures Topic 11-12 Usability 13-14 System
Architecture 15-18 Object Oriented Design
7
Usability Reading
Reading  Mitchell Kapor, A Software Design
Manifesto. Dr. Dobbs Journal, 1991.
http//hci.stanford.edu/bds/1-kapor.html "Software
design is not the same as user interface
design." "Architects, not construction engineers,
are the professionals who have overall
responsibility for creating buildings. ... in the
actual process of designing and implementing the
building, the engineers take direction from the
architects."
8
Usability The Design/Evaluate Loop
Design
Analyze requirements
?
Build
Evaluate
9
Design for Usability
Usability of a computer system is a combination
of factors User interface design
Functionality Performance Help systems and
documentation Freedom from errors Anything
else?
10
Design from a System Viewpoint
interface design functional design data and
metadata computer systems and networks
mental model
11
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 -- pages with hyperlinks
12
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

13
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.
14
Principles of Interface Design
Interface design is partly an art there are
general principles Consistency -- in
appearance, controls, and function. Feedback
-- what is the computer system is 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
15
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
16
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)
17
Computer systems and networks
The performance, reliability and predictability
of computer systems and networks is crucial to
usability
18
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
19
Style of User InterfacesCommand 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 Requires
learning or training Can be adapted for
people with disabilities Can be
multi-lingual Suitable for scripting /
non-human clients
20
Style of User InterfacesDirect 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, slow for
skilled users Icons can be
language-independent Difficult to build
scripts Only suitable for human users
21
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. gt scroll bars,
buttons, help systems, sliders gt good for
users, good for designers look characteristics
of the appearance that convey information feel
interaction techniques that provide an appealing
experience
22
Design for Direct ManipulationMenus
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
23
Help System Design
Help system design is difficult! Must
prototype with mixed users Categories of
help gt Overview and general information gt
Specific or context information gt Tutorials
(general) gt Cook books and wizards gt
Emergency ("I am in trouble ...") Must have
many routes to same information Never blame the
user!

24
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 shows
variations
25
Information Presentation Separation of
Presentation from Content
Acrobat
Presentation software
PDF
Display
Information to be displayed
html
Presentation software
Display
Firefox
26
System Considerations of User Interfaces
Personal computer cycles are there to be
used Any network transfer involves delay
Shared systems have unpredictable performance
Data validation often requires access to shared
data Mobile code poses security risks
27
Evaluation
  • The process of determining the worth of, or
    assigning a value to, the usability on the basis
    of careful examination and judgment.
  • Making sure that a system is usable before
    launching it.
  • Iterative improvements after launch.
  • Categories of evaluation methods
  • Analytical evaluation without users
  • Empirical evaluation with users
  • Measurements of operational systems

28
Evaluation
  • How do you measure usability?
  • Usability comprises the following aspects
  • Effectiveness the accuracy and completeness
    with which users achieve certain goals Measures
    quality of solution, error rates
  • Efficiency the relation between the
    effectiveness and the resources expended in
    achieving themMeasures task completion time,
    learning time, clicks number
  • Satisfaction the users comfort with and
    positive attitudes towards the use of the
    systemMeasures attitude rating scales
  • From ISO 9241-11

29
Evaluation without Users
  • Assessing systems using established theories and
    methods
  • Evaluation techniques
  • Heuristic Evaluation (Nielsen, 1994)
  • Evaluate the design using rules of the thumb
  • Cognitive Walkthrough (Wharton et al, 1994)
  • A formalized way of imagining peoples thoughts
    and actions when they use the interface for the
    first time
  • Claims Analysis based on scenario-based
    analysis
  • Generating positive and negative claims about the
    effects of features on the user

30
Measurement
Basic concept log events in the users'
interactions with a system Examples from a Web
system Clicks (when, where on screen,
etc.) Navigation (from page to
page) Keystrokes (e.g., input typed on
keyboard) Use of help system Errors May be
used for statistical analysis or for detailed
tracking of individual user.
31
Evaluation based on Measurements
  • Analysis of system logs
  • Which user interface options were used?
  • When was was the help system used?
  • What errors occurred and how often?
  • Which hyperlinks were followed (click through
    data)?
  • Human feedback
  • Complaints and praise
  • Bug reports
  • Requests made to customer service

32
Evaluation with Users
  • Testing the system, not the users!
  • Stages of evaluation with users

User testing is time-consuming and expensive.
33
Evaluation with UsersPreparation
  • Determine goals of the usability testing
  • The user can find the required information in
    no more than 2 minutes
  • Write the user tasks
  • Answer the question how hot is the sun?
  • Recruit participants
  • Use the descriptions of users from the
    requirements phase to detect potential users

34
Usability Laboratory
Concept monitor users while they use system
Evaluators User
one-way mirror
35
Evaluation with UsersSessions Conduct
  • Conduct the session
  • Usability Lab
  • Simulated working environment
  • Observe the user
  • Human observer(s)
  • Video camera
  • Audio recording
  • Inquire satisfaction data

36
Evaluation with UsersResults Analysis
  • If possible, use statistical summaries
  • Pay close attention to areas where users
  • were frustrated
  • took a long time
  • couldn't complete tasks
  • Respect the data and users' responses, don't make
    excuses for designs that failed
  • Note designs that worked and make sure they're
    incorporated in the final product

37
Evaluation Example Eye Tracking
38
Evaluation Example Eye Tracking
39
Refining the design based on evaluation
Designers and evaluators need to work as a
team Designers are poor evaluators of their own
work, but know the requirements, constraints,
and context of the design Some user problems
can be addressed with small changes Some user
problems require major changes Some user
requests (e.g., lots of options) are incompatible
with other requests (e.g., simplicity) Do not
allow evaluators to become designers
40
The Importance of User Interface Design
Good support for users is more than a cosmetic
flourish Elegant design, appropriate
functionality, responsive system
gt a measurable difference to their effectiveness
A system that is hard to use gt users
may fail to find important results, or
mis-interpret what they do find gt user may give
up in disgust A computer system is only as good
as the interface it provides to its users
41
User Interface Design
Examples of change 1990 to 2006
42
1990
43
1995
44
2003
45
2003
46
1995
47
2006
48
1995
49
2003
50
1995
51
2006
Write a Comment
User Comments (0)
About PowerShow.com