Java Reference
In-Depth Information
e. A description of the input and corresponding expected output of a
code unit being tested.
f. A set of test cases that covers various aspects of a system.
g. With this testing approach, test cases are based solely on require-
ment specifications.
h. With this testing approach, test cases are based on the internal
workings of the program.
7.10 GUI Design
As we focus on the details that allow us to create GUIs, we may sometimes lose
sight of the big picture. As we continue to explore GUI construction, we should
keep in mind that our goal is to solve a problem. Specifically, we want to create
software that is useful. Knowing the details of components, events, and other
language elements gives us the tools to put GUIs together, but we must guide that
knowledge with the following fundamental ideas of good GUI design:
Know the user.
KEY CONCEPT
The design of any GUI should adhere
to basic guidelines regarding consis-
tency and usability.
Prevent user errors.
Optimize user abilities.
Be consistent.
The software designer must understand the user's needs
and potential activities in order to develop an interface that will serve that user well.
Keep in mind that, to the user, the interface is the software. It is the only way the
user interacts with the system. As such, the interface must satisfy the user's needs.
Whenever possible, we should design interfaces so that the user can make as few
mistakes as possible. In many situations, we have the flexibility to choose one of
several components to accomplish a specific task. We should always try to choose
components that will prevent inappropriate actions and avoid invalid input. For
example, if an input value must be one of a set of particular values, we should use
components that allow the user to make only a valid choice. That is, constraining
the user to a few valid choices with, for instance, a set of radio buttons is better
than allowing the user to type arbitrary and possibly invalid data into a text field.
We cover additional components appropriate for specific situations in this chapter.
Not all users are alike. Some are more adept than others at using a particular
GUI or GUI components in general. We shouldn't design with only the lowest com-
mon denominator in mind. For example, we should provide shortcuts whenever
reasonable. That is, in addition to a normal series of actions that will allow a user to
accomplish a task, we should also provide redundant ways to accomplish the same
 
Search WWH ::




Custom Search