UML 2.0: descripción general

UML 2.0 es una dimensión totalmente diferente en el mundo del lenguaje de modelado unificado. Es de naturaleza más compleja y extensa. La extensión de la documentación también ha aumentado en comparación con la versión UML 1.5. UML 2.0 ha agregado nuevas características para que su uso pueda ser más extenso.

UML 2.0 agrega la definición de semántica formal y completamente definida. Esta nueva posibilidad se puede utilizar para el desarrollo de modelos y los sistemas correspondientes se pueden generar a partir de estos modelos. Sin embargo, para utilizar esta nueva dimensión, se debe hacer un esfuerzo considerable para adquirir conocimientos.

Nuevas dimensiones en UML 2.0

La estructura y documentación de UML fue completamente revisada en la última versión de UML 2.0. Ahora hay dos documentos disponibles que describen UML:

  • La infraestructura UML 2.0 define las construcciones básicas del lenguaje en el que se basa UML. Esta sección no es directamente relevante para los usuarios de UML. Esto está dirigido más a los desarrolladores de herramientas de modelado. Esta área no está dentro del alcance de este tutorial.

  • La superestructura de UML 2.0 define las construcciones de usuario de UML 2.0. Significa aquellos elementos de UML que los usuarios usarán en el nivel inmediato. Este es el enfoque principal de la comunidad de usuarios de UML.

Esta revisión de UML fue creada para cumplir con el objetivo de reestructurar y refinar UML de manera que se simplifique la usabilidad, implementación y adaptación.

La infraestructura UML se utiliza para:

  • Proporcione un núcleo de metalenguaje reutilizable. Esto se usa para definir el propio UML.

  • Proporcionar mecanismos para ajustar el idioma.

La superestructura UML se utiliza para:

  • Proporcionar un mejor soporte para el desarrollo basado en componentes.

  • Mejorar constructos para la especificación de arquitectura.

  • Brindar mejores opciones para modelar el comportamiento.

El punto importante a tener en cuenta son las principales divisiones descritas anteriormente. Estas divisiones se utilizan para aumentar la usabilidad de UML y definir una comprensión clara de su uso.

Hay otra dimensión que ya se propone en esta nueva versión. Es una propuesta para un lenguaje de restricción de objetos (OCL) y un intercambio de diagramas completamente nuevos. Todas estas características forman el paquete completo UML 2.0.

Modelado de diagramas en UML 2.0

Interacciones de modelado

Los diagramas de interacción descritos en UML 2.0 son diferentes a las versiones anteriores. Sin embargo, el concepto básico sigue siendo el mismo que en la versión anterior. La principal diferencia es la mejora y las características adicionales agregadas a los diagramas en UML 2.0.

UML 2.0 modela la interacción de objetos de las siguientes cuatro formas diferentes.

  • Sequence diagrames una vista dependiente del tiempo de la interacción entre objetos para lograr un objetivo de comportamiento del sistema. La secuencia de tiempo es similar a la versión anterior del diagrama de secuencia. Una interacción puede diseñarse en cualquier nivel de abstracción dentro del diseño del sistema, desde las interacciones del subsistema hasta el nivel de instancia.

  • Communication diagrames un nuevo nombre agregado en UML 2.0. El diagrama de comunicación es una vista estructural de la mensajería entre objetos, tomada del concepto de diagrama de colaboración de UML 1.4 y versiones anteriores. Esto se puede definir como una versión modificada del diagrama de colaboración.

  • Interaction Overview diagramtambién es una nueva incorporación en UML 2.0. Un diagrama de descripción general de interacción describe una vista de alto nivel de un grupo de interacciones combinadas en una secuencia lógica, incluida la lógica de control de flujo para navegar entre las interacciones.

  • Timing diagramtambién se agrega en UML 2.0. Es un diagrama opcional diseñado para especificar las limitaciones de tiempo de los mensajes enviados y recibidos en el curso de una interacción.

De la descripción anterior, es importante tener en cuenta que el propósito de todos los diagramas es enviar / recibir mensajes. El manejo de estos mensajes es interno a los objetos. De ahí que los objetos también tengan opciones para recibir y enviar mensajes, y aquí viene otro aspecto importante llamado interfaz. Ahora estas interfaces son responsables de aceptar y enviarse mensajes entre sí.

Por lo tanto, se puede concluir que las interacciones en UML 2.0 se describen de una manera diferente y esa es la razón por la que los nuevos nombres de los diagramas han aparecido. Si analizamos los nuevos diagramas, queda claro que todos los diagramas se crean basándose en los diagramas de interacción descritos en las versiones anteriores. La única diferencia son las características adicionales agregadas en UML 2.0 para hacer que los diagramas sean más eficientes y orientados a un propósito.

Colaboraciones de modelado

Como ya hemos comentado, la colaboración se utiliza para modelar interacciones comunes entre objetos. Podemos decir que la colaboración es una interacción donde un conjunto de mensajes son manejados por un conjunto de objetos que tienen roles predefinidos.

El punto importante a tener en cuenta es la diferencia entre el diagrama de colaboración en la versión anterior y en la versión UML 2.0. Para distinguir, se ha cambiado el nombre del diagrama de colaboración en UML 2.0. En UML 2.0, se denomina comoCommunication diagram.

En consecuencia, la colaboración se define como una clase con atributos (propiedades) y comportamiento (operaciones). Los compartimentos en la clase de colaboración pueden ser definidos por el usuario y pueden usarse para interacciones (diagramas de secuencia) y elementos estructurales (diagrama de estructura compuesta).

La siguiente figura modela el patrón de diseño del Observador como colaboración entre un objeto en el papel de un elemento observable y cualquier número de objetos como observadores.

Modelado de comunicación

El diagrama de comunicación es ligeramente diferente a los diagramas de colaboración de las versiones anteriores. Podemos decir que es una versión reducida de las versiones anteriores de UML. El factor distintivo del diagrama de comunicación es el vínculo entre los objetos.

Este es un enlace visual y falta en el diagrama de secuencia. En el diagrama de secuencia, solo se muestran los mensajes que se pasan entre los objetos, incluso si no hay ningún vínculo entre ellos.

El diagrama de comunicación se utiliza para evitar que el modelador cometa este error al utilizar un formato de diagrama de objetos como base para la mensajería. Cada objeto de un diagrama de comunicación se denomina línea de vida de objetos.

Los tipos de mensajes en un diagrama de comunicación son los mismos que en un diagrama de secuencia. El diagrama de comunicación puede modelar mensajes síncronos, asíncronos, devueltos, perdidos, encontrados y de creación de objetos.

La siguiente figura muestra un diagrama de objetos con tres objetos y dos enlaces que forman la base del diagrama de comunicación. Cada objeto de un diagrama de comunicación se denomina línea de vida de objetos.

Descripción general del modelado de una interacción

En el uso práctico, se utiliza un diagrama de secuencia para modelar un solo escenario. Se utilizan varios diagramas de secuencia para completar toda la solicitud. Por lo tanto, al modelar un solo escenario, es posible olvidar el proceso total y esto puede introducir errores.

Para resolver este problema, el nuevo diagrama general de interacción combina el flujo de control de un diagrama de actividad y la especificación de mensajes del diagrama de secuencia.

El diagrama de actividades utiliza actividades y flujos de objetos para describir un proceso. El diagrama Descripción general de interacciones utiliza interacciones y ocurrencias de interacción. Las líneas de vida y los mensajes que se encuentran en los diagramas de secuencia aparecen solo dentro de las interacciones o ocurrencias de interacción. Sin embargo, las líneas de vida (objetos) que participan en el diagrama Descripción general de la interacción pueden aparecer junto con el nombre del diagrama.

La siguiente figura muestra un diagrama de descripción general de la interacción con diamantes de decisión, marcos y punto de terminación.

Modelado de un diagrama de tiempos

El nombre de este diagrama en sí mismo describe el propósito del diagrama. Básicamente, se ocupa del tiempo de los eventos durante todo su ciclo de vida.

Por lo tanto, un diagrama de tiempo puede definirse como un diagrama de interacción de propósito especial creado para enfocarse en los eventos de un objeto en su tiempo de vida. Básicamente es una mezcla de máquina de estados y diagrama de interacción. El diagrama de tiempo utiliza las siguientes líneas de tiempo:

  • Línea de tiempo del estado

  • Línea de tiempo de valor general

Una línea de vida en un diagrama de tiempo forma un espacio rectangular dentro del área de contenido de un marco. Por lo general, se alinea horizontalmente para leer de izquierda a derecha. Se pueden apilar varias líneas de vida dentro del mismo marco para modelar la interacción entre ellas.

Resumen

UML 2.0 es una versión mejorada donde se agregan las nuevas características para hacerlo más utilizable y eficiente. Hay dos categorías principales en UML 2.0, una es la superestructura UML y otra es la infraestructura UML. Aunque los nuevos diagramas se basan en los conceptos antiguos, todavía tienen algunas características adicionales.

UML 2.0 ofrece cuatro diagramas de interacción, el diagrama de secuencia, el diagrama de comunicación, el diagrama de descripción general de la interacción y un diagrama de tiempo opcional. Los cuatro diagramas utilizan la notación de marco para incluir una interacción. El uso de marcos apoya la reutilización de interacciones como ocurrencias de interacción.