Software Engineering for Students A Programming Approach

Software Engineering for Students A Programming Approach Software Engineering for Students A Programming Approach

web.firat.edu.tr
from web.firat.edu.tr More from this publisher
21.08.2013 Views

5.3 Styles of human–computer interface 55 responses to system-generated queries. If we take as an example the instruction to delete a file, the command to do it typically looks like this: del c:\file.txt where the user has to key in this text (accurately), following a prompt from the system. This type of command is associated with such operating systems as Unix. This kind of interaction is error prone, very unforgiving if an error occurs, and relatively difficult to learn. Clearly, command line interfaces are not suitable for casual and inexperienced users. On the other hand, experienced users often prefer a command line interface. A development of the command line is the menu interface. The user is offered a choice of commands, like this: To delete the file, key D To display the file, key L To open a file, key O To save the file, key S after which the user makes their selection by pressing the appropriate key. Menu-based systems have several advantages over a command line interface: ■ users do not need to remember what is on offer ■ users do not need to know command names ■ typing effort is minimal ■ some kinds of user error are avoided (e.g. invalid menu options can be disabled) ■ syntax errors are prevented ■ context-dependent help can be provided. The ATM, specified in Appendix A and designed later in this chapter uses a menu interface. The user uses buttons to select options. Use of a mouse is inappropriate since it is not sufficiently robust for use in open-air, public situations. Developments in user interfaces have been largely enabled by more sophisticated technology – early computers only had facilities for text input and output, whereas modern computers have high-resolution bit mapped displays and pointing devices. As hardware became more sophisticated, and software engineers learned more about human factors and their impact on interface design, the modern window-oriented, point and pick interface evolved – with a GUI or WIMP (windows, icons, menus and pointing devices). Such an interface presents the user with a set of controls or widgets (window gadgets), such as buttons, scroll bars and text boxes. Instead of typing an option the user makes a selection using the mouse and mouse button. The advantages of GUIs include: ■ they are relatively easy to learn and use ■ the user can use multiple windows for system interaction ■ fast, full-screen interaction is possible with immediate access to anywhere on the screen

56 Chapter 5 ■ User interface design ■ different types of information can be displayed simultaneously, enabling the user to switch contexts ■ the use of graphical icons, pull-down menus, buttons and scrolling techniques reduce the amount of typing. One way of helping to achieve interface consistency is to define a consistent model or metaphor for user–computer interaction, which is analogous to some real world domain that the user understands. A direct manipulation interface presents users with a visual model of their information space. The best known of these is the desktop metaphor, familiar to users of Microsoft and Apple Macintosh operating systems. Another example is a WYSIWYG (what you see is what you get) word processor. While there is a massive trend towards multitasking, window-oriented, point and pick interfaces which can make HCI easier, this only happens if careful design of the interface is conducted. Using a GUI is, in itself, no guarantee of a good interface. 5.4 ● Different perspectives on user interface design In designing a user interface it is as well to realize that there are several potentially different viewpoints. The perspectives are: ■ the end-user who will eventually get to use the software ■ different end-users with different personalities ■ the novice or occasional user ■ the experienced or power user ■ users with different types of skill ■ the software developer who designs and implements the system. Most people do not apply any formal reasoning when confronted with a problem, such as understanding what a computer is displaying. Rather, they apply a set of guidelines, rules and strategies based on their understanding of similar problems. These are called heuristics. These heuristics tend to be domain specific – an identical problem, encountered in entirely different contexts, might be solved by applying different heuristics. A user interface should be developed in a manner that enables the human to develop heuristics for interaction. The problem is that different people often have different perspectives of the user interface; they also have different skills, culture and personalities. Each person has some model of how the system works and what it does. These different perspectives are sometimes called mental models. An interface used by two individuals with the same education and background but entirely different personalities may seem friendly to one and unfriendly to the other. Therefore, the ideal user interface would be designed to accommodate differences in personality, or, alternatively, would be designed to accommodate a typical personality among a class of end users. A third possibility is to create an interface that is flexible and can be used in different ways according to personality differences.

56 Chapter 5 ■ User interface design<br />

■ different types of in<strong>for</strong>mation can be displayed simultaneously, enabling the user to<br />

switch contexts<br />

■ the use of graphical icons, pull-down menus, buttons and scrolling techniques<br />

reduce the amount of typing.<br />

One way of helping to achieve interface consistency is to define a consistent model<br />

or metaphor <strong>for</strong> user–computer interaction, which is analogous to some real world<br />

domain that the user understands. A direct manipulation interface presents users with<br />

a visual model of their in<strong>for</strong>mation space. The best known of these is the desktop<br />

metaphor, familiar to users of Microsoft and Apple Macintosh operating systems.<br />

Another example is a WYSIWYG (what you see is what you get) word processor.<br />

While there is a massive trend towards multitasking, window-oriented, point and<br />

pick interfaces which can make HCI easier, this only happens if careful design of the<br />

interface is conducted. Using a GUI is, in itself, no guarantee of a good interface.<br />

5.4 ● Different perspectives on user interface design<br />

In designing a user interface it is as well to realize that there are several potentially different<br />

viewpoints. The perspectives are:<br />

■ the end-user who will eventually get to use the software<br />

■ different end-users with different personalities<br />

■ the novice or occasional user<br />

■ the experienced or power user<br />

■ users with different types of skill<br />

■ the software developer who designs and implements the system.<br />

Most people do not apply any <strong>for</strong>mal reasoning when confronted with a problem,<br />

such as understanding what a computer is displaying. Rather, they apply a set of guidelines,<br />

rules and strategies based on their understanding of similar problems. These are<br />

called heuristics. These heuristics tend to be domain specific – an identical problem,<br />

encountered in entirely different contexts, might be solved by applying different heuristics.<br />

A user interface should be developed in a manner that enables the human to develop<br />

heuristics <strong>for</strong> interaction.<br />

The problem is that different people often have different perspectives of the user<br />

interface; they also have different skills, culture and personalities. Each person has some<br />

model of how the system works and what it does. These different perspectives are sometimes<br />

called mental models.<br />

An interface used by two individuals with the same education and background but<br />

entirely different personalities may seem friendly to one and unfriendly to the other.<br />

There<strong>for</strong>e, the ideal user interface would be designed to accommodate differences in<br />

personality, or, alternatively, would be designed to accommodate a typical personality<br />

among a class of end users. A third possibility is to create an interface that is flexible and<br />

can be used in different ways according to personality differences.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!