1 From Domain Models to Hypermedia Applications: an Object-Oriented Approach. Daniel Schwabe and Gustavo Rossi 1 Departamento de Informática Pontificia Universidade Católica R. M. de S. Vicente, 225 Rio de Janeiro, RJ 22453-900, Brazil Fax: +55-21-511 5645. Telephone: +55-21-529 9544 E-mail: [schwabe,rossi]@inf.puc-rio.br 1 also LIFIA, Universidad Nacional de La Plata La Plata, Argentina, and Conicet. Abstract In this paper we present an object-oriented method for designing hypermedia applications. The approach divides the development process in four steps, namely: domain (or content) design, navigational design, abstract interface design and implementation. We use similar modeling primitives (object and classes) and abstraction mechanisms (aggregation, generalization), during the whole process thus improving traceability; design decisions like the use of complex navigational structures are made explicit through a uniform notation thus allowing a coherent document structure that simplifies the construction of a CAHDE. 1 - Introduction and rationale Building large hypermedia applications is difficult, and is further complicated by the fact that, once an application has been built, its maintenance is correspondingly more complicated. Moreover, as in other software domains (such as information systems, databases, etc.) hypermedia applications are usually built from scratch: reuse is still a dream. As it has been stated elsewhere [Garzotto91], hypermedia design models and in particular object-oriented models [Lucarella93, Lange94] allow the description of a hypermedia application using high level constructs in an implementation independent way. Step-by-step methodologies can then be defined on top of existing design models [Balasubramaniam 94]. However, design models are still in their infancy; design decisions are often taken at the wrong time during the development life-cycle or are poorly documented, thus difficulting evolution. In this paper we propose a step-by-step method based on the construction of a sequence of object-oriented models that leads from domain analysis to implementation. Although based on object-oriented concepts, the resulting design can be implemented on top of a conventional (i.e., non object oriented) platform. The key ideas underlying the method are also suitable to other modeling approaches (like HDM [Garzotto 91,93], EORM [Lange94], etc...); in fact they are compatible with other step-by-step methods (for example the one presented in [Balasubramaniam94]). Using well-known object-oriented modeling concepts allows the formulation of complex designs with a concise yet expressive notation thus simplifying the construction of Computer Aided Hypermedia Development Environments (CAHDE). The structure of this paper is as follows: in section 2 we briefly overview our approach for building hypermedia applications; in sections 3 and 4 we present the core of our method: specifying a hypermedia application as a navigational model derived from a conceptual schema, discussing modeling constructs and abstraction mechanisms. Finally we summarize the key aspects of our approach and discuss some additional issues.