Professional Documents
Culture Documents
Design Model
D a n i e l S c h w a b e
G u s t a v o R o s s i
H
ypermedia applications typically include complex informa-
tion, and may allow sophisticated navigation behavior. The
Object-Oriented Hypermedia Design Method (OOHDM)
[4] uses abstraction and composition mechanisms in an
object-oriented framework to, on one hand, allow a concise
description of complex information items, and on the other
hand, allow the specification of complex navigation patterns
and interface transformations.
In OOHDM, a hypermedia application is built in a four-step process supporting
an incremental or prototype process model. Each step focuses on a particular
design concern, and an object-oriented model is built. Classification, aggregation
and generalization/specialization are used throughout the process to enhance
abstraction power and reuse opportunities. Figure 1 summarizes the steps, prod-
ucts, mechanisms and design concerns in OOHDM.
Domain Analysis
In this step a conceptual model of the application domain is built using well-known
object-oriented modeling principles [3], augmented with some primitives such as
Navigational Design
Here we describe the navigational structure of a hypermedia application in terms of navi-
gational contexts, which are induced from navigation classes such as nodes, links, indices,
and guided tours. Navigational contexts and classes take into account the types of intend-
ed users and their tasks. Nodes in OOHDM represent logical “windows” (or views) on
conceptual classes defined during domain analysis. Different navigational models may be
built for the same conceptual schema to express different views on the same domain.
Links are derived from conceptual relationships defined in the first step. By defining
the navigational semantics in terms of nodes and links, we can model movement in the
navigation space (i.e., the subset of nodes with which users can interact at any given
moment) independently of the conceptual model. The navigational model may evolve
independently from the conceptual model, simplifying maintenance.
Implementation
Implementation maps interface objects to implementation objects and may involve elab-
orated architectures (e.g., client-server), in which applications are clients to a shared
database server containing the conceptual objects.
O
OHDM differs from RM (see Isakowitz et al. in this issue) in two
major ways. The first is the particular emphasis of OOHDM on
navigational and abstract interface design. The second is that it
uses objects as modeling constructs throughout the design
process, encouraging the construction of new hypermedia applica-
tions by systematic reuse of existing components. Lange’s
Enhanced Object Relationship Model (EORM) [2] also models
hypermedia applications through an object-oriented approach.
OOHDM differs from EORM mainly because OOHDM clearly separates navigational
from conceptual design by defining different modeling primitives in each step.
We currently are defining a set of general hypermedia design patterns (generic tem-
plates) for arbitrary application domains. Building new hypermedia applications by
reusing either existing hypermedia components or design structures will yield more
robust and maintainable applications. C
References
1. Garzotto, F., Paolini, P., and Schwabe, D. HDM—A model-based approach to hypermedia application
design. ACM Trans. Info. Syst. 11, 1 (Jan. 1993), 1–23.
2. Lange, D. An object-oriented design approach for developing hypermedia information systems. J. Org. Com-
put., forthcoming.
3. Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F. and Lorensen, W. Object Oriented Modeling and Design.
Prentice Hall, New York, 1991.
4. Schwabe, D. and Rossi, G. Building hypermedia applications as navigational views of information models. In
Proceedings of the Twenty-Eighth Hawaii International Conference on System Sciences, Maui, Hawaii (Jan. 1995),
Vol. 3, pp 231-240.
Daniel Schwabe <schwabe@inf.puc-rio.br> is an associate professor at the Catholic University (PUC) in Rio de Janeiro. Gustavo Rossi
<rossi@inf.puc-rio.br > is a professor at Universidad Nacinal de La Plata.