1. TIPOS DE MODELO Y METODOLOGIAS
Por Josafat Martínez Martínez
LA METODOLOGÍA OOHDM (Método de Diseño Hipermedia Orientado a Objetos)
Es una metodología de diseño de aplicaciones hipermedia en particular para aplicaciones web.
Se puede representar gráficamente usando diagramas de clase, Diagrama navegacional +
contexto, y diagrama de configuración ADV (Vista de Datos Abstracta).
Existe una clara identificación de los tres diferentes niveles de diseño en forma independiente de
la implementación.
En OOHDM, el esquema conceptual está construido por clases, relaciones y subsistemas. Las
clases son descritas como en los modelos orientados a objetos tradicionales. Sin embargo, los
atributos pueden ser de múltiples tipos para representar perspectivas diferentes de las mismas
entidades del mundo real [1].
Se usa notación similar a UML (Lenguaje de Modelado Unificado), tarjetas de clases y relaciones
similares a las tarjetas CRC (Clase Responsabilidad Colaboración). El esquema de las clases consiste
en un conjunto de clases conectadas por relaciones. Los objetos son instancias de las clases. Las
clases son usadas durante el diseño navegacional para derivar nodos y las relaciones que son
usadas para construir enlaces.
La principal estructura primitiva del espacio navegacional es la noción de contexto navegacional.
Un contexto navegacional es un conjunto de nodos, enlaces, clases de contextos, y otros contextos
navegacionales (contextos anidados). Pueden ser definidos por comprensión o extensión, o por
enumeración de sus miembros.
El modelo de interfaz ADV (Vista de Datos Abstracta) especifica la organización y comportamiento
de la interfaz, pero la apariencia física real o de los atributos, y la disposición de las propiedades de
las ADV en la pantalla real son hechas en la fase de implementación.
SOHDM (MÉTODO QUE DESARROLLA DISEÑO EN PANORAMAS (ESCENARIO) ORIENTADA A
OBJETOS EN HIPERMEDIA)
Es un Método que Desarrolla Diseño en panoramas o escenariosorientada a objetos en
Hipermedia (Scenario - basedObjectoriented Hypermedia Desi gn Methodology). Presenta la
necesidad de disponer de un proceso que permita capturar l as necesidades del sistema. Para ello,
propone el uso de escenarios [2].
Esta propuesta ofrece un modelo de escenarios denominado SAC (ScenarioActivity Chart) para
representar los requisitos.
Hace uso del diagrama de contexto propuestos en los DFD (Diagrama de flujo de Datos).
2. Es una de las primeras propuestas para la web y brinda el tratamiento de requisitos.
El proceso de definición de requisitos parte de la realización de un diagrama de contexto tal y
como se propone en los diagramas de flujo de datos.
Utiliza panoramas que describen las actividades en los acontecimientos y primitivas de flujo.
RATIONAL UNIFIED PROCESS (RUP)
Captura varias de las mejores prácticas en el desarrollo moderno de software en una forma que es
aplicable para un amplio rango de proyectos y organizaciones.
Es una guía de cómo utilizar de manera efectiva UML.Provee a cada miembro de un equipo un fácil
acceso a una base de conocimiento con guías, plantillas y herramientas para todas las actividades
críticas de desarrollo [3].
Crea y mantiene modelos, en lugar de enfocarse en la producción de una gran cantidad de papeles
de documentación.
RUP describe como utilizar de forma efectiva procedimientos comerciales probados en el
desarrollo de software para equipos de desarrollo de software, conocidos como “mejores
prácticas”.
Reconoce que las necesidades del usuario y sus requerimientos no se pueden definir
completamente al principio.
Reduce el costo del riesgo a los costos de un solo incremento.
Acelera el ritmo del esfuerzo de desarrollo en su totalidad debido a que los desarrolladores
trabajan para obtener resultados claros a corto plazo.
Distribuye la carga de trabajo a lo largo del tiempo del proyecto ya que todas las disciplinas
colaboran en cada iteración.
Requiere conocimientos del proceso y de UML. Progreso visible en las etapas tempranas.
El uso de Iteraciones (actividades) permite evaluar tempranamente los riesgos en lugar de
descubrir problemas en la integración final del sistema.
Facilita la reutilización del código teniendo en cuenta que se realizan revisiones en las primeras
iteraciones lo cual además permite que se aprecien oportunidades de mejoras en el diseño.
Una principal desventaja es que el grado de complejidad puede no resultar muy adecuado puesto
que esta enfocado para proyecto grandes.
Metodología OMT.
La metodología de modelado de objetos OMT (ObjectModelingTechnique) descrito por
[Rumbaugh]. Se basa en tres modelos fundamentales y ortogonales [4].
3. Modelo Objeto
Modelo dinámico
Modelo Funcional
OMT considera que todo lo necesario y suficiente para el desarrollo de sistemas OO se puede
representar en alguno de estos tres modelos:
Fases de la metodología OMT:
Análisis: Su objetivo es desarrollar un modelo de lo que va a hacer el sistema. El modelo se
expresa en términos de objetos y de relaciones entre ellos, flujo dinámico de control y las
transformaciones funcionales [5].
A. Se construye el modelo de objetos y sus relaciones.
Su objetivo es describir la estructura estática del software.
Se abstraen los conceptos de los datos que son más importantes para la aplicación.
Se describen gráficamente por los diagramas de objetos que definen las clases y sus relaciones
Los pasos que se llevan a cabo para el modelo de objetos son:
1. Identificar las clases
El documento que genera el modelo de objetos es el siguiente:
Modelo de objetos = diagrama del modelo de objetos + diccionario de datos
Se seleccionan los sustantivos de la descripción del problema como posibles clases
candidatas. Se construye una lista [5].
Se eliminan las clases redundantes, irrelevantes o vagas o bien por ser atributos, operaciones
o construcciones de implementación.
Las clases se representan por rectángulos con tres compartimientos, en el primero se pone el
nombre de la clase, en el segundo los atributos y en el tercero las operaciones o métodos.
1. Preparar un diccionario de clases (datos)
Es muy importante definir que se entiende con mayor detalle por cada clase que
quedó en la lista anterior.
2. Identificar las asociaciones entre objetos.
Una asociación es una dependencia entre dos o más clases. Las asociaciones, se
representan por líneas que unen a las clases sobre las cuales se puede escribir el
nombre de la asociación.
A los diagramas se les agrega la multiplicidad correcta. Puede ser "uno a uno"; "uno a
muchos" representada por una bolita rellena del lado de los "muchos"; o "muchos a
muchos" representada por bolitas rellenas a ambos extremos de la línea.
4. 3. Identificar atributos.
Los atributos son propiedades de los objetos tales como nombre, peso, velocidad, etc.
4. Organizar y simplificar clases usando herencia.
La herencia se puede usar para generalizar los aspectos comunes de las clases
existentes construyendo una superclase, o para refinar una clase en subclases
especializadas.
La notación de OMT para la herencia es un triángulo debajo de la superclase.
5. Verificar que existan trayectorias en el modelo de objetos para preguntas probables.
En los pasos anteriores se construyó un diagrama de objetos, ahora se hace una
revisión verificando que estén representadas todas las relaciones siguiéndolo para
preguntas probables.
6. Iterar y refinar el modelo.
2. Se desarrolla el modelo dinámico.
El documento que genera el modelo dinámico es:
Modelo dinámico = diagramas de estados + diagrama global de trazado de eventos
Se captura el aspecto concerniente a la secuencia de las operaciones en el tiempo.
Se muestra el control sin importar que hacen exactamente las operaciones.
Se representa por un diagrama de estados. El estado de un objeto es un conjunto de
valores para sus atributos, en un cierto momento, el cual cambia al recibir un estímulo
llamado evento.
Un diagrama de estados es una gráfica de estados representados por
círculos y eventos representados por flechas.
Los pasos que se siguen en el modelo dinámico son:
1. Preparar escenarios de una interacción típica.
2. Identificar eventos entre objetos preparando un trazado de eventos para cada
escenario.
3. Construir los diagramas de estados.
4. Revisar los eventos entre los objetos para verificar su consistencia.
3. Se construye el modelo funcional.
El documento que genera el modelo funcional es:
Modelo funcional = diagramas de flujo de datos + restricciones
5. Especifica el significado de las operaciones o métodos en el modelo de objetos y de las
acciones en el modelo dinámico.
Muestra como se calculan los valores sin importar la secuencia, las decisiones ni la
estructura de los objetos.
Se utilizan diagramas de flujo de datos para mostrar las dependencias funcionales.
SE VERIFICAN, ITERAN Y REFINAN LOS TRES MODELOS.
El documento que genera el análisis contiene:
Documento de análisis = definición del problema + modelo de objetos + modelo dinámico +
modelo funcional.
UML
El lenguaje unificado de diagrama o notación (UML) sirve para especificar, visualizar y documentar
esquemas de sistemas de software orientado a objetos. UML no es un método de desarrollo, lo
que significa que no sirve para determinar qué hacer en primer lugar o cómo diseñar el sistema,
sino que simplemente le ayuda a visualizar el diseño y a hacerlo más accesible para otros. UML
está controlado por el grupo de administración de objetos (OMG) y es el estándar de descripción
de esquemas de software [8].
UML está diseñado para su uso con software orientado a objetos, y tiene un uso limitado en otro
tipo de cuestiones de programación.
UML se compone de muchos elementos de esquematización que representan las diferentes partes
de un sistema de software. Los elementos UML se utilizan para crear diagramas, que representa
alguna parte o punto de vista del sistema.Soporta los siguientes tipos de diagramas:
Diagrama de casos de uso que muestra a los actores (otros usuarios del sistema), los casos de uso
(las situaciones que se producen cuando utilizan el sistema) y sus relaciones.
Diagrama de clases que muestra las clases y la relaciones entre ellas.
Diagrama de secuencia muestra los objetos y sus múltiples relaciones entre ellos.
Diagrama de colaboración que muestra objetos y sus relaciones, destacando los objetos que
participan en el intercambio de mensajes.
Diagrama de estado muestra estados, cambios de estado y eventos en un objeto o en parte del
sistema.
Diagrama de actividad que muestra actividades, así como los cambios de una a otra actividad
junto con los eventos que ocurren en ciertas partes del sistema.
Diagrama de componentes que muestra los componentes de mayor nivel de la programación
(cosas como Kparts o Java Beans).
6. Diagrama de implementación que muestra las instancias de los componentes y sus relaciones.
Diagrama de relaciones de entidad que muestra los datos y las relaciones y restricciones entre
ellos.
Bibliografía
[1] Silva Darío Andrés, Mercerat Bárbara;Construyendo aplicaciones web con una metodología de
diseño orientada a objetos,
http://www.unab.edu.co/editorialunab/revistas/rcc/pdfs/r22_art5_c.pdf, Febrero 2002.
[2] SCHWABE, D. ROSI, G.; BARBOSA, S. Systematic Hypermedia Application Design with OOHDM.
Proceedings of the ACM International Conference on Hypertext (Hypertext'96). Washington DC,
March, 16-20, 1996. http://www-di.inf.puc-rio.br/schwabe//papers/TAPOSRevised.pdf
[3] MejíaÁlvarez Pedro, F. Ibarra Armando,Rational Unified Process.
[4] http://www.mcc.unam.mx/~cursos/Objetos/Omt/omt.html
[5] Juan Marcelo Flores Solís, OMT Análisis 2001, url: docentes.umss.edu.bo/fcyt/mflores/OMT-
Analisis-6-mar-2002.ppt
[6] Modelo Dinámico en Orientación a Objetos, Alejandro Hossian, url:
http://www.itescam.edu.mx/principal/sylabus/fpdb/recursos/r18525.PDF
[7] Modelo Estático, Dinámico y Funcional en OMT, Gustavo Tarrico Martínez, url: http://cup-
coffe.blogspot.mx/2009/06/modelo-estatico-dinamico-y-funcional-en.html
[8] Aguilar, A. L. (2005). Desarrollo de Aplicaciones Web Usando UML. Puebla: Universidad de
Puebla.
[9] http://www.itlalaguna.edu.mx/academico/carreras/sistemas/Analisis%20y%20dise%
F1o%20orientado%20a%20objetos/rumbaugh.pdf
[10]http://www.hipertexto.info/documentos/oohdm.htm