Está en la página 1de 30

Metodología

OOHDM

Jairo Pinto
160-1627
Ing. sistemas
Introducción
En la actualidad son pocas las metodologías existentes
que permiten a los desarrolladores conseguir productos
de software hipermedia reusables y fáciles de
mantener.
A pesar de ello, ha nacido una tendencia a considerar
el desarrollo hipermedial con un enfoque de proceso
de ingeniería (del software), por lo que ya se han
propuesto algunas metodologías para este fin.

Una de ellas es OOHDM (Object Oriented Hypermedia


Design Method), la cual será analizada con el principal
objetivo de identificar sus ventajas, desventajas y su real
aplicación a este tipo de aplicaciones.
OOHDM
 OOHDM es una metodología orientada a
objetos.

 Su
proceso de desarrollo tiene 5 fases donde se
combinan notaciones UML y otras propias de la
metodología.

 Antes OOHDM era solo para aplicaciones como


 CD-ROM promocionales
 Enciclopedias
 Museos virtuales
OOHDM
El gran desarrollo de Internet obligo a que se
adaptara para desarrollo de aplicaciones
Hipermedia.

 Comercio electrónico
 Motores de búsqueda
 Sitios educacionales y de entretención
Etapas de OOHDM
Fase 1
 Obtenció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.
Fase 2
 Diseño Conceptual

Se construye un modelo orientado a objetos 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
teniendo en cuenta el papel de los usuarios y las
tareas que desarrollan.
Fase 2
 Elresultado de esta fase es un modelo de clases
relacionadas que se divide en subsistemas.

 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
Fase 3
 Diseño Navegacional

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
 Estructuras de acceso
 Los menús
 Los índices
 Las guías de ruta
Fase 4
 Diseño de Interfaz Abstracta

Esto consiste en definir:

 Qué objetos de interfaz va a percibir el usuario


 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.

 MODELOS DE VISTAS ABSTRACTAS DE DATOS (ADVs): los


modelos de los ADVs no son más que representaciones
formales que se usan para mostrar todo esto.
Fase 5
 Implementación

 Una vez cumplidas las 4 fases anteriores solo


queda llevar los objetos a un lenguaje concreto
de programació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
Ventajas
 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.

 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.

 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.
Desventajas

 Ha dejado fuera de su ámbito un aspecto esencial


que es el tratamiento de la funcionalidad del
sistema.

 Noofrece ningún mecanismo para trabajar con


múltiples actores.
Ejemplo práctico
“All Horizons” es una empresa que ofrece
servicios de capacitación a distintas empresas a
nivel nacional. Su principal fuerte son los cursos y
seminarios relacionados con temas informáticos.
La idea es desarrollar un sitio “web” que sea
capaz de ofrecer información en forma intuitiva
de los cursos y seminarios que se imparten.
Además sería óptimo agregarle pequeñas
funcionalidades, tales como, permitir a los
usuarios bajar los textos y documentos
relacionados con el curso que han tomado o
darles la posibilidad de ver su nota obtenida en
el curso.
Fase 1
Obtención de requerimientos
Identificación de roles y tareas

 roles:

 Alumno:
 Buscar información acerca de un curso
 Buscar información acerca de un profesor
 Obtener el material para un curso
 Potencial Alumno
 Profesor
 Agente de Ventas
 Secretaria
 Coordinador
Especificación de escenarios
Especificación de casos de uso
Especificación de UIDs
Validación de casos de uso y UIDs

En esta etapa, el desarrollador deberá interactuar


con cada usuario para validar los casos de uso y
UIDs obtenidos, mostrando y explicando cada uno
de ellos para ver si el o los usuarios están de
acuerdo. El usuario deberá interceder sólo en
aquellos casos de uso y UIDs en que participa.
Fase 2
Diseño conceptual
Diseño conceptual
Fase 3
Diseño navegacional
Diseño navegacional
Para cada UID se crearán diagramas de contexto
y tarjetas de especificación que detallan la
información contenida en el diagrama. En la
siguiente figura se grafica el diagrama de contexto
correspondiente al UID del caso de uso “Buscando
un curso dado un tema”.
Aplicación del diseño navegacional
Fase 4
Diseño de interfaz abstracta
Diseño de interfaz abstracta

Figura 8 ADVs relacionadas con el caso de uso “Buscando un


curso dado un tema”
Fase 5
Implementación
Implementación

Una vez terminadas las etapas anteriores, el desarrollador


posee un completo conocimiento del dominio del problema.
Además de ello, cuenta con una idea básica de cómo se
verán las
interfaces.

Para comenzar con la implementación el desarrollador deberá


elegir donde almacenará los objetos y con qué lenguaje o
herramienta desarrollará las interfaces, es necesario aclarar
que generalmente el desarrollador se encarga del lado
técnico de la interfaz, la parte gráfica y el que le dará la
apariencia final a la interfaz será el diseñador
gráfico.

También podría gustarte