omt
TRANSCRIPT
OMT Ingeniería de Software 2 2
IntroducciónIntroducción
�Object Technoque Modeling
�Creada por James Rumbaugh y Michael Blaha
en 1991
�Metodología de Análisis y Diseño Orientada a
Objetos
OMT Ingeniería de Software 2 3
FasesFases
�Análisis
�Diseño del sistema
�Diseño de objetos
�Implementación
OMT Ingeniería de Software 2 5
Modelo de ObjetosModelo de Objetos
�Objetos y Clases
�Objeto
�Clases
�Diagramas de objetos
�Atributos
�Operaciones y métodos
OMT Ingeniería de Software 2 7
�Conceptos avanzados de enlaces y asociaciones
�Atributos de los enlaces
�Modelado de uan asociación en forma de clase
�Nombre de rol
�Clasificación
�Cualificación
�Agregación
OMT Ingeniería de Software 2 8
�Generalización y herencia
�Generalización
�Herencia
�Anulacíón
�Construcciones de agrupamiento
�Módulo
�Hojas
OMT Ingeniería de Software 2 9
ConstrucciónConstrucción
�Se identifican las clases de objetos
�Se empieza a construir un diccionario que contiene las descripciones de clases, atributos y asociaciones
�Se añaden las asociaciones entre clases
�Se añaden los atributos de objetos y de enlaces
�Se organizan y simplifican las clases de objetos empleando la herencia
�Se comprueban las vías de acceso empleando escenarios e iterando los pasos anteriores cuando sea conveniente
OMT Ingeniería de Software 2 11
Modelo Avanzado de ObjetosModelo Avanzado de Objetos
�Agregación
�Clases abstractas
�Herencia múltiple
�Metadatos
�Claves candidatas
�Restricciones
OMT Ingeniería de Software 2 13
Modelo DinámicoModelo Dinámico
�Sucesos y Estados
�Sucesos
�Escenarios y seguimiento de sucesos
�Estados
�Diagramas de estados
�Condiciones
OMT Ingeniería de Software 2 14
�Operaciones
�Diagramas de estados anidados
�Concurrencia
�Concurrencia de agregación
�Concurrencia dentro de un objeto
OMT Ingeniería de Software 2 15
�Conceptos avanzados de modelado dinámico
�Acciones de entrada y de salida
�Acciones internas
�Transición automática
�Envío de sucesos
�Sincronización de actvidades concurrentes
OMT Ingeniería de Software 2 16
ConstrucciónConstrucción
�Se preparan escenarios de secuencias típicas de interacción
�Se identiifcan sucesos entre objetos y se prepara un seguimiento de sucesos para cada escenario
�Se prepara un diagrama de flujo de sucesos para el sistema
�Se desarrolla un diagrama de estados para cada clase que tenga un comportamiento dinámico importante
�Se comprueba la congruencia y compleción de los sucesos compartidos entre diagramas de estados
OMT Ingeniería de Software 2 18
Modelo FuncionalModelo Funcional
�Diagramas de flujo de datos
�Procesos
�Flujo de datos
�Actores
�Almaecnes de datos
�Flujos de control
�Especificación de operaciones
�Restricciones
OMT Ingeniería de Software 2 19
ConstrucciónConstrucción
�Se identifican los valores de entrada y de salida
�Se utilizan diagramas de flujo de datos según
sea necesario parta mostrar las dependencias
funcionales
�Se describe lo que hace cada función
�Se identifican las restricciones
�Se especifican los criterios de optimización
OMT Ingeniería de Software 2 21
AnálisisAnálisis
�Definición del problema
�Se construye un modelo de objetos:
�Modelo de objetos = diagrama de modelo de objetos
+ diccionario de datos
�Se desarrolla un modelo dinámico
�Modelo dinámico = diagramas de estados +
diagrama global de flujo de sucesos
OMT Ingeniería de Software 2 22
�Se construye un modelo funcional
�Modelo funcional = diagramas de flujo de datos +
restricciones
�Se verifican, iteran y refinan los 3 modelos
�Documento de análisis = definición del problema +
modelo de objetos + modelo dinámico + modelo
funcional
OMT Ingeniería de Software 2 23
Diseño de SistemasDiseño de Sistemas
�Se organiza el sistema en subsistemas
�Se identifica la concurrencia inherente en el problema
�Se asignan los subsistemas a procesadores y a tareas
�Se seleccioan la estrategia básica para implementar los
almacenes d edatos en términos de estructuras de
datos, archivos y bases de datos
OMT Ingeniería de Software 2 24
�Se identifican los recursos globales y se determinan los
mecanismos para controlar el acceso a los mismos
�Se selecciona un aaproximación para implementar el
control del software
�Se consideran las condiciones de contorno
�Se establecen las prioridades de compensación
�Documento del diseño de sistema = estructura de la
arquitectura básica del sistema y desiciones estratégicas de
alto nivel
OMT Ingeniería de Software 2 25
Diseño de ObjetosDiseño de Objetos
�Se obtienen las operaciones para el modelo de objetos a partir d elos demás modelos
�Se diseñan algoritmos para implementar las operaciones
�Se optimizan las vías de acceso a los datos
�Se implementa el control del software completando la aproximación seleccionada durante el diseño del sistema
OMT Ingeniería de Software 2 26
�Se ajusta la estructura de clases para incrementar la herencia
�Se diseña la implementación de las asociaciones
�Se determina la representación exacta de los atributos que son objetos
�Se empaquetan las clases y las asociaciones en módulos
�Documento de diseño = Modelo d eobjetos detallado + modelo dinámico detallado + modelo funcional detallado
OMT Ingeniería de Software 2 27
VentajasVentajas
�Proporciona una serie de pasos perfectamente
definidos al desarrollador
�Tratamiento especial de la herencia
�Facilita el mantenimiento dada la gran cantidad
de información que s egenera en el análisis
�Es fuerte en el análisis
OMT Ingeniería de Software 2 28
DesventajasDesventajas
�Hay pocos métodos para encontrar
inconsistencias en los módulos
�Interacción de objetos no soportada
explícitamente en ninguna herramienta gráfica
�Al ser un análisis iterativo no se sabe cuando
empezar el diseño
�Es débil en el diseño
OMT Ingeniería de Software 2 29
APLICACIONESAPLICACIONES
�Archivos.
�Base de datos orientadas a objetos.
�Estructura de datos.
�Multimedias.
� Interactivas.
�Web.
�Cliente/Servidor.
�Distribuidas.
OMT Ingeniería de Software 2 30
Herramientas CASE que soportanOMT
Herramientas CASE que soportanOMT
�Excelerator II Intersolv Inc.
�MetaEdit MetaCASE Consulting YO
�ObjectMarker, Mark V Software
�BOCS, Berard Software Eng.
�ObjectTeam, Candre Technologies, Inc.
�OMTool, Martin Marietta.
�Paradigm Plus, Protosoft.
OMT Ingeniería de Software 2 31
Sistema de cajero automático: ATM (Automated Teller Machine)
Sistema de cajero automático: ATM (Automated Teller Machine)
Diseñar el software para dar soporte a una red
bancaria automatizada, que incluya tanto cajeros
humanos como cajeros automáticos (CA), y que
deberán ser compartidos por un consorcio de
bancos.
OMT Ingeniería de Software 2 32
Algunos requerimientosAlgunos requerimientos
�El analista debe diseñar el software para los CA y para la red.
�Los cajeros automáticos se comunican con una computadora central que aprueba las transacciones con los bancos adecuados.
�El sistema necesita mantener unos registros adecuados y también las oportunas medidas de seguridad y debe admitir accesos concurrentes a una misma cuenta de forma correcta.
OMT Ingeniería de Software 2 34
MODELADO DE OBJETOSMODELADO DE OBJETOS
� Identificar los objetos y la clase.
OMT Ingeniería de Software 2 37
Preparar un diccionario de datosPreparar un diccionario de datos
� Cuenta� Cuenta individual de un banco a la cual se le pueden aplicar transacciones. Las cuentas pueden ser de varios tipos; como mínimo serán de ahorro o a la vista. Un cliente puede tener más de una
� CA� Punto que permite a los clientes introducir sus propias transacciones empleando una tarjeta de crédito como identificación. El CA interacciona con el cliente para obtener información de la transacción, la envía a la computadora central para su verificación y procesamiento, y suministra dinero al usuario. Suponemos que el CA no necesita funcionar independientemente de la red.
OMT Ingeniería de Software 2 38
Identificar asociaciones entre objetos
Identificar asociaciones entre objetos
Locuciones Verbales:
�La red bancaria incluye cajeros y CA
�El consorcio comparte los CA.
�El banco proporciona la computadora del banco.
�La computadora del banco proporciona las cuentas.
�La computadora del banco procesa las transacciones de cada cuenta.
�El banco posee el punto de caja.
OMT Ingeniería de Software 2 39
Identificar asociaciones entre objetos (continuación...)
Identificar asociaciones entre objetos (continuación...)
Locuciones verbales implícitas:
�El consorcio está formado por bancos.
�Los bancos tienen cuentas.
�El consorcio posee la computadora central.
�El sistema se encarga del registro.
�El sistema se encarga de la seguridad.
OMT Ingeniería de Software 2 40
Diagrama inicial para un sistema ATM.
Diagrama inicial para un sistema ATM.
OMT Ingeniería de Software 2 41
Modelo de objetos de un CA con sus atributos
Modelo de objetos de un CA con sus atributos
OMT Ingeniería de Software 2 42
Organizar y simplificar la clase de objetos usando herencia
Organizar y simplificar la clase de objetos usando herencia
OMT Ingeniería de Software 2 44
MODELADO DINÁMICOMODELADO DINÁMICO
� Se preparan escenarios de secuencias típicas de interacción.
� Escenario normal
� El CA pide al usuario que inserte una tarjeta; el usuario inserta una tarjeta de crédito.
� El CA admite la tarjeta y lee su número de serie.
� El CA solicita la contraseña; el usuario escribe “1234”.
� El CA verifica el número de serie y la contraseña con el consorcio; esta la comprueba con el banco “39” y notifica la aceptación al CA.
� El CA pide al usuario que seleccione la clase de transacción que desea (retirar fondos, hacer un ingreso o una transferencia); el usuario selecciona retirar fondos.
OMT Ingeniería de Software 2 45
Escenario normal(continuación...)
Escenario normal(continuación...)
� El CA verifica que la cantidad se encuentre dentro de los límites de crédito predefinidos, y pide al consorcio que procese la transacción; éste pasa la solicitud al banco, que eventualmente confirma el éxito de la misma y proporciona el nuevo saldo disponible en cuenta.
� El CA proporciona el dinero y pide al usuario que lo recoja; éste toma el dinero.
� El CA pregunta si el usuario desea continuar; éste dice que no.
� El CA imprime un recibo, expulsa la tarjeta y pide al usuario que la recoja; el usuario toma el recibo y la tarjeta.
� El CA pide a un usuario que inserte una tarjeta.
OMT Ingeniería de Software 2 46
Escenario con excepcionesEscenario con excepciones
� El CA verifica el número de serie y la contraseña con el consorcio, que los rechaza después de consultar con el banco adecuado.
� El CA indica que la contraseña es incorrecta, y pide al usuario que vuelva a escribirla; éste usuario escribe “1234”, y la tarjeta es admitida por el consorcio tras verificar el CA.
� El CA pide al usuario que seleccione la clase de transacción que desea; el usuario selecciona una retirada de fondos.
� El CA pregunta la cantidad de dinero; el usuario cambia de opinión y pulsa “cancelar”.
OMT Ingeniería de Software 2 47
Se prepara un seguimiento de sucesos para cada escenario.Se prepara un seguimiento de sucesos para cada escenario.
OMT Ingeniería de Software 2 49
Se construye un diagrama de estados.
Se construye un diagrama de estados.
OMT Ingeniería de Software 2 50
MODELO FUNCIONALMODELO FUNCIONAL
� Identificar los valores de entrada y salida.
OMT Ingeniería de Software 2 51
Construir diagramas de flujo de datos que muestren las
dependencias funcionales.
Construir diagramas de flujo de datos que muestren las
dependencias funcionales.
OMT Ingeniería de Software 2 52
Describir funciones.Describir funciones.
Actualizar cuenta (cuenta, cantidad, tipo-de-transacción) -> dinero, recibo, mensaje
Si la cantidad que se intenta retirar supera el saldo disponible,
Rechazar la transacción y no entregar ningún dinero.
Si la cantidad que se intenta retirar no supera el saldo disponible,
Cargar el importe y dispensar el efectivo solicitado
Si la transacción es un ingreso,
Abandonar el importe y no dispensar efectivo.
Si la transacción es una petición de saldo
No dispensar efectivo.
En todo caso,
El recibo muestra el número del CA, fecha, hora, número de cuenta, tipo-de-transacción, importe (si lo hubiere) y nuevo saldo.
OMT Ingeniería de Software 2 54
PseudocódigoPseudocódigoHacer para siempre
Mostrar pantalla principal
Leer tarjeta
Repetir
Pedir contraseña
Leer contraseña
Verificar cuenta
Hasta que la verificación de cuenta sea correcta
Repetir
Repetir
Preguntar clase de transacción
Leer clase
Leer cantidad
Comenzar transacción
Esperar que acabe
Hasta que la transacción sea correcta
Dispensar efectivo
Esperar a que lo tome el cliente
Preguntar si continúa
Hasta que el usuario quiera terminar
Expulsar tarjeta
Esperar hasta que el cliente tome la tarjeta
OMT Ingeniería de Software 2 56
CONCLUSIONESCONCLUSIONES
OMT pone énfasis en la importancia del modelo y
uso del modelo para lograr una abstracción, en el
cual el análisis esta enfocado en el mundo real
para un nivel de diseño, también pone detalles
particulares para modelado de recursos de la
computadora.
OMT Ingeniería de Software 2 57
BIBLIOGRAFIABIBLIOGRAFIA
�Modelado y diseño orientados a objetos Metodología OMT. James Rumbaugh, Michael Blaha, William Premerlani, Frederick Hedí y William Lorensen. Editorial Prentice Hall 1996 Primera reimpresión.
�Metodologías orientadas a objetos (Revisión comparativa) Instituto Tecnológico de Morelia 1999 Monografía presentada por: Helio Bernandino Hernández Ponce
�http://www.mcc.unam.mx/~cursos/Objetos/Omt/omt.html