3.1 Requirements



next up previous contents index
Next: 3.2 Architectural Design Up: 3 Graphical User Interface Previous: 3 Graphical User Interface

3.1 Requirements

 

Graphical user interfaces are much too often judged by their visual appearance instead of their practical utility and the long-term features that support the programmer in providing the user with applications. Moreover, it is misleading and sometimes dangerous to assess a user interface by the short-term impact its introduction has on any other aspect than sales.

To obtain real, long-lasting advantages, the graphical user interface must meet certain technical requirements.

Configuration and Customization.
It should be possible to configure visual and non-visual operating parameters of the user interface to adopt the appearance and policy of existing systems and to resolve any installation or run-time conflicts.

Portability and Migration Support.
Despite the desires of standards for window systems, window system software follows the same evolution as workstation technologygif. So although a reliable standard is indeed highly desired from the application programmer's view, there is no stability in sight. Hence, portability and migration support are a must to build a long-lasting reliable user interface system.

Continuity.
For casual users who seldom need to use simulation tools (for instance to track down bugs in manufacturing) continuity of simulation methodology in general, but especially continuity of the user interface is a vital feature.

Flexibility.
The user interface must provide flexibility to accommodate easily for the unforeseeable variety of new simulation tools. Simulation tools often exhibit physical models with repeatedly changing semantics and parameters. It must be possible to tailor the user interface to these changing semantics, without the need to change the general look and feel of the user interface.

Homogeneity.
The user interface must be homogeneous among the tools which are accessed by it. Batch-mode applications (like simulators) and interactive applications should have a unified standardized appearance and behavior to facilitate the use.

Tool Independence.
As existing ``foreign'' tools must be integrated into a homogeneous user interface, it must be possible to keep the user interface code entirely separate from the (batch-mode) application. Simulator source code is not always available and it is, for maintenance reasons, often unfeasible to change simulator code at all.

Functionality.
CAD data require some special user interface functionality. Typical CAD elements that must be supported are numerical values or vector graphics, which are not too common among pure window systems. But also more complex multi-element functionality, like graphical simulation flow control facilities or panels for tool parameter specification must be implementable with reasonable effort.

Extensibility.
The user interface gives the user access to a TCAD system with continuously increasing functionality. Eventually, new user interface elements will have to be introduced. The architecture of the user interface should hence support extension and maintenance.

Task-Level Interface.
A major part of the interaction between user and TCAD system takes place on the task level. Hence, mutual consistency of user interface and task level environment is critical, as a significant part of the extension and maintenance work will depend on it. A comfortable and tight binding between user interface and task level programming environment is desirable.

Ease of Use.
The rather complex TCAD semantics easily induces windows with hundreds of buttons that ``look insanely complicated''. A good user interface system should counteract this tendency by supporting the creation of hierarchical, run-time configurable, context-sensitive dialogs. One of the key strategies for ease-of-use is the hiding of not currently required information. However, ease-of-use is a highly subjective demand which even depends on the cultural background and personal preferences of the user. Another strategy to overcome the frightening complexity is the support of intuitive action of the user. Similarity between applications and the use of common graphical elements (see Homogeneity) helps to achieve this goal.



next up previous contents index
Next: 3.2 Architectural Design Up: 3 Graphical User Interface Previous: 3 Graphical User Interface



Martin Stiftinger
Thu Oct 13 13:51:43 MET 1994