Note 2 - MetaLab

moancapableAI and Robotics

Nov 17, 2013 (4 years and 1 month ago)

99 views

These slides are designed to accompany
Software Engineering: A Practitioner’s Approach, 7/e
(McGraw
-
Hill, 2009) Slides copyright 2009 by Roger Pressman.

1

Chapter 11


User Interface Design

Slide Set to accompany

Software Engineering: A Practitioner’s Approach, 7/e


by Roger S. Pressman


Slides copyright © 1996, 2001, 2005, 2009

by Roger S. Pressman


For non
-
profit educational use only


May be reproduced ONLY for student use at the university level when used in conjunction
with
Software Engineering: A Practitioner's Approach, 7/e.
Any other reproduction or use is
prohibited without the express written permission of the author.


All copyright information MUST appear if these slides are posted on a website for student
use.

These slides are designed to accompany
Software Engineering: A Practitioner’s Approach, 7/e
(McGraw
-
Hill, 2009) Slides copyright 2009 by Roger Pressman.

2

Interface Design

Easy to use?

Easy to understand?


Easy to learn?

These slides are designed to accompany
Software Engineering: A Practitioner’s Approach, 7/e
(McGraw
-
Hill, 2009) Slides copyright 2009 by Roger Pressman.

3

Interface Design

lack of consistency

too much memorization

no guidance / help

no context sensitivity

poor response

Arcane/unfriendly

Typical Design Errors

These slides are designed to accompany
Software Engineering: A Practitioner’s Approach, 7/e
(McGraw
-
Hill, 2009) Slides copyright 2009 by Roger Pressman.

4

Golden Rules


Place the user in control


Reduce the user’s memory load


Make the interface consistent

These slides are designed to accompany
Software Engineering: A Practitioner’s Approach, 7/e
(McGraw
-
Hill, 2009) Slides copyright 2009 by Roger Pressman.

5

Place the User in Control


Define interaction modes in a way that does not force a user
into unnecessary or undesired actions.


Example: Spell check. The user should be able to enter and
exit the mode with little or no effort.


Provide for flexible interaction.


Example: keyboard commands/ mouse movement/ multi touch
screen/ voice recognition commands


Allow
user interaction to be interruptible and undoable
.



In the event where the user is involved in a sequence of
actions, allow them to interrupt the sequence.


Allow user to “undo” action.


These slides are designed to accompany
Software Engineering: A Practitioner’s Approach, 7/e
(McGraw
-
Hill, 2009) Slides copyright 2009 by Roger Pressman.

6

Place the User in Control


Streamline
interaction as skill levels advance and allow the
interaction to be customized.


Example: Use macro to customize the interface to facilitate
interaction.


Hide technical internals from the casual user.


Design for direct interaction with objects that appear on the
screen.


Reduce the User’s Memory Load

These slides are designed to accompany
Software Engineering: A Practitioner’s Approach, 7/e
(McGraw
-
Hill, 2009) Slides copyright 2009 by Roger Pressman.

7


Reduce demand on short
-
term memory
.


Reduce the requirement to remember past actions, inputs, and
results.


Example: Provide visual cues that enable a user to recognize
past actions, rather than having to recall them.


Establish meaningful defaults.


The initial set of defaults should make sense for the average
user.


Allow the user to specify individual preferences as well.


Provide “reset” option to enable redefinition of
orgiginal

default
values.

These slides are designed to accompany
Software Engineering: A Practitioner’s Approach, 7/e
(McGraw
-
Hill, 2009) Slides copyright 2009 by Roger Pressman.

8

Reduce the User’s Memory Load


Define
shortcuts that are intuitive.


When using mnemonic to accomplish a system function, it
should be tied to the action in a way that easy to remember.
Example: ctrl
-
C for copy.


The visual layout of the interface should be based on a real
world metaphor.


Example: Usage of checkbook/ check register metaphor in bill
payment system.


Disclose information in a progressive fashion
.


Example: Underlining function. It is one of a number of functions
under a text style menu. However, every underlining capability is
not listed. User must pick underlining, then all underlining options
are presented.


These slides are designed to accompany
Software Engineering: A Practitioner’s Approach, 7/e
(McGraw
-
Hill, 2009) Slides copyright 2009 by Roger Pressman.

9

Make the Interface Consistent


Allow the user to put the current task into a meaningful
context.


Example: Provide indicators( window titles, graphical icons,
consistent color coding) that enable the user to know the
context of the work at hand.


Maintain consistency across a family of applications.

These slides are designed to accompany
Software Engineering: A Practitioner’s Approach, 7/e
(McGraw
-
Hill, 2009) Slides copyright 2009 by Roger Pressman.

10

Make the Interface Consistent


If
past interactive models have created user expectations,
do not make changes unless there is a compelling reason
to do so.


Example: User expects to use ctrl
-
S to save in every
application he encounters.