omt

57
OMT Juan Carlos Olivares Rojas Víctor Manuel Chávez Gaona

Upload: juan-carlos-olivares-rojas

Post on 19-Jul-2015

82 views

Category:

Design


1 download

TRANSCRIPT

OMT

Juan Carlos Olivares Rojas

Víctor Manuel Chávez Gaona

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 4

ModelosModelos

�Modelo de objetos

�Modelo dinámico

�Modleo funcional

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 6

�Enlaces y asociaciones

�Enlaces

�Asociaciones

�Multiplicidad

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 10

NotacionesNotaciones

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 12

NotacionesNotaciones

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 17

NotacionesNotaciones

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 20

NotacionesNotaciones

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 33

Una red de CAUna red de CA

OMT Ingeniería de Software 2 34

MODELADO DE OBJETOSMODELADO DE OBJETOS

� Identificar los objetos y la clase.

OMT Ingeniería de Software 2 35

Clases incorrectasClases incorrectas

OMT Ingeniería de Software 2 36

Clases correctasClases correctas

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 43

Iterar y refinar el modelo.Iterar y refinar el modelo.

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 48

Diagrama de flujo de sucesosDiagrama de flujo de sucesos

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 53

DISEÑODISEÑO

�Arquitectura del Sistema CA

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 55

Pseudocódigo (continuación...)Pseudocódigo (continuación...)

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