Tipos de Diagramas en UML

Grandes clásicos conocidos por todos, los diagramas de clases, distan mucho de ser los únicos definidos en el lenguaje. De hecho en la versión UML 2 existen trece (13) diagramas concretos y varias categorías de diagramas abstractos, creados como toda clase abstracta, para articular la presentación de los diagramas.

La siguiente figura UML muestra los tipos de diagramas:

Fig. 1 – Tipos de diagramas en UML2

En su momento detallaré cada uno de los tipos de diagramas, lo importante por ahora es señalar que existen dos grandes grupos: estructurales y de comportamiento; esto conforme a lo dicho sobre la presentación de modelos en UML.

Los diagramas estructurales presentan elementos estáticos del modelo, tales como clases, paquetes o componentes; en tanto que los diagramas de comportamiento muestran la conducta en tiempo de ejecución del sistema, tanto visto como un todo como de las instancias u objetos que lo integran.

Por otra parte, en la figura se ve que hay tres tipos de diagramas señalados en un color distinto: los diagramas de estructura compuesta, de tiempo y de resumen de interacción. Se han resaltado dado que son nuevos dentro del UML por lo que resultan ser de los menos conocidos. También aspiro a tener una descripción de ellos en los días por venir.

Hay que tener en cuenta, que cada diagrama sirve para documentar un aspecto distinto del sistema; el criterio para usarlos es el de tener algo que decir, una historia sobre nuestro sistema que debe ser contada; el tipo de diagrama que utilizaremos será el que nos dé mayor poder expresivo y solo muy difícilmente, la construcción de una serie de diagramas puede ser explicitamente ordenada por un método de desarrollo. Algunos sistemas simples serán bien documentados con pocos diagramas, en tanto que algunos sistemas grandes bien podrían beneficiarse de un conjunto mayor.

Entonces que valga la advertencia: no hacemos diagramas porque un método nos lo ordene, hacemos diagramas para contar algo importante de nuestro modelo, por lo que indicar que en un sistema haya que hacer tantos de tal o cual diagrama es una declaración objetable.

About these ads

, , , , , , , , , ,

  1. #1 por sandra el 30-09-08 - 10:58 am

    ni se dice nada de eso se me hace super chafa esta informacion pues tiene un titulo y no se habla de acuerdo con el…… con todo respeto ….gracias

  2. #2 por Iván Garcerant el 30-09-08 - 2:11 pm

    Oh Sandra gracias por el comentario. La verdad lo único que he querido decir en este post es enumerar la lista de diagramas que se incluyen en UML 2. Algunos de estos son nuevos y otros son conocidos por todos…

    Si quieres un poco más de información te invito a que recorras el resto del blog. En particular tengo bastante sobre casos de uso. Poco a poco iré alimentando al blog también con información de los demás diagramas.

  3. #3 por candy el 4-10-08 - 3:39 pm

    bueno en si mi9 pregunra fue cuantos tipos ahy ,cuales son y en que consiste cada uno eso no me ayuda en nada ya que me dice lo que ya se . mejor cambien el titulo no cren !

  4. #4 por Iván Garcerant el 4-10-08 - 9:54 pm

    Buen punto. La verdad es que esperaba tener un post para cada tipo de diagrama con algunos ejemplos. En tanto tenga dichos posts, sirva este comentario para responder la inquietud:

    – 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.

    El total de diagramas es de trece.

    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.

    Cualquier otra cosa pues solo preguntar. Con el tiempo voy a tener esos posts en los que voy a detallar cada diagrama. Tiempo al tiempo entonces… poco a poco los voy a ir teniendo.

    Y gracias por el comentario.

    • #5 por betto el 29-04-09 - 6:43 pm

      en febrero del 2009 se actualizo y ahora existen 14 diagramas , debes actualizar ;)
      pero igual muy buen post se agradece la informacion ;) pero actualiza pues! :)

      • #6 por karina ivon el 29-03-11 - 12:29 pm

        gracias por la imfo esta supr cmpleta

    • #7 por trujillo el 30-05-11 - 1:08 pm

      graciaz men gracias por todo ps agregame ps me intersa esto mi correo es oruat_xsiempre@hotmail.com

  5. #8 por Iván Garcerant el 4-10-08 - 10:00 pm

    Ah! Por cierto gente, ¿se nota que el diagrama de clases del post enumera a los tipos de diagramas que existen? Quizás sea un poco abstracto utilizar un diagrama de clases para expresar esta lista, pero la verdad es que es una forma por completo valida.

    Las clases son clasificadores de los conceptos, por lo que al clasificar a los diagramas es muy natural utilizar un diagrama de clases.

    En cualquier caso, preguntar en caso de dudas.

  6. #9 por Jhon F. Ortiz O. el 20-01-09 - 4:48 pm

    ¡Hola! Gracias por la información. Aunque algunos visitantes presentan sus quejas. La imagen adjunta a este artículo (la que lista los diagramas comunes de UML y los nuevos introducidos al Lenguaje Unificado de Modelado), por lo menos a mí me sirve de consulta rápida. ¡Hasta pronto!

  7. #10 por andrea el 30-11-09 - 3:30 am

    que tan importante es que cuando se esta desarrollando un sistema se realizen todos los diagramas? son necesarios todos? o en dado caso como sabes con que tantos diagramas debes de contar en el desarrollo o diseño de un sistema?

    • #11 por Iván Garcerant el 2-12-09 - 5:09 pm

      Saludos Andrea.

      La respuesta es simple: un desarrollo no consiste en hacer diagramas, así que no tienes por que usarlos todos y aún más, no tendrías que usar ninguno del todo.

      Si te puedes pasar sin diagramas, quizás valga la pena hacerlo así.

      Los diagramas se hacen en aquellos casos en que aporten algo útil. Por ejemplo, si tienes un software que es construido como una maquina de estado, el tener un diagrama con dichos estados puede ser útil para hablar sobre el sistema y entenderlo dentro del grupo de programadores.

      Otro ejemplo sería tener un programa que deba ser instalado en múltiples computadores de diversos tipos con diversas configuraciones, de ser este el caso, un diagrama de despliegue te va a permitir visualizar todo a la vez y entenderlo.

      Es decir, los diagramas son útiles cuando tienes una historia que contar sobre el sistema. Así que los hacemos cada vez que son útiles y no los hacemos si no tenemos nada que decir o lo hemos dicho de otro modo.

      Si vez de cerca las recomendaciones, notaras que los métodos de desarrollo hablan de tareas, de trabajo invertido en la construcción del sistema, enfocándose poco o nada en los instrumentos que en un momento dado te puedan ayudar. Es decir, un desarrollo apegado a un método definido “debe” cumplir con ciertas tareas, y “puede” recurrir a los diagramas UML en aquellos casos en que sean útiles y aporten algo de valor.

      En general, en la medida en que el proyecto se haga más complejo de entender y en que participen más personas, será más probable que un diagrama te ayude. Eventualmente en proyectos muy complejos o muy grandes puede que se tengan muchos modelos con múltiples diagramas… pero tenerlos todos es aún así, un poco artificial y en mi experiencia no se dan mucho estos casos.

      • #12 por David el 13-12-09 - 4:35 pm

        Excelente Respuesta Iván, al principio leí el titulo y pensé que este pots le faltaba algo pero con esta respuesta creo que toda persona que quiera adquirir información sobre los tipos de diagramas UML y sus usos, les quedará super claro.
        Muy bien.

    • #13 por stefany cruz el 13-05-12 - 1:53 pm

      tooooooooooooodo esto ded uml nos ayuda muxooooooo

  8. #14 por laura el 19-02-10 - 5:18 pm

    osea ezo ke

  9. #16 por aslhey barahona el 1-05-11 - 5:06 pm

    quiero saber cuales son los tipos de despliegues que hay…..buwno es sobre didujo tecnico

  10. #17 por aslhey barahona el 1-05-11 - 5:08 pm

    quiero saber cuales son los tipos de despliegues que hay…..bueno es sobre didujo tecnico

  11. #18 por trujillo el 30-05-11 - 1:09 pm

    graziaz por todo men me sirvio demaciad tu informcion adicional

  12. #19 por la princesa el 22-05-12 - 12:26 pm

    pz la verdad no le entendi mucho escriben mucho para una pequeña pregunta como x ejemplo que es televicion pz facil aparato elctronico comunmentre utilizado en casa facil sin escribir mil renglones

  1. Definimos UML como… « Tecnología y Synergix
  2. Diagramas de Clase « Tecnología y Synergix
  3. Los números de 2010 « Tecnología y Synergix
  4. Diagrama: como “compresiones de información”. | Nair Hausch - imd 2013

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 25 seguidores

A %d blogueros les gusta esto: