CHI 97 Electronic Publications: Tutorials
CHI 97 Prev CHI 97 Electronic Publications: Tutorials Next

OVID: Object View and Interaction Design

Dave Roberts
IBM United Kingdom Limited,
PO Box 31, Birmingham Road,
England CV34 5JL
+44 1926 464788

Richard Berry and Scott Isensee
IBM Corporation, Burnet Road,
Austin TX USA 75758 USA
+1 512 838 0392


Several methods are already available for object oriented program design. These methods do not deal with user interface design. The tutorial teaches OVID, a systematic method for designing Object User Interfaces for use by product design teams. OVID is a major step in changing user interface design from art to science. It emphasizes the production of a complete, accurate model that can be used as input to program design methodologies.


User Interface Design, Object Oriented, Task Analysis.

© 1997 Copyright on this material is held by the authors.


In this tutorial you will learn techniques for turning user requirements into design for an object-oriented user interface. The tools and techniques described will help to ensure accuracy and completeness of the model and will generate output that feeds into object-oriented code design methodologies such as OMT or Booch[1].

Tutorial Content

The tutorial begins with a description of the software development life cycle to place OVID[2] in context. It includes a definition of OUI and discussion of the users' and designer's models. These matters will not be discussed in depth. The bulk of the tutorial is devoted to the process of design.

OVID is an iterative method. It takes the output of task analysis and produces:

Task Analysis

The tutorial does not teach task analysis. Instead, it concentrates on how the output of task analysis can be used as input to design and though out the design process.

Class Diagrams

The core of OVID is class diagrams showing the designer's model. To facilitate transfer of the output of OVID to code development these diagrams are best captured using a tool such as Rational Rose/C++. Examples shown during the tutorial will use Rational Rose/C++[3]. However, exercises will be conducted using pencil and paper.


Stage 1 of the process is to find the objects that the user will deal with. Although several users' models may be found the objective is to consolidate to a single designer's model that is appropriate to all the users.

Analysis starts with the most frequent tasks. These are used to find the most concrete objects and the strongest relationships between them. As analysis proceeds the model is expanded to map the relationships for all tasks. In later iterations of the object model the design will express the most significant attributes as objects.

It often emerges that some users think of two classes as distinct when the designer thinks these are variants of the same object. The tutorial gives guidance on this and other modelling dilemmas such as how to represent many-to-many relationships.


The next section deals with how to find the views of the objects that are needed . It also helps the designer decide which views can be treated as standard view types and which require special mechanisms. It goes on to discuss how represent the users as objects in the model can be useful both in the design and code phases of a project.

New Tasks

The next step in OVID is task synthesis. Tasks must be created that correspond to each of those described during the task analysis. These new tasks document how the users will work with the new system. The objects and views that have already been discovered are used to create the new tasks.

The synthesized tasks are recorded using the same Rose tool and will be used later by the code designers as test cases.

Detailed View Interactions

The final element within OVID is the use of state diagrams and state tables to provide detailed interaction descriptions for all of the objects and their views. Details are given of how other objects may be discovered during this process. This completes the designers arsenal of procedures used in the design.


To complete the tutorial a short session discusses: visual design, prototyping, usability evaluation and the transfer to code development.

Key Learning Objectives

The goal is to teach the participant to design more effective user interfaces. Their designs will be more complete and developed more quickly. Tutorial participants will be able to apply this method in their work and understand how to integrate it into the software design process of their company.

Intended Audience

HCI professionals responsible for turning user requirements into object-oriented interface designs. Background in at least one (but not all) of the following areas is recommended: requirements gathering, user interface design, and object-oriented analysis. This tutorial is about object-oriented user interface design. It is not about object-oriented programming


The presenters are all members of IBM's User Interface Strategy team. They are currently engaged on development of next-generation user interfaces, style guidance for these interfaces and methods for their deployment.[4]

Dick Berry and Dave Roberts have worked together on user interface design and style-guide development for IBM since 1986. OVID was developed from the design methods most recently published in the 1992 edition of Common User Access.[5]

Scott Isensee led IBM's contribution to CDE. He has recently published a book on rapid prototyping.[6]


  1. Sally Shlaer and Stephen Mellor (1988) Object-Oriented Systems Analysis: Modeling the World in Data, Yourden Press; James Rumbaugh et al. (1991) Object-Oriented Modelling and Design, Prentice Hall International; Grady Booch (1993) Object-Oriented Analysis and Design with Applications, Benjamin/Cummins.
  2. Berry et al., OVID, International Thomson Computer Press, Boston, 1997.
  3. Rational Software Corporation, Rational Rose, for more information see
  4. A glimpse of the authors work can be seen on the team's WWW site at
  5. IBM, Object Oriented Interface Design, IBM Common User Access Guidelines, Que, 1992.
  6. Isensee and Rudd, The Art of Rapid Prototyping, International Thomson Computer Press, Boston, 1997.

CHI 97 Prev CHI 97 Electronic Publications: Tutorials Next

CHI 97 Electronic Publications: Tutorials