Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introducción
El objetivo del presente capítulo es explicar de qué manera UML representa las interacciones entre
objetos. En el capítulo Conceptos de la orientación a objetos, vimos que los objetos de un sistema
poseen su propio comportamiento e interactúan entre sí para dotar al sistema de una dinámica
global. En el capítulo Modelado de los requisitos, estudiamos la forma en que los casos de uso
representan las acciones y reacciones entre un actor externo y el sistema. Desde el punto de vista del
modelado, esos dos tipos de interacciones se distinguen por su diferencia interna/externa, pero no
por su naturaleza.
Para responder a la necesidad de representación de las interacciones entre objetos, UML propone
dos tipos de diagramas:
En el presente capítulo estudiaremos ambos tipos de diagramas. Más tarde examinaremos cómo
descubrir progresivamente los objetos que componen un sistema. Dicho descubrimiento se basará en
las interacciones entre objetos que intervienen en los casos de uso del sistema. Para representar las
interacciones nos decantaremos por el diagrama de secuencia, ya que suele ser la opción preferida
por las personas que se encargan de modelar los proyectos.
El diagrama de comunicación se conoce con ese nombre desde UML 2. En UML 1 se denominaba
diagrama de colaboración.
http://www.eni-training.com/client_net/mediabook.aspx?idR=69094 1/1
25/4/2014 ENI Training - Libro online
Diagrama de secuencia
1. Definición
El diagrama de secuencia describe la dinámica del sistema. A menos que se modele un sistema muy
pequeño, resulta difícil representar toda la dinámica de un sistema en un único diagrama. Por tanto,
la dinámica completa se representará mediante un conjunto de diagramas de secuencia, cada uno
de ellos vinculado generalmente a una subfunción del sistema.
El diagrama de secuencia describe las interacciones entre un grupo de objetos mostrando de forma
secuencial los envíos de mensajes entre objetos. El diagrama puede asimismo mostrar los flujos de
datos intercambiados durante el envío de mensajes.
Para interactuar entre sí, los objetos se envían mensajes. Durante la recepción de un mensaje,
los objetos se vuelven activos y ejecutan el método del mismo nombre. Un envío de mensaje
es, por tanto, una llamada a un método.
La notación "funcion: Clase" representa la función de una instancia seguida del nombre de su
clase. Para simplificar, en esta obra consideraremos que la función de la instancia corresponde
a su nombre, al igual que ocurría en UML 1. Si sólo una instancia de la clase participa en el
diagrama de secuencia, la función de la instancia es opcional. El nombre de la clase puede también
omitirse en las etapas preliminares del modelado, pero debe especificarse lo antes posible.
Los diagramas de secuencia contienen varias líneas de vida, ya que tratan de las interacciones
http://www.eni-training.com/client_net/mediabook.aspx?idR=69095 1/5
25/4/2014 ENI Training - Libro online
3. Envío de mensajes
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 (ver figura 5.2).
Los mensajes se numeran secuencialmente a partir de uno. Si un mensaje se envía antes de que
concluya el tratamiento del precedente, es posible utilizar una numeración compuesta (ver
figura 5.3) en la que el envío del mensaje 2 se produzca durante la ejecución del mensaje 1.
http://www.eni-training.com/client_net/mediabook.aspx?idR=69095 2/5
25/4/2014 ENI Training - Libro online
Existen diferentes tipos de envíos de mensajes. En la figura 5.5 ofrecemos una explicación gráfica.
El mensaje sincrónico es el utilizado con mayor frecuencia. Su uso significa que el expedidor del
mensaje espera que la activación del método mencionado por el destinatario finalice antes de
continuar su actividad.
Ejemplo
Un jinete da una orden a su caballo, luego le da una segunda orden sin esperar a que concluya la
ejecución de la primera. La primera orden constituye un ejemplo de envío de mensaje asincrónico.
Los objetos pueden enviarse mensajes a sí mismos. La representación de tales mensajes se ilustra
en la figura 5.6.
http://www.eni-training.com/client_net/mediabook.aspx?idR=69095 3/5
25/4/2014 ENI Training - Libro online
5. Descripción de la dinámica
Con los diferentes elementos anteriormente introducidos, podemos construir un diagrama de
secuencia completo y describir la dinámica de un pequeño sistema o una subfunción de un sistema
mayor.
Ejemplo
http://www.eni-training.com/client_net/mediabook.aspx?idR=69095 4/5
25/4/2014 ENI Training - Libro online
La figura 5.8 representa un escenario de compra de una yegua, ya estudiado en el capítulo Modelado de
los requisitos. No existe alternativa posible, por tanto, se trata sin duda de un escenario. Veremos a
continuación cómo introducir las alternativas y los bucles.
http://www.eni-training.com/client_net/mediabook.aspx?idR=69095 5/5
25/4/2014 ENI Training - Libro online
UML 2 generaliza los diagramas de secuencia para introducir los marcos de interacción. Esta
importante extensión da soporte a las alternativas y a los bucles y confiere al diagrama de secuencia
el estatus de verdadero modelo de interacciones.
2. La alternativa
La alternativa se obtiene utilizando el operador opt seguido de una condición de test. Si la condición
se verifica, el contenido del marco se ejecuta.
Existe otro operador para la alternativa, denominado alt, que va seguido de varias condiciones de
test y de la palabra clave else. El marco se divide entonces 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 (si no) y sólo se ejecuta si no se verifica ninguna de las condiciones precedentes.
http://www.eni-training.com/client_net/mediabook.aspx?idR=69096 1/4
25/4/2014 ENI Training - Libro online
3. El bucle
El bucle se efectúa mediante el operador loop seguido de los parámetros min, max y de una
condición de test. El contenido del marco se ejecuta min veces. Después sólo lo hace mientras que
se verifique la condición de test y el número máximo de ejecuciones del bucle no exceda de max. Los
parámetros son opcionales.
Ejemplo
Un jinete puede intentar superar un obstáculo un determinado número de veces, pero sin sobrepasar dos
intentos fallidos.
http://www.eni-training.com/client_net/mediabook.aspx?idR=69096 2/4
25/4/2014 ENI Training - Libro online
Ejemplo
La figura 5.13 representa el caso de uso de compra de una yegua. A diferencia de lo que ocurre en la
figura 5.8, se toman en cuenta las alternativas y bucles introducidos en el caso de uso. Concretamente,
el diagrama de secuencia sólo se ejecuta hasta el final si el comprador confirma las vacunas y los partos.
Se representa además el bucle de negociación del precio de venta.
http://www.eni-training.com/client_net/mediabook.aspx?idR=69096 3/4
25/4/2014 ENI Training - Libro online
Figura 5.13 - Ejemplo de diagrama de secuencia: representación del caso de uso de compra de una yegua
http://www.eni-training.com/client_net/mediabook.aspx?idR=69096 4/4