Transparency Masters for Software Engineering: A

Download Report

Transcript Transparency Masters for Software Engineering: A

Software Engineering: A Practitioner’s Approach, 6/e
Chapter 12
User Interface Design
copyright © 1996, 2001, 2005
R.S. Pressman & Associates, Inc.
For University Use Only
May be reproduced ONLY for student use at the university level
when used in conjunction with Software Engineering: A Practitioner's Approach.
Any other reproduction or use is expressly prohibited.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided
with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005
1
Interface Design



Interfaces between software modules
Interfaces between software and non-human
producers and consumers (i.e. Other external entities)
Interfaces between the human (i.e. User) and
computer
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided
with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005
2
Interface Design
Easy to learn?
Easy to use?
Easy to understand?
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided
with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005
3
Interface Design
Typical Design Errors
lack of consistency
too much memorization
no guidance / help
no context sensitivity
poor response
Arcane/unfriendly
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided
with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005
4
Golden Rules



Place the user in control
Reduce the user’s memory load
Make the interface consistent
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided
with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005
5
Place the User in Control
Define interaction modes in a way that does not force a user
into unnecessary or undesired actions.
Provide for flexible interaction.
Allow user interaction to be interruptible and undoable.
Streamline interaction as skill levels advance and allow the
interaction to be customized.
Hide technical internals from the casual user.
Design for direct interaction with objects that appear on the
screen.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided
with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005
6
Reduce the User’s Memory Load
Reduce demand on short-term memory.
Establish meaningful defaults.
Define shortcuts that are intuitive.
The visual layout of the interface should be based on a real
world metaphor.
Disclose information in a progressive fashion.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided
with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005
7
Make the Interface Consistent
Allow the user to put the current task into a meaningful
context.
Maintain consistency across a family of applications.
If past interactive models have created user expectations,
do not make changes unless there is a compelling reason
to do so.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided
with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005
8
User Interface Design Models




User model — a profile of all end users of the
system categorization as novice, intermittent, or
frequent user & expert
Design model — data, architectural, interface,
and procedural representations
Mental model (system perception) — the user’s
mental image of what the interface is
Implementation model — the interface “look and
feel” coupled with supporting information that
describe interface syntax and semantics
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided
with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005
9
User Interface Design Process
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided
with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005
10
User Interface Design Process



The initial analyis activity focuses on the profile
of the users who will interact with the system.
For each class of users, requirements are
elicited.
Once the general requirements have been
defined, a more detailed task analysis is
conducted.
Analysis of the user environment focuses on the
physical work environment.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided
with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005
11
User Interface Design Process



Interface design defines a set of interface objects and actions (&
their screen representations) that enable a user to perform all
defined tasks.
Implementation activity normally begins with the creation of a
prototype that enable user scenarios to be evaluated.
Validation focuses on
* the ability of the interface to implement every tasks correctly and
to achieve all user requirements.
* the degree to which interface is easy to learn and use.
* the users´ acceptance of the interface as a useful tool in their
work.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided
with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005
12
Task Analysis and Modeling

Answers the following questions …









What work will the user perform in specific circumstances?
What tasks and subtasks will be performed as the user does the
work?
What specific problem domain objects will the user manipulate as
work is performed?
What is the sequence of work tasks—the workflow?
What is the hierarchy of tasks?
Use-cases define basic interaction
Task elaboration refines interactive tasks
Object elaboration identifies interface objects (classes)
Workflow analysis defines how a work process is completed
when several people (and roles) are involved
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided
with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005
13
Swimlane Diagram
p at ien t
r e q u e st s t h at a
p r e scr ip t io n b e r e f ille d
p h armacist
p h ysician
d e t e r m in e s st at u s o f
p r e scr ip t io n
no ref ills
remaining
ref ills
remaining
ch e cks in v e n t o r y f o r
r e f ill o r alt e r n at iv e
ch e cks p at ie n t
r e co r d s
approv es ref ill
ref ill not
allowed
e v alu at e s alt e r n at iv e
m e d icat io n
r e ce iv e s o u t o f st o ck
n o t if icat io n
out of st ock
alt ernat iv e
av ailable
in st ock
r e ce iv e s t im e / d at e
none
t o p ick u p
p icks u p
p r e scr ip t io n
f ills
p r e scr ip t io n
r e ce iv e s r e q u e st t o
co n t act p h y sician
Fig u re 1 2 .2 Sw imlan e d iag ram fo r p rescrip t io n refill fu n ct io n
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided
with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005
14
Interface Design Steps




Using information developed during interface analysis
(SEPA, Section 12.3), define interface objects and
actions (operations).
Define events (user actions) that will cause the state of
the user interface to change. Model this behavior.
Depict each interface state as it will actually look to the
end-user.
Indicate how the user interprets the state of the system
from information provided through the interface.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided
with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005
15
Interface Design Patterns

Patterns are available for









The complete UI
Page layout
Forms and input
Tables
Direct data manipulation
Navigation
Searching
Page elements
e-Commerce
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided
with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005
16
Design Issues






Response time (length & variability)
Help facilities (integrated or add-on)
Error handling
Menu and command labeling
Application accessibility
Internationalization
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided
with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005
17
Design Evaluation Cycle
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided
with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005
18