Metodología Omt

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 13

DOCENTE

Jazcar Bravo Rivas

CARRERA
Ingeniería en Sistemas de Información III

AUTORES
Cristel Cibely Báez Lumbí, Víctor Manuel Díaz Suárez & Janser José Sequeira Urbina

Octubre 2018
Contenido
I. Metodologías de Desarrollo de Software OMT (Rumbaugh) ...................................................... 1
1. Introducción ............................................................................................................................ 1
2. Fases ........................................................................................................................................ 2
2.1. Fase de Análisis ................................................................................................................... 2
2.2. Diseño del Sistema .............................................................................................................. 7
2.3. Diseño de Objetos ............................................................................................................... 9
2.4. Implementación ................................................................................................................ 11
3. Referencias ............................................................................................................................ 11
I. Metodologías de Desarrollo de Software OMT (Rumbaugh)

1. Introducción

El significado de las siglas de esta metodología es Técnica de Modelado en Objetos (Object


Modeling Technique), la definen como una de las metodologías de la Ingeniería de Software
aplicable al desarrollo orientado a objetos en las fases de análisis y diseño.

“La metodología OMT fue creada por James Rumbaugh y Michael Blaha en 1991, mientras
James dirigía un equipo de investigación de los laboratorios General Electric”. (Chávez
Gaona & Olivares Rojas, 2002)

Esta metodología describe un método para el análisis, diseño e implementación de un sistema


utilizando la técnica orientada a objetos. Es un enfoque rápido, intuitivo para identificar y
modelar todos los objetos que hacen un sistema. La OMT consta de tres puntos de vista
diferentes pero relacionados cada captura de aspectos importantes del sistema es decir, los
comportamientos estáticas, dinámicas y funcionales del sistema. Estos se describen por
modelo de objetos, modelo dinámico y el modelo funcional de la OMT.

Ciclo de Vida OMT

1
Aun cuando la descripción de esta técnica es lineal, el proceso de desarrollo real es
iterativo. Donde se repiten los pasos de desarrollo con grados de detalle cada vez más
finos, logrando así que cada iteración añada o clarifique características en vez de
modificar un trabajo ya realizado, por lo tanto, existe menos posibilidades de introducir
incongruencias y errores. (Álvarez Carrasco, 2012)

2. Fases

La metodología OMT es secuencial en el sentido de que la primera fase es la de análisis,


seguida por el diseño. En cada fase, se hacen aproximaciones iterativas entre los pequeños
pasos a seguir.

La metodología OMT es muy similar a la metodología Booch, cuyo principal criterio es


hacer énfasis en las fases de diseño y análisis para una primera entrega del producto.
Ambas OMT y Booch no hacen prioritarias las fases de implementación, evaluación u
otras del ciclo de vida. (Morales Reyes & Rugerio Ramos, 2003)

Esta metodología se divide en cuatro fases que son: Fase de análisis, Fase de diseño del
sistema, Fase de diseño de objetos y Fase de programación o implementación.

2.1. Fase de Análisis

La fase de análisis es una abstracción resumida y precisa de lo que debe de hacer el sistema
deseado y no de la forma en que se hará.

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: descripción del problema, diseño de modelos y
verificación, iteración y refinación.

1. Descripción inicial del problema


Se concentra en entender el problema y modelar en el dominio del problema. Se inicia con
un texto que describe el problema.

2. Modelos
Los elementos del modelo deben ser conceptos del dominio de aplicación y no conceptos
informáticos 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 informáticos.

2
OMT pone especial atención en el modelo y uso de modelos para lograr una abstracción,
en el cual el análisis está enfocado en el mundo real a nivel de diseño, también pone
detalles particulares para modelado de recursos físicos. Esta tecnología es aplicable en
varios aspectos de implementación incluyendo archivos, bases de datos relacionales y
orientadas a objetos. OMT se construye alrededor de descripciones de estructuras de
datos, constantes, sistemas de procesos de transacciones. (Morales Reyes & Rugerio
Ramos, 2003)
Los tres modelos aplicados son el Modelo de Objetos, el Modelo Dinámico y el Modelo
Funcional.

 Modelo de Objetos
Esta es la parte principal de la Técnica para modelado ya que se fundamenta en la teoría de
OO. La definición clara de las entidades que intervienen en el sistema es un paso inicial
necesario para poder definir qué transformaciones ocurren en ellas y cuándo se producen
estas transformaciones. Esta forma de pensar es inherente al paradigma de OO donde las
clases y su jerarquía determinan el sistema.

Los diagramas de objetos permiten representar gráficamente los objetos, las clases y sus
relaciones mediante dos tipos de diagramas: los diagramas de clases y los diagramas de casos
concretos (instancias).

Los diagramas de clases describen las clases que componen el sistema y que permitirán la
creación de casos concretos, los diagramas de casos concretos describen la manera en que
los objetos del sistema se relacionan y los casos concretos que existen en el sistema de cada
clase.

Para construir un modelo de objetos se debe:

o Identificar las clases de objetos.


o Iniciar un diccionario de datos que contenga descripciones de clases, atributos y
asociaciones.
o Agregar asociaciones entre clases.
o Agregar atributos a objetos y ligas.
o Organizar y simplificar las clases de objetos usando herencia.
o Probar las rutas de acceso usando escenarios e iterar los pasos anteriores según sea
necesario.

3
Clase Generalización Agregación

Modelo de Objetos

o Agrupar las clases en módulos, basándose en “acoplamiento cercano” y función


relacionada

 Modelo Dinámico
Los aspectos del sistema que están relacionados con el tiempo y con los cambios constituyen
el modelo dinámico.

Modelo dinámico = Diagrama global de flujo de sucesos + Diagrama de estados

 Diagrama de flujo de sucesos o traza de sucesos


Una traza de eventos es una lista ordenada de eventos entre diferentes objetos (actores)
asignados a columnas en una tabla. Se utiliza para identificar mensajes entre los actores de
un cierto problema; de esta forma se pueden ver qué eventos afectan directamente a cada
actor. Este diagrama muestra la ocurrencia de los eventos a través del tiempo, e indica un
escenario que luego deberá ser incluido en el diagrama de estado.

4
Diagrama de Flujo de Sucesos

 Diagrama de estados
Relaciona sucesos y estados. Un diagrama de estados se representa mediante estados,
restricciones, condiciones y acciones.

Diagrama de Estados

Los pasos para construir el modelo dinámico son los siguientes:


o Preparación de escenarios de secuencias típicas de iteración.
o Identificación de sucesos que actúan entre objetos.
5
o Preparar un seguimiento de sucesos para cada escenario.
o Construcción de un diagrama de estado para cada objeto.
o Comparación de los sucesos intercambiados entre objetos para verificar la
congruencia.

 Modelo Funcional
El modelo funcional describe los cálculos existentes dentro del sistema siendo la tercera parte
del modelado. Dentro del modelado del sistema, el modelo funcional especifica lo que
sucede, el modelo dinámico cuándo sucede, y el modelo de objetos específica a qué le sucede.

Diagrama Modelo Funcional

6
El modelo funcional muestra la forma en que se derivan los valores producidos en un cálculo
a partir de los valores introducidos, sin tener en cuenta el orden en el cual se calculan los
valores. Consta de múltiples diagramas de flujo de datos, que muestran el flujo de valores
desde las entradas externas, a través de las operaciones y almacenes internos de datos hasta
las salidas externas. También incluyen restricciones entre valores dentro del modelo de
objetos. Los diagramas de flujo de datos no muestran el control ni tampoco información
acerca de la estructura de los objetos; todo esto pertenece a los modelos dinámico y de
objetos.

3. Verificación, iteración y refinación


Teniendo ya la representación del sistema en los tres modelos, se lleva a cabo una iteración
general de cada uno de ellos.

o Se deben comparar los tres modelos con la definición del problema y con el
conocimiento en el dominio de la aplicación.
o Se añaden las operaciones claves descubiertas durante la preparación del modelo
funcional.
o Se hace una verificación entre clases, atributos, asociaciones y operaciones de tal
manera que resulten congruentes.
o Comprobar los modelos utilizando escenarios. Se desarrollan escenarios más
detallados, incluyendo condiciones de error.
o Se realiza una iteración de los pasos anteriores, hasta considerar satisfactorio el
análisis.

Documento de Análisis = Definición del problema + modelo de objetos + modelo


dinámico + modelo funcional.

El documento abarca el análisis, el diseño y la implementación. Contiene una notación


gráfica para expresar modelos orientados a objetos, es posible modelar, diseñar e
implementar tanto a objetos en el dominio de la aplicación como a objetos en el dominio
de la computadora. (Álvarez Carrasco, 2012)

2.2. Diseño del Sistema

El diseño del sistema es la estrategia de alto nivel para resolver el problema y construir una
solución, incluye decisiones acerca de la organización del sistema (arquitectura del sistema)
en subsistemas, la asignación de subsistemas a componentes de hardware y software y
decisiones fundamentales conceptuales y de política que son las que constituyen el marco de
trabajo para el diseño detallado.

7
El modelo de diseño debe ser razonablemente eficiente y práctico a la hora de codificar,
tratando detalles de bajo nivel que se omiten en el modelo de análisis.
Los pasos a seguir son:
1. Organizar el sistema en subsistemas:

La partición efectúa una estructuración vertical de los subsistemas pares. Por ejemplo,
muchas arquitecturas de sistemas operativos (SO) dividen los servicios del SO en
subsistemas para la administración de archivos, el control de procesos y la administración de
memoria, como se muestra en la Figura a continuación.

Dado que los subsistemas del sistema operativo se encuentran en el mismo nivel de
abstracción, pueden interactuar entre sí de manera de igual a igual. Por ejemplo, cuando un
archivo ejecutable se carga en la memoria para su ejecución, el sistema de archivos, el sistema
de gestión de la memoria y el sistema de control de procesos interactúan.

Ejemplo de Particiones del Subsistema (Servicio Núcleo del Sistema Operativo)

2. Identificar la concurrencia inherente en el problema.

3. Asignar los subsistemas a procesadores y a tareas:

Cada subsistema se asigna a un procesador buscando satisfacer necesidades de


rendimiento y minimizando la comunicación de los procesadores.

8
4. Seleccionar la estrategia básica de implementación de los almacenes de datos, en
términos de estructuras de datos, archivos y bases de datos.

5. Identificar los recursos globales y determinar los mecanismos para controlar el acceso
a tales recursos.

6. Seleccionar una aproximación para implementar el control del software.

Existen dos tipos de control:

o El control interno: Esta dado por el flujo de control en el programa o


proceso.
o El control externo: Esta dado por sucesos externos, los cuales pueden ser:

- Control por procedimientos.


- Control por sucesos.
- Concurrentes

7. Consideraciones de condiciones de contorno.

8. Establecimiento de 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

2.3. Diseño de Objetos

El diseño 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 diseño puede ser
implementado en distintos lenguajes (orientados y no orientados a objetos, bases de datos,
etc.).
El diseñador de objetos construye un modelo de diseño basándose en el modelo de análisis,
pero incorporando detalles de implementación.

Consiste en definir cada objeto en detalle, lo que incluye definir su interfaz, algoritmos y
operaciones. De nuevo los tres modelos se integran para diseñar los objetos.
Rumbaugh sugiere las siguientes etapas:

9
1. Obtención de las operaciones para el modelo de objetos a partir de los demás
modelos:

o Se busca una operación para cada proceso del modelo funcional.


o Se define una operación para cada suceso del modelo dinámico.

2. Diseño de algoritmos para la implementación de las operaciones:

Existen tres estrategias básicas para implementar el control que son construir un
sistema controlado por procedimientos, crear un motor de máquina de estados que
responde a una tabla de transiciones y acciones (se recomienda para ambientes
dirigidos por eventos) y establecer un control como tareas concurrentes (se requiere
de un lenguaje que soporte la concurrencia).

3. Optimización de las vías de acceso a los datos.

4. Implementar el control del software completando la aproximación seleccionada


durante el diseño del sistema.

5. Ajuste de la estructura de clases para incrementar la herencia.

6. Diseño de la implementación de las asociaciones:

o Asociaciones unarias: Estas asociaciones se establecen solamente en una sola


dirección y se pueden implementar por medio de apuntadores y si la
multiplicidad es de "muchos", por medio de un conjunto de apuntadores.
o Asociaciones bidireccionales: Este tipo de asociaciones se pueden
implementar como atributos en una dirección, atributos en ambas direcciones
o como un objeto separado por medio de diccionarios.

7. Se determina la representación exacta de los atributos que son objetos.

8. Empaquetamiento de las clases y asociaciones en módulos.


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

10
2.4. Implementación

Las clases de objetos y relaciones desarrolladas durante el análisis de objetos se traducen


finalmente a una implementación concreta (un lenguaje de programación.).

Durante la fase de implementación es importante tener en cuenta los principios de la


ingeniería del software de forma que la correspondencia con el diseño sea directa y el sistema
implementado sea flexible y extensible.
No tiene sentido que utilicemos AOO y DOO de forma que potenciemos la reutilización de
código y la correspondencia entre el dominio del problema y el sistema informático, si luego
perdemos todas estas ventajas con una implementación de mala calidad.

3. Referencias
Álvarez Carrasco, M. M. (21 de Octubre de 2012). Docplayer. Obtenido de https://bit.ly/2yhv7z6

Bailador Ferreras, M. d. (2000). Universidad Complutense de Madrid. Obtenido de https://bit.ly/2QMHkme

Chávez Gaona, V. M., & Olivares Rojas, J. C. (12 de Marzo de 2002). Instituto Tecnológico de Morelia.
Obtenido de https://bit.ly/2lP5wIg

Morales Reyes, A., & Rugerio Ramos, A. R. (22 de Septiembre de 2003). OICC. Obtenido de
https://bit.ly/2NDlfEJ

Nath Vetter, R., & Dharminder, K. (09 de Mayo de 2011). Directorate of Distance Education. Obtenido de
https://bit.ly/2ykGrdD

11

También podría gustarte