Apuntes UML: Tipos de Diagramas UML

Apuntes de UML
Por: kowalick

Introducción / Justificación

Dentro del mundo de desarrollo de sistemas podemos encontrar muchas herramientas, pero ninguna como el UML, el cual es el acrónimo de Unified Model Lenguaje, no voy a entrar en historia aquí en este articulo, la única intención de escribirlo es como una forma de recordatorio y además de recordar todas las formas de llevarlo a la practica, en lo personal en este momento estoy desarrollando un sistema grande, el lenguaje que ocupe para desarrollarlo es php, porque es rápido de implementar y no requiere recursos grandes del servidor donde esta alojado, así que puedo decir que no será la mejor herramienta para hacer un sistema en base en Web grande, pero pues ya estoy en esto y seria mas difícil empezar desde cero y muchas veces como todo hay que entrarle a lo que hay, así que pues le entre a lo que hay y así es como llegue a esta necesidad del UML, como una herramienta funcional dentro de mi propio desarrollo y porque creo que sirve además de que como profesional de la tecnología es bueno contar con herramientas como esta, ya que te ayudan a desplegar con mayor facilidad tu sistema y documentación de la misma.

Después del choro y de la justificación vamos de lleno al UML, empezaremos con una explicación acerca de los tipos de diagramas que componen el UML, una explicación y después de eso revisaremos un ejemplo para finalizar esta sección.

Recepitulación de Terminología

Class – The source-code blueprint for a run-time object
Object – An instance of a class Also known as: instance
Attribute – A data element of an object Also known as: data member, instance variable, data field
Method – A behavioral element of an object Also known as: algorithm, function, procedure
Constructor – A “method-like” construct used to initialize a new object
Package – A grouping of classes and/or sub-packages

Una mirada a los Diagramas UML
  1. Diagrama de Clases.
  2. Diagrama de Objetos.
  3. Diagrama de Casos de Uso.
  4. Diagrama de estados.
  5. Diagrama de Secuencias.
  6. Diagrama de Actividades.
  7. Diagrama de Colaboraciones.
  8. Diagrama de Componentes.
  9. Diagrama de Distribución.
  10. Paquetes.
  11. Notas.
  12. Estereotipos.
  13. Conclusión.

Diagrama de Clases

Un rectángulo es el símbolo que representa a la clase, y se divide en 3 áreas, El área superior contiene el nombre, el área superior contiene los atributos, y el área inferior contiene las acciones, este diagrama esta formado por varios rectángulos de este tipo conectados por líneas que muestran la manera en que las clases se relacionan entre si.

Diagrama de Objetos

Un objeto es una instancia de clase (una entidad que tiene valores específicos de los atributos y acciones), la sig figura muestra en que forma el UML representa a un objeto, el símbolo del rectángulo, como en una clase, pero el nombre subrayado, el nombre de la instancia especifica se encuentra a la izquierda de los dos puntos (:), y el nombre de la clase a la derecha.


Diagrama de Casos de Uso

Un caso de uso es una descripción de las acciones de un sistema desde el punto de vista del usuario. Para el desarrollador es una herramienta valiosa, ya que es una técnica de aciertos y errores para obtener los requerimientos del sistema desde el punto de vista del usuario. Esto es un punto importante si la finalidad es crear un sistema que pueda ser utilizado por la gente en general y no solo por expertos en computación.



A la figura correspondiente al usuario se le conoce como actor, la elipse representa el caso de uso.

Diagrama de estados

Muestra el estado del objeto, un objeto se encuentra en un estado en particular, una persona puede ser recien nacida, infante, adolescente, joven o adulta, un elevador se movera hacia arriba o hacia abajo, este tipo de diagrama captura esta pequeña realidad, muestra la transición de un estado a otro.

Diagrama de Secuencias

Los diagramas de clases y los objetos representan información estática, no obstante en un sistema funcional los objetos interactúan entre si, y tales interacciones suceden con el tiempo, el diagrama de secuencias UML muestra la mecánica de interacción con base en tiempos.

Ahora describiremos un ejemplo con una lavadora, entre los componentes de la lavadora se encuentran: una manguera de agua (para obtener agua fresca), un tambor (donde se coloca la ropa) y un sistema de drenaje, estos son los objetos que tendremos dentro del diagrama, y es lógico pensar que un objeto puede estar conformado por otros objetos.

¿Que sucederá cuando invoque al caso de uso lavar ropa?, si damos por hecho que completó las operaciones "agregar ropa", "agregar detergente" y "activar", la secuencia seria de esta forma aproximadamente:

  1. El agua empezara a llenar el tambor mediante una manguera
  2. El tambor permanecerá inactivo durante cinco minutos
  3. La manguera dejara de abastecer agua
  4. El tambor girara de un lado a otro durante quince minutos
  5. El agua jabonosa saldrá por el drenaje
  6. Comenzara nuevamente el abastecimiento de agua
  7. El tambor continuara girando
  8. El abastecimiento de agua se detendrá
  9. El agua del enjuague saldrá por el drenaje
  10. El tambor girara en una sola dirección y se incrementara su velocidad por cinco minutos
  11. El tambor dejara de girar y el proceso de lavado habrá finalizado

La siguiente imagen presenta la interacción que se realiza a través del tiempo entre los objetos manguera de agua, el tambor y el drenaje.

En este diagrama el tiempo se da de arriba hacia abajo, otra anotación acerca de este diagrama, es que volviendo a la idea de los estados de un objeto (imagen pasada), se podría caracterizar los pasos 1 y 2 como el estado de remojo, 3 y 4 como el estado de lavado, 5 a 7 como el estado de enjuague y del 8 al 10 como el estado de centrifugado.


Diagrama de Actividades

Las actividades que ocurren dentro de un caso de uso o dentro del comportamiento de un objeto se dan normalmente, en secuencia, como en los once pasos de la sección anterior, la siguiente imagen demuestra la forma en que el diagrama de actividades UML representa los pasos del 4 al 6 de la secuencia pasada.

Diagrama de Colaboraciones

Los elementos de un sistema trabajan en conjunto para cumplir con los objetivos del sistema, y un lenguaje de modelado deberá contar con una forma de representar esto, el diagrama de colaboración UML, diseñado con este fin muestra este tipo de interacción. En esta imagen agrega un cronometro interno al conjunto de clases que constituye a una lavadora, luego de cierto tiempo, el cronometro detendrá el flujo de agua y el tambor comenzara a girar de un lado a otro.





Diagrama de Componentes

El moderno desarrollo de software se realiza mediante componentes, lo que es particularmente importante en los procesos de desarrollo en equipo. UML representa un componente de software con el siguiente símbolo:

Diagrama de Distribución

El diagrama de distribución UML muestra la arquitectura física de un sistema informático, puede representar los equipos y dispositivo, mostrar sus interconexiones y el software que se encontrara en cada maquina, cada computadora esta representada por un cubo y las interacciones entre las computadoras están representadas por líneas que conectan a los cubos.


Paquetes

En algunas ocasiones es necesario organizar los elementos de un diagrama en un grupo, tal vez no es necesario mostrar ciertas clases o ciertos componentes son partes de un subsistema en particular, para ello se agruparan en un paquete, que se representa por una carpeta tabular, como se muestra en la figura:

Notas

Es frecuente que alguna parte del diagrama no presente una clara explicación del porque esta allí o la manera en que trabaja, cuando esto sucede la nota UML es útil, es algo así como una nota adheridle físicamente, como se muestra en la imagen. Se adjunta la nota al elemento del diagrama conectándolos mediante una línea discontinua.



Estereotipos

El UML otorga varios elementos de utilidad, pero no es un conjunto minucioso de ellos. De vez en cuando cuándo se diseñe un sistema que requiera algunos elementos hechos a la medida, los estereotipos permiten tomar elementos propios del UML y convertirlos en otros, es como comprar un traje del mostrador y modificarlo para que se ajuste a las medidas del comprador (contrario a confeccionarse uno completamente nuevo), el estereotipo es una especie de alteración, se representara como un nombre entre dos pares de paréntesis angulares y después se aplicara correctamente.

El concepto de Interfaz provee un buen ejemplo, una interfaz es una clase que realiza operaciones y que no tiene atributos, es un conjunto de acciones tal vez se quieran utilizar una y otra vez en un modelo.

En lugar de inventar un nuevo elemento para representar una interfaz, se podrá utilizar el símbolo de una clase con <> situada justo sobre el nombre de la clase, como se muestra en la figura:



Conclusión

Como se puede ver los diagramas UML permiten examinar un sistema desde distintos puntos de vista, es importante recalcar que en un modelo UML no es necesario que aparezcan todos los diagramas, de hecho la mayoría de los modelos UML contienen un subconjunto de los diagramas que se han indicado.

Es necesario contar con diferentes perspectivas de un sistema porque existen diversidad de personas implicadas, cada una de las cuales tienen enfoques particulares en diversos aspectos del sistema.

El escrupuloso diseño de un sistema involucra todas las posibles perspectivas, y el diagrama UML da una forma de incorporar una perspectiva en particular, el objetivo es satisfacer a cada persona implicada.



*-eof-*

Comentarios

Entradas populares