Metodología OMT.

La metodología de modelado de objetos OMT (object Modeling Technique) descrito por [Rumbaugh].

 

Modelo:

Del modelo espiral o un proceso evolutivo con una separación no rígida entre las fases del desarrollo.

 

Enfasis:

 

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.

Los pasos a seguir en el análisis son:

  1. Se escribe u obtiene una descripción inicial del problema.
  1. Se construye el modelo de objetos y sus relaciones.

Su objetivo es describir la estructura estática del software.

Los pasos que se llevan a cabo para el modelo de objetos son:

    1. Identificar las clases

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)
    2. Es muy importante definir que se entiende con mayor detalle por cada clase que quedó en la lista anterior.

    3. Identificar las asociaciones entre objetos.
    4. 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 estos 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.

      También se puede representar la relación " es parte de" o agregación que indica que el objeto está compuesto por objetos de las clases asociadas.

      Se denota un pequeño diamante del lado de la clase que agrega y puede incluir multiplicidades.

       

       

    5. Identificar atributos.
    6. Los atributos son propiedades de los objetos tales como nombre, peso, velocidad, etc.

    7. Organizar y simplificar clases usando herencia.
    8. 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.

       

    9. Verificar que existan trayectorias en el modelo de objetos para preguntas probables.
    10. 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.

    11. Iterar y refinar el modelo.

El documento que genera el modelo de objetos es el siguiente:

Modelo de objetos = diagrama del modelo de objetos + diccionario de datos

  1. Se desarrolla el modelo dinámico.

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.

El documento que genera el modelo dinámico es:

Modelo dinámico = diagramas de estados + diagrama global de trazado de eventos

  1. Se construye el modelo funcional.

El documento que genera el modelo funcional es:

Modelo funcional = diagramas de flujo de datos + restricciones

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

 

Diseño del sistema

Se define la arquitectura del sistema y se toman las decisiones estratégicas.

Los pasos que se llevan acabo son:

  1. Se organiza el sistema en subsistemas.
  2. Cada subsistema comparte alguna propiedad en común. Las relaciones entre los subsistemas pueden ser: cliente – servidor o punto a punto.

    La descomposición se puede organizar por capas horizontales o particiones verticales( cada uno proporciona un servicio).

  3. Se identifica la concurrencia inherente en el problema.
  4. El modelo dinámico nos permite identificar la concurrencia en el sistema.

  5. Se asignan los subsistemas a procesadores y a tareas.
  6. Cada subsistema se asigna a un procesador buscando satisfacer necesidades de rendimiento y minimizando la comunicación de los procesadores.

  7. Se selecciona la estrategia para implementar y administrar los almacenes de datos(archivos o bases de datos).
  8. Selección de la implementación del control del software.

Existen dos tipos de control:

  1. Se consideran las condiciones de contorno.
  2. Se trata de considerar como se hace la iniciación, terminación y como responderá a las fallas.

  3. Se establecen prioridades de compensación.

El documento que nos proporciona el diseño del sistema es:

Documento de diseño del sistema = estructura de la arquitectura básica del sistema + decisiones estratégicas de alto nivel.

 

Diseño de objetos

Su objetivo es refinar el modelo del análisis y proporcionar una base detallada para la implementación tomando en cuenta el ambiente en que se implementará.

Los pasos que se realizan en el diseño de objetos son los siguientes:

  1. Se refinan las operaciones para el modelo de objetos a partir de los demás modelos:
  1. Se diseñan algoritmos para implementar las operaciones y las estructuras de datos
  2. Se optimizan las vías de acceso a los datos.
  3. Se implementa el control del software completando la aproximación propuesta en el diseño del sistema.

Existen tres estrategias básicas para implementar el control:

    1. Construir un sistema controlado por procedimientos.
    2. Crear un motor de máquina de estados que responde a una tabla de transiciones y acciones. (Se recomienda para ambientes dirigidos por eventos)
    3. Establecer un control como tareas concurrentes. (Se requiere de un lenguaje que soporte la concurrencia)
  1. Se ajusta la estructura de clases incrementando la herencia.
  2. Se diseña la implementación de las asociaciones.

Las asociaciones conforman el pegamento en el modelo de objetos y proporcionan las vías de acceso entre los objetos. La implementación se hace dependiendo del tipo de asociación:

    1. Atributos en una dirección.
    2. Como atributos en ambas direcciones.
    3. Implementar como un objeto separado por medio de diccionarios.
  1. Se determina la representación exacta de los atributos de los objetos.
  2. Se empaquetan las clases y las asociaciones en módulos. El empaquetamiento implica:

El documento que se genera el diseño de objetos es:

Documento de diseño de objetos = modelo de objetos detallado + modelo dinámico detallado + modelo funcional detallado.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ejemplo de la metodología OMT

 

Descripción del problema

 

El problema consiste en crear un sistema computarizado de registro de calificaciones para una liga infantil de nado sincronizado. Los niños participan en dos clases de eventos llamados: figuras y rutinas. Las figuras, se ejecutan de manera individual y son maniobras de ballet acuático tales como nadar sobre la espalda con una pierna levantada recta. Las rutinas se realizan por el equipo completo y son un ballet acuático, El sistema sólo tiene que tomar en cuenta las figuras.

 

Durante el encuentro, los eventos de figura se llevan simultáneamente en varias estaciones situadas alrededor de la alberca, usualmente en cada esquina. En una estación se pueden realizar varios eventos de figura en el curso de un encuentro. Los concursantes se dividen en grupos; cada grupo inicia en diferentes estaciones. Cada competidor tiene un intento en cada evento.

 

Se asignan varios jueces y anotadores a cada estación durante el encuentro. Cada juez indica la calificación para cada prueba observada mostrandoi unas tarjetas numeradas. Las calificaciones son leídas por los anotadores que las registran y calculan la calificación neta para cada prueba. La calificación más alta y más baja se eliminan por el grado de dificultad de la figura.

 

Lista de candidatos a objetos

 

Sistema computarizado rergistro

Calificación atr. liga infantil de nado

Niño evento

Figura rutina

Ballet acuático espalda

Pierna equipo

Encuentro estación

Alberca esquina

Concursante grupo

Evento competidor

Intento atr. juez

Anotador tarjetas numeradas

Promedio atr. grado de dificultad atr.

 

 

Diagrama de instancias.

Diagramas de clases e instancias.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Diccionario de datos.

 

Anotador: es la persona que lleva el registro de las calificaciones que asignan los jueces a cada competidor. Calcula la calificación final de cada competidor.

 

Concursante: es un niño que participa en la competencia.

 

Equipo: es un conjunto de niños que participan en una competencia. Todos los participantes es un equipo realizan juntos el ballet acuático.

 

Estación: es el lugar donde se lleva a cabo un evento de competencia. Hay varias estaciones simultáneas, usualmente es las esquinas de la alberca. En una estación se pueden efectuar varios eventos.

 

Evento: son las competencias o pruebas llevadas a cabo en las estaciones. Hay varios eventos en que pueden participar los competidores en una competencia.

 

Figura: es un tipo de evento en que se compite individualmente, es una maniobra de ballet acuático como nadar de espalda con una pierna levantada.

 

Juez: persona que asigana una calificación a cada competidor para cada prueba. Varios jueces se asignan a una estación. Una figura es calificada por los mismos jueces.

 

Rutina: es otro tipo de evento, se compite en equipos completos realizando un ballet acuático.