DIAGRAMA DE SECUENCIAS - asiup.files.wordpress.com · Cuando el diagrama de secuencia corresponde a...

Post on 27-Jan-2019

233 views 0 download

Transcript of DIAGRAMA DE SECUENCIAS - asiup.files.wordpress.com · Cuando el diagrama de secuencia corresponde a...

DIAGRAMA DE SECUENCIASDIAGRAMA DE SECUENCIAS

MsC (c) Esp. Alexis Ovany Torres Ch.

damian7914@hotmail.com

Orientador Analisis y Diseño de Sistemas de Informacion

Describe las secuencias de intercambios de mensajesentre roles que implementan el comportamiento delsistema.Muestra el flujo de control a través de muchosobjetos.

Un diagrama de secuencia muestra:Un diagrama de secuencia muestra:Un diagrama de secuencia muestra:Un diagrama de secuencia muestra:

VISTA DE LA INTERACCIÓNVISTA DE LA INTERACCIÓNVISTA DE LA INTERACCIÓNVISTA DE LA INTERACCIÓN

Un diagrama de secuencia muestra:Un diagrama de secuencia muestra:Un diagrama de secuencia muestra:Un diagrama de secuencia muestra:

� Interacción de un conjunto de objetos en una aplicación a través del tiempo.� Un conjunto de mensajes, dispuestos en una secuencia temporal.� Cada rol en la secuencia como una línea de vida, es decir: una línea vertical.

� La dimensión vertical: es el eje del tiempo

� La dimensión horizontal muestra los roles de clasificador

que representan objetos individuales en la colaboración

Un diagrama de secuencia representa una interacción

como un gráfico bidimensional.

Un rol de clasificador:Un rol de clasificador:

Es la descripción de un objeto que desempeña un determinado

papel dentro de una interacción, distinto de los otros objetos de

la misma clase.

� La primera utilización de los diagramas de La primera utilización de los diagramas de La primera utilización de los diagramas de La primera utilización de los diagramas de secuencia corresponde a la secuencia corresponde a la secuencia corresponde a la secuencia corresponde a la documentación de los casos de uso, se concentra en la descripción de la se concentra en la descripción de la se concentra en la descripción de la se concentra en la descripción de la interacción,interacción,interacción,interacción,

� La segunda utilización corresponde a un uso más La segunda utilización corresponde a un uso más La segunda utilización corresponde a un uso más La segunda utilización corresponde a un uso más informático informático informático informático y permite la representación precisa de informático informático informático informático y permite la representación precisa de las interacciones entre objetos.

Por lo tanto puede mostrar:

� Escenario como la historia individual de la transacción

que detalla los casos de uso, aclarándolos al nivel de

mensajes de los objetos existentes, como también

� El uso de los mensajes de las clases diseñadas en el

contexto de una operación.

Cuando está implementado el comportamiento,

cada mensaje en un diagrama de secuencia

corresponde a:

� Una operación en una clase,

� A un evento disparador, o

� A una transición en una máquina de estados.

Es la ejecución de un procedimiento, incluyendo el tiempo que

espera a los procedimientos anidados para ejecutarse.

� Muestra el periodo de tiempo en el cual el objeto se

ACTIVACION:ACTIVACION:

Muestra el periodo de tiempo en el cual el objeto se

encuentra desarrollando alguna operación, bien sea por sí

mismo o por medio de delegación a alguno de sus atributos.

� Se denota como un rectángulo delgado sobre la línea de

vida del objeto.

El diagrama siguiente muestra el caso de un objeto A que activa otro objeto B.

El mensaje denota el hecho de aportar

información de un objeto (u otra instancia) a otro.

Puede ser una señal o llamadas a una operación.

MensajeMensaje

La notación para UML del envío de mensajes

entre objetos es con una flecha dirigida, desde el objeto

que emite el mensaje hacia el objeto que lo ejecuta.

�Cuando el diagrama de secuencia corresponde a la

documentación de los casos de uso se concentra en la

descripción de la interacción, a menudo en términos

próximos al usuario y sin entrar en detalles de

sincronización.

�La indicación que acompaña a las flechas corresponde

entonces, a eventos que ocurren en el ámbito de la

aplicación.

�En este estadio del modelamiento, las flechas no

corresponden aún a envíos de mensajes en el sentido de

lenguajes de programación, y la distinción entre flujos de

control y flujos de datos generalmente no se opera

� Cuando el diagrama de secuencia corresponde a un uso más informático, permite la representación precisa de las interacciones entre objetos.

� En este caso el concepto de mensaje unifica todas las formas de comunicación entre objetos, en particular la llamada de procedimiento, el evento discreto, la señal entre flujos de ejecución o la interrupción de hardware.

Los envíos síncronos (flujos de control plano)

� Muestran la progresión al próximo paso de la secuencia.

Tipos de flujos de control:Tipos de flujos de control:

� Muestran la progresión al próximo paso de la secuencia.

� Son envíos secuenciales, en los que el emisor está

bloqueado y espera que el receptor haya terminado de

tratar el mensaje;

Los envíos o flujos de control asíncronos:Los envíos o flujos de control asíncronos:

� En los que el emisor no está bloqueado y puede continuar

su ejecución.

Llamada a procedimiento u otro flujo de control anidado

� La secuencia anidada completa debe finalizar antes de

reanudar la secuencia de nivel externo.

� Se puede emplear en llamadas normales a procedimiento.

� También se puede usar con objetos activos

concurrentemente cuando uno de ellos envía una señal y

espera a que finalice una secuencia de comportamiento

anidada.

� La flecha de retorno puede suprimirse, por cuanto queda

implícita al final de la activación

Retorno Retorno de una llamada a procedimientode una llamada a procedimiento

� La flecha que simboliza un mensaje puede representarse oblicua para materializar las demoras de transmisión respecto a la dinámica general de la aplicación.

� Un objeto puede enviarse un mensaje a si mismo, o sea un mensaje reflexivo que se representa de la siguiente forma:

� Ocurre una llamada recursiva cuando el control vuelve a entrar en una operación en un objeto, pero la segunda llamada es una activación separada de la primera.

Es un objeto que contiene la raíz de una pila de activaciones.Es un objeto que contiene la raíz de una pila de activaciones.

� Cada objeto activo tiene su propio hilo de control dirigido

por eventos que se ejecuta en paralelo a otros objetos activos.

� Los objetos que son llamados por un objeto activo son objetos

Objeto activoObjeto activo

� Los objetos que son llamados por un objeto activo son objetos

pasivos; reciben el control solamente cuando son llamados y lo ceden

cuando retornan.

� Si varios hilos de control concurrentes tienen sus propios

flujos de procedimientos de control usando llamadas

anidadas, los diversos hilos deben distinguirse usando los

nombres de los hilos, colores u otros medios para evitar

confusión.

La Línea de vida de un objeto se representa como una línea

vertical punteada con un rectángulo de encabezado y con

rectángulos a través de la línea principal que denotan la

ejecución de métodos (activación)

Línea de vida de un objetoLínea de vida de un objeto

Creación y Destrucción de objetosCreación y Destrucción de objetosCreación y Destrucción de objetosCreación y Destrucción de objetos

• La creación de objetos se representa haciendo apuntar el

mensaje de creación sobre un rectángulo que simboliza el objeto

creado.

• La destrucción se indica por el fin de la línea de vida y por una

letra x, bien a la altura del mensaje que causa la destrucción, o

bien tras el último mensaje enviado por un objeto que se suicida.

Creación y Destrucción de objetosCreación y Destrucción de objetos

Las formas de diagramas de secuencia reflejan indirectamente

las opciones de estructura.

Estructuras de controlEstructuras de control

� Los diagramas de secuencia pueden completarse por

indicaciones textuales, expresadas en forma de texto libre

o de pseudocódigo.

� El instante de emisión de un mensaje llamado

transición, puede tener nombre en el diagrama cerca del transición, puede tener nombre en el diagrama cerca del

punto de partida de la flecha que simboliza el mensaje.

Este nombre sirve entonces, de referencia, por ejemplo,

para construir restricciones temporales.

� Cuando la propagación de un mensaje toma un tiempo

significativo respecto a la dinámica del sistema, los

instantes de emisión y de recepción de los mensajes se

materializan por un par (nombre, nombre primo).

� La adición de pseudocódigo sobre la parte izquierda del diagrama permite la representación de bucles y bifurcaciones

� De modo que los diagramas de secuencia pueden presentar la forma general de una interacción, más allá de la simple consideración de un escenario particular.

El objeto A envía sin solución de continuidad un mensaje a B

mientras la condición X es verdad.

Bucles o iteraciones: Bucles o iteraciones:

El bucle whilewhile puede representarse también por medio de una

condición de iteración colocada directamente sobre el mensaje.

La iteración se simboliza entonces por el carácter * ,

colocado delante de la condición entre corchetes.

Pueden materializarse por medio de pseudocódigo colocado a la

izquierda del diagrama.

El diagrama siguiente muestra que el objeto A envía un mensaje al

objeto B o al objeto C según la condición X.

Las Las bifurcaciones condicionales bifurcaciones condicionales

Las condiciones colocadas delante de los mensajespueden sustituir al pseudocódigo.Las diferentes ramas se materializan entonces por variasflechas que tienen su origen en el mismo instante y sedistinguen por las condiciones colocadas delante de losmensajes.A cada bifurcación, las condiciones debenA cada bifurcación, las condiciones debenser mutuamente exclusivas, y deben cubrirse todos loscasos.

Las alternativas, en el lado del destinatario delmensaje, se representan desdoblando la línea de vidadel objeto destinatario.La distinción entre las ramas se indica por unacondición colocada esta vez detrás del mensaje, cercadel punto de entrada sobre la línea de vida del objetodestinatario.destinatario.La representación gráfica de las bifurcacionescondicionales es la siguiente:

Ejemplo: Diagrama de secuencia para un control Ejemplo: Diagrama de secuencia para un control Ejemplo: Diagrama de secuencia para un control Ejemplo: Diagrama de secuencia para un control asíncronoasíncronoasíncronoasíncrono

Lorem ipsum dolor sit amet, quidam apeirian iudicabit ex est, vix eu

suscipiantur

Lorem ipsum dolor sit amet, quidam apeirian iudicabit ex est, vix eu suscipiantur vituperatoribus. Cibo saepecommodo ius an. Suas sadipscing eloquentiam his et, mellatine debitis ei. Ex movet efficiantur mea, pro in natumzril. Eam ei adhuc impedit, ad usu alterum aliquando. Discere dissentiunt per id, has soluta forensibusreprehendunt ad.Discere dissentiunt per id, has soluta forensibusreprehendunt ad.

� Graeci perfecto mandamus eum ne

� Nusquam nominati persecuti per eu. Sea mundisententiae ad, et diam case his.� Mel at quod magna accusam, usu id nihil reformidans.

� Ad has appetere scripserit, tamquam habemus pericula usu no, mei aperiam imperdiet posidonium ex. Mea et semper explicari.