UML para el TAI: diagramas de casos de uso y de clases explicados sin liarte

Pantalla de ordenador con código, representando el modelado de sistemas y los diagramas UML del Bloque III del TAI

UML (Unified Modeling Language) es el lenguaje gráfico estándar para representar el diseño de un sistema software antes de programarlo. En el Bloque III te van a preguntar sobre todo por dos diagramas: el de casos de uso (qué hace el sistema desde el punto de vista del usuario) y el de clases (cómo se estructuran los datos y objetos por dentro).

¿Qué es UML y para qué se usa en el desarrollo de sistemas?

UML es un lenguaje de modelado visual, no un método de programación. Sirve para que analistas, diseñadores y programadores compartan una misma representación del sistema antes de escribir una línea de código, reduciendo malentendidos entre lo que se pide y lo que se construye. Se agrupa en diagramas estructurales (como el de clases, que muestra cómo se organizan los datos) y diagramas de comportamiento (como el de casos de uso o el de secuencia, que muestran cómo interactúa el sistema).

¿Qué es un diagrama de casos de uso y qué elementos lo forman?

Representa las funcionalidades que ofrece el sistema desde fuera, sin entrar en cómo están implementadas. Sus elementos básicos son:

  • Actor: quien interactúa con el sistema (una persona, otro sistema, un rol). Se representa con una figura de palo.
  • Caso de uso: una funcionalidad concreta que el sistema ofrece al actor ("solicitar certificado", "consultar expediente"). Se representa con una elipse.
  • Relación de asociación: la línea que conecta al actor con el caso de uso que utiliza.
  • Relaciones <<include>> y <<extend>>: include indica que un caso de uso siempre incorpora a otro (por ejemplo, "pagar tasa" incluye "validar tarjeta"); extend indica que un caso de uso puede ampliarse opcionalmente con otro en ciertas condiciones.
Cuaderno abierto con boli, usado para esbozar diagramas UML de casos de uso y clases
Dibujar a mano un par de diagramas te ayuda mucho más a fijarlos que solo leerlos.

¿Qué es un diagrama de clases y qué representa cada símbolo?

El diagrama de clases muestra la estructura estática del sistema: qué clases existen, qué atributos y métodos tiene cada una, y cómo se relacionan entre sí. Cada clase se dibuja como un rectángulo dividido en tres partes: nombre de la clase, atributos y métodos. Las relaciones más preguntadas son:

  • Asociación: línea simple entre dos clases que colaboran.
  • Agregación: relación "todo-parte" débil (un rombo vacío); la parte puede existir sin el todo.
  • Composición: relación "todo-parte" fuerte (un rombo relleno); si el todo desaparece, la parte también.
  • Herencia: flecha con triángulo vacío, de la clase hija hacia la clase padre.

¿Qué otros diagramas UML pueden caer en el examen?

Además de casos de uso y clases, conviene tener una idea general del diagrama de secuencia (muestra el orden temporal de los mensajes entre objetos) y del diagrama de actividades (muy parecido a un diagrama de flujo, representa el flujo de un proceso paso a paso). No hace falta dominarlos al detalle, pero sí saber identificarlos y diferenciarlos de los dos principales.

Portada de los apuntes del Bloque III del TAI
Bloque III · Desarrollo de Sistemas
Apuntes del Bloque III en PDF

Modelado de datos, UML, bases de datos y accesibilidad, con los diagramas explicados con ejemplos visuales.

Preguntas frecuentes

¿Cuál es la diferencia entre agregación y composición?

En la agregación, la parte puede existir de forma independiente del todo (un rombo vacío en el diagrama). En la composición, la parte depende totalmente del todo y desaparece si este se destruye (rombo relleno). Es una de las preguntas clásicas de examen sobre UML.

¿Es lo mismo <<include>> que <<extend>> en un diagrama de casos de uso?

No. Include indica una dependencia obligatoria (el caso de uso base siempre ejecuta el incluido). Extend indica una dependencia opcional, que solo se activa bajo ciertas condiciones.

¿Hace falta saber dibujar UML a mano para el examen?

El examen del TAI es tipo test, así que no tendrás que dibujar diagramas, pero sí identificar elementos y relaciones a partir de un diagrama ya dado o de su descripción.

¿UML se relaciona con el modelo entidad-relación de bases de datos?

Son cosas distintas pero complementarias: el modelo entidad-relación se usa para diseñar bases de datos, mientras que UML modela el sistema software en general, incluida su lógica de negocio y su interacción con el usuario.