Curso de Fundamentos de
Ingeniería del Software
Parte VI: Modelado dinámico (OMT
de Rumbaugh)
Dr. Pedro Pablo González
e-mail: pgonzalez@correo.cua.uam.mx
El modelado dinámico en OMT
Descripción del módulo
El modelado dinámico
Diagramas de estados Diagramas de
interacción
El modelado dinámico en OMT
El modelado dinámico
• El modelado dinámico representa los aspectos temporales,
de comportamiento “de control” del sistema, describiendo los
aspectos de un sistema relacionados con la secuencia de
operaciones y la organización de sucesos y estados.
• Los principales diagramas a través de los cuales se
desarrolla el modelado dinámico son los siguientes:
•
Diagramas de interacción: diagrama de secuencia y
diagrama de colaboración.
•
Diagramas de estados.
El modelado dinámico en OMT
Diagramas de interacción
• Los diagramas de interacción son modelos que describen la manera en que colabora un grupo de objetos para obtener un determinado
comportamiento.
• Comúnmente existe una correspondencia uno a uno entre un diagrama de colaboración y un diagrama de caso de uso.
• El diagrama de colaboración muestra los objetos del caso de uso y los mensajes que se pasan entre sí.
• Existen dos variantes principales de los diagramas de interacción: • Diagramas de secuencia
El modelado dinámico en OMT
Diagramas de secuencia
• Un diagrama de secuencia representa la interacción que ocurre entre objetos a través del tiempo. Tres símbolos básicos son usados en un diagrama de secuencia:
• Rectángulos, que representan objetos.
• Líneas verticales discontinuas, cada una de las cuales inicia en la base del rectángulo y representa el tiempo de vida del objeto (línea de vida del objeto) durante la interacción.
El modelado dinámico en OMT
Diagramas de secuencia
• El orden en el que se dan los mensajes es de arriba hacia abajo.
• A cada mensaje se asocia una etiqueta la cual corresponde al nombre del mensaje. También se pueden incluir los argumentos e información de control en la etiqueta.
• La información de control en la etiqueta contiene dos partes fundamentales: una condición y un marcador de iteración.
• La condición aparece entre corchetes ([condición]) e indica cuando un mensaje debe ser enviado.
El modelado dinámico en OMT
Diagramas de secuencia
Objeto 1 Objeto 2 Objeto 3 Objeto 4
mensaje
[condición] mensaje
*[iteración] mensaje regreso
autodelegación
Objeto 5
El modelado dinámico en OMT
Diagramas de secuencia
• Como se puede apreciar en el diagrama anterior, una flecha con línea discontinua en sentido contrario indica el regreso de un mensaje y no un nuevo mensaje.
• En el diagrama anterior también se muestra un ejemplo de
Diagramas de secuencia: Sistema VUELA
Usuario Interfaz principal Vuelo Gestor BD Vuelos Interfaz de Vuelos Reserva-ción Interfaz de Reserva-ción Selecciona itinerario de vuelo Conforma vuelo Busca vuelos Presenta lista de vuelos Selecciona vuelo particular Prepara detallesDiagramas de secuencia: Cajero Automático (CA)
Usuario CA Consorcio Banco
insertar tarjeta Solicitar contraseña
introducir contraseña
verificar cuenta
verificar tarjeta con banco
cuenta de banco correcta cuenta correcta
solicitar tipo de cuenta introducir tipo de cuenta
solicitar tipo de operación introducir tipo de operación
Diagramas de secuencia: interacción Cliente/Servidor en el
Web
Usuario
Usuario Visualizador Web Visualizador Web (Cliente) (Cliente)
Servidor Web
Servidor Web Selecciona un URL
destino
Envía solicitud de HTTP
Procesamiento de la solicitud Envía formato de Web
Interpreta los comandos de HTML y
visualiza el formato
Aplicación en el servidor Web
Aplicación en el servidor Web
Introduce datos en los campos y presiona el
botón SUBMIT
Envía formato de Web
Solicitud de método y envío de
parámetro (CGI) Ejecución de la solicitud Resultados en formato HTML (CGI)
Diagramas de secuencia: interacción entre las fuentes de
conocimiento, el pizarrón y el control en una arquitectura de
pizarrón
Fuente de conocimiento AFuente de
conocimiento A
Pizarrón
Pizarrón
Fuente de conocimiento BFuente de
conocimiento B Fuente de conocimiento C Fuente de conocimiento C Control Control
Genera evento (crea elemento solución)
Satisface su condición sobre el pizarrón
Satisface su condición sobre el pizarrón
Crea registro de activación
Crea registro de activación
El modelado dinámico en OMT
Diagramas de colaboración
• Al igual que un diagrama de secuencia, un diagrama de colaboración representa la interacción que ocurre entre los objetos de un caso de
uso, pero sin mostrar explícitamente la secuencia de la interacción en el tiempo.
• A diferencia de un diagrama de secuencia, el cual se define en términos de tres símbolos básicos (objeto, línea de vida y mensaje), el diagrama de colaboración no incluye las líneas de vida y define un nuevo símbolo:
los enlaces entre objetos, representados por líneas (como se representan las asociaciones en un diagrama de clases).
• Otra diferencia entre el diagrama de secuencias y el diagrama de
El modelado dinámico en OMT
Diagramas de colaboración
• Cada mensaje se representa mediante una flecha etiquetada unida a la línea del enlace.
• A diferencia del diagrama de secuencias, el diagrama de colaboración muestra cómo se vinculan entre sí los objetos al hacer visibles todos los enlaces existentes entre éstos.
Diagramas de colaboración: Sistema VUELA
Usuario
Interfaz Principal
Vuelo
Interfaz de Vuelo
Gestor de Vuelos
Reservación Interfaz de Reservación
1: selecciona itinerario de vuelo
2: conforma vuelo
3: busca vuelos
4: presenta lista de vuelos 5: selecciona vuelo particular 6: vuelo particular 7: visualiza detalles de vuelo
8: crea reservación
9: presenta reservación 10: introduce
Diagramas de colaboración: Cajero Automático (CA)
Usuario
CA
Consorcio
1: insertar tarjeta
4: verificar cuenta
Banco
2: solicitar contraseña
3: introducir contraseña
5: verificar tarjeta con banco
6: cuenta de banco correcta 7: cuenta
correcta 8: solicitar tipo de cuenta
9: introducir tipo de cuenta 10: introducir
El modelado dinámico en OMT
Diagramas de estados: eventos y estados
• Un estado es una abstracción de los valores de los atributos y de los enlaces de un objeto. Un estado especifica la respuesta del objeto a los eventos (sucesos) entrantes.
• La respuesta a un evento recibido por un objeto puede variar
cuantitativamente, dependiendo de los valores exactos de sus atributos, pero cualitativamente la respuesta es la misma para todos los valores dentro del mismo estado, y puede ser distinta para valores de distintos estados.
El modelado dinámico en OMT
Diagramas de estados: eventos y estados
• Los eventos representan puntos temporales; los estados representan intervalos de tiempo. El estado de un objeto depende de la sucesión anterior de eventos que haya recibido, pero en la mayoría de los casos los pasados quedan ocultos eventualmente por los subsiguientes.
• Los estados tienen duración; ocupan un intervalo de tiempo. Los eventos y los estados son duales entre sí; un evento separa a dos estados, y un estado separa a dos eventos.
• Al definir estados, ignoramos aquellos atributos que no afectan el
El modelado dinámico en OMT
Diagramas de estados: eventos y estados
Estado A Estado B
Estado C
Evento 1
El modelado dinámico en OMT
Diagramas de estados
• Un diagrama de estados describe todos los estados posibles por los que puede transitar un objeto particular, como resultado de los eventos que llegan a éste.
• Un diagrama de estados relaciona eventos y estados. Cuando se recibe un evento, el estado siguiente depende del actual, así como del evento recibido. Un cambio de estado causado por un evento es lo que se conoce como transición.
El modelado dinámico en OMT
Diagramas de estados
• Los estados se representan como cuadros redondeados que contienen un nombre. Dicho nombre se refiere al estado actual en el que se
encuentra el objeto.
• Las transiciones se representan en forma de flechas desde el estado
receptor hasta el estado destino. La etiqueta de la flecha es el nombre del evento que da lugar a la transición.
• Todas las transiciones que salgan de un estado deben de corresponder a eventos distintos. El diagrama de estados especifica la secuencia de
estados que causa una cierta secuencia de eventos.
El modelado dinámico en OMT
Diagramas de estados: las transiciones
Estado A Estado B
Estado C
Evento
[condición de guarda]
El modelado dinámico en OMT
Diagramas de estados
• Condición de guarda. Es una expresión booleana, que comúnmente se refiere a los atributos del objeto y a los parámetros del evento
disparador. Cuando ocurre un evento disparador la condición de guarda es evaluada. Si la condición resulta verdadera, entonces tiene lugar la transición de estado, de lo contrario la transición no se dispara.
• Acción. Una acción es una operación instantánea que va asociada a un evento. Una acción representa a una operación cuya duración es
insignificante en comparación con la resolución del diagrama de estados. Las acciones también pueden representar operaciones
Diagramas de estados: Cajero Automático (CA)
Pantalla principal
Hacer: visualizar pantalla principal
Inicio
Hacer: solicitar contraseña Insertar tarjeta
[tarjeta legible]
Insertar contraseña
Hacer: verificar cuenta Contraseña
incorrecta
Cancelar
Cancelar
Hacer: mensaje “Cancelado”
Hacer: solicitar tipo de operación
Recibiendo tipo de operación Cuenta correcta Introducir tipo
Hacer: procesar transacción
Introducir cantidad Hacer: entregar
dinero, solicitar retirar dinero
Hacer: mensaje de error
Transacción exitosa
Transacción fallida Hacer: desea
imprimir recibo?
Hacer: imprimir recibo
Retirar dinero Imprimir
recibo Hacer: desea
realizar otra operación? Retirar recibo No imprimir recibo
Hacer: solicitar tipo de operación
Introducir tipo Si
Expulsando tarjeta
Hacer: expulsar tarjeta, solicitar
retirar tarjeta
No
Retirar
Diagramas de estados: Sistema de Reservaciones de Hoteles
Inicio Reservación por confirmar Reservación ConfirmadaConfirmar reservación/ cambiar Status a “Confirmada”
Reservación Pagada
Pagar reservación/ cambiar Status a “Pagada”
Reservación Usada
Confirmación de uso/ cambiar Status a “Usada”
Reservación Cancelada Cancelar/ cambiar Status a “Cancelada” Cancelar/ cambiar Status a “Cancelada” y
Penalty a “1” Reservación Cancelada Hacer: penalizar
Diagramas de estados: Teléfono celular (recibo y envío de SMS)
Inicio
Encendido Menú Principal
Hacer: emitir tono que indica la llegada de un SMS
Llegada de SMS
Hacer: visualizar texto del SMS
Leer SMS
Hacer: enviando mensaje Regresar a Menú
Principal
El modelado dinámico en OMT
Diagramas de actividades
• A diferencia del diagrama de estados, que muestra la transición por los diferentes estados que puede alcanzar un objeto particular, el diagrama de actividades modela los estados de ejecución del cómputo (la
ejecución del sistema) y el flujo de trabajo.
• El diagrama de actividades posee algunas semejanzas con el diagrama de flujo de datos. La principal diferencia entre ambos diagramas reside en que los diagramas de flujo de datos se limitan comúnmente a
procesos secuenciales, mientras que los diagramas de actividades pueden manejar además procesos paralelos.
• Una característica clave de los diagramas de actividades es el
modelado de los hilos concurrentes, los cuales representan
El modelado dinámico en OMT
Diagramas de actividades
• Un diagrama de actividades incluye los siguientes símbolos:
rectángulos de bordes redondeados para representar estados de actividad, flechas para representar transiciones simples de
terminación, rombos para representar bifurcaciones, y barras gruesas para representar sincronización.
• Estado de actividad. La interpretación del término estado de actividad
depende de la perspectiva o nivel de detalle que ofrezca el diagrama de actividades. Considerando lo anterior, podemos decir que un estado de actividad puede representar desde una determinada tarea que debe ser ejecutada ya sea por un ser humano o por la computadora, hasta la
El modelado dinámico en OMT
Diagramas de actividades
• Transiciones simples. Representa el fin de una actividad y el paso de la ejecución al siguiente estado de actividad en el diagrama. A diferencia de un diagrama de estados, donde la transición de un estado a otro se da a partir de la ocurrencia de un evento, en el diagrama de actividades la transición ocurre cuando un estado de actividad ha finalizado la
ejecución de su cómputo.
• Bifurcaciones. Establecen las dos diferentes ramas que se pueden seguir después de evaluar una condición booleana.
• Sincronización. Corresponde a una división o unión de control, la cual se representa por una barra gruesa con varias flechas que llegan o
El modelado dinámico en OMT
Diagramas de actividades
• Otra característica relevante de los diagramas de actividades es su capacidad de mostrar comportamientos que abarcan varios casos de uso. En este sentido, los diagramas de actividades nos proporcionan valiosa información sobre el comportamiento de dos o más casos de uso interconectados.
• Los diagramas de actividades muestran el flujo de actividades pero no los objetos que realizan dichas actividades. Podemos considerar que los diagramas de actividades son el punto de partida para el diseño, dado que nos muestran las principales actividades que el sistema debe
ejecutar.
Diagramas de actividades: Sistema VUELA
Establecer itinerario de vuelo
Seleccionar vuelo
Crear reservación
Asignar asientos
Actualizar BD Reservaciones
Liberar comprobante de
reservación
Diagramas de actividades: Sistema de Órdenes de Compra
Recibir orden de compra
Cancelar orden de compra
Actualizar existencias Comprobar
existencia de artículos
Asignar artículos a la orden de compra
Autorizar pago
Despachar orden de compra Liberar factura
[pago no autorizado]
[pago autorizado]
Diagramas de actividades: Sistema de Diagnóstico Médico
Interrogatorio médico
Tratamiento Diagnóstico
integral Estudio de gabinete
[se requieren otras pruebas y estudios]
Exploración física
[ha sido suficiente con el examen clínico]
Prueba de
Modelado Dinámico en OMT
Material consultado
• Rumbaugh, J. Blaha, M., Premerlani, W., Eddy, F. y Lorensen, W.
Modelado y Diseño Orientado a Objetos: Metodología OMT, Prentice Hall, 1996.
• Jacobson, I., G. Booch, J. Rumbaugh. El Proceso Unificado de Desarrollo de Software, Pearson Addison Wesley, Madrid, 2000.
• Fowler, M. UML gota a gota, Pearson Addison Wesley, 1999.