Archyno
UMLFundamentos

Qué diagrama UML usar

Los catorce tipos de diagrama UML uno al lado del otro, ordenados por la pregunta que responde cada uno, para elegir en treinta segundos en vez de dibujar el diagrama equivocado durante una hora.

9 min de lecturaUML 2.5.13 de 35

La respuesta corta

  • Los diagramas de clases y de secuencia sostienen la mayoría de las conversaciones de diseño: de qué se compone el sistema y qué ocurre al ejecutarse.
  • La actividad es trabajo; la secuencia, conversación. Pregúntate de qué trata el diagrama antes de elegir.
  • Ningún diagrama UML muestra un esquema de base de datos. El más cercano es el de clases, pero para tablas y claves usa un entidad-relación en pata de gallo.
  • La mayoría de los sistemas necesitan tres o cuatro diagramas, no catorce. Cada uno de más es otro artefacto que alguien debe mantener verdadero.
Cuatro parejas. La pregunta «qué tipos existen y cómo se relacionan» lleva al diagrama de clases; «quién usa el sistema y para qué» al diagrama de casos de uso; «qué ocurre y en qué orden» al diagrama de secuencia; y «qué corre dónde» al diagrama de despliegue.
Las cuatro preguntas de las que sale la mayoría de los diagramas reales, y el diagrama que pide cada una.

01Empieza por la pregunta, no por el catálogo#

Catorce tipos de diagrama son un menú, y un menú es la herramienta equivocada cuando ya sabes qué quieres decir. La vía fiable es escribir la pregunta en una frase y dejar que la frase elija el diagrama. Casi toda pregunta real se reduce a una de cuatro.

ElementoNotaciónQué significa
¿De qué está hecho?ClasesLos tipos, sus atributos y cómo se relacionan. El diagrama de clases es la respuesta por defecto a cualquier pregunta estructural y aquel cuya notación toman prestada los demás.
¿Quién quiere qué de él?Casos de usoActores, objetivos y la frontera del sistema. Un diagrama de casos de uso es un acuerdo de alcance, no un diseño.
¿Qué ocurre y en qué orden?SecuenciaLos participantes y los mensajes entre ellos, de arriba abajo. Echa mano de un diagrama de secuencia cuando lo difícil sea justamente el orden.
¿Qué corre dónde?DespliegueNodos, artefactos y los caminos entre ellos. El diagrama de despliegue es lo que de verdad necesita una revisión de infraestructura o de seguridad.

Las cuatro preguntas que cubren la mayor parte del trabajo.

02Los siete diagramas de estructura#

Un diagrama de estructura muestra de qué está hecho el sistema, y nada en él cambia con el tiempo. Los siete reutilizan la notación del diagrama de clases, así que el sexto cuesta mucho menos que el primero.

ElementoNotaciónQué significa
ClasesA diarioTipos, atributos, operaciones y relaciones. El primero que hay que aprender y el que más vas a dibujar.
ObjetosDe vez en cuandoUna instantánea de instancias reales. Un diagrama de objetos es la manera de enseñar que un diagrama de clases confuso sí se sostiene.
ComponentesFrecuenteUnidades desplegables y las interfaces que proveen y requieren. El diagrama de componentes es lo más cerca que UML llega de una imagen de arquitectura.
DespliegueFrecuenteNodos, artefactos y qué artefacto está desplegado en qué nodo.
PaquetesDe vez en cuandoEspacios de nombres y las dependencias entre ellos. Un diagrama de paquetes es como se hace visible un ciclo entre módulos.
Estructura compuestaRaroEl interior de un clasificador: partes, puertos y conectores. Útil en trabajo embebido y de sistemas, rara vez en otro sitio.
PerfilRaroCómo se extiende el propio UML: estereotipos y valores etiquetados. Un diagrama de perfil se lee mucho más a menudo de lo que se dibuja.

03Los siete diagramas de comportamiento#

Un diagrama de comportamiento muestra qué ocurre, en qué orden y bajo qué condiciones. Si en tu pregunta hay un cuándo, estás aquí. Cuatro de los siete son diagramas de interacción, que se diferencian sobre todo en qué ponen en cada eje.

ElementoNotaciónQué significa
Casos de usoFrecuenteActores, objetivos y alcance. Deliberadamente no dice nada del cómo.
ActividadA diarioPasos, ramas, concurrencia y responsabilidad. El diagrama de actividad es el diagrama de flujo de UML, con semántica de verdad detrás.
EstadosFrecuenteEl ciclo de vida de un objeto: estados, eventos y transiciones. Un diagrama de estados se gana su sitio en cuanto existe una columna de estado.
SecuenciaA diarioMensajes entre participantes, ordenados hacia abajo en la página.
ComunicaciónDe vez en cuandoLa misma interacción dibujada como una red, con mensajes numerados. Un diagrama de comunicación muestra quién habla con quién en vez de cuándo.
TiemposRaroEl estado contra un eje de tiempo. Un diagrama de tiempos sirve cuando el propio plazo es el requisito.
Visión general de interaccionesRaroUn diagrama de actividad cuyos nodos son interacciones enteras: el índice de un conjunto de diagramas de secuencia.

04Los cuatro que cargan con el peso#

La mayoría de equipos dibuja cuatro tipos y lee un quinto. No es falta de ambición: es lo que pasa cuando cada diagrama tiene que mantenerse cierto. Los otros diez merece la pena saber leerlos cuando te topas con uno, que es una inversión mucho menor que saber dibujar uno de memoria.

Úsalo cuando

  • Clases: el dominio, una vez, mantenido al día. El diagrama que con más probabilidad seguirá siendo cierto un año después.
  • Secuencia: los uno o dos flujos que de verdad cuesta explicar en un párrafo.
  • Actividad: un proceso que cruza equipos, donde la calle es todo el sentido.
  • Despliegue: cualquier sistema cuya infraestructura no se deduzca del repositorio.

Usa otra cosa cuando

  • Estructura compuesta, salvo que hagas sistemas embebidos o ingeniería de sistemas.
  • Tiempos, salvo que un plazo en milisegundos forme parte del requisito.
  • Visión general de interacciones, salvo que ya tengas varios diagramas de secuencia que indexar.
  • Perfil, salvo que estés extendiendo el propio UML en vez de usarlo.

Si estás aprendiendo en vez de eligiendo, el orden es el mismo: primero clases, porque seis de los diagramas de estructura reutilizan su notación; luego secuencia, porque es el que la gente pide por su nombre; luego actividad y casos de uso, que salen baratos en cuanto sabes leer una guarda. La referencia de símbolos cubre el vocabulario que comparten todos.

05Cuando la respuesta no es UML en absoluto#

Tres preguntas parecen preguntas de UML y no lo son. Echar mano de la notación equivocada cuesta más que echar mano del diagrama equivocado, porque el público tampoco sabe leerla.

ElementoNotaciónQué significa
Un esquema de base de datosERUsa un diagrama entidad-relación en notación de pata de gallo. Las tablas y las claves no son clases y operaciones.
Un proceso de negocioBPMNUsa BPMN cuando el público sean analistas de negocio o el modelo vaya destinado a un motor. Un diagrama de actividad es la respuesta correcta solo cuando el público son ingenieros.
Un panorama empresarialArchiMateUsa ArchiMate cuando el tema abarque negocio, aplicación y tecnología. UML no tiene vocabulario para una capacidad de negocio.

06Qué recordar#

En una línea cada uno

  1. 01Escribe primero la pregunta en una frase. La frase elige el diagrama; el catálogo nunca.
  2. 02Los diagramas de estructura responden de qué está hecho; los de comportamiento, qué ocurre. Un cuándo en la pregunta significa comportamiento.
  3. 03Cuatro tipos cargan con la mayor parte del trabajo real: clases, secuencia, actividad y despliegue.
  4. 04La actividad va de trabajo y responsabilidad; la secuencia, de mensajes y de su orden.
  5. 05Si el tema es un esquema, un proceso de negocio o un panorama empresarial, la respuesta es ER, BPMN o ArchiMate en vez de UML.

07Preguntas frecuentes#

¿Qué diagrama UML se usa más en la práctica?

El diagrama de clases con diferencia, seguido del de secuencia. Entre los dos cubren la mayoría de las conversaciones de diseño: de qué se compone el sistema y qué ocurre cuando se ejecuta. Después vienen casos de uso y actividad, más en requisitos que en diseño.

¿Qué diagrama UML muestra el flujo de un proceso?

El diagrama de actividad. Tiene acciones, decisiones con guardas, bifurcaciones para la concurrencia y calles para la responsabilidad: justo el vocabulario que un proceso necesita. Use un diagrama de secuencia cuando lo interesante sea qué participante envía qué mensaje.

¿Diagrama de actividad o diagrama de secuencia?

Pregúntese de qué trata el diagrama. Si trata de los pasos de un proceso y de quién responde por cada uno, use actividad. Si trata de los mensajes entre participantes concretos y su orden, use secuencia. La actividad es trabajo; la secuencia, conversación.

¿Qué diagrama UML muestra la estructura de la base de datos?

Ninguno directamente. El de clases es el más cercano y suele servir de modelo de dominio, pero describe tipos y comportamiento, no tablas y claves. Para un esquema use un diagrama entidad-relación en notación pata de gallo, diseñada exactamente para eso.

¿Cuántos diagramas UML necesita un sistema?

Normalmente tres o cuatro, no catorce. Uno de clases para el dominio, uno de secuencia para el flujo o dos que resulten difíciles y uno de despliegue si la infraestructura no es obvia. Cada diagrama de más es otro artefacto que alguien debe mantener verdadero.

En esta serie

Lecturas relacionadas

Todos los artículos