BIBLIOTECA VIRTUAL de Derecho, Economía y Ciencias Sociales


HERRAMIENTA MULTIMEDIA DE APOYO A LA ENSEÑANZA DE LA METODOLOGÍA RUP DE INGENIERÍA DEL SOFTWARE

Anay Carrillo Ramos



Esta página muestra parte del texto pero sin formato.

Puede bajarse el libro completo en PDF comprimido ZIP (125 páginas, 666 kb) pulsando aquí

 

 

1.6 Metodologías y Tecnologías Actuales para la construcción de Sistemas Multimedia

1.6.1 Metodologías de diseño

La construcción de grandes aplicaciones hipermedia es extremadamente difícil, por otro lado no existe una metodología que se adapte perfectamente a este tipo de software, tentando a los desarrolladores a la omisión del diseño estructural de la aplicación. Esta situación provoca como resultado la elaboración de un software de baja calidad y susceptible de correcciones posteriores. Es conocido por todos que la etapa de mantenimiento del software sigue siendo un problema, no contar con la documentación adecuada, entre otras cosas, significa transformar el proceso de mantenimiento en una tarea agobiante.

El comienzo de la solución a estos problemas nace principalmente en la creación de una adecuada programación de tareas antes de la construcción de la aplicación, para lograr esto surge la necesidad de definir metodologías de desarrollo que utilicen modelos y estructuras formales de diseño e implementación, especialmente orientadas a software hipermedia.

Habitualmente el desarrollo de Sistemas Hipermediales suele hacerse utilizando directamente herramientas a nivel de implementación, descuidándose el importante proceso previo de análisis y diseño de los aspectos estructurales de la navegación e interfaz. Sin embargo, en los últimos años existe una tendencia a considerar el desarrollo hipermedial con un enfoque de proceso de ingeniería del software, por lo que ya se han propuesto diferentes metodologías, como:

• HDM (Hypertext Design Model)

• EORM (Enhanced Object Relationship Model)

• RMM (Relationship Management Methodology)

• OOHDM (Object Oriented Hypermedia Design Method)

Estas metodologías consideran un diseño previo a la construcción del sistema y ofrecen una serie de técnicas, más o menos formales, para recoger en diferentes modelos abstractos las especificaciones del sistema hipermedial a desarrollar.

OOHDM

OOHDM es una metodología de desarrollo propuesta por Rossi y Schwabe (ROSSI 1996) para la elaboración de aplicaciones multimedia y tiene como objetivo simplificar y a la vez hacer más eficaz el diseño de aplicaciones hipermedia. OOHDM está basada en HDM, en el sentido de que toma muchas de las definiciones, sobre todo en los aspectos de navegación, planteadas en el modelo de HDM. Sin embargo, OOHDM supera con creces a su antecesor, ya que no es simplemente un lenguaje de modelado, sino que define unas pautas de trabajo, centrado principalmente en el diseño, para desarrollar aplicaciones multimedia de forma metodológica.

OOHDM ha evolucionado bastante desde su nacimiento. Actualmente está siendo utilizado por sus autores para el desarrollo de aplicaciones en la web (SCHWABE D. 1995).

Conceptos básicos de OOHDM

OOHDM como ya se ha comentado es una metodología de desarrollo para aplicaciones multimedia. Antes de comenzar a detallar cada una de las fases que propone, es necesario resaltar algunas de sus características.

La primera de ellas es que OOHDM está basada en el paradigma de la orientación a objetos. En esto se diferencia de su antecesor HDM.

Otra característica de OOHDM es que, a diferencia de HDM, no sólo propone un modelo para representar a las aplicaciones multimedia, sino que propone un proceso predeterminado para el que indica las actividades a realizar y los productos que se deben obtener en cada fase del desarrollo.

Fundamentalmente OOHDM toma como partida el modelo de clases que se obtiene en el análisis del Proceso Unificado de UML. A este modelo lo denomina modelo conceptual.

Partiendo de este modelo conceptual, OOHDM propone ir añadiendo características que permitan incorporar a esta representación del sistema todos los aspectos propios de las aplicaciones multimedia. En una segunda etapa de diseño, se parte de ese modelo conceptual y se añade a éste todos los aspectos de navegación, obteniéndose un nuevo modelo de clases denominado modelo navegacional. Por último, este modelo sirve como base para definir lo que en el argot de OOHDM se denomina modelo de interfaz abstracta. El modelo de interfaz abstracta representa la visión que del sistema tendrá cada usuario del mismo.

OOHDM como técnica de diseño de aplicaciones hipermedia, propone un conjunto de tareas que según Schwabe, Rossi y Simone (s. f.) pueden resultar costosas a corto plazo, pero a mediano y largo plazo reducen notablemente los tiempos de desarrollo al tener como objetivo principal la reusabilidad de diseño, y así simplificar el coste de evoluciones y mantenimiento.

Esta metodología plantea el diseño de una aplicación de este tipo a través de cinco fases que se desarrollan de un modo iterativo. Estas fases son:

Fases de OOHDM

En OOHDM se proponen 5 fases de desarrollo:

• Determinación de Requerimientos

• Diseño Conceptual

• Diseño Navegacional

• Diseño de Interfaz Abstracto

• Implementación

OOHDM es una mezcla de estilos de desarrollo basado en prototipos, en desarrollo interactivo y de desarrollo incremental. En cada fase se elabora un modelo que recoge los aspectos que se trabajan en esa fase. Este modelo parte del modelo conseguido en la fase anterior y sirve como base para el modelo de la siguiente fase.

Fase 1- Determinación de Requerimientos

La herramienta en la cual se fundamenta esta fase son los diagramas de casos de usos, los cuales son diseñados por escenarios con la finalidad de obtener de manera clara los requerimientos y acciones del sistema.

Según (GERMAN 2003) primero que todo es necesaria la recopilación de requerimientos. En este punto, se hace necesario identificar los actores y las tareas que ellos deben realizar. Luego, se determinan los escenarios para cada tarea y tipo de actor. Los casos de uso que surgen a partir de aquí, serán luego representados mediante los Diagramas de Interacción de Usuario (UIDs), los cuales proveen de una representación gráfica concisa de la interacción entre el usuario y el sistema durante la ejecución de alguna tarea. Con este tipo de diagramas se capturan los requisitos de la aplicación de manera independiente de la implementación. Ésta es una de las fases más importantes, debido a que es aquí donde se realiza la recogida de datos, para ello se deben de proporcionar las respuestas a las siguientes interrogantes:

• ¿Cuáles son los tópicos principales que serán atendidos?

• ¿Cómo los tópicos están relacionados entre sí?

• ¿Qué categoría de usuarios serán atendidos?

• ¿Cuáles son las tareas principales que serán abordadas?

• Qué tareas corresponden a qué categoría de usuarios?

• Los recursos disponibles son competitivos con la información levantada?

Con las preguntas mencionadas anteriormente, se puede recaudar de cierta manera las bases necesarias para la construcción de una aplicación hipermedial exitosa, sin embargo mientras mayor sea el nivel de profundidad de la recolección de datos, mayor probabilidad de realizar una aplicación adecuada a las necesidades de los usuarios

Fase 2- Diseño Conceptual

Se construye un modelo orientado a objetos según (KOCH 2002) que represente el dominio de la aplicación usando las técnicas propias de la orientación a objetos. La finalidad principal durante esta fase es capturar el dominio semántico de la aplicación en la medida de lo posible, teniendo en cuenta el papel de los usuarios y las tareas que desarrollan. El resultado de esta fase es un modelo de clases relacionadas que se divide en subsistemas. En la tabla 1.1 se esquematiza esta fase.

Fase Diseño conceptual

Productos Diagrama de Clases, División en subsistemas y relaciones

Herramientas Técnicas de modelado O.O, patrones de diseño

Mecanismos Clasificación, agregación, generalización y especialización

Objetivo de diseño Modelo semántico de la aplicación

TABLA 1.1: FASE DE DISEÑO CONCEPTUAL DE OOHDM

Fase 2- Diseño Navegacional

En OOHDM una aplicación se ve a través de un sistema de navegación. En la fase de diseño navegacional se debe diseñar la aplicación teniendo en cuenta las tareas que el usuario va a realizar sobre el sistema. Para ello, hay que partir del esquema conceptual desarrollado en la fase anterior. Hay que tener en cuenta que sobre un mismo esquema conceptual se pueden desarrollar diferentes modelos navegacionales (cada uno de los cuales dará origen a una aplicación diferente).

La estructura de navegación de una aplicación hipermedia está definida por un esquema de clases de navegación específica, que refleja una posible vista elegida. En OOHDM hay una serie de clases especiales predefinidas, que se conocen como clases navegacionales: Nodos, Enlaces y Estructuras de acceso, que se organizan dentro de un Contexto Navegacional. La semántica de los nodos y los enlaces son comunes a todas las aplicaciones hipermedia, las estructuras de acceso representan diferentes modos de acceso a esos nodos y enlaces de forma específica en cada aplicación.

1- Nodos: Los nodos son contenedores básicos de información de las aplicaciones hipermedia. Se definen como vistas orientadas a objeto de las clases definidas durante el diseño conceptual usando un lenguaje predefinido y muy intuitivo, permitiendo así que un nodo sea definido mediante la combinación de atributos de clases diferentes relacionadas en el modelo de diseño conceptual. Los nodos contendrán atributos de tipos básicos (donde se pueden encontrar tipos como imágenes o sonidos) y enlaces.

2- Enlaces: Los enlaces reflejan la relación de navegación que puede explorar el usuario. Ya sabemos que para un mismo esquema conceptual puede haber diferentes esquemas navegacionales y los enlaces van a ser imprescindibles para poder crear esas vistas diferentes.

3- Estructuras de Acceso: Las estructuras de acceso actúan como índices o diccionarios que permiten al usuario encontrar de forma rápida y eficiente la información deseada. Los menús, los índices o las guías de ruta son ejemplos de estas estructuras. Las estructuras de acceso también se modelan como clases, compuestas por un conjunto de referencias a objetos que son accesibles desde ella y una serie de criterios de clasificación de las mismas.

4- Contexto Navegacional: Para diseñar bien una aplicación hipermedia, hay que prever los caminos que el usuario puede seguir, así es como únicamente podremos evitar información redundante o que el usuario se pierda en la navegación. En OOHDM un contexto navegacional está compuesto por un conjunto de nodos, de enlaces, de clases de contexto y de otros contextos navegacionales. Estos son introducidos desde clases de navegación (enlaces, nodos o estructuras de acceso), pudiendo ser definidas por extensión o de forma implícita.

5- Clase de Contexto: Es otra clase especial que sirve para complementar la definición de una clase de navegación. Por ejemplo, sirve para indicar qué información está accesible desde un enlace y desde dónde se puede llegar a él.

La navegación no se encontraría definida sin el otro modelo que propone OOHDM: el contexto navegacional. Esto es la estructura de la presentación dentro de un determinado contexto. Los contextos navegacionales son uno de los puntos más criticados a OOHDM debido a su complejidad de expresión.

Fase 3- Diseño de Interfaz Abstracta

Una vez definida la estructura navegacional, hay que prepararla para que sea perceptible por el usuario y esto es lo que se intenta en esta fase. Esto consiste en definir qué objetos de interfaz va a percibir el usuario, y en particular el camino en el cuál aparecerán los diferentes objetos de navegación, qué objeto de interfaz actuarán en la navegación, la forma de sincronización de los objetos multimedia y el interfaz de transformaciones. Al haber una clara separación entre la fase anterior y esta fase, para un mismo modelo de navegación se pueden definir diferentes modelos de interfaces, permitiendo, así que el interfaz se ajuste mejor a las necesidades del usuario.

MODELOS DE VISTAS ABSTRACTAS DE DATOS (ADVs): los modelos de los ADVs no son más que representaciones formales que se usan para mostrar:

1. La forma en que se estructura la interfaz, para ello se usan las vistas abstractas de datos. Estos son elementos que tienen una forma y un dinamismo. Son elementos abstractos en el sentido de que solo representan la interfaz y su dinamismo, y no la implementación, no entran en aspectos concretos como el color de la pantalla o la ubicación en ésta de la información. Así, tendremos un conjunto de representaciones gráficas, que gestionan las estructuras de datos y de control, y un conjunto de aspectos de interfaz, como las entradas del usuario y las salidas que se le ofrecen.

2. La forma en que la interfaz se relaciona con las clases navegacionales, para ello se usan diagramas de configuración. Los diagramas de configuración van a ser grafos dirigidos que permitirán indicar de qué objetos de navegación toman la información los ADV.

3. La forma en que la aplicación reacciona a eventos externos, para ello se usan los ADVs-Charts. Los ADVs-Charts van a ser diagramas bastante similares a las máquinas de estados, es más en las últimas versiones de OOHDM se usan máquinas de esto. A través de ellas se puede indicar los eventos que afectan a una ADV y cómo ésta reacciona a ese elemento.

Fase 4- Implementación

Una vez obtenido el modelo conceptual, el modelo de navegación y el modelo de interfaz abstracta, sólo queda llevar los objetos a un lenguaje concreto de programación, para obtener así la implementación ejecutable de la aplicación. En la tabla 5 vemos un resumen de esta fase.

Fase Implementación

Productos Aplicación ejecutable

Herramientas El entorno del lenguaje de programación

Mecanismos Los ofrecidos por el lenguaje

Objetivo de diseño Obtener la aplicación ejecutable

Tabla 1.2 Resumen de fase de implementación

Para terminar, podríamos decir que los puntos claves de OOHDM se encuentran en:

• Contempla los objetos que representan la navegación como vistas de los objetos detallados en el modelo conceptual.

• Abstrae los conceptos básicos de la navegación: nodos, enlaces e índices y los organiza mediante el uso de los contextos de navegación, permitiendo así una organización adecuada de los mismos.

• Separa las características de interfaz de las características de navegación, con las ventajas que esto supone.

Ventajas y desventajas

OOHDM es sin duda una de las metodologías que más aceptación ha tenido, y sigue teniendo, en el desarrollo de aplicaciones multimedia. Actualmente está sirviendo como base para el desarrollo de nuevas propuestas metodológicas para los sistemas de información web (L. MANDEL agosto 2000)

OOHDM es una propuesta basada en el diseño, que ofrece una serie de ideas que han sido asumidas por bastantes propuestas y que han dado muy buenos resultados. La primera de ellas es que hace una separación clara entre lo conceptual, lo navegacional y lo visual. Esta independencia hace que el mantenimiento de la aplicación sea mucho más sencillo. Además, es la primera propuesta que hace un estudio profundo de los aspectos de interfaz, esencial no solo en las aplicaciones multimedia, sino que es un punto crítico en cualquiera de los sistemas que se desarrollan actualmente.

OOHDM hace uso también de la orientación a objetos y de un diagrama tan estandarizado como el de clases, para representar el aspecto de la navegación a través de las clases navegacionales: índices, enlaces y nodos. Esta idea ha dado muy buenos resultados y parece muy adecuada a la hora de trabajar.

Sin embargo, y a pesar de esto, OOHDM presenta algunas deficiencias. OOHDM ha dejado fuera de su ámbito un aspecto esencial que es el tratamiento de la funcionalidad del sistema. El qué se puede hacer en el sistema y en qué momento de la navegación o de la interfaz se puede hacer, es algo que no trata y que lo deja como tarea de implementación.

Además, OOHDM no ofrece ningún mecanismo para trabajar con múltiples actores. Por ejemplo, imaginemos que la interfaz y la navegación de la aplicación varia sustancialmente dependiendo de quién se conecte a la aplicación. El diagrama navegacional, los contextos navegacionales y los ADVs resultarían muy complejos para representar esta variabilidad.

Otra propuesta de OOHDM que no parece adecuada es la de los contextos navegacionales.

En resumen, OOHDM nos ofrece una serie de ideas muy adecuadas a la hora de plantear una metodología de desarrollo que tenga en cuenta la navegación y la interfaz.


Grupo EUMEDNET de la Universidad de Málaga Mensajes cristianos

Venta, Reparación y Liberación de Teléfonos Móviles
Enciclopedia Virtual
Biblioteca Virtual
Servicios