WWW application design and development is a complex task that involves a variety of activities, at the storage, access and presentation levels. As a consequence, the constituencies participating in hypermedia projects differ from those of traditional software development environments. Hypermedia projects involve content-authors, librarians, musicians and graphic designers, as well as programmers, system analysts, software managers, and, of course, users. Moreover, aesthetic and cognitive aspects, so important for hypermedia applications, are foreign to existing software engineering environments. Thus, there is a need for special methodologies and tools to support the software development process of hypermedia applications.
In this paper we present the design of the Relationship Management Case Tool (RMCase), an environment to support the development of hypermedia WWW applications. This article represents a continuation of our efforts to construct a CASE tool for the development of hypermedia applications . The Relational Management Design Methodology (RMM)  provides the methodological foundation for RMCase; its cognitive basis is drawn from work by Nanard and Nanard . RMCase is, in principle, platform independent; it is capable of producing applications of systems running on the WWW , Toolbook, Hypercard, or other hypermedia environments. In particular, RMCase is more than an HTML editor; it is a software development environment that produces, as one of its outcomes HTML code. It also produces design specifications.
Nanard and Nanard  identify the following fundamental requirements for a hypermedia development environment, adopted in RMCase:
The Relationship Management Methodology (RMM)  is a methodology for the design and construction of hypermedia applications. It consists of seven steps, some of which can be conducted in parallel. We will briefly explain the RMM's data model in what follows (for a more detailed elaboration, we refer the reader to ). Although RMM is, in principle, a linear methodology, our proposal in this paper results in an environment that supports feedback loops, cloning and prototyping to achieve a combination of top-down and bottom-up approaches.
A cornerstone of the RMM methodology is its data model, the Relationship Management Data Model (RMDM), whose elements are shown in Figure 1. RMDM provides a language for describing information objects and navigation mechanisms in hypermedia applications. An application's design is specified with an RMD diagram, constructed from RMDM's elements (see Figure 2 further ahead). The RMDM model is based on the Entity-Relationship model  and on HDM . ER relationships can be on-one, one-many, and many to many, representing associations between entities. As in database modeling, many-many relationships are factored into pairs of one-many relationships.
Because entities may have a large number of attributes of a different nature (e.g., salary information, biographical data, photograph), it may be impractical or undesirable to present all the attributes of an entity instance in one screen. Thus, attributes are grouped into slices. For example, a person entity with attributes name, age, photograph and biosketch, may have a General slice, containing name, age and photograph and a Biosketch slice, with name and biosketch. The notation for slices is shown at the top of Figure 1 (supposed to resemble a pizza slice.).
Navigation is supported in RMDM by the six access primitives shown at the bottom of Figure 1. Uni- and bi-directional links are used to specify access between slices of an entity. The most significant access structures supported by RMDM are indices, guided tours and groupings. An index acts as a table of contents to a list of information items, providing direct access to each listed item. A guided tour implements a linear path through a collection of items allowing the user to move either forwards or backwards on the path. Index Guided Tours combine the functionalities of indices and guided tours. These three access structures are augmented with logical conditions that act as select statements specifying the set of instances being accessed. For example, a condition rank="Associate" on an index into a faculty entity denotes an index to all associate professors. The grouping mechanism serves as an access point to other parts of the hypermedia document. For example, the initial screen of many applications contains a menu or set of buttons that provide access to different functions or classes of information.
Figure 1: The elements of the RMM Data Model
The ISWEB application () is a WWW site for the Information Systems Department at the Stern School of Business. The application contains information about faculty, courses, research and other academic activities. Parts of this application are highly structured, so it lends itself to be modeled in RMDM. Figure 2 shows an RMD diagram for the ISWEB application. In contrast to an entity-relationship diagram that represents the design of a database, an RMDM diagram describes how users will navigate a hypermedia application. To avoid cluttering, slices are not included in Figure 2, and only key attributes of entities are shown. At the top of Figure 2 the grouping mechanism implements a ``main menu''. Access into the Faculty and Courses information is provided via guided tours; access into Programs by means of an index. On choosing the guided tour to the Faculty entity, the user can move back and forth among all faculty members (ordered alphabetically). There is a conditional index from the Faculty entity into Courses with predicate teaches(F,C). The reciprocal index taught_by(C,F) can be accessed from Courses.
Figure 2: The RMD diagram for the ISWEB application
RMCase supports the software life-cycle of an application through a set of contexts, one per stage, called work contexts. The concept of context is akin to that presented in  and to de collections, sa defined in , in the sense that a contextis a collections of nodes with associated browsing semantics. Rapid transitions between methodological stages are supported in RMCase via navigation among contexts. Since design objects are shared among different contexts, this kind of navigation enables developers to focus on one or more design objects while moving back and forth between the various stages in the methodology (one of the three fundamental requirements for a hypermedia software development environment.)
The E-R design context facilitates the construction of E-R diagrams, capturing the characteristics of the application domain. Three basic design objects are handled in this context: entities, attributes and relationships.
Figure 3: The E-R context supports E-R design activities
The inner structure of an entity is designed in this context. The design objects are: attributes, slices and links among slices. A slice is a set of attributes belonging to a given entity. An attribute can be part of number slices. Each entity has a distinguished slice, called the entity's head, that is to be used as a default entry point for incoming access constructs. The slice design context enables designers to "zoom" into each entity one at a time. Figure 4 shows a partial slice design for the Faculty entity as it appears in the slice design context
Figure 4: Slice design context.
This context helps developers specify the navigational features of an application. Designers specify menu-like structures using groupings, indices and guided tours. Designers also decide here what relationships will be navigable in the final application. In Figure 5, for example, the teaches and taught_by relationships are implemented via conditional indices. The designer also specifies the conditions that are part of the access structures (e.g., "teaches(Course)=last_name"). The diagram appearing in Figure 5 is an RMD diagram, which models access paths. Presentation is the opening screen, from which a Faculty and Courses indices are reachable.
Figure 5: The Faculty-Course navigational design
The node-link conversion context contains three kinds of facilities to support the conversion of RMDM diagrams into node-link webs:
This context is conceived as a visualization tool; it has no other functionality.
For many WWW applications it is importatnt to exhibit a common look and feel. This is importatnt, for example, for some large organizations who are interested on the Web (). RMCase is specially well suited for these kinds of applications.
This context provides facilities to design and edit the user-interface. We conceive a set of screen-designing tools like those available in many commercial applications (e.g., Toolbook, Visual Basic, MS Access, etc.) to generate HTML templates.
We contemplate the following set of functionalities for the user-interface context:
Figure 6 depicts the interface designed for Faculty head slice. For each attribute or link anchor there is an associated "slot" in the HTML template. Similarly, templates are created for all other components of the application design. In sum, the user-interface context assists developers in the generation of a set of HTML templates, that are to be populated with information in the hyperbase population context.
Figure 6: In User Interface context, the designer "draws" the interface.
This context supports the generation of an application by populating HTML templates with data. If the information resides within a database, there are at least two alternative approaches for hyperbase population.
There is a specialized prototyping context that represents the instance level. The prototyping context is where software developers can test different aspects of the design of a hypermedia application, such as its information structure and navigation patterns.
The prototype context provide the following functionality:
Figure 7: Prototyping context. Shown is a skeleton of the General slice for Faculty. At left the boxes represent actual information. At right, are buttons. These buttons represent links to other slices, and they are functional in the prototype context: clicking on them opens the appropriate slice.
We have presented the design of a computerized environment, RMCase, to support the design and development of WWW hypermedia applications. Not only does the environment follow a methodology (RMDM) but it takes into consideration cognitive aspects of hypermedia software development. RMCase is meant to support developers and designers in their evolutionary cycle of experimentation, building, and re-shaping. The main benefits of our approach are that it will facilitate the work of designers and developers of hypermedia applications while simultaneously enhancing the quality of their products.
1. A. Díaz, T. Isakowitz, "RMCase: A Computer-Aided Support for Hypermedia Design and Development", International Workshop on Hypermedia Design, Springer Verlag, 1995.
2. T. Isakowitz, E. A. Stohr and P. Balasubramaninan, "RMM: A Methodology for Structured Hypermedia Design", Communications of the ACM, August 1995.
3. J. Nanard and M. Nanard, "Hypertext Design Environments and Hypertext Design Process", Communications of the ACM, August 1995.
4. T. Berners-Lee,R. Cailliau, J. Groff, "Wold Wide Web: The Information Universe", Electron. Networking: Res. App. Policy 2,1 (Spring 1992), 52-58.
5. R. Elmasri and S. Navate. "Fundamental of Database Systems". The Benjamin/Cummings Publishing Company, second edition, 1990.
6. F. Garzotto, P. Paolini, D. Schwabe, "HDM - A Model for the Design of Hypertext applications", ACM Trans. Info. Syst 11, 1 (Jan 1993) 1-26.
7. M. Casanova, L. Tucherman, J. L. Rangel Neto, N. Rodriguez, L. Soares, "The Nested Context Model for Hyperdocuments", Hypertext'91 Proceedings, ACM Press, 1991.
8. F. Garzotto, L. Mainetti, P. Paolini, "Adding Multimedia Collections to Dexter Model", in ECHT94 Proceedings, ACM Press, 1994.
Alicia DíazDepartamento de Informática
Tomás IsakowitzInformation Systems Dept.
Vanesa MaioranaUniversidad de Belgrano
Gabriel GilabertNea Phronesis