Símbolos de los diagramas UML
Todo el vocabulario de formas en una página: qué símbolo pertenece a cuál de los catorce diagramas, qué significa cada punta de flecha y cómo reconocer un diagrama por sus símbolos antes de leer una sola palabra.
8 min de lecturaUML 2.5.12 de 35
La respuesta corta
- Lee las formas antes que las líneas. Monigotes y elipses significan caso de uso, líneas de vida significan secuencia, cajas 3D significan despliegue.
- Las líneas son iguales en los catorce diagramas; las cajas no. Cuatro puntas de flecha aprendidas una vez sirven en todas partes.
- La discontinuidad siempre debilita lo que afirma la versión continua: dependencia en vez de asociación, realización en vez de herencia.
- Un rectángulo con la esquina doblada es una nota y no lleva semántica. El texto entre llaves dentro es una restricción que debe cumplirse.
01Las formas, y a qué te compromete cada una#
UML tiene menos símbolos de lo que sugiere su fama. Si quitas los que aparecen en un solo tipo de diagrama, una docena de formas cargan con todo el lenguaje. Cada una es una afirmación sobre qué clase de cosa hay en la caja, y elegir la equivocada no es un desliz estético sino un enunciado: una elipse donde va un rectángulo redondeado dice «objetivo que tiene el usuario» donde querías decir «paso que ejecuta el sistema».
| Elemento | Notación | Qué significa |
|---|---|---|
| Rectángulo | ▭ | Un clasificador: una clase, un artefacto, un participante. La forma por defecto, y sobre la que se construye cualquier otro diagrama de estructura. |
| Rectángulo con el nombre subrayado | o1: Order | Una instancia en vez de un tipo: un pedido concreto, en un diagrama de objetos. El subrayado es toda la diferencia. |
| Rectángulo con icono de componente | ▭ ⊟ | Una unidad reemplazable con interfaces, en un diagrama de componentes. El icono va arriba a la derecha y es lo único que lo distingue de una clase. |
| Caja tridimensional | ▱ | Un nodo - hardware, un contenedor, un entorno de ejecución - en un diagrama de despliegue. |
| Carpeta con pestaña | 🗀 | Un espacio de nombres, en un diagrama de paquetes. |
| Elipse | ⬭ | Un caso de uso: algo que un actor quiere conseguir, en un diagrama de casos de uso. Nunca un paso, nunca una pantalla. |
| Monigote | ☺ | Un actor: un rol fuera de la frontera del sistema. Puede ser una persona, otro sistema o un reloj, y por eso la figura es un rol y no un retrato. |
| Rectángulo redondeado | ▢ | Una acción en un diagrama de actividad, o un estado en un diagrama de estados. La misma forma, dos significados: la notación de alrededor lo desambigua. |
| Rombo | ◇ | Una decisión, cuando se toma una rama, o una fusión, cuando varias vuelven a juntarse. El mismo glifo en ambos casos; el número de flechas dice cuál es. |
| Barra sólida | ▬ | Una bifurcación, cuando todo lo que sigue corre en paralelo, o una unión, cuando todo lo anterior debe terminar primero. |
| Disco relleno | ● | El nodo inicial o pseudoestado inicial: donde empieza el flujo. |
| Disco con anillo | ◉ | Fin de actividad o estado final: todo el flujo ha terminado. |
| Círculo con cruz | ⊗ | Fin de flujo. Termina esta ficha, no la actividad: la distinción con la que tropiezan casi todos los primeros borradores. |
| Esquina doblada | 🗒 | Una nota o una restricción, unida por una línea discontinua. Las llaves dentro la convierten en una restricción que debe cumplirse. |
Las formas de nodo y los diagramas a los que pertenecen.
02Las seis líneas que comparte todo diagrama#
Las líneas de relación son la parte de UML que merece aprenderse una vez, porque se dibujan igual dondequiera que aparezcan. Un triángulo hueco significa lo mismo entre dos clases, dos componentes, dos casos de uso y dos nodos, así que la inversión se amortiza en los catorce tipos de diagrama.
| Elemento | Notación | Qué significa |
|---|---|---|
| Asociación | Una línea simple. Los dos extremos se conocen, y las multiplicidades a cada lado dicen cuántos. | |
| Generalización | Línea continua, triángulo hueco en el extremo general. «Es un tipo de»: herencia, especialización, subtipo. | |
| Realización | Línea discontinua, triángulo hueco. El origen implementa el contrato que declara el destino. Interfaces, no herencia. | |
| Composición | Rombo relleno en el todo. La parte pertenece a un todo y muere con él. | |
| Agregación | Rombo hueco en el todo. Una lectura todo/parte sin afirmación de propiedad y sin semántica formal en UML 2.5.1. | |
| Dependencia | Discontinua, flecha abierta. El origen usa el destino - un parámetro, un tipo de retorno, una llamada estática - sin sostenerlo. |
Dos reglas hacen que esto se recupere de memoria y no de una tabla. Primera, el extremo que importa es el decorado: el triángulo apunta a lo más general, el rombo se asienta en el todo que posee, la flecha abierta apunta a lo que se usa. Segunda, el trazo discontinuo debilita la afirmación continua: el triángulo continuo es herencia y el discontinuo solo un contrato; una línea continua es un vínculo estructural y una discontinua mero uso.
03Las líneas, dibujadas unas contra otras#
Las puntas de flecha se distinguen mal en prosa y bien una al lado de otra. Abajo, las cuatro líneas que más se confunden están dibujadas entre el mismo tipo de cajas a la misma escala, de modo que la diferencia sea la punta y nada más.
De izquierda a derecha: Customer y Order están simplemente asociados, de uno a muchos. CardPayment generaliza Payment: el triángulo hueco apunta hacia arriba, al clasificador más general. Invoice realiza la interfaz Printable, y el trazo discontinuo es toda la diferencia con la línea de al lado. Basket depende de PriceService, usándolo sin poseerlo.
04Símbolos que aparecen en un solo diagrama#
Un puñado de marcas pertenece exactamente a un tipo de diagrama. Merece la pena reconocerlas justamente porque identifican el diagrama: ver una te dice qué estás leyendo.
| Elemento | Notación | Qué significa |
|---|---|---|
| Línea de vida | ▭ + ┆ | Una caja con una línea vertical discontinua debajo: solo diagramas de secuencia. El rectángulo estrecho sobre la línea es una ocurrencia de ejecución. |
| Fragmento combinado | alt / loop / opt | Una caja con una etiqueta pentagonal en la esquina, que envuelve parte de un diagrama de secuencia para hacerla condicional o repetida. |
| Include / extend | «include» | Una flecha abierta discontinua con una palabra clave, en un diagrama de casos de uso. La palabra clave es la que manda: las dos apuntan en sentidos opuestos. |
| Frontera del sujeto | ▭ alrededor | El rectángulo dibujado detrás de los casos de uso. Dentro está el sistema; los actores se quedan fuera. |
| Deploy | «deploy» | Una flecha discontinua que pone un artefacto en un nodo. Nunca al revés. |
| Bola y casquillo | —○ ⊃— | Una interfaz provista (piruleta) encontrándose con una requerida (casquillo), en un diagrama de componentes. El par es un conector. |
| Calle | │ │ │ | Una partición en un diagrama de actividad. La calle en la que está una acción dice quién es responsable de ella. |
| Pata de gallo | —‹ | No es UML en absoluto. Un extremo de tres púas significa «muchos» en notación ER: si ves uno, estás leyendo un modelo de datos, no un diagrama de clases. |
05Decoraciones: comillas angulares, llaves, corchetes#
En los diagramas UML aparecen tres clases de puntuación y cada una significa algo concreto. Es fácil pasarlas por alto, y cada una lleva más información por carácter que la forma sobre la que se apoya.
| Elemento | Notación | Qué significa |
|---|---|---|
| Comillas angulares | «interface» | Un estereotipo: una extensión del vocabulario estándar, definida por el propio UML o por un perfil. Se escribe <<…>> donde el carácter no está disponible. |
| Llaves | { ordered } | Una restricción que debe cumplirse: en un extremo, en un atributo o dentro de una nota. Las habituales son { ordered }, { unique } y { readOnly }. |
| Corchetes | [approved] | Una guarda en una transición o en un flujo. El arco solo se toma cuando la condición se cumple, y las guardas que salen de una decisión deberían ser exhaustivas. |
| Marcadores de visibilidad | + - # ~ | Público, privado, protegido y de paquete, delante del nombre de un miembro. |
| Multiplicidad | 0..* 1 2..5 | Cuántas instancias participan, escrito en el extremo de la línea al que se aplica. Una multiplicidad ausente significa sin especificar, no uno. |
| Subrayado | static | Pertenece al clasificador y no a una instancia; o, sobre una caja entera, que la caja es una instancia. |
06Qué recordar#
En una línea cada uno
- 01Las formas identifican el diagrama; las líneas llevan el significado. Léelas en ese orden.
- 02El extremo decorado de una línea es el que importa: triángulo en lo general, rombo en el todo, flecha en lo usado.
- 03El trazo discontinuo siempre debilita la afirmación continua: realización y no herencia, uso y no estructura, respuesta y no llamada.
- 04El mismo rectángulo redondeado es una acción en un diagrama de actividad y un estado en un diagrama de estados.
- 05Comillas angulares, llaves y corchetes son notación, no anotación. Quitarlos cambia lo que dice el diagrama.
07Preguntas frecuentes#
¿Cuáles son los símbolos básicos de los diagramas UML?
Un rectángulo es un clasificador: clase, componente o artefacto. Una elipse es un caso de uso, un monigote es un actor, un rectángulo redondeado es una acción o un estado y un rombo es una decisión. Un disco relleno inicia un flujo y uno con anillo lo termina. El significado lo llevan las líneas: la punta indica la relación.
¿Cómo sé qué diagrama UML estoy viendo?
Lea las formas antes que las líneas. Monigotes y elipses indican diagrama de casos de uso; cajas redondeadas con disco de inicio relleno indican actividad o máquina de estados; líneas de vida verticales con flechas horizontales indican secuencia; y rectángulos simples con rombos y triángulos indican clases. Las cajas 3D indican despliegue.
¿Qué significa una línea discontinua en UML?
La discontinuidad siempre debilita lo que afirma la versión continua. Discontinua con flecha abierta es una dependencia: uso sin propiedad. Discontinua con triángulo hueco es realización, no herencia. Discontinua hacia una caja con esquina doblada adjunta una nota, y en un diagrama de secuencia significa respuesta y no llamada.
¿Los símbolos UML son iguales en los catorce tipos de diagrama?
Las líneas sí, las cajas no. Generalización, asociación, dependencia y realización se dibujan igual en todas partes, por eso compensa aprenderlas una vez. Las formas de los nodos son propias de cada diagrama, y es intencionado: es lo que permite reconocer un diagrama de un vistazo.
¿Qué significa un rectángulo con la esquina doblada en UML?
Es una nota: un comentario, una restricción o una aclaración, unida por una línea discontinua a lo que describe. El texto entre llaves es una restricción que debe cumplirse, por ejemplo { total > 0 }. Las notas no tienen semántica propia y pueden adjuntarse a cualquier cosa.
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
Referencia de notación
Diagramas de estructura
Fundamentos
Diagramas de estructura