>
RMC: A Tool To Design WWW Applications
Alicia Díaz
Departamento de Informática
Lifia - Universidad Nacional de La
Plata
also CONICET
50 y 115, 1900 La Plata, Argentina
e-mail:
[email protected]
Tomás Isakowitz
Information Systems Dept.
Stern School of Business
New York
University
New York, NY 10012, USA
e-mail: [email protected]
Vanesa Maiorana
Universidad de Belgrano
Buenos Aires -
Argentina
e-mail:[email protected]
Gabriel Gilabert
Nea Phronesis
Buenos Aires -
Argentina
e-mail:[email protected]
ABSTRACT
We present the design of a computer-aided environment, RMCase, to
support the design and construction of WWW applications. RMCase supports
hypermedia design and development activities and produces HTML code. Support
for cognitive design processes is achieved through three fundamental premises
at the foundation of RMCase: (1) fluid feedback loops between the various
methodological stages, (2) manipulation of objets at the instance level, and
(3) lightweight prototyping. As a result, RMCase will support bottom-up,
top-down and middle-out software development styles.
1. Introduction
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
[Díaz 95]. The Relational Management Design Methodology (RMM)
[Isakowitz 95] provides the methodological foundation for RMCase; its cognitive
basis is drawn from work by Nanard and Nanard [Nanard 94, Nanard 95]. RMCase
is, in principle, platform independent; it is capable of producing applications
of systems running on the WWW [Berners-Lee 92], 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.
1.1 Requirements for a Hypermedia Design Environment.
Nanard and Nanard [Nanard 95] identify the following fundamental
requirements for a hypermedia development environment, adopted in RMCase:
- Fast feedback loop spanning across methodological stages, to facilitate
evaluation and re-design activities.
- Accessible and unconstrained cloning tools at the instance level, to
facilitate the generation of material application instances that lend
themselves to evaluation by designers, developers and users.
- Abstraction and instantiation mechanisms that enable developers to
alternate between bottom-up and top-down approaches.
IMG
This paper is organized as follows. Section 2
briefly describes the RMM design methodology. The principal components of
RMCase are presented in Section 3. Finally, Section 4 summarizes
the contributions we make in this article.
The Relationship Management Methodology (RMM)[Isakowitz 95] 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 [Isakowitz 95]). 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.
2.1 The Relationship Management Data Model (RMDM)
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
[Elmasri 90] and on HDM [Garzotto 91]. 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
2.2 A Sample Application
The ISWEB application (http://is-2.stern.nyu.edu/isweb) 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. 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.)
3.1 The E-R Design Context
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.
- An entity is a conceptual element from the application domain,
characterized by a set of attributes.
- An attribute represents a unit of information. Attributes have a
name, an type and are always associated with a unique entity or relationship.
- A relationship is a conceptual tie among two or more entities. A
relationship's cardinality can be one-one, one-many or many-one. RMM splits
many-many relationships into two one-many relationships. Relationships can also
contain attributes.
The E-R design context, shown if Figure 3, has well-defined functionalities to
manipulate entities, attributes and relationships. The entities Faculty
and Courses, and the relevant relationships are shown along with
their attributes in Figure 3.
Figure 3: The E-R context supports E-R design activities
3.2 The Slice Design Context
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.
3.3 The navigational 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
3.4 Node-link conversion context
The node-link conversion context contains three kinds of
facilities to support the conversion of RMDM diagrams into node-link webs:
- Facilities to execute the conversion itself, a kind of
"compiler". When activated, these facilities automatically
generate a web of nodes and links.
- Facilities to manipulate the node-link web itself.
Each slice is mapped into a node, and each access structure into a web of links
and nodes. Links between slices are passed along to the node-link web. In
addition, anchors are defined for each outgoing link, including guided tours
and indices. In an index, the anchor provides navigation into the item it
denotes. In a guided tour, the first anchor selects the first element in the
guided tour, the next anchor the second, and so on.
This context is conceived as a visualization tool; it has no other
functionality.
3.5 User-interface design context
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 (http://eecns.stanford.edu/eecns/www/paper.html). 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:
- a) associate to each node an HTML template.
- b) associate to each anchor an HTML anchor.
In this context, the designer "draws" the interface, associating an HTML object
to each node and access structure.
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.
3.6 Hyperbase Population Context
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.
- a) Pre-populated applications. The database information is
"pumped" into a set of node instance at generation time. Thus,
the data is hard-coded into the application. As a result, the data can only be
updated either by re-generating it or, manually, with the assistance of
software developers. This approach is recommended for applications that are
infrequently updated.
- b) Dynamic applications. The application obtains information "on
demand" from the database by issuing queries. This approach is
recommended for high volatility applications
By definition, this context is responsible for establishing a kind of bridge
between the WWW application and information that is external to it. This,
rather complex task, that a special kind of system that is outside the scope of
this paper.
3.7 The Prototyping context
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:
- testing capabilities, i.e., visualize data on the computer, navigate
access structures, etc.
- cloning capabilities that enable a designer to replicate parts of an
application. The granularity of the cloning operation is adjustable. Hence a
designer can also clone design artifacts, such as the RMDM-diagram along with
an object at the prototype level.
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.
5. References
[Berners-Lee 92] T. Berners-Lee,R. Cailliau, J. Groff, "Wold Wide Web: The Information Universe", Electron. Networking: Res. App. Policy 2,1 (Spring 1992), 52-58.
[Casanova 91] M. Casanova, L. Tucherman, J. L. Rangel Neto, N.
Rodriguez, L. Soares, "The Nested Context Model for
Hyperdocuments", Hypertext'91 Proceedings, ACM Press,
1991.
[Díaz 95] A. Díaz, T. Isakowitz, "RMCase: A Computer-Aided
Support for Hypermedia Design and Development", International Workshop on
Hypermedia Design, Springer Verlag, 1995.
[Elmasri 90] R. Elmasri and S. Navate. "Fundamental of Database
Systems". The Benjamin/Cummings Publishing Company, second edition, 1990.
[Garzotto 94] F. Garzotto, L. Mainetti, P. Paolini, "Adding Multimedia
Collections to Dexter Model", in ECHT94 Proceedings, ACM Press,
1994.
[Garzotto 91] F. Garzotto, P. Paolini, D. Shwabe, "HDM - A Model for
the Design of Hypertext applications", in Hypertext'91
Proceedings, ACM Press, 1991.
[Isakowitz 95] T. Isakowitz, E. A. Stohr and P. Balasubramaninan, "RMM:
A Methodology for Structured Hypermedia Design", Communications of
the ACM, August 1995.
[Nanard 95] J. Nanard and M. Nanard, "Hypertext Design Environments and
Hypertext Design Process", Communications of the ACM, August
1995.