COMP303TH
Software Engineering
Unit: II
Lecture: 8
User Interface Design
User Interface Design creates an effective communication medium between a
human and a computer. Following a set of interface design principles, design
identifies interface objects and actions and then creates a screen layout that
forms the basis for a user interface prototype.
Interface design focuses on three areas of concern:
The design of interfaces between software components,
The design of interfaces between the software and other nonhuman
producers and consumers of information (i.e., other external entities),
and
The design of the interface between a human (i.e., the user) and the
computer.
User Interface Design Principles :
Theo Mandel coins three ―golden rules‖ for user interface design:
1. Place the user in control.
2. Reduce the user’s memory load.
3. Make the interface consistent.
Place the user in control:
During a requirements gathering session for a major new information system, a
key user was asked about the attributes of the window oriented graphical
interface.
Mandel defines a number of design principles that allow the user to maintain
control:
a) Define interaction modes in a way that does not force a user into
unnecessary or undesired actions.
b) Provide for flexible interaction.
c) Allow user interaction to be interruptible and undoable.
d) Streamline interaction as skill levels advance and allow the interaction
to be customized.
e) Hide technical internals from the casual user.
f) Design for direct interaction with objects that appear on the screen
Reduce the user’s memory load:
The more a user has to remember, the more error-prone will be the interaction
with the system. It is for this reason that a well-designed user interface does
not tax the user’s memory. Whenever possible, the system should ―remember‖
COMP303TH
Software Engineering
pertinent information and assist the user with an interaction scenario that
assists recall.
Mandel defines design principles that enable an interface to reduce the user’s
memory load:
a) Reduce demand on short – term memory.
b) Establish meaningful defaults.
c) Define shortcuts that are intuitive.
d) The visual layout of the interface should be based on a real world
metaphor.
e) Disclose information in a progressive fashion
Make the interface consistent:
The interface should present and acquire information in a consistent fashion.
This implies that
(1) All visual information is organized according to a design standard that is
maintained throughout all screen displays,
(2) Input mechanisms are constrained to a limited set that are used
consistently throughout the application, and
(3) Mechanisms for navigating from task to task are consistently defined and
implemented.
Mandel defines a set of design principles that help make the interface
consistent:
a) Allow the user to put the current task into a meaningful context.
b) Maintain consistency across a family of applications.
c) If past interactive models have created user expectations, do not make
changes unless there is a compelling reason to do so.
The User Interface Design Process
The design process for user interfaces is iterative and can be represented using
a spiral model. Referring to Figure below, the user interface design process
encompasses four distinct framework activities:
a) User, task, and environment analysis and modeling
b) Interface design
c) Interface construction
d) Interface validation
The spiral shown in Figure below implies that each of these tasks will occur
more than once, with each pass around the spiral representing additional
elaboration of requirements and the resultant design. In most cases, the
COMP303TH
Software Engineering
implementation activity involves prototyping—the only practical way to validate
what has been designed
a) User, task, and environment analysis and modeling :
The initial analysis activity focuses on the profile of the users who
will interact with the system. Skill level, business understanding, and
general receptiveness to the new system are recorded; and different user
categories are defined.
For each user category, requirements are elicited. In essence, the
software engineer attempts to understand the system perception for
each class of users.
Once general requirements have been defined, a more detailed task
analysis is conducted. Those tasks that the user performs to accomplish
the goals of the system are identified, described, and elaborated (over a
number of iterative passes through the spiral). The analysis of the user
environment focuses on the physical work environment. Among the
questions to be asked are:
Where will the interface be located physically?
Will the user be sitting, standing, or performing other tasks
unrelated to the interface?
Does the interface hardware accommodate space, light, or noise
constraints?
Are there special human factors considerations driven by
environmental factors?
COMP303TH
Software Engineering
b) Interface design:
The information gathered as part of the analysis activity is used to
create an analysis model for the interface. Using this model as a basis,
the design activity commences. The goal of interface design is to define a
set of interface objects and actions (and their screen representations)
that enable a user to perform all defined tasks in a manner that meets
every usability goal defined for the system.
c) Interface construction:
The implementation activity normally begins with the creation of a
prototype that enables usage scenarios to be evaluated. As the iterative
design process continues, a user interface tool kit may be used to
complete the construction of the interface.
d) Interface validation:
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; and
3. The users’ acceptance of the interface as a useful tool in their work.