3. ¿ Qué es Diagrama de Secuencia ?
El diagrama de secuencias en UML muestra la
interacción de un conjunto de objetos en una aplicación
a través del tiempo y se modela para cada caso de uso
Un diagrama de secuencia contiene:
• Objetos con sus “líneas de vida”
• Mensajes intercambiados entre objetos en una secuencia
ordenada
• Línea de Vida Activa (opcional)
4. El diagrama de secuencias consta de objetos, representados del
modo usual: rectángulos con nombres subrayados, estímulos
(también conocidos como mensajes) representados por líneas
continuas con una punta de flecha y el tiempo representado por una
progresión vertical.
Elemento principales de un Diagrama de
Secuencia
Periodo
activida del
objeto
Linea de Vida
Objetos
Mensajes
Tiempo
5. El diagrama de secuencias consta de objetos que se representan del modo usual:
rectángulos con nombre (subrayado), mensajes entre los objetos representados por
líneas continuas con una punta de flecha y el tiempo representado como una progresión
vertical.
Los objetos se colocan cerca de la parte superior del diagrama de izquierda a derecha
y se acomodan de manera que simplifiquen el diagrama.
La extensión que está debajo (y en forma descendente) de cada objeto será una línea
discontinua conocida como la línea de vida de un objeto.
Junto con la línea de vida de un objeto se encuentra un pequeño rectángulo conocido
como activación, el cual representa la ejecución de una operación que realiza el objeto.
La longitud del rectángulo se interpreta como la duración de la activación.
Objeto
6. Los envíos de mensajes se representan mediante flechas
horizontales que unen la línea de vida del objeto emisor
con la línea de vida del objeto destinatario. En cada flecha
se pone el nombre del acontecimiento que provoca el
envío del mensaje, y se puede acompañar de datos entre
paréntesis.
Mensajes
Existen diferentes tipos de envíos de mensajes:
7. Tipos de envíos de Mensajes
Simple: es la transferencia del control de un objeto a otro
Síncronos: son los más utilizados. El emisor del mensaje debe
esperar a que el destinatario finalice el método mencionado antes
de continuar su actividad.
Asíncrono: el emisor no espera al destinatario para poder realizar
otras acciones (sistemas multi-thread).
La representación de estos tipos de envíos varía según el autor.
8. El diagrama representa al tiempo en dirección vertical. El tiempo se
inicia en la parte superior y avanza hacia la parte inferior. Un mensaje
que esté más cerca de la parte superior ocurrirá antes que uno que
esté cerca la parte inferior.
Con ello el diagrama de secuencias tiene dos dimensiones. La
dimensión horizontal es la disposición de los objetos, y la dimensión
vertical muestra el paso del tiempo.
Tiempo
Tiempo
9. A menudo en un diagrama de secuencia representaremos la creación
y destrucción de objetos de la siguiente forma:
Creación y destrucción de objetosRecursividad
Un objeto puede enviarse mensajes a sí mismo. En ocasiones un
objeto posee una operación que se invoca a sí misma. A esto se le
conoce como recursividad
11. Include: cuando se relacionan dos casos de uso con un include,
estamos diciendo que el primer caso (caso de uso base) incluye al
segundo (caso de uso incluido). Sería lo mismo que decir que el
segundo es parte esencial del primero, sin el segundo el primero no
podría funcionar.
Extend: se utiliza cuando un caso de uso base incorpora el
comportamiento de otro caso de uso y “extiende” su
funcionamiento.
12. Marcos de interacción
Un marco de interacción es una parte del diagrama de secuencia
asociado a una etiqueta. Esta etiqueta contiene un operador que
determina la modalidad de ejecución. Las principales modalidades son
la alternativa y el bucle.
.Alternativa
La alternativa se obtiene usando el operador “opt” seguido de una
condición. Si la condición se evalúa a cierto, el contenido del marco se
ejecuta.
Existe otro operador para la alternativa que va seguido de varias condiciones y de la palabra clave
“else”. El marco se divide en varias partes cuyo contenido sólo se ejecuta si se cumple la condición
asociada. El contenido de la última parte se asocia a la palabra clave “else” y sólo se ejecuta si no se
verifica ninguna de las acondiciones precedentes.
13. El bucle se efectúa mediante el operador “loop” seguido de los
parámetros “min”, “max” y una condición. El contenido del marco se
ejecuta “min” veces. Después sólo lo hace mientras se verifique la
condición y el número máximo de ejecuciones del bucle no exceda
de “max”.
Los parámetros son opcionales.
.
14. Rational Rose
Es una herramienta de modelado visual para desarrollo de
aplicaciones, modelado de datos, servicios de diseño web,
modelado de negocios, la extensión de aplicaciones heredadas y
el modelado basado en componentes.
El ® de IBM Rational Rose ® familia de productos está diseñada
para Unified Modeling Language (UML), el desarrollo basado en
aplicaciones. Arquitectos, analistas, software y bases de datos,
diseñadores y desarrolladores de sistemas pueden usar esta familia
de productos para producir modelos visuales de arquitecturas de
software, bases de datos, los requisitos de aplicación y activos
reutilizables, así como formular las comunicaciones de nivel
gerencial.
15. EJEMPLO1: INTERACCION ENTRE ACTORES
Registrar comprobante de pago de una venta de un producto
1. En primer lugar se elabora el Diagrama de casos de usos
Diagrama de casos de usos
16. 2. En segundo lugar se explota o se especifica los procesos o
mensajes de cada caso de uso, en ejemplo detallaremos el diagrama
de secuencia del caso de uso Registrar Cliente.
3. Se elabora un diagrama de secuencia en donde para mostrar todos
los mensajes que suceden entre los actores u objetos. Según como se
muestra el ejemplo.
Como pueden darse cuenta, es aquí donde se insertan todos los
mensajes entre los actores u objetos en este caso, solo hay
interacción de mensajes entre actores. Como pueden darse cuenta
se visualizan los mensajes en un tiempo transcurrido.