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.5 Design principles and guidelines 59 response times (even if they are long) in preference to response times that are unpredictable. ■ task conformance – does the system do everything that the user needs to do? Is some facility missing? It should be emphasized that this list of principles, useful though it is, constitutes just one of several possible categorizations of desirable attributes. Alternative factors that might be considered equally important include user error prevention, minimizing the user’s memory requirements and maximizing productivity. Principles like these are distilled from practical experience, controlled experiments and an understanding of human psychology and perception. They serve as goals to aim for during development. They can also act as quality factors (see Chapter 29 on metrics and quality assurance) that can be used to assess the quality of a completed design. For example, if recoverability is important for a particular application, an assessment of this quality can be made in order to evaluate the success of the product. Let us see how a principle, such as those above, differs from a guideline. The principle of task conformance, for example, tells us what to look for, what to aim for, but not how to achieve it – and it can sometimes be difficult to identify something that is missing. By contrast, a guideline, such as “black text on a white background is easier to read than the opposite”, is immediately useful and applicable. The drawback of principles is that they are not immediately applicable, but have to be interpreted and applied (as with real life principles). The last example of a principle, task conformance, illustrates a major problem with using these principles for user interface design – it is not always obvious how or when to use them. The designer could post the principles up above their desk so that they can see them and use them while they carry out design, but there is no explicit way of using the principles as part of a well-defined design methodology. Thus they are more akin to goals than principles. Design guidelines or rules give the designer more detailed and specific advice during the process of designing an interface. There are many long lists of guidelines in the literature and we give here only a sample of typical guidelines. If you were asked to design an interface for an application running under Microsoft Windows, for example, you would be provided with a comprehensive manual of guidelines specific to the look and feel of Windows applications. Among the many guidelines this would stipulate, for example, that the icon to close an application must be displayed at the top right of the window as a cross. Using guidelines such as these promotes the principle of consistency mentioned above. Here, for illustration, are some examples of guidelines for designing GUI interfaces: ■ ask the user for confirmation of any non-trivial destructive action (e.g. deleting a file) ■ reduce the amount of information that must be memorized in between actions ■ minimize the number of input actions required of the user, e.g. reduce the amount of typing and mouse travel that is required ■ categorize activities by function and group related controls together ■ deactivate commands that are inappropriate in the context of current actions

60 Chapter 5 ■ User interface design ■ display only the information that is relevant to the current context ■ use a presentation format that enables rapid assimilation of information, e.g. graphs and charts to present trends ■ use upper and lower case, indentation and text grouping to aid understanding ■ use windows to compartmentalize different types of activity ■ consider the available geography of the display screen and use it efficiently ■ use color sparingly. (Designers should take account of the fact that a significant number of people are color-blind.) These guidelines are more detailed and specific than the rather more generalized principles given earlier. SELF-TEST QUESTION 5.1 Distinguish between user interface design guidelines and principles. 5.6 ● Interface design The process for designing a user interface begins with the analysis of the tasks that the user needs to carry out. The human- and computer-oriented tasks are then delineated, general design principles and guidelines are considered, tools are used to prototype a system, and the result is evaluated for quality. The prototype is then refined repeatedly until it is judged satisfactory. This can be visualized as shown in Figure 5.1. [User happy] Construct prototype Check with user [User requires change] Figure 5.1 Using prototyping in user interface design Refine prototype

60 Chapter 5 ■ User interface design<br />

■ display only the in<strong>for</strong>mation that is relevant to the current context<br />

■ use a presentation <strong>for</strong>mat that enables rapid assimilation of in<strong>for</strong>mation, e.g. graphs<br />

and charts to present trends<br />

■ use upper and lower case, indentation and text grouping to aid understanding<br />

■ use windows to compartmentalize different types of activity<br />

■ consider the available geography of the display screen and use it efficiently<br />

■ use color sparingly. (Designers should take account of the fact that a significant<br />

number of people are color-blind.)<br />

These guidelines are more detailed and specific than the rather more generalized<br />

principles given earlier.<br />

SELF-TEST QUESTION<br />

5.1 Distinguish between user interface design guidelines and principles.<br />

5.6 ● Interface design<br />

The process <strong>for</strong> designing a user interface begins with the analysis of the tasks that the<br />

user needs to carry out. The human- and computer-oriented tasks are then delineated,<br />

general design principles and guidelines are considered, tools are used to prototype a<br />

system, and the result is evaluated <strong>for</strong> quality. The prototype is then refined repeatedly<br />

until it is judged satisfactory. This can be visualized as shown in Figure 5.1.<br />

[User happy]<br />

Construct<br />

prototype<br />

Check with<br />

user<br />

[User requires change]<br />

Figure 5.1 Using prototyping in user interface design<br />

Refine<br />

prototype

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

Saved successfully!

Ooh no, something went wrong!