Los marcos de interacción son una extensión que nos presenta UML 2 para el modelado de comportamiento a la hora de construir diagramas de interacción y más en concreto diagramas de secuencia. Esta importante extensión da soporte, entre otros aspectos, a las alternativas y a los bucles, que enriquecen considerablemente a los diagramas de secuencia.
Antes de nada empezaremos diciendo que los diagramas de interacción como su nombre indica describen una interacción, mejor dicho, muestran cómo se comunican los objetos en una interacción. Existen dos tipos: los diagramas de secuencia, que se podría decir que se centran más en la perspectiva temporal o cronológica de las interacciones y muestran de forma secuencial los envíos de mensajes entre objetos y los diagramas de comunicación (anteriormente a UML 2 denominados de colaboración) que ofrecen una mejor visión espacial, puesto que se centran en una representación espacial de los objetos, mostrando los enlaces de comunicación entre los objetos (o los vínculos entre clases), se trata de una alternativa de los diagramas de secuencia.
Para concluir con este apartado, diremos que los diagramas de comunicación pueden obtenerse automáticamente a partir de los correspondientes diagramas de secuencia (o viceversa), de ahí que digamos que ambos diagramas son equivalentes o isomorfos, puesto que se puede transformar un diagrama de secuencia en otro de comunicación (o al revés) sin perder información.
Como hemos dicho anteriormente, un marco de interacción es una parte del diagrama de secuencia asociado a una etiqueta, la cual contiene un operador de control que determina el modo de ejecución de esa secuencia. A continuación veremos las principales modalidades de ejecución:
Ejecución opcional (opt)
Se trata de una alternativa, que se obtiene utilizando el operador opt seguido de una condición de test. El marco se ejecuta si se cumple esa condición.
Ejecución iterativa o bucle (loop)
El marco se ejecuta mientras se cumple una condición, se efectúa mediante el operador loop seguido de los parámetros opcionales min, max y de una condición de test. El contenido del marco se ejecutará min veces sin exceder del máximo establecido que lo estipularemos en el parámetro max.
Veamos un ejemplo del uso de marcos de interacción (en este caso opt y loop) para el pedido de un producto genérico en una web:
También existen otros operadores de control, vamos a mencionar alguno de ellos:
- Ejecución condicional (alt): Se trata de otro operador para la alternativa, va seguida de varias condiciones de test y de la palabra clave else. El cuerpo se divide en varias regiones, cada una con una condición asociada. Se ejecuta el cuerpo de la región cuya condición se cumple. El contenido de la última región se asocia a la palabra clave else (si no) y sólo se ejecuta si no se verifica ninguna de las condiciones precedentes.
- Ejecución paralela (par): En el cuál el cuerpo se divide en varias regiones. Cada región representa una computación paralela. Se ejecuta de forma paralela el cuerpo de cada región.
- Ejecución break (break): Se ejecuta la traza de break en lugar del resto del fragmento donde está incluido (excepciones).
Por último para concluir comentaremos que puesto que no existe un equivalente a los marcos de interacción en los diagramas de comunicación, UML 2 estipula mecanismos de test y de bucle en el envío de mensajes, los cuales se realizan mediante una condición especificada entre corchetes después del número del mensaje, es decir: Número [condición] : mensaje.
Post publicado por: Jose Mª Megino
SEAS es el centro de formación online del Grupo San Valero, especializado en el ámbito técnico, industrial y de empresa. Visita www.seas.es para consultar nuestra oferta formativa de cursos y másteres. Formación profesional para el empleo de calidad y accesible para todos.
Andrés
4 octubre, 2016 at 2:43 amHola, muy buen aporte. Una consulta, ¿con qué programa realizas los diagramas de secuencia?
El papu
20 abril, 2022 at 5:50 pmHola, espero que aún te sirva, yo utilizo star uml