Guia de diagramas UML para estudiantes universitarios
Si estudias ingenieria en sistemas o informatica 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 burocratico en vez de como una herramienta de diseño. Aqui aprenderás para que sirve cada diagrama y como hacerlo correctamente.
Que es UML y por que importa
UML (Unified Modeling Language) es un lenguaje visual estandarizado para documentar el diseño de sistemas de software. No es un lenguaje de programacion — es una forma de comunicar como funciona tu sistema antes de escribir codigo.
En la UNAH, UNITEC, UTH y CEUTEC, los asesores de proyecto tipicamente exigen entre 3 y 6 diagramas UML como parte de la documentacion tecnica. Los mas solicitados son: diagrama de clases, casos de uso, secuencia y actividad.
Diagrama de clases
Es el diagrama mas fundamental. Muestra las entidades de tu sistema, sus atributos, metodos y las relaciones entre ellas.
Componentes principales
| Elemento | Descripcion | Ejemplo |
|---|---|---|
| Clase | Rectangulo con 3 secciones (nombre, atributos, metodos) | Estudiante |
| Atributo | Propiedad de la clase | - nombre: String |
| Metodo | Comportamiento de la clase | + matricular(): void |
| Relacion | Linea que conecta clases | Asociacion, herencia, composicion |
Tipos de relaciones
- Asociacion (linea simple) — "Un Estudiante tiene una Matricula"
- Herencia (flecha con triangulo vacio) — "Docente hereda de Persona"
- Composicion (rombo negro) — "Una Factura contiene Items" (si la factura se elimina, los items tambien)
- Agregacion (rombo vacio) — "Un Departamento tiene Empleados" (si el departamento se elimina, los empleados siguen existiendo)
Visibilidad de atributos y metodos
| Simbolo | Significado |
|---|---|
+ | Publico |
- | Privado |
# | Protegido |
~ | Paquete |
Ejemplo practico: Para un sistema de control de notas universitario, tus clases principales serian: Estudiante, Asignatura, Seccion, Docente, Nota. Cada una con sus atributos y las relaciones correspondientes.
Diagrama de casos de uso
Muestra que puede hacer cada tipo de usuario (actor) con el sistema. Es el diagrama mas facil de entender y generalmente el primero que debes presentar.
Componentes
| Elemento | Representacion | Ejemplo |
|---|---|---|
| Actor | Figura humana con nombre | Estudiante, Administrador |
| Caso de uso | Ovalo con descripcion | "Consultar notas" |
| Sistema | Rectangulo que contiene los casos de uso | "Sistema de Notas" |
| Relacion | Linea entre actor y caso de uso | Estudiante --- Consultar notas |
Relaciones especiales
- Include (linea punteada con
<<include>>) — Un caso de uso siempre incluye a otro. Ejemplo: "Generar reporte" siempre incluye "Autenticar usuario" - Extend (linea punteada con
<<extend>>) — Un caso de uso opcionalmente extiende a otro. Ejemplo: "Registrar estudiante" puede extender con "Enviar correo de confirmacion"
Error comun: No confundas casos de uso con funcionalidades del sistema. "Hacer clic en un boton" no es un caso de uso. "Matricular asignatura" si lo es.
Diagrama de secuencia
Muestra como interactuan los objetos de tu sistema en un orden temporal especifico. Es ideal para documentar flujos criticos como login, registro o procesamiento de pagos.
Componentes
| Elemento | Descripcion |
|---|---|
| Objeto/Actor | Rectangulo en la parte superior con linea de vida vertical |
| Mensaje | Flecha horizontal entre objetos (en orden de arriba a abajo) |
| Activacion | Rectangulo sobre la linea de vida (indica que el objeto esta procesando) |
| Respuesta | Flecha punteada de regreso |
Ejemplo: flujo de login
- Usuario envia credenciales a Frontend
- Frontend envia 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 | Circulo negro relleno | Punto de partida |
| Actividad | Rectangulo redondeado | Accion que se ejecuta |
| Decision | Rombo | Bifurcacion con condiciones |
| Barra de sincronizacion | Barra horizontal gruesa | Actividades paralelas |
| Fin | Circulo negro con borde | Punto de finalizacion |
Ejemplo: Para documentar el proceso de matricula en linea, el diagrama de actividad mostraria: inicio, autenticacion, seleccion de asignaturas, verificacion de requisitos (decision), confirmacion de matricula 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/codigo | Estudiantes que prefieren codigo |
| StarUML | Completo y profesional | Proyectos grandes |
| Visual Paradigm (Community) | Version educativa gratuita | Documentacion formal |
Draw.io es la recomendacion para la mayoria de estudiantes: no requiere instalacion, funciona en el navegador y tiene plantillas UML prediseñadas.
Errores frecuentes en diagramas UML
- Diagramas que no corresponden al codigo — Si tu diagrama de clases dice una cosa y tu codigo hace otra, tu asesor lo notara
- Demasiado detalle — No pongas todos los getters y setters. Muestra lo relevante
- Confundir composicion con agregacion — Preguntate: si elimino el contenedor, los contenidos se eliminan tambien?
- Casos de uso demasiado tecnicos — Los casos de uso describen que hace el usuario, no como funciona el sistema internamente
- No incluir actores externos — Sistemas externos, APIs de terceros y bases de datos tambien son actores
En Folium Labs creamos la documentacion tecnica completa para tu proyecto — diagramas UML, documentos de requerimientos y manuales de usuario. Cotiza tu proyecto.
Que diagramas pedir segun tu proyecto
| Tipo de proyecto | Diagramas recomendados |
|---|---|
| App web (CRUD) | Clases, casos de uso, secuencia (para flujos criticos) |
| Sistema de gestion | Clases, casos de uso, actividad, secuencia, ER |
| App movil | Casos de uso, secuencia, actividad, navegacion |
| API REST | Clases, secuencia, componentes |
| Proyecto de investigacion con software | Casos de uso, actividad (del proceso investigativo) |
Consulta con tu asesor cuales diagramas son obligatorios en tu carrera. No hagas de mas si no es necesario, pero tampoco presentes menos de lo esperado.
Necesitas ayuda con la documentacion 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, investigacion o proyecto tecnologico.
Cotiza tu proyecto