OMT (Object Modeling Technique) es una de las metodologías
de análisis y diseño orientadas a objetos, más eficientes que existen en la
actualidad. La gran virtud que aporta esta metodología es su carácter de
abierta (no propietaria), que le permite ser de dominio público y , en
consecuencia, sobrevivir con enorme vitalidad. Esto facilita su evolución para
acoplarse a todas las necesidades actuales y futuras de la ingeniería de
software.
Las fases que conforman a la metodología OMT son:
· Análisis.
El analista construye un modelo del dominio del problema, mostrando sus
propiedades más importantes. El modelo 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á. 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.
·
Diseño del
sistema. El
diseñador del sistema toma decisiones de alto nivel sobre la arquitectura del
mismo. Durante esta fase el sistema se organiza en subsistemas basándose tanto
en la estructura del análisis como en la arquitectura propuesta. Se selecciona
una estrategia para afrontar el problema.
·
Diseño de
objetos. 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. 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.).
·
Implementación. Las
clases de objetos y relaciones desarrolladas durante el análisis de objetos se
traducen finalmente a una implementación concreta. 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.
·
Modelo de
objetos. Describe
la estructura estática 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 dinámico y el modelo
funcional. El objetivo es capturar aquellos conceptos del mundo real que sean
importantes para la aplicación. Se representa mediante diagramas de objetos.
·
Modelo
dinámico. Describe los aspectos de un sistema que tratan de la temporización y
secuencia de operaciones (sucesos que marcan los cambios, secuencias de
sucesos, estados que definen el contexto para los sucesos) y la organización 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 están
implementadas. Se representa gráficamente mediante diagramas de estado.
·
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 cuándo se
haga o de la forma en que se haga. Se representa mediante diagramas de flujo de
datos
Pasos del proceso de desarrollo orientado a objetos
• Conceptualización: Se describen
los requerimientos para la solución del sistema.Comienza identificando las
necesidades desde el punto de vista de los usuarios. Dichainformación puede ser
extraída de los casos de uso y del dominio del problema.
•Análisis: Entender y modelar el problema en el dominio de la
aplicación.
•Diseño
del sistema: Determinar la arquitectura del sistema en términos de subsistemas.
•Diseño de objetos: Refinar y optimizar el modelo de análisis,
agregando conceptos de programación.
•Código: Implementar las clases de objetos en un lenguaje de
programación.
•Pruebas: se realizan para verificar el comportamiento de las clases
y objetos que se encuentran descritos en los escenarios.
Conceptualización.
Casos de uso:La utilidad de construir un caso de uso
es para ver las diferentes vistas que tiene el usuario del sistema. Un caso de
uso es una interacción entre el sistema y un actor, para describir el propósito
del uso del sistema.
Actor:Es algo externo al sistema que interactúa con
él.
Los casos de uso pueden especificarse mediante
escenarios que contendrán el
propósito del caso de uso, los actores que
interactúan con el, el evento inicial y la condición
final. Los escenarios pueden ser representados
mediante diagramas de traza de eventos o
bien por el diagrama de interacción.
Pasos a seguir para producir un caso de uso:
1. Delimitar los limites del sistema: Cuales objetos
pertenecen a el y cuales no. Desarrollar
el caso de uso.
2. Determinar los actores que interactúan con el
sistema según los roles dentro del mismo.
3. Para cada actor determinar la forma en como
interactúa con el sistema produciéndose
para cada uno e ellos un o mas casos de uso.
4. Identificar el evento inicial de cada caso de
uso.
5. Determinar la condición de terminación para cada
caso de uso.
6. Listar los eventos.
7. Si hay variaciones listar escenarios adicionales
que las describan.
8. Identificar y describir todas las excepciones que
están asociadas lógicamente con un
dado caso de uso.
9. Verificar que los casos de uso engloben la funcionalidad
del sistema.
Análisis
del Sistema. Durante el análisis se construye un modelo en el dominio de la
aplicación sin tener en cuenta la implementación que se deberá efectuar
posteriormente. Deberá incluir aquella información que sea significativa desde
el punto de vista del mundo real, presentando el aspecto externo del sistema,
resultando comprensible para el cliente del sistema, proporcionando una buena
base para extraer los verdaderos requisitos (congruentes y realizables) del
sistema.
El análisis comprende los pasos siguientes: 1. Se
establece la definición del problema.
2. Se construye un modelo de objetos.
3. Se desarrolla un modelo dinámico.
4. Se construye un modelo funcional.
5. Se
verifican, iteran y refinan los tres modelos
No hay comentarios:
Publicar un comentario