La RMM o Relationship
Management Methodology se define como un proceso de análisis, diseño y
desarrollo de aplicaciones hipermedia. Los elementos principales de este método
son el modelo E-R (Entidad-Relación) y el modelo RMDM (Relationship Management
Data Model) basado en el modelo HDM. La metodología fue creada por Isakowitz,
Stohr y Balasubramanian. Esta metodología es apropiada para dominios con
estructuras regulares (es decir, con clases de objetos bien definidas, y con
claras relaciones entre esas clases). Por ejemplo, catálogos o
"frentes" de bases de datos tradicionales. Según sus autores, está
orientada a problemas con datos dinámicos que cambian con mucha frecuencia, más
que a entornos estáticos.
El modelo propone un lenguaje
que permite describir los objetos del dominio, sus interrelaciones y los
mecanismos de navegación hipermedia de la aplicación. Los objetos del dominio
se definen con la ayuda de entidades, atributos y relaciones asociativas. El
modelo introduce el concepto de slice (trozo) con el fin de modelizar los
aspectos unidos a la presentación de las entidades. Un slice corresponde a un
subconjunto de atributos de una misma entidad destinados a ser presentados de
forma agrupada. La navegación se modeliza con la ayuda de primitivas de acceso,
enlaces estructurales (unidireccional y bidireccional) que permiten especificar
la navegación entre slices, y visita guiada condicional, índice condicional y
agrupación, que permiten especificar la navegación entre entidades. El esquema
completo del dominio y de la navegación de la aplicación se denomina esquema
RMDM y se obtiene como resultado de las tres primeras etapas del método. Las
etapas son:
Primera etapa: representar los objetos del
dominio con la ayuda del modelo Entidad-Relación ampliado con relaciones
asociativas (aquéllas que permiten representar caminos navegacionales entre
entidades puestos en evidencia en la fase de análisis).
Segunda etapa: determinar la presentación del
contenido de las entidades de la aplicación así como su modo de acceso. El
esquema obtenido como resultado de esta etapa se denomina esquema E.R+. Se
trata de un esquema Entidad-Relación en el que cada entidad ha sido reemplazada
por su esquema de entidad. Un esquema de entidad está constituido por nodos
(los trozos o slides) unidos por relaciones estructurales.
Tercera etapa: definir los caminos de
navegación inducidos por las relaciones asociativas del esquema E-R+. A
continuación, es posible definir estructuras de acceso de alto nivel
(agrupaciones), lo que permite dotar a la aplicación de accesos jerárquicos a
niveles diferentes de los trozos de información. El esquema RMDM resultante se
obtiene añadiendo al esquema E-R+ las agrupaciones y caminos navegacionales
definidos en esta etapa.
Las cuatro etapas restantes consisten
en:
Definición del protocolo de conversión de
elementos del diagrama RMDM en objetos de la plataforma de desarrollo.
Concepción del interfaz usuario.
Concepción del comportamiento en ejecución.
Construcción del sistema y test.
Muestra de un diagrama
entidad-relación (las entidades se representan con un recuadro y las relaciones
mediante un símbolo en forma de tridente).
Veamos con más detalle algunos
ejemplos del modelo de datos RMDM (Relationship Management Data Model), que se genera
a partir de un diagrama entidad-relación. Con él se describirá no sólo la
información referente a las clases de objetos, sino también a la navegación
entre ellos. Así, hay definidas unas primitivas para modelar los dominios o
datos (clases de objetos) y otras para el acceso a tales objetos. De entre las
primeras, la más típica es la entidad (se representa mediante un recuadro y su
nombre). Como en la teoría relacional una entidad está compuesta por varios
atributos. Además, en RMDM se incorpora una nueva primitiva denominada
"slice", que define conjuntos de atributos de una entidad que se
agrupan de forma lógica.
Estos diagramas especifican la
navegación en el sistema:
De acuerdo con HDM, RMM define
correspondencias tipo. Propone el modelo Entidad-Relación para especificar el
dominio y lo enriquece introduciendo los conceptos de slice ( trozo) y de
relación estructural para los cuales se preestablece una metáfora hipermedia.
Los slices y las entidades se asocian con nodos y las relaciones asociativas
(entre entidades) y las relaciones estructurales (entre trozos) se asocian con
enlaces.
El modelo del dominio se
enriquece, por lo tanto, con dos tipos de elementos preestablecidos que tienen
una correspondencia clara en términos hipermedia.
En RMM, el modelo hipermedia
retoma los elementos enlace, índice y visitas guiadas de HDM enriqueciéndolos
con capacidades condicionales. Sin embargo, el método no permite al diseñador
definir elementos hipermedia propios que tengan capacidades específicas ya que
impone la utilización de metáforas preestablecidas.
Ante las limitaciones que
ofrecía RMM, sus autores Balasubramanian, Bieber e Isakowitz, analizaron la
estructura de navegación en RMM y propusieron añadir 2 nuevos tipos de slices:
los slices híbridos (que permiten combinar atributos de diferentes entidades y
estructuras de acceso), los slices mínimos (la mínima parte de una entidad que
es necesaria para identificar uno de sus elementos y que se utilizará como
ancla) y los m-slices (que permiten combinar primitivas de acceso con otros
slices de otras entidades para crear un m-slice). Se propone crear la estructura de la
navegación no en base a las entidades sino a los slices, es decir a conjuntos
de atributos.
A partir de las carencias de
RMM e incorporando la novedad de los slices mínimos e híbridos, Lopistéguy,
Losada y Dagorret analizan el modelo RMM y encuentran algunas carencias, por lo
que proponen la creación de unas nuevas estructuras de navegación que doten de
una mayor flexibilidad al modelo RMM, a la vez que crean unas serie de
primitivas de acceso nuevas.
Estas son las estructuras que
introducen:
Navegación jerárquica: al tener varias
relaciones 1:N encadenadas, se permite navegar desde cualquier entidad a otra
que esté por debajo de ella en la jerarquía. Estos enlaces inferidos, no
extraídos directamente de una relación 1:N, se representarán con trazo
discontinuo.
Navegación en relaciones N:M: se permite
navegar de un extremo al otro de la relación, pero teniendo en cuenta la
entidad intermedia, cuyos atributos deberán incluirse en un slice híbrido. Para
representar un enlace de este tipo, uniremos la primitiva de acceso (índice, visita
guiada, ...) con la entidad intermedia.
Navegación múltiple: se crean unas nuevas
primitivas que permiten el acceso múltiple de una entidad a otra, seleccionando
un elemento de una tercera entidad de la que la entidad destino es parte. En el
enlace quedará especificado qué entidad es la origen, cuál la destino y cuál la
tercera. Recordar que esta navegación es especialmente apropiada en estructuras
todo-parte.
Acceso aleatorio: permite acceder a un
elemento de forma aleatoria, sin saber exactamente a cuál.
Acceso simultáneo: permite representar el
acceso a todos los elementos de una entidad a la vez. Por ejemplo, si estamos
en un Seminario, con esta primitiva accedemos a todos sus ponentes
simultáneamente, todos a la vez, y no mediante un índice o uno tras otro en una
visita guiada
Y así quedará la lista de
primitivas con la inclusión de las nuevas primitivas de acceso:
La metodología RMM permite
hacer explícita la navegación al hacer el análisis, lo que permite,
teóricamente, obtener una navegación más estructurada e intuitiva, y lo hace de
una forma muy sencilla, como es añadir
unas primitivas a un modelo entidad-relación tradicional. El concepto de slice
es muy útil, ya que permite agrupar datos de una entidad en diferentes
pantallas. Se utilizaría, por ejemplo, para mostrar dos vídeos en dos pantallas
diferentes sobre un mismo fenómeno. También es interesante la primitiva de
grupo, que permite mostrar la jerarquía de menús.
RMM representa el primer caso
en el que se crea una metodología completa definiendo las distintas fases y no
únicamente un modelo de datos. Además,
se basa en un modelo de datos relacional, ajustándose así a la gran
mayoría de las aplicaciones existentes. Sin embargo, los mecanismos de acceso a
la información son excesivamente simples y valen para un problema con pocas
entidades, pero el modelo se queda corto si hay gran número de ellas.
Diagrama Entidad-Relación |
Jerarquía de menús con detalle |