Archyno
UMLReferencia de notación

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

ElementoNotaciónQué significa
RectánguloUn 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 subrayadoo1: OrderUna 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 tridimensionalUn 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.
ElipseUn caso de uso: algo que un actor quiere conseguir, en un diagrama de casos de uso. Nunca un paso, nunca una pantalla.
MonigoteUn 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 redondeadoUna 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.
RomboUna 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ólidaUna bifurcación, cuando todo lo que sigue corre en paralelo, o una unión, cuando todo lo anterior debe terminar primero.
Disco rellenoEl nodo inicial o pseudoestado inicial: donde empieza el flujo.
Disco con anilloFin de actividad o estado final: todo el flujo ha terminado.
Círculo con cruzFin 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.

Un muestrario de formas UML. Fila superior, estructura: una caja de clase con compartimentos, una caja de objeto con el nombre subrayado, un componente, un nodo de despliegue tridimensional y una carpeta de paquete con pestaña. Fila central, comportamiento: un actor monigote, una elipse de caso de uso, una caja de acción redondeada, un rombo de decisión y una nota con la esquina doblada. Fila inferior, control: un disco inicial relleno, un nodo final con anillo, un círculo con cruz de fin de flujo y una barra de bifurcación.
Las formas, agrupadas como se las encuentra un lector: estructura en la fila de arriba, comportamiento en el medio, nodos de control abajo.

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.

ElementoNotaciónQué significa
AsociaciónUna línea simple. Los dos extremos se conocen, y las multiplicidades a cada lado dicen cuántos.
GeneralizaciónLínea continua, triángulo hueco en el extremo general. «Es un tipo de»: herencia, especialización, subtipo.
RealizaciónLínea discontinua, triángulo hueco. El origen implementa el contrato que declara el destino. Interfaces, no herencia.
ComposiciónRombo relleno en el todo. La parte pertenece a un todo y muere con él.
AgregaciónRombo hueco en el todo. Una lectura todo/parte sin afirmación de propiedad y sin semántica formal en UML 2.5.1.
DependenciaDiscontinua, 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.

Seis líneas de relación UML dibujadas entre cajas etiquetadas: una asociación simple, una generalización con triángulo hueco, una realización con línea discontinua y triángulo hueco, una composición con rombo relleno, una agregación con rombo hueco y una dependencia con flecha abierta discontinua.

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.

ElementoNotaciónQué 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 combinadoalt / loop / optUna 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▭ alrededorEl 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.

ElementoNotaciónQué 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.
Multiplicidad0..* 1 2..5Cuántas instancias participan, escrito en el extremo de la línea al que se aplica. Una multiplicidad ausente significa sin especificar, no uno.
SubrayadostaticPertenece 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

  1. 01Las formas identifican el diagrama; las líneas llevan el significado. Léelas en ese orden.
  2. 02El extremo decorado de una línea es el que importa: triángulo en lo general, rombo en el todo, flecha en lo usado.
  3. 03El trazo discontinuo siempre debilita la afirmación continua: realización y no herencia, uso y no estructura, respuesta y no llamada.
  4. 04El mismo rectángulo redondeado es una acción en un diagrama de actividad y un estado en un diagrama de estados.
  5. 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

Lecturas relacionadas

Todos los artículos