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.
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.
| Elemento | Notación | Qué significa |
|---|---|---|
| ¿De qué está hecho? | Clases | Los 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 uso | Actores, 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? | Secuencia | Los 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? | Despliegue | Nodos, 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.
| Elemento | Notación | Qué significa |
|---|---|---|
| Clases | A diario | Tipos, atributos, operaciones y relaciones. El primero que hay que aprender y el que más vas a dibujar. |
| Objetos | De vez en cuando | Una instantánea de instancias reales. Un diagrama de objetos es la manera de enseñar que un diagrama de clases confuso sí se sostiene. |
| Componentes | Frecuente | Unidades 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. |
| Despliegue | Frecuente | Nodos, artefactos y qué artefacto está desplegado en qué nodo. |
| Paquetes | De vez en cuando | Espacios de nombres y las dependencias entre ellos. Un diagrama de paquetes es como se hace visible un ciclo entre módulos. |
| Estructura compuesta | Raro | El interior de un clasificador: partes, puertos y conectores. Útil en trabajo embebido y de sistemas, rara vez en otro sitio. |
| Perfil | Raro | Có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.
| Elemento | Notación | Qué significa |
|---|---|---|
| Casos de uso | Frecuente | Actores, objetivos y alcance. Deliberadamente no dice nada del cómo. |
| Actividad | A diario | Pasos, ramas, concurrencia y responsabilidad. El diagrama de actividad es el diagrama de flujo de UML, con semántica de verdad detrás. |
| Estados | Frecuente | El 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. |
| Secuencia | A diario | Mensajes entre participantes, ordenados hacia abajo en la página. |
| Comunicación | De vez en cuando | La 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. |
| Tiempos | Raro | El estado contra un eje de tiempo. Un diagrama de tiempos sirve cuando el propio plazo es el requisito. |
| Visión general de interacciones | Raro | Un 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.
| Elemento | Notación | Qué significa |
|---|---|---|
| Un esquema de base de datos | ER | Usa 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 negocio | BPMN | Usa 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 empresarial | ArchiMate | Usa 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
- 01Escribe primero la pregunta en una frase. La frase elige el diagrama; el catálogo nunca.
- 02Los diagramas de estructura responden de qué está hecho; los de comportamiento, qué ocurre. Un cuándo en la pregunta significa comportamiento.
- 03Cuatro tipos cargan con la mayor parte del trabajo real: clases, secuencia, actividad y despliegue.
- 04La actividad va de trabajo y responsabilidad; la secuencia, de mensajes y de su orden.
- 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
- 01¿Qué es UML?
- 02Símbolos UML
- 03Elegir un diagrama
- 04Diagramas de clases
- 05Ejemplos de diagramas de clases
- 06Cómo dibujar un diagrama de clases
- 07Símbolos del diagrama de clases
- 08Diagramas de secuencia
- 09Ejemplos de diagramas de secuencia
- 10Cómo dibujar un diagrama de secuencia
- 11Diagramas de casos de uso
- 12Ejemplos de casos de uso
- 13Diagramas de actividad
- 14Ejemplos de actividad
- 15Diagramas de máquina de estados
- 16Ejemplos de máquina de estados
- 17Diagramas de componentes
- 18Ejemplos de componentes
- 19Dibujar un diagrama de componentes
- 20Símbolos de componentes
- 21Diagramas de despliegue
- 22Ejemplos de despliegue
- 23Diagramas de objetos
- 24Diagramas de paquetes
- 25Diagramas de estructura compuesta
- 26Diagramas de comunicación
- 27Secuencia vs comunicación
- 28Diagramas de tiempos
- 29Diagramas de visión general de interacción
- 30Diagramas de perfil
- 31UML con IA
- 32Ejemplo de e-commerce
- 33Ejemplo bancario
- 34Ejemplo de microservicios
- 35Ejemplo de AWS
Lecturas relacionadas
Fundamentos
Referencia de notación
Diagramas de estructura
Diagramas de comportamiento
Fundamentos
Fundamentos