User-Interface Design in Metis

User-interface design is rarely considered by methodologies as a development function. Metis integrates it at the modeling level, because the UI of an interactive system must be a good model of what's under the hood and also of what the user expects to find.

The interaction between the system and its users is expressed in Metis by system services, or wide areas of functionality that the system can provide. System services are often independent from each other, and usually can be requested in any order. For example, PrintDocument may be a system service for a word-processing application. Every system service can be expressed as a service state diagram, which shows the states that the system can get into regarding that service. Figure 1 is a service state diagram for the PrintDocument system service. Notice that three kinds of states can be used: Ready, in which the system can respond to user requests; Busy, during which the system cannot respond to user requests; and Modal, during which the system can respond to a very restricted set of user interactions, and which usually can be associated with a specific user-interface element.

A UI element is a visual device that the system can use to communicate with the user, such as dialog boxes, toolbars, and the like. The service state diagram shown in Figure 1 includes references to user-interface elements just below every Modal state. Separately, sketches of user-interface elements must be drawn, showing every control and parameter that may be needed. Figure 2 is a sketch for the DlgMessage user- interface element, which is used by the Modal/NoPrinter and Modal/Done states in the PrintDocument system service. Different states may use the same UI element, perhaps customizing it with different values of its parameters, just as Modal/NoPrinter and Modal/Done do. Notice that parameter values can be expressed in service state diagrams.

--C.G. and P.C.

Back to Article