Está en la página 1de 20

Universidad Autónoma del Estado de México

Facultad de Ingeniería

Investigación

de la Asignatura:

Análisis de Sistemas

“Diagramas de Interacción”

Presenta:

Iván Martínez Aguirre

Periodo: 2023-B

Toluca de Lerdo, Estado de México, México


Contenido
Introducción ....................................................................................................................................... 3
Desarrollo........................................................................................................................................... 4
Diagrama de secuencia ............................................................................................................... 5
Control estructurado en los diagramas de secuencia......................................................... 5
Ejecución opcional................................................................................................................ 5
Ejecución condicional .......................................................................................................... 6
Ejecución en paralelo........................................................................................................... 6
Ejecución en bucle ............................................................................................................... 6
Diagrama de comunicación ........................................................................................................ 7
Visión global de interacciones .................................................................................................. 10
Diagramas de tiempo ................................................................................................................. 11
Usos comunes de los diagramas de interacción ................................................................... 13
Ejemplos de los modelos / herramientas ................................................................................ 13
Conclusiones ................................................................................................................................... 18
Referencias ..................................................................................................................................... 20

2
Introducción

Los diagramas de interacciones desempeñan un papel esencial en la comprensión

y documentación de cómo los componentes de un sistema colaboran y se

comunican entre sí. En este contexto, los autores exploran en detalle los diversos

tipos de diagramas de interacción disponibles en UML 2.0 y explican cómo se

utilizan para capturar el comportamiento dinámico de sistemas y aplicaciones. Estos

diagramas son herramientas valiosas para los ingenieros de software, a quienes les

permite visualizar y analizar las interacciones entre objetos y componentes,

facilitando el diseño efectivo y la resolución de problemas en proyectos de desarrollo

de software y sistemas complejos.

3
Desarrollo

“Un diagrama de interacción muestra una interacción, que consiste en un conjunto


de objetos y sus relaciones, incluyendo los mensajes que se pueden enviar entre
ellos.” (El_lenguaje_Unificado_de_Modelado_2da_Ed (1).pdf, s. f.)

Al investigar sobre el tema de los diagramas de interacción, un diagrama de


interacción es una representación gráfica que nos ayuda a visualizar y comprender
cómo diferentes elementos interactúan en un sistema o proceso. En estos
diagramas, se representan los elementos, se conectan con líneas y se muestran las
formas en que se comunican a través de mensajes, como si estuvieran enviándose
notas. En esencia, se asemeja a trazar un mapa que identifica quiénes están
involucrados y cómo se relacionan en una situación específica.

Ilustración 1 - Diagrama de interacción (El_lenguaje_Unificado_de_Modelado_2da_Ed (1).pdf, s. f.)

Estos diagramas son útiles para comprender la dinámica de un sistema y son


ampliamente utilizados en la ingeniería de software y el diseño de sistemas.

4
Diagrama de secuencia
Uno de los tipos más comunes de diagramas de interacción es el "diagrama de
secuencia". Este tipo de diagrama se enfoca en mostrar la secuencia temporal en
la que los mensajes son enviados entre objetos. Visualmente, se asemeja a una
tabla, donde los objetos se ubican a lo largo del eje horizontal (X) y los mensajes se
organizan verticalmente (eje Y) en el orden en que ocurren a lo largo del tiempo.
Esto proporciona una representación clara de cómo las diferentes partes del sistema
interactúan en una secuencia temporal.

Ilustración 2 - Diagrama de secuencia (El_lenguaje_Unificado_de_Modelado_2da_Ed (1).pdf, s. f.)

Control estructurado en los diagramas de secuencia


A menudo, en la representación de sistemas, se necesita mostrar condiciones y
bucles, así como ejecuciones concurrentes de múltiples secuencias. Aquí es donde
entran en juego los operadores de control estructurados en los diagramas de
secuencia. Estos operadores se representan como regiones rectangulares dentro
del diagrama de secuencia y tienen una etiqueta que indica su tipo.

Ejecución opcional
El operador de control "Ejecución opcional" se identifica con la etiqueta "opt". En
este caso, el cuerpo del operador se ejecuta si se cumple una condición de guarda
al ingresar al operador. La condición de guarda es una expresión booleana que

5
puede aparecer entre corchetes encima de una línea de vida dentro del cuerpo del
operador.

Ejecución condicional
Por otro lado, el operador "Ejecución condicional" se etiqueta como "alt". Su cuerpo
se divide en subregiones, cada una representando una rama de la condición de
guarda. Si una rama cumple su condición de guarda, se ejecuta. Si ninguna rama
cumple, el control continúa después del operador, a menos que haya una subregión
especial con la etiqueta "[else]", que se ejecuta si ninguna otra condición se cumple.

Ejecución en paralelo
El operador "Ejecución paralela" se distingue por la etiqueta "par". Su cuerpo se
divide en subregiones que representan cómputos concurrentes. Todas las
subregiones se ejecutan simultáneamente, y dentro de cada subregión, los
mensajes se ejecutan secuencialmente, aunque el orden relativo es arbitrario. Este
operador es útil cuando se tienen actividades independientes que pueden ocurrir
simultáneamente.

Ejecución en bucle
Finalmente, el operador "Ejecución en bucle" se etiqueta como "loop". Incluye una
condición de guarda sobre una línea de vida en el cuerpo del bucle, y el cuerpo se
ejecuta repetidamente mientras la condición de guarda sea verdadera.

Estos operadores de control estructurado permiten representar de manera efectiva


condiciones, bucles y ejecuciones paralelas en los diagramas de secuencia.
Proporcionan una representación clara y detallada de la interacción entre objetos
en un sistema, lo que es esencial para el diseño y la comprensión de procesos en
la ingeniería de software y otros campos.

6
Diagrama de comunicación
Otro tipo importante es el "diagrama de comunicación". Este tipo de diagrama se
centra en la estructura de los objetos que envían y reciben mensajes. En lugar de
representar la secuencia temporal de los mensajes, se concentra en mostrar cómo
los objetos se organizan y se relacionan entre sí. Visualmente, se compone de
nodos (objetos) y arcos (las conexiones o mensajes entre ellos), lo que ofrece una
visión de alto nivel de la estructura del sistema y las interacciones entre los objetos.
(El_lenguaje_Unificado_de_Modelado_2da_Ed (1).pdf, s. f.)

En esencia, se construye como un grafo, donde los objetos se presentan como


nodos y las conexiones entre ellos se muestran como arcos. Estos arcos pueden
llevar nombres de roles para identificarlos, y luego se decoran con los mensajes que
los objetos envían y reciben, lo que proporciona una clara representación visual del
flujo de control en el contexto de la organización estructural de los objetos que
colaboran.

Un aspecto distintivo de los diagramas de comunicación es su enfoque en el camino


y el número de secuencia de los mensajes. El camino se dibuja asociándolo a una
conexión entre objetos, que puede ser una asociación, variables locales,
parámetros, variables globales o accesos propios. Cada camino representa una
fuente de conocimiento para un objeto en particular. Además, los mensajes se
numeran secuencialmente (comenzando con el mensaje número 1) para indicar su
orden temporal en el flujo de control.

El anidamiento se representa mediante una numeración decimal de Dewey, lo que


permite indicar la jerarquía de los mensajes anidados. Además, se pueden mostrar
múltiples mensajes a través del mismo enlace, y cada uno tendrá un número de
secuencia único.

Estos diagramas de comunicación pueden modelar flujos de control simples y


secuenciales en la mayoría de los casos. Sin embargo, también son capaces de
representar flujos más complejos que involucran iteración y bifurcación. La iteración
se utiliza para indicar una secuencia repetida de mensajes, y la bifurcación

7
representa caminos alternativos basados en condiciones evaluadas como
expresiones booleanas.

Para modelar una iteración o una bifurcación, se precede el número de secuencia


de un mensaje de una expresión correspondiente. UML no establece un formato
específico para estas expresiones, lo que permite utilizar pseudocódigo o la sintaxis
de un lenguaje de programación particular.

Ilustración 3 - Diagrama de comunicación (El_lenguaje_Unificado_de_Modelado_2da_Ed (1).pdf, s. f.)

“Tanto los diagramas de comunicación, como los diagramas de secuencia,

muestran interacciones, pero cada uno hace énfasis en aspectos distintos.

Los diagramas de secuencia muestran claramente secuencias temporales,

pero no muestran explícitamente relaciones entre objetos. Los diagramas de

comunicación muestran relaciones entre objetos con claridad, pero las

secuencias temporales se obtienen de los números de secuencia. A menudo,

los diagramas de secuencia son más útiles para mostrar el diseño detallado

de procedimientos. Sin embargo, una vez que se ha definido la estructura de

8
un procedimiento, los diagramas de comunicación pueden ser más útiles

para planificar los pequeños detalles del control.” (Rumbaugh et al., 2010)

Tanto los diagramas de comunicación como los diagramas de secuencia son

herramientas valiosas para representar interacciones en sistemas, pero cada uno

destaca aspectos diferentes. Los diagramas de secuencia se centran en mostrar

secuencias temporales de eventos de manera clara, aunque no detallan

explícitamente las relaciones entre objetos. Por otro lado, los diagramas de

comunicación ponen de manifiesto las relaciones entre objetos de manera

destacada, dejando las secuencias temporales a los números de secuencia.

En la práctica, los diagramas de secuencia son útiles para representar el diseño

detallado de procedimientos, ya que resaltan el flujo temporal de eventos, lo que

facilita la comprensión de la lógica de un proceso. Por otro lado, una vez que se ha

establecido la estructura general de un procedimiento, los diagramas de

comunicación pueden ser más efectivos para planificar los detalles de control

específicos. Esto se debe a que permiten enfocarse en las relaciones entre objetos

y cómo interactúan, lo que es esencial para afinar los aspectos más pequeños de la

ejecución.

En resumen, este tipo de diagrama nos ayuda a hacer los diagramas de secuencia

más simples y fáciles de seguir al evitar que se vean recargados con demasiada

información. Es especialmente útil cuando necesitamos mostrar decisiones y

bifurcaciones en secuencias de eventos.

9
Visión global de interacciones
“Un diagrama de visión global de interacciones Sirve para combinar
diagramas de actividades con diagramas de interacción. UML 10 considera
otro diagrama de la familia de los de interacción. Tal vez su uso más
interesante sea evitar las alternativas en diagramas de secuencia, usando las
construcciones de bifurcación de los diagramas de actividades.” (UML.
Modelado de software para profesionales - Carlos Fontela.pdf, s. f.)

Un "diagrama de visión global de interacciones" es una herramienta útil en UML que

mezcla dos tipos de diagramas: los de actividades y los de interacción. Su principal

ventaja radica en simplificar la representación de procesos complicados.

Cuando usamos diagramas de secuencia en UML, a veces nos encontramos con

situaciones complicadas que involucran decisiones y bifurcaciones para mostrar

diferentes caminos en una secuencia de eventos. Esto puede hacer que los

diagramas sean difíciles de entender. El "diagrama de visión global de

interacciones" es útil porque nos permite incorporar formas de manejar estas

situaciones complicadas, como lo haríamos en un diagrama de actividades.

Parece que este tipo de diagrama tiene características tanto de los diagramas de

interacción como de los diagramas de actividades, y aunque se considera

principalmente un diagrama de interacción, su relación con los diagramas de

actividades puede generar confusión.

10
Ilustración 4 - Diagrama de Visión Global de Interacción (UML. Modelado de software para profesionales - Carlos
Fontela.pdf, s. f.)

Diagramas de tiempo
“EI diagrama de tempo define el comportamiento de los diferentes objetos
con una escala de tiempo. Provee una representación visual de los objetos
cambiando de estado e interactuando a 10 largo del tiempo.”
(133122679013.pdf, s. f.)

Un "diagrama de tiempo" en UML es una representación gráfica que se utiliza para

ilustrar cómo los objetos cambian de estado y se relacionan entre sí en función del

tiempo. Este tipo de diagrama es valioso para modelar sistemas en los que el tiempo

es un factor crítico, como sistemas de tiempo real o procesos de negocio con

restricciones temporales.

11
Imagina un sistema de control de semáforos en una intersección. Aquí, un diagrama

de tiempo podría mostrar cómo la luz cambia de rojo a verde y amarillo en un

período de tiempo específico. También podría representar cómo los sensores de

tráfico detectan vehículos y peatones, lo que influye en el cambio de la señal.

Además, los diagramas de tiempo son útiles en sistemas embebidos, como un

controlador de microondas. Podrían mostrar cómo se ajustan las funciones de

cocción, temporizadores y sensores para cocinar alimentos de manera eficiente.

En el ámbito de los negocios, estos diagramas son útiles para modelar procesos

empresariales que están sujetos a restricciones temporales. Por ejemplo, podrían

utilizarse para representar cómo se manejan los pedidos en un almacén, desde la

recepción de la orden hasta la entrega, teniendo en cuenta los plazos de tiempo.

Es entonces que, los diagramas de tiempo ofrecen una representación visual de

cómo los objetos y componentes cambian y se relacionan en función del tiempo, lo

que resulta esencial en sistemas y procesos donde la temporización es crítica.

Ilustración 5 - Diagrama de tiempos simple (UML. Modelado de software para profesionales - Carlos Fontela.pdf, s. f.)

12
Usos comunes de los diagramas de interacción

Los diagramas de interacción se utilizan principalmente de dos maneras. En primer

lugar, para representar flujos de control basados en secuencias temporales, se

recurre a los diagramas de secuencia. Estos diagramas son ideales para visualizar

cómo se transmiten mensajes a lo largo del tiempo, lo que resulta útil para entender

el comportamiento dinámico en contextos como escenarios de casos de uso,

especialmente cuando se deben mostrar iteraciones y bifurcaciones simples.

En segundo lugar, para destacar las relaciones estructurales entre las instancias de

interacción y cómo fluyen los mensajes a través de ellas, se utilizan los diagramas

de comunicación. Estos son excelentes para mostrar cómo se organizan las

interacciones y cómo se relacionan las instancias.

Ejemplos de los modelos / herramientas


Aquí se presenta un ejemplo de un diagrama de interacción que sirve como una
plantilla para modelar las interacciones entre los diversos componentes de una
aplicación web básica. Este tipo de diagrama es una herramienta esencial en el
mundo del diseño de software y la ingeniería de sistemas. Proporciona una
representación gráfica que permite comprender cómo diferentes elementos o
módulos de una aplicación web se relacionan entre sí y cómo se comunican en
función de las necesidades del sistema.

Imagina este diagrama como un plano detallado que muestra las conexiones y la
lógica detrás de una aplicación web. En él, se especifican las interacciones entre
las partes, como la interacción entre un usuario y una base de datos, o entre un
servidor y un cliente web. Esto es crucial para el diseño y desarrollo efectivo de
aplicaciones web, ya que proporciona una visión clara de cómo funcionan todos los

13
componentes en conjunto y cómo se comunican para lograr un funcionamiento
suave y eficiente.

Ilustración 6 - Ejemplo de diagrama de interacción (Tutorial de diagramas de interacción, s. f.)

A continuación, se presenta un ejemplo sobre la elaboración de un diagrama de

secuencias, es importante recordar que éste se apega al diagrama de casos de uso,

por ello se presenta el caso de uso a desarrollar como ejemplo:

Ilustración 7 - Diagrama de casos de uso (Siriwardhana, 2020)

14
Para continuar con el ejemplo del diagrama de secuencias, se hace uso del

problema que se plantea por Siriwardhana, desplegando así las necesidades del

proyecto que se presentan a continuación.

Siguiendo el ejemplo del diagrama de secuencia que describe el proceso de "Crear

una nueva cuenta de biblioteca en línea", nos enfocaremos en la elaboración de un

diagrama de secuencia para el caso de uso titulado "Crear una nueva cuenta de

usuario".

Para iniciar el proceso de creación del diagrama de secuencia, es crucial identificar

los actores y objetos involucrados en la creación de una cuenta de usuario. En este

caso, los actores clave serían:

1. El Bibliotecario

2. El Sistema de Gestión de la Biblioteca en Línea

3. La Base de Datos de Credenciales de Usuario

4. El Sistema de Correo Electrónico

Una vez que se han identificado estos elementos, el siguiente paso es desarrollar

una descripción detallada del caso de uso. Esta descripción proporcionará

información sobre las interacciones esperadas entre los actores y objetos

mencionados anteriormente una vez que se ejecute el caso de uso.

A continuación, se detallan los pasos que se siguen en el caso de uso "Crear una

nueva cuenta de usuario en la biblioteca":

15
1. El Bibliotecario solicita al sistema la creación de una nueva cuenta de

biblioteca en línea.

2. El Bibliotecario selecciona el tipo de cuenta de usuario de la biblioteca.

3. El Bibliotecario ingresa los datos del usuario.

4. Los datos del usuario se verifican a través de la base de datos de

credenciales de usuario.

5. Se crea la nueva cuenta de usuario de la biblioteca.

6. Un resumen de los detalles de la nueva cuenta se envía por correo

electrónico al usuario.

Estos pasos proporcionan una base sólida para identificar las interacciones y

mensajes que deben intercambiarse entre los actores y objetos en el diagrama de

secuencia. Una vez que se comprenden estos aspectos, es posible avanzar en la

creación del diagrama de secuencia.

El diagrama de secuencia a continuación ilustra cómo los objetos del Sistema de

Gestión de la Biblioteca en Línea interactúan para llevar a cabo la función de "Crear

una nueva cuenta de usuario en la biblioteca".

16
Ilustración 8 - Ejemplo del diagrama de secuencia (Siriwardhana, 2020)

17
Conclusiones
Los diagramas de interacción son herramientas cruciales en la ingeniería de
software y el diseño de sistemas para comprender y documentar cómo los
componentes de un sistema interactúan y se comunican entre sí. Estos diagramas
permiten a los ingenieros de software visualizar y analizar las relaciones entre
objetos y componentes, lo que facilita el diseño efectivo y la resolución de problemas
en proyectos de desarrollo de software y sistemas complejos.

Los diagramas de interacción incluyen varios tipos, como los diagramas de

secuencia y los diagramas de comunicación. Los diagramas de secuencia se

centran en mostrar la secuencia temporal en la que los mensajes se envían entre

objetos, lo que es ideal para representar secuencias claras de eventos y lógica de

procesos. Por otro lado, los diagramas de comunicación se enfocan en la estructura

de los objetos y cómo se relacionan entre sí, lo que proporciona una visión de alto

nivel de la organización estructural de los objetos.

Además, se han introducido operadores de control estructurado en los diagramas

de secuencia, como ejecución opcional, ejecución condicional, ejecución en

paralelo y ejecución en bucle, que permiten representar de manera efectiva

condiciones, bucles y ejecuciones paralelas en los diagramas de secuencia.

El diagrama de tiempo es otra variante importante que se utiliza para representar el

comportamiento de los objetos a lo largo del tiempo, lo que es especialmente útil en

sistemas con restricciones temporales, sistemas embebidos y procesos

empresariales.

En resumen, los diagramas de interacción son herramientas versátiles y valiosas en

el campo de la ingeniería de software y sistemas, y su elección depende de qué

18
aspecto de la interacción y el comportamiento se desee representar de manera más

efectiva. Cada tipo de diagrama tiene su propósito y ventajas específicas, lo que los

hace esenciales para diferentes etapas del proceso de diseño y desarrollo.

19
Referencias

133122679013.pdf. (s. f.). Recuperado 14 de octubre de 2023, de


https://www.redalyc.org/pdf/1331/133122679013.pdf
El_lenguaje_Unificado_de_Modelado_2da_Ed (1).pdf. (s. f.).
Rumbaugh, J., Jacobson, I., & Booch, G. (2010). El lenguaje unificado de
modelado manual de referencia (2a ed). Pearson Educación.
Siriwardhana, S. (2020, octubre 21). Tutorial del diagrama de secuencia: Guía
completa con ejemplos. Blog de Creately.
https://creately.com/blog/es/diagramas/tutorial-del-diagrama-de-secuencia/
Tutorial de diagramas de interacción. (s. f.). Lucidchart. Recuperado 14 de octubre
de 2023, de https://www.lucidchart.com/pages/es/diagrama-de-interaccion-uml
UML. Modelado de software para profesionales—Carlos Fontela.pdf. (s. f.).

20

También podría gustarte