• No se han encontrado resultados

FIS06 Modelado dinamico pdf

N/A
N/A
Protected

Academic year: 2020

Share "FIS06 Modelado dinamico pdf"

Copied!
34
0
0

Texto completo

(1)

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

(2)

El modelado dinámico en OMT

Descripción del módulo

El modelado dinámico

Diagramas de estados Diagramas de

interacción

(3)

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.

(4)

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

(5)

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.

(6)

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.

(7)

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

(8)

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

(9)

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 detalles

(10)

Diagramas 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

(11)

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)

(12)

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

(13)

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

(14)

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.

(15)

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

(16)

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

(17)

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.

(18)

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

(19)

El modelado dinámico en OMT

Diagramas de estados: eventos y estados

Estado A Estado B

Estado C

Evento 1

(20)

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.

(21)

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.

(22)

El modelado dinámico en OMT

Diagramas de estados: las transiciones

Estado A Estado B

Estado C

Evento

[condición de guarda]

(23)

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

(24)

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

(25)

Diagramas de estados: Sistema de Reservaciones de Hoteles

Inicio Reservación por confirmar Reservación Confirmada

Confirmar 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

(26)

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

(27)

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

(28)

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

(29)

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

(30)

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.

(31)

Diagramas de actividades: Sistema VUELA

Establecer itinerario de vuelo

Seleccionar vuelo

Crear reservación

Asignar asientos

Actualizar BD Reservaciones

Liberar comprobante de

reservación

(32)

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]

(33)

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

(34)

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.

Referencias

Documento similar

Para ello, trabajaremos con una colección de cartas redactadas desde allí, impresa en Évora en 1598 y otros documentos jesuitas: el Sumario de las cosas de Japón (1583),

dente: algunas decían que doña Leonor, "con muy grand rescelo e miedo que avía del rey don Pedro que nueva- mente regnaba, e de la reyna doña María, su madre del dicho rey,

Entre nosotros anda un escritor de cosas de filología, paisano de Costa, que no deja de tener ingenio y garbo; pero cuyas obras tienen de todo menos de ciencia, y aun

o Si dispone en su establecimiento de alguna silla de ruedas Jazz S50 o 708D cuyo nº de serie figura en el anexo 1 de esta nota informativa, consulte la nota de aviso de la

Fuente de emisión secundaria que afecta a la estación: Combustión en sector residencial y comercial Distancia a la primera vía de tráfico: 3 metros (15 m de ancho)..

d) que haya «identidad de órgano» (con identidad de Sala y Sección); e) que haya alteridad, es decir, que las sentencias aportadas sean de persona distinta a la recurrente, e) que

Consecuentemente, en el siglo xviii hay un cambio en la cosmovi- sión, con un alcance o efecto reducido en los pueblos (periferia), concretados en vecinos de determinados pueblos

La campaña ha consistido en la revisión del etiquetado e instrucciones de uso de todos los ter- mómetros digitales comunicados, así como de la documentación técnica adicional de