Supplementary Slides for Software Engineering: A Practitioner's Approach, 5/e

Download Report

Transcript Supplementary Slides for Software Engineering: A Practitioner's Approach, 5/e

Supplementary Slides for
Software Engineering:
A Practitioner's Approach, 5/e
copyright © 1996, 2001
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.
This presentation, slides, or hardcopy may NOT be used for
short courses, industry seminars, or consulting purposes.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
1
Slide 17
Chapter 15
User Interface Design
Chapter 15 at SEPA
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
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, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
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, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
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, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
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, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
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, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
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, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
8
User Interface Design Models
System perception — the user’s mental image
of what the interface is
User model — a profile of all end users of the
system
System image — the “presentation” of the
system projected by the complete interface
Design model — data, architectural, interface
and procedural representations of the
software
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
9
User Category
Novices
Knowledgeable, intermittent users
Knowledgeable, frequent users
 Often leads to “power-user syndrome”
++
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
10
User Interface Design Process
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
11
Analysis of User Environment
 Where will the interface be located physically?
 Will the user sitting, standing, or performing other
tasks?
 Does the interface hardware accommodate space,
light, or noise constraint?
 Are there special human factors considerations driven
by environmental factors?
 to create an analysis model for interface as a
basis for design activity
++
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
12
Interface design
To define a set of interface objects and
actions (and their screen representations)
that enable the user to perform all defined
tasks that meet every usablility goal defined
by the system
++
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
13
Implementation
Usually begins with the creation of a
prototype
User interface tool kit may be used to
complete the construction
++
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
14
Validation
 Focuses on
1. The ability of the interface
 to implement every user task correctly,
 to accommodate all task variations, and
 to achieve all general user requirements
2. The degree to which the interface is easy to
use and easy to learn
3. The user’s acceptance of the interface
++
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
15
Task Analysis and Modeling
All human tasks required to do the job (of the
interface) are defined and classified
Objects (to be manipulated) and actions
(functions applied to objects) are identified
for each task
Tasks are refined iteratively until the job is
completely defined
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
16
Interface Design Activities
1. Establish the goals and intentions for each task.
2. Map each goal/intention to a sequence of specific actions.
3. Specify the action sequence of tasks and subtasks, also
called a user scenario, as it will be executed at the interface
level.
4. Indicate the state of the system, i.e., what does the interface
look like at the time that a user scenario is performed?
5. Define control mechanisms, i.e., the objects and actions
available to the user to alter the system state.
6. Show how control mechanisms affect the state of the system.
7. 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, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
17
Design Issues
System response time
 Variability: deviation from the average response time
User help facilities
 Integrated
 Add-on
Error information handling
Command labeling
++
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
18
Design Evaluation Cycle
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
19
Evaluation criteria
The length and complexity of specification
indicates the amount of learning required
The number of tasks and actions per task
indicates the interaction time
The number of actions, tasks & system states
imply the memory load on users
Interface style, help facilities & error handling
indicates the complexity of the interface
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
20