viernes, 13 de abril de 2012

Tipos de Diagramas UML

- Diagrama de Clases: sirve para mostrar la estructura estática de un sistema, ya sean estas las clases como los paquetes.

- Diagrama de Estructura Compuesta: nuevo en UML2, este diagrama muestra la estructura INTERNA de un elemento o clase.

- Diagrama de Componente: muestra el sistema como una colección de componentes tecnológicos, ejecutables, DLLs, páginas de HTML, etc.

- Diagrama de Despliegue: muestra como el los componentes de un sistema se distribuyen entre los computadores que los ejecutan. Útil en el caso de sistemas distribuidos.

- Diagrama de Objeto: muestra instancias de clases y sus nexos.

- Diagrama de Paquete: muestra paquetes y sus relaciones, suele ser útil para la gestión de un modelo grande en UML.

- Diagrama de actividad: suerte de diagrama de flujo, indican actividades, decisiones y bifurcaciones.

- Diagrama de Secuencia: muestra la interacción entre elementos indicando claramente el eje de tiempo (hay un ejemplo en “Analisis de Casos de Uso”)

- Diagrama de Comunicación: equivale a un diagrama de secuencia, pero colapsa el eje del tiempo.

- Diagrama de Resumen de Interacción: dado que no hay paquetes de actividades se muestran las partes de un diagrama de actividad agrupando estas a la manera de un paquete, pero con un símbolo distinto.

- Diagrama de Tiempo: muestra la evolución de uno o más componente como líneas de vidas que se cruzan en un eje de tiempo. Esto es útil en desarrollo de sistemas en tiempo real.

- Diagrama de Casos de Uso: sirve para ilustrar un modelo de casos de uso. En el blog hay muchos ejemplos de estos.

- Diagrama de Maquina de Estado: muestra el sistema como estados y transiciones entre estos. Las maquinas de estado son un concepto muy bien establecido en ingeniería. En UML2 se usa un formalismo basado en redes de petri, con lo que estos diagramas adquieren mucho mayor poder.

Ahora que no veo la razón por la cual la especificación diferencia entre diagrama de clases y diagrama de paquetes. En la práctica uno puede hacer un diagrama con clases y paquetes, dando a lugar a un diagrama mixto. Muchas herramientas de UML no diferencian entre estos dos tipos de diagramas.
Los diagramas nuevos suelen tener muy poco soporte. Especialmente los diagramas de Tiempo. Aún estoy esperando encontrar una herramienta que le de soporte y los use para algo más que tener el diagrama.

La diferencia entre los diagramas de secuencia y los de comunicación es solo de gusto. Son por completo equivalentes y de hecho las herramientas suelen poder convertir automaticamente entre estos dos. Ya que es de gusto, a mí me gustan más los de secuencia.
Los diagramas de maquina de estado son en extremo útiles, pero solo si uno esta haciendo un sistema con este concepto en mente. Si lo que uno hace es un sistema de información (un CRM, un CMS, un ERP, etc) entonces posiblemente no se le encuentre uso.
Finalmente los diagramas de actividad son un legado de otras metodologías de desarrollo. Son útiles para documentar procesos y otras cosas como esas, pero no lo son tanto para el desarrollo de software.


No hay comentarios:

Publicar un comentario