You are on page 1of 15

METODOLOGIA OMT (RUMBAUGH)

Origen.
La metodologa OMT (Object Modeling Technique) fue creada por James Rumbaugh
y Michael Blaha en 1991, mientras James diriga un equipo de investigacin de los
laboratorios General Electric.

La OMT se enfoca al manejo de objetos y funciones, de tal forma que se considera


una programacin rpida y sencilla, enfocada a la generacin de ambientes de
amigables en la cual se consideran elementos tales como en el manejo de colores,
imgenes y sonidos. Algunos lenguajes con esta tendencia de programacin son: Visual
Basic, Visual Dbase, C++ y Turbo Pascal, entre otros.
Tambin se le conoce como Programacin Orientada a Objetos (OOP). Es una de
las metodologas ms modernas dentro de la programacin, se puede considerar como
la siguiente generacin de la metodologa de programacin estructurada.
Definicin.
OMT es una de las metodologas de anlisis y diseo orientadas a objetos, ms
maduras y eficientes que existen en la actualidad. La gran virtud que aporta esta
metodologa es su carcter de abierta (no propietaria), que le permite ser de dominio
pblico y , en consecuencia, sobrevivir con enorme vitalidad. Esto facilita su evolucin
para acoplarse a todas las necesidades actuales y futuras de la ingeniera de software.
La programacin orientada a objetos introduce un nuevo trmino: objeto y un modo de
implementarlos, en este tipo de programacin ya no nos preocupamos por las tareas
que realiza cada mdulo, sino por la definicin de los diferentes objetos que
utilizaremos, los cuales pertenecen a una clase o subclase, realizan ciertos mtodos y
cuentan con diversos elementos.
Los objetos se manejan por CLASES (tambin conocidos como MIEMBROS DE
DATOS), que son: atributos y funciones que son compartidos entre varios objetos; por
ejemplo:
En el genero humano existe gente alta y baja de
estatura. Existen vehculos de carga, deportivos, de
pasajeros, etc.

Asimismo, a cada caracterstica que tenga cualquier objeto se la llama SUBCLASE.


EJEMPLO 1:
Clase: Vehculos de transporte.
SUBCLASES

PASAJEROS

DEPORTIVOS

FAMILIARES

SERVICIOS

A la par de la definicin del objeto se pueden definir los subprogramas que actuaran
sobre l, a estos subprogramas particulares del objeto y de la clase que definen se les
conoce como MTODOS.
Se pueden considerar como elementos de los objetos a los ATRIBUTOS, que son
caractersticas que los describen en diversos aspectos tales como: tamao, color, forma,
etc.; al ENCAPSULAMENTO, que es la combinacin de los mtodos y datos dentro del
propio objeto, es decir, la unidad es completa, ya que en ella se definen los elementos
que componen al objeto y todas las operaciones que se pueden hacer con l; y a la
HERENCIA que permite declarar un nuevo objeto a partir de otro ya definido,
permitiendo que el primero sea una subclase del segundo, lo cual implica que adquiera
todos los mtodos y datos del segundo objeto.

EJEMPLO 2: HERENCIAS.
Clase: Construccin de vivienda.
Objeto: Edificio.
Mtodos: Habitado o deshabitado.
Elementos: Ventanas, puertas, baos, enchufes, elevador.
Del objeto anterior se define el siguiente objeto, el cual pertenece a la clase Edificio,
o es una subclase de Construccin de vivienda.
Clase: Edificio.
Objeto: Duplex.

Mtodos: Cantidad de habitantes


departamento. Elementos: Habitantes.

por

departamento,

costo

del

El objeto Duplex, gracias a la herencia, tendr la siguiente definicin:


Clase: Es de tipo Edificio

es una construccin de vivienda.

Objeto: Duplex.
Mtodos: Habitado o deshabitado (heredados), cantidad de habitantes por departamento,
costo del departamento.
Elementos: Ventanas, puertas, baos, enchufes, elevador (heredados) y habitantes.

Proceso de desarrollo de OMT


Los pasos para desarrollar diseo OMT son:

Conceptualizacin

El desarrollo empieza con el anlisis de la empresa o negocio, o de cmo los usuarios conciben el
sistema y formulan sus requerimientos. La conceptualizacin es a menudo por la re ingeniera de
procesos de la empresa, es una observacin critica de los procesos de la empresa, y su impacto
econmico.
En esta etapa se debe tener en cuenta las siguientes preguntas:
Cul es la aplicacin ?
Que problemas tendrn que ser resueltos ?
Dnde ser usado el sistema ?
Cundo ser requerido el sistema ?
Para qu es necesario el sistema ?

Etapas o Fases de la Metodologa OMT

La metodologa OMT consta de cuatro etapas para su construccin.


En esta etapa se construyen
ANLISIS

Modelo Objeto.
Modelo Dinmico.
Modelo Funcional.

DISEO

En esta parte se efecta la toma de

DEL

decisiones
del

SISTEMA

sistema.

de

la

estructura

general

DISEO

En esta parte se manejan a detalle


los

DE

modelos que son mencionados en la


primera etapa, trabajando toda estructura

OBJETOS

de datos y mtodos.

IMPLEMENTACIN

Esta etapa es la de desarrollo de la


ya

programacin, utilizando un lenguaje


determinado.

La metodologa OMT emplea tres clases de modelos para describir el sistema:


1. Modelo de objetos.
Describe la estructura esttica de los objetos del sistema (identidad, relaciones con otros
objetos, atributos y operaciones). El modelo de objetos proporciona el entorno esencial en el cual
se pueden situar el modelo dinmico y el modelo funcional. El objetivo es capturar aquellos

conceptos del mundo real que sean importantes para la aplicacin.Se representa mediante
diagramas de objetos.

Objetos. Un objeto es, sencillamente, algo que tiene sentido en el contexto de la aplicacin. Se
definir un objeto como un concepto, abstraccin o cosa con lmites bien definidos y con significado
a efectos del problema que se tenga entre manos.
Clases. Describe un grupo de objetos con propiedades (atributos) similares, con relaciones
comunes con otros y con una semntica comn
Diagramas de objetos. Proporcionan un anotacin grfica formal para el modelado de objetos, clases
y sus relaciones entre s, son tiles, tanto para el modelado abstracto como, para disear programas
reales. Hay dos tipos de diagramas de objetos
-Diagrama de clases. Esquema, patrn o plantilla para describir muchas instancias de datos posibles.
-Diagrama de instancias. Describe la forma en que un cierto conjunto de objetos se relacionan entre s.

2. Modelo dinmico.
Describe los aspectos de un sistema que tratan de la temporizacin y secuencia de
operaciones (sucesos que marcan los cambios, secuencias de sucesos, estados que definen el
contexto para los sucesos) y la organizacin de sucesos y estados. Captura el control, aquel
aspecto de un sistema que describe las secuencias de operaciones que se producen sin tener en
cuenta lo que hagan las operaciones, aquello a lo que afecten o la forma en que estn
implementadas. Se representa grficamente mediante diagramas de estado.
Diagrama de Estados
Un diagrama de estados relaciona sucesos y estados. Cuando se recibe un suceso, el estado siguiente
depende del actual, as como del suceso; un cambio de estado causado por un suceso es lo que se llama una
transicin. Un diagrama de estados es un grafo cuyos nodos son estados, y cuyos arcos dirigidos son
transiciones rotuladas con nombres de sucesos.

3. Modelo funcional.
Describe las transformaciones de valores de datos (funciones, correspondencias, restricciones
y dependencias funcionales) que ocurren dentro del sistema. Captura lo que hace el sistema,

independientemente de cuando se haga o de la forma en que se haga. Se representa mediante


diagramas de flujo de datos.
Diagramas de flujo de datos
El modelo funcional consta de mltiples diagramas de flujo de datos, que especifican el significado de
las operaciones y de las restricciones. Un diagrama de flujo de datos (DFD) muestra las relaciones
funcionales entre los valores calculados por un sistema, incluyendo los valores introducidos, los obtenidos, y
los almacenes internos de datos. Un diagrama de flujo de datos es un grafo que muestra el flujo de valores
de datos desde sus fuentes en los objetos mediante procesos que los transforman, hasta sus destinos en otros
objetos. Un diagrama de flujo de datos no muestra informacin de control como puede ser el momento en
que se ejecutan los procesos o se toman decisiones entre vas de datos alternativas; esta informacin
pertenece al modelo dinmico. Un diagrama de flujo de datos no muestra la organizacin de los valores en
objetos; esta informacin pertenece al modelo de objetos.
Un diagrama de flujo de datos contiene procesos que transforman datos, flujos de datos que los trasladan,
objetos actores que producen y consumen datos, y de almacenes de datos que los almacenan de forma
pasiva.

Restricciones
Una restriccin muestra la relacin entre dos objetos al mismo tiempo o bien entre distintos valores del
mismo objeto en instantes diferentes. Las restricciones se pueden expresar como una funcin total (un valor
que es especificado completamente por otro) o como una funcin parcial (un valor que est restringido, pero
no completamente especificado por otro valor). Las restricciones pueden aparecer en todas las clases del
modelo.
Las restricciones de objetos especifican que algunos objetos dependen entera o parcialmente de otros
objetos. Las restricciones dinmicas especifican relaciones entre los estados o sucesos de distintos objetos.
Las restricciones funcionales especifican limitaciones aplicables a operaciones.
Una restriccin entre valores de un objeto a lo largo del tiempo es lo que suele denominarse un invariante.

Fases de la metodologa OMT


1. Anlisis.
El analista construye un modelo del dominio del problema, mostrando sus propiedades ms
importantes. El modelo de anlisis es una abstraccin resumida y precisa de lo que debe de
hacer el sistema deseado y no de la forma en que se har. Los elementos del modelo deben ser
conceptos del dominio de aplicacin y no conceptos informticos tales como estructuras de datos.
Un buen modelo debe poder ser entendido y criticado por expertos en el dominio del problema
que no tengan conocimientos informticos.

2. Diseo del sistema.


El diseador del sistema toma decisiones de alto nivel sobre la arquitectura del mismo.
Durante esta fase el sistema se organiza en subsistemas basndose tanto en la estructura del
anlisis como en la arquitectura propuesta. Se selecciona una estrategia para afrontar el
problema.
3. Diseo de objetos.
El diseador de objetos construye un modelo de diseo basndose en el modelo de anlisis,
pero incorporando detalles de implementacin. El diseo de objetos se centra en las estructuras
de datos y algoritmos que son necesarios para implementar cada clase. OMT describe la forma
en que el diseo puede ser implementado en distintos lenguajes (orientados y no orientados a
objetos, bases de datos, etc.).
4. Implementacin.
Las clases de objetos y relaciones desarrolladas durante el anlisis de objetos se traducen
finalmente a una implementacin concreta. Durante la fase de implementacin es importante
tener en cuenta los principios de la ingeniera del software de forma que la correspondencia con
el diseo sea directa y el sistema implementado sea flexible y extensible. No tiene sentido que
utilicemos AOO y DOO de forma que potenciemos la reutilizacin de cdigo y la correspondencia
entre el dominio del problema y el sistema informtico, si luego perdemos todas estas ventajas
con una implementacin de mala calidad. Fase de Anlisis.

PASOS

ACTIVIDADES

Identificar los Objetos y Clases.

Identificar la asociacin entre Objetos.

IDENTIFICACIN

Identificar los atributos.

DEL

Agrupar las clases y mdulos.

MODELO OBJETO

Preparar el diccionario de datos.

Definir para cada objeto qu eventos tendr.

IDENTIFICACIN

Construir los diagramas de estado para el


comportamiento de los objetos.

DEL
MODELO DINMICO

Manejar la elaboracin de diagramas de flujo

de
IDENTIFICACIN

datos para identificar la independencia que


existe
entre operaciones.

DEL
MODELO FUNCIONAL

Distinguir los valores de entrada y salida.

El objetivo del anlisis es desarrollar un modelo del funcionamiento del sistema. El modelo se
expresa en trminos de objetos y relaciones, el control dinmico de flujo y las transformaciones
funcionales. El proceso de capturar los requerimientos y consultar con el solicitante debe ser
continuo a travs del anlisis. A saber:
1. Contar con una descripcin inicial del problema (enunciado del problema).
2. Construir un modelo de objetos. Modelo de objetos = diagramas del modelo de objetos +
diccionario de datos.
3. Desarrollar un modelo dinmico. Modelo dinmico = diagramas de estado + diagrama global de
flujo de eventos.
4. Construir un modelo funcional. Modelo funcional = diagramas de flujo de datos + restricciones.
5. Verificar, iterar y refinar los tres modelos:

Agregar al modelo de objetos operaciones clave que sean descubiertas durante la


preparacin del modelo funcional. No deben mostrarse todas las operaciones durante el
anlisis, slo las ms importantes.

Verificar que las clases, asociaciones, atributos y operaciones sean consistentes y


completos al nivel seleccionado de abstraccin.

Comparar los tres modelos con el enunciado del problema y el conocimiento relevante al
dominio y probar los modelos usando varios escenarios.

Desarrollar escenarios ms detallados (incluyendo condiciones de error) como variaciones


de los escenarios bsicos, para verificar an ms los tres modelos.

Iterar los pasos anteriores segn sea necesario para completar el anlisis.

Documento de anlisis = enunciado del problema + modelo de objetos + modelo dinmico


+ modelo funcional.

Fase de Diseo de sistemas.


Durante el diseo de sistemas, se selecciona la estructura de alto nivel del sistema. Existen
varias arquitecturas cannicas que pueden servir como un punto de inicio adecuado. El
paradigma orientado a objetos no introduce vistas especiales en el diseo del sistema, pero se
incluye para tener una cobertura completa del proceso de desarrollo de software. Los pasos son:
1. Organizar el sistema en subsistemas.
2. Identificar la concurrencia inherente al problema.
3. Asignar subsistemas a procesadores y tareas.
4. Escoger la estrategia bsica para implantar los almacenamientos de datos en trminos de
estructuras de datos, archivos y bases de datos.
5. Identificar recursos globales y determinar los mecanismos para controlar su acceso.
6. Seleccionar un esquema para implantar el control del software:

Usar la ubicacin dentro del programa para mantener el estado,

implantar directamente una mquina de estado,

usar tareas concurrentes.

7. Considerar las condiciones de frontera.


8. Establecer prioridades de decisin sobre caractersticas deseables del producto de software.
Documento de diseo de sistemas = estructura de la arquitectura bsica del sistema + las
decisiones de estrategias de alto nivel.
Fase de Diseo de objetos.
Durante el diseo de objetos se elabora el modelo de anlisis y se proporciona una base
detallada para la implantacin. Se toman las decisiones necesarias para realizar un sistema sin
entrar en los detalles particulares de un lenguaje o base de datos particular. El diseo de objetos

inicia un corrimiento en el enfoque de la orientacin del mundo real del modelo de anlisis hacia
la orientacin en la computadora requerida para una implantacin prctica. Los pasos son:
1. Obtener las operaciones para el modelo de objetos a partir de los otros modelos:

Encontrar una operacin para cada proceso en el modelo funcional.

Definir una operacin para cada evento en el modelo dinmico, dependiendo de la


implantacin del control.

2. Disear los algoritmos para implantar las operaciones:

Escoger los algoritmos que minimicen el costo de implementacin de las operaciones.

Seleccionar las estructuras de datos apropiadas para los algoritmos.

Definir clases internas y operaciones nuevas segn sea necesario.

Asignar las responsabilidades para las operaciones que no estn asociadas claramente
con una sola clase.

3. Optimizar las rutas de acceso a los datos:

Agregar asociaciones redundantes para minimizar los costos de acceso y maximizar la


conveniencia.

Reacomodar los clculos para una mayor eficiencia.

Guardar los valores derivados para evitar recalcular expresiones complicadas.

4. Implantar el control del software introduciendo el esquema seleccionado durante el diseo de


sistemas.
5. Ajustar la estructura de clases para incrementar la herencia:

Reacomodar y ajustar las clases y las operaciones para incrementar la herencia.

Abstraer el comportamiento comn de los grupos de clases.

Usar delegacin para compartir comportamiento donde la herencia sea semnticamente


invlida.

6. Disear la implantacin de las asociaciones:

Analizar las travesas de las asociaciones.

Implantar cada asociacin como un objeto distinto o agregando atributos objeto-valor a una
o ambas clases en la asociacin.

7. Determinar la representacin de los atributos de los objetos.


8. Empaquetar las clases y las asociaciones en mdulos.

Documento de diseo = modelo de objetos detallado + modelo dinmico detallado + modelo


funcional detallado.
DISEO DEL OBJETO.
ACTIVIDADES
Es una etapa de refinamiento de detalles.

Disear las operaciones de nueva creacin si se requiere, plasmndolas a travs de


algoritmos.

Asignar la seguridad o restriccin a cada modulo conservando la integridad de informacin.

Asignar, de forma precisa, el movimiento, orden de aparicin de cada objeto y la relacin si es


que existe con otros mdulos u objetos.
Definir que el acceso a cada modulo sea de forma sencilla y rpida.

IMPLEMENTACIN.
ACTIVIDADES

En esta etapa es difcil manejarla a detalle debido a que depende del criterio del personal
informtico involucrado con el sistema.

Objetivo

Su objetivo es desarrollar un modelo de lo que va a hacer el sistema. El modelo se


expresa en trminos de objetos y de relaciones entre ellos, flujo dinmico de control y las
transformaciones funcionales.
Ventajas
1. Proporciona una serie de pasos perfectamente definidos al desarrollador.
2. Tratamiento especial de la herencia.
3. Facilita el mantenimiento dada la gran cantidad de informacin que se genera en el anlisis.
4. Es fuerte en el anlisis
Desventajas
1. Hay pocos mtodos para encontrar inconsistencias en los modelos.
2. Interaccin de objetos no soportada explcitamente en ninguna herramienta grfica.
3. Al ser un anlisis iterativo es difcil de saber cuando comenzar con el diseo.
4. Es dbil en el diseo
APLICACIONES
Esta Tecnologa puede ser aplicada en varios aspectos de implementacin incluyendo:

Archivos.

Base de datos relacionales.

Base de datos orientadas a objetos.

Estructura de datos.

Multimedia.

Interactivas.

Web.

Cliente/servidor.

Distribuidas.

Y en general, en prcticamente cualquier actividad de ingeniera que requiera hacer un anlisis


de un problema para poder resolverlo.

15

You might also like