Introducción a UML

Lo que se persigue es que los creadores de sistemas puedan generar diseños que capturen sus ideas y que estos diseños sean fáciles de comprender para otras personas. Se puede ver como un mecanismo para comunicar ideas.

Un cliente debe de poder comprender que es lo que realizará el equipo de desarrolladores, y ser capaz de indicar modificaciones, del mismo modo, cada desarrollador, tiene que entender qué lugar ocupa dentro del desarrollo. Hay que organizar el proceso de desarrollo de modo que los clientes, desarrolladores, analistas y cualquier persona que participe en el desarrollo lo comprendan y participen en él.

Diagramas

UML está compuesto de un conjunto de elementos gráficos a los que se le aplican una serie de reglas. Este conjunto de elementos forman los diagramas. De lo que se trata es de la creación de un modelo del sistema. El modelo describe lo que hará el sistema, pero no cómo se implementa.

Vamos a comentar brevemente algunos de los diagramas más importantes. En los siguientes post que publicaré más adelante, se analizarán en detalle cada uno de estos esquemas. Se comentarán algunas pinceladas sobre Enterprise Architect (resumiendo EA) en aquellos diagramas en los que haya que aclarar algún concepto.

Diagrama de clases

Una clase representa una categoría o un grupo de cosas que tienen propiedades y realizan determinadas acciones. Por ejemplo, la clase “automóvil”, tiene propiedades como “marca”, “cilindrada”, “velocidad”, etc. y realiza unas determinadas acciones como podrían ser “acelerar”, “frenar”, “girar”, etc.

Se representa con un rectángulo con tres secciones, la primera con el nombre, seguidamente se muestran los atributos y finalmente las acciones.

Clase

Clase

En EA, para añadir propiedades y métodos a una clase, se pulsa sobre ella con el botón derecho del ratón y se selecciona “propiedades”. En la pestaña “Details”, se muestran dos botones, uno para añadir propiedades a la calse “Attributes” y otra para añadir acciones “Operations”.

Las clases se organizan en paquetes, que se representan como una carpeta. En el ejemplo siguiente se muestra además un comentario, que es un elemento que ayuda a aclarar algún aspecto del esquema.

Paquete

Paquete

Diagrama de objetos

Un objeto es una instancia de una clase. Es una entidad que tiene valores concretos para los atributos y acciones. Por ejemplo, dada la clase del ejemplo anterior, un objeto podría ser un automóvil, marca Fiat, modelo Bravo, con una velocidad de 220.

Se representa con un rectángulo, como en la clase, pero donde el nombre aparece subrayado y con el formato :

Objeto

Objeto

Para crear un objeto en EA, se arrastra el objeto desde la caja de herramientas al diagrama de objetos, y le damos un nombre. Para seleccionar la clase que se usa para crear el objeto, volvemos a pulsar con el botón derecho sobre dicho objeto y seleccionamos “Avanced Instance → Classifier…”. Aparecerá una lista con todos los clasificadores disponibles, donde podremos elegir la clase que queramos.

Diagrama de estados o diagrama de máquina de estados

En un momento dado, un objeto se encontrará en un estado en particular. Siguiendo con el ejemplo anterior, un automóvil se puede encontrar  parado, acelerando, aparcado, etc. Vamos a ver un ejemplo:

Cambio de estado

Cambio de estado (pinchar para agrandar)

Como se puede ver, se muestra entre corchetes el estado, y aparecen unos valores en concreto para las propiedades del objeto.

En EA, desde un “Object diagram ” para definir los valores que tendrán las propiedades del objeto, pulsamos con el botón derecho del ratón en “Advanced → Set Run State”. Podremos seleccionar cada una de las propiedades de la clase y darle un valor.

Para asignar el estado, volvemos a pulsar con el botón derecho sobre el objeto y seleccionamos “Advanced → Set Object State”.

Hemos visto como representar el cambio de estado de un objeto. En principio cuando hablamos de diagramas de estado, seguramente nos refiramos a lo que en EA llaman “diagrama de máquina de estados” que representa como un elemento (generalmente una clase) se puede mover entre estados. Esto se puede representar como una “tabla de estados” o como un “diagrama de estados”. El diagrama de estados tiene esta pinta:

Diagrama de máquina de estados

Diagrama de máquina de estados

En EA, desde un diagrama de tipo “State Machine” pinchamos con el botón derecho sobre el fondo del diagrama y en el menú contextual seleccionamos “Statechart Editor” y seguidamente el modo en que queremos representar los estados, como un diagrama o una tabla. Para definir el diagrama de estados, arrastraremos los componentes desde la caja de herramientas.

Diagrama de casos de uso

Un caso de uso es una descripción de las acciones que realiza el sistema desde el punto de vista del usuario. Se compone de actores y casos de uso, donde los actores pueden ser usuarios u otros sistemas.  Es uno de los diagramas más prácticos a la hora de describir una aplicación. Vamos a ver un ejemplo:

Diagrama de casos de uso

Diagrama de casos de uso

Diagrama de secuencia

En un sistema funcional, los objetos interactúan entre sí a lo largo del tiempo. El diagrama de secuencias muestra estas interacciones con base de tiempo. Se usa para ilustrar el paso de mensajes, el flujo de trabajo, o en general, como cooperan los elementos a lo largo del tiempo.

Diagrama de secuencia

Diagrama de secuencia

Para diseñar un diagrama de secuencia en EA, primero elegiremos un diagrama de tipo “sequence” y seguidamente arrastraremos los elementos desde la caja de herramientas, o desde el explorador de proyecto. Esto en general siempre es así, quiero decir, si hemos hecho un diagrama de casos de uso anteriormente y hemos definido un “actor”, podemos usar dicho actor en todos los esquemas que queramos, como por ejemplo en el diagrama de secuencia del que hablamos ahora, no hace falta crear un actor nuevo desde la caja de herramientas.

Detalle sobre la creación de mensajes

Detalle sobre la creación de mensajes

Cuando seleccionamos un elemento, si hacemos un segundo clic en algún punto de la línea de tiempo, aparece a su lado una flecha. Arrastrando esta flecha hacia otro componente añadiremos un mensaje. En el cuadro de diálogo que se abre, podremos seleccionar el método de la clase a invocar, los parámetros, etc.

Diagrama de actividades

Se usa para modelar el comportamiento del sistema si lo vemos como un proceso y los caminos lógicos que sigue basado en varias condiciones. El elemento básico del diagrama es la actividad. Podemos ver un ejemplo sobre la actividad de lavar el automóvil.

Diagrama de actividades

Diagrama de actividades

Diagrama de colaboraciones

También llamados diagramas de comunicaciones. Muestra las interacciones de los elementos en tiempo de ejecución, emplean asociaciones ordenadas y etiquetadas para ilustrar el procesamiento. Se numeran, para indicar el orden y el anidamiento del procesamiento, por ejemplo.: 1, 1.1, 1.1.1, 1.1.2, 1.2, etc. Se inicia una nueva numeración para una nueva capa de procesamiento, y sería equivalente a la invocación de un método.

Diagrama de colaboraciones

Diagrama de colaboraciones

En EA, en un esquema de tipo “Comunication”, en primer lugar tenemos que colocar los elementos que vamos a utilizar, y a continuación, conectamos dos elementos con una asociación. Para añadir mensajes de comunicación, seleccionamos el enlace y hacemos clic derecho con el ratón, y en el menú contextual, seleccionamos “Add messager from  to ”. Se nos abrirá una ventana donde indicaremos el mensaje y las propiedades. Si en la ventana marcamos la casilla “Start new group”, se inicia una nueva numeración, es decir, si teníamos la numeración 1, continuará con la 2, si no se marca esa casilla, lo añadirá como 1.1

Diagrama de componentes

Representan piezas de software, controladores, etc. que componen un sistema. Un componente estará formado por un conjunto de clases u objetos, que abarcará una porción del sistema.

Diagrama de componentes

Diagrama de componentes

En EA desde un diagrama de tipo “Component” se arrastran los componentes necesarios. Se pueden definir interfaces con “Expose interface”, seleccionándolo primero en la caja de herramientas, y pinchando luego sobre el componente donde se quiera añadir, habrá que indicar si el interfaz es requerido o proporcionado.

Diagrama de distribución o de despliegue

Muestra la estructura física de un sistema, las máquinas, los dispositivos, las interconexiones entre dispositivos y las piezas de software que se encontrarán en cada máquina.

Diagrama de distribución o de despliegue

Diagrama de distribución o de despliegue

En EA, seleccionamos un diagrama de tipo “Deployment” y arrastramos desde la caja de herramientas los nodos, componentes, dispositivos, etc.

Aquí termina esta introducción de UML con Enterprise Architect. En el siguiente post, profundizaremos en el uso del paradigma orientado a objetos. Si os ha gustado no dudéis en poner un comentario.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *