Guía de diagramas UML para estudiantes universitarios
Si estudias ingeniería en sistemas o informática en Honduras, los diagramas UML son parte obligatoria de casi todo proyecto de software. El problema es que muchos estudiantes los tratan como un requisito burocrático en vez de como una herramienta de diseño. Aquí aprenderás para qué sirve cada diagrama y cómo hacerlo correctamente.
Qué es UML y por qué importa
UML (Unified Modeling Language) es un lenguaje visual estandarizado para documentar el diseño de sistemas de software. No es un lenguaje de programación — es una forma de comunicar cómo funciona tu sistema antes de escribir código.
En la UNAH, UNITEC, UTH y CEUTEC, los asesores de proyecto típicamente exigen entre 3 y 6 diagramas UML como parte de la documentación técnica. Los más solicitados son: diagrama de clases, casos de uso, secuencia y actividad.
Diagrama de clases
Es el diagrama más fundamental. Muestra las entidades de tu sistema, sus atributos, métodos y las relaciones entre ellas.
Componentes principales
| Elemento | Descripción | Ejemplo |
|---|---|---|
| Clase | Rectángulo con 3 secciones (nombre, atributos, métodos) | Estudiante |
| Atributo | Propiedad de la clase | - nombre: String |
| Metodo | Comportamiento de la clase | + matricular(): void |
| Relación | Línea que conecta clases | Asociación, herencia, composición |
Tipos de relaciones
- Asociación (línea simple) — "Un Estudiante tiene una Matrícula"
- Herencia (flecha con triángulo vacío) — "Docente hereda de Persona"
- Composición (rombo negro) — "Una Factura contiene Items" (si la factura se elimina, los items también)
- Agregación (rombo vacío) — "Un Departamento tiene Empleados" (si el departamento se elimina, los empleados siguen existiendo)
Visibilidad de atributos y métodos
| Simbolo | Significado |
|---|---|
+ | Público |
- | Privado |
# | Protegido |
~ | Paquete |
Ejemplo práctico: Para un sistema de control de notas universitario, tus clases principales serían: Estudiante, Asignatura, Seccion, Docente, Nota. Cada una con sus atributos y las relaciones correspondientes.
Diagrama de casos de uso
Muestra qué puede hacer cada tipo de usuario (actor) con el sistema. Es el diagrama más fácil de entender y generalmente el primero que debes presentar.
Componentes
| Elemento | Representación | Ejemplo |
|---|---|---|
| Actor | Figura humana con nombre | Estudiante, Administrador |
| Caso de uso | Óvalo con descripción | "Consultar notas" |
| Sistema | Rectángulo que contiene los casos de uso | "Sistema de Notas" |
| Relación | Línea entre actor y caso de uso | Estudiante --- Consultar notas |
Relaciones especiales
- Include (línea punteada con
<<include>>) — Un caso de uso siempre incluye a otro. Ejemplo: "Generar reporte" siempre incluye "Autenticar usuario" - Extend (línea punteada con
<<extend>>) — Un caso de uso opcionalmente extiende a otro. Ejemplo: "Registrar estudiante" puede extender con "Enviar correo de confirmación"
Error común: No confundas casos de uso con funcionalidades del sistema. "Hacer clic en un botón" no es un caso de uso. "Matricular asignatura" sí lo es.
Diagrama de secuencia
Muestra cómo interactúan los objetos de tu sistema en un orden temporal específico. Es ideal para documentar flujos críticos como login, registro o procesamiento de pagos.
Componentes
| Elemento | Descripción |
|---|---|
| Objeto/Actor | Rectángulo en la parte superior con línea de vida vertical |
| Mensaje | Flecha horizontal entre objetos (en orden de arriba a abajo) |
| Activación | Rectángulo sobre la línea de vida (indica que el objeto está procesando) |
| Respuesta | Flecha punteada de regreso |
Ejemplo: flujo de login
- Usuario envía credenciales a Frontend
- Frontend envía request POST a API
- API consulta a Base de Datos
- Base de Datos retorna resultado a API
- API genera token JWT y responde a Frontend
- Frontend muestra dashboard al Usuario
Cada paso es una flecha horizontal entre los objetos. El orden temporal va de arriba hacia abajo.
Diagrama de actividad
Es como un diagrama de flujo avanzado. Muestra el flujo de trabajo de un proceso, incluyendo decisiones, acciones paralelas y condiciones de fin.
Componentes
| Elemento | Simbolo | Uso |
|---|---|---|
| Inicio | Círculo negro relleno | Punto de partida |
| Actividad | Rectángulo redondeado | Acción que se ejecuta |
| Decisión | Rombo | Bifurcación con condiciones |
| Barra de sincronización | Barra horizontal gruesa | Actividades paralelas |
| Fin | Círculo negro con borde | Punto de finalización |
Ejemplo: Para documentar el proceso de matrícula en línea, el diagrama de actividad mostraría: inicio, autenticación, selección de asignaturas, verificación de requisitos (decisión), confirmación de matrícula o mensaje de error, y fin.
Herramientas gratuitas para crear diagramas UML
| Herramienta | Ventaja | Ideal para |
|---|---|---|
| Draw.io (diagrams.net) | Gratis, sin registro, exporta a PNG/PDF | Todos los diagramas |
| Lucidchart | Interfaz intuitiva | Plan gratuito limitado |
| PlantUML | Genera diagramas desde texto/código | Estudiantes que prefieren código |
| StarUML | Completo y profesional | Proyectos grandes |
| Visual Paradigm (Community) | Versión educativa gratuita | Documentación formal |
Draw.io es la recomendación para la mayoría de estudiantes: no requiere instalación, funciona en el navegador y tiene plantillas UML prediseñadas.
Errores frecuentes en diagramas UML
- Diagramas que no corresponden al código — Si tu diagrama de clases dice una cosa y tu código hace otra, tu asesor lo notará
- Demasiado detalle — No pongas todos los getters y setters. Muestra lo relevante
- Confundir composición con agregación — Pregúntate: si elimino el contenedor, ¿los contenidos se eliminan también?
- Casos de uso demasiado técnicos — Los casos de uso describen qué hace el usuario, no cómo funciona el sistema internamente
- No incluir actores externos — Sistemas externos, APIs de terceros y bases de datos también son actores
En Folium Labs creamos la documentación técnica completa para tu proyecto — diagramas UML, documentos de requerimientos y manuales de usuario. Cotiza tu proyecto.
Qué diagramas pedir según tu proyecto
| Tipo de proyecto | Diagramas recomendados |
|---|---|
| App web (CRUD) | Clases, casos de uso, secuencia (para flujos críticos) |
| Sistema de gestión | Clases, casos de uso, actividad, secuencia, ER |
| App movil | Casos de uso, secuencia, actividad, navegación |
| API REST | Clases, secuencia, componentes |
| Proyecto de investigación con software | Casos de uso, actividad (del proceso investigativo) |
Consulta con tu asesor cuáles diagramas son obligatorios en tu carrera. No hagas de más si no es necesario, pero tampoco presentes menos de lo esperado.
¿Necesitas ayuda con la documentación de tu proyecto de software? Nuestro equipo te asesora en cada etapa. Conoce nuestros servicios.
¿Necesitas ayuda con tu proyecto?
Nuestro equipo puede encargarse de tu tesis, investigación o proyecto tecnológico.