La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Fundamentos de Ingeniería de Software

Presentaciones similares


Presentación del tema: "Fundamentos de Ingeniería de Software"— Transcripción de la presentación:

1 Fundamentos de Ingeniería de Software
Modelo de Análisis Diagramas de Secuencia

2 VISTA DE LA INTERACCIÓN
Describe las secuencias de intercambios de mensajes entre roles que implementan el comportamiento del sistema. Muestra el flujo de control a través de muchos objetos. 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.

3 Un diagrama de secuencia representa una interacción como un gráfico bidimensional.
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 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.

4 La primera utilización de los diagramas de secuencia corresponde a la documentación de los casos de uso, se concentra en la descripción de la interacción, La segunda utilización corresponde a un uso más 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.

5 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.

6 ACTIVACION: 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 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.

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

8 Mensaje 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. 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.

9 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

10 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.

11 Tipos de flujos de control:
Los envíos síncronos (flujos de control plano) 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;

12 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.

13 Retorno de una llamada a procedimiento
La flecha de retorno puede suprimirse, por cuanto queda implícita al final de la activación

14 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.

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

16 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.

17 Es un objeto que contiene la raíz de una pila de activaciones.
Objeto activo 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 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.

18 Línea de vida de un objeto
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)

19 Creació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.

20 Creación y Destrucción de objetos

21 Estructuras de control
Las formas de diagramas de secuencia reflejan indirectamente las opciones de estructura.

22 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 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).

23

24 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.

25 Bucles o iteraciones: El objeto A envía sin solución de continuidad un mensaje a B mientras la condición X es verdad.

26 El bucle while 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.

27 Las bifurcaciones condicionales
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.

28 Las condiciones colocadas delante de los mensajes pueden sustituir al pseudocódigo.
Las diferentes ramas se materializan entonces por varias flechas que tienen su origen en el mismo instante y se distinguen por las condiciones colocadas delante de los mensajes. A cada bifurcación, las condiciones deben ser mutuamente exclusivas, y deben cubrirse todos los casos.

29 Las alternativas, en el lado del destinatario del mensaje, se representan desdoblando la línea de vida del objeto destinatario. La distinción entre las ramas se indica por una condición colocada esta vez detrás del mensaje, cerca del punto de entrada sobre la línea de vida del objeto destinatario. La representación gráfica de las bifurcaciones condicionales es la siguiente:

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


Descargar ppt "Fundamentos de Ingeniería de Software"

Presentaciones similares


Anuncios Google