Lenguaje UML¶
El Lenguaje Unificado de Modelado (UML) es un lenguaje gráfico utilizado para visualizar, especificar, construir y documentar sistemas software. Surgió en 1996 tras unificar diferentes metodologías orientadas a objetos desarrolladas en los años 80. Su versión estable más reciente es UML 2.5.1 (2015).
UML permite representar un sistema desde múltiples puntos de vista mediante diferentes tipos de diagramas. No todos los usuarios necesitan la misma visión del sistema, por lo que UML ofrece distintos niveles de abstracción y detalle.
Principios básicos del modelado UML¶
- La elección del modelo influye directamente en la forma de resolver un problema.
- Un mismo modelo puede expresarse con distintos niveles de precisión.
- Los mejores modelos se relacionan con la realidad del sistema.
- Ningún modelo único es suficiente: todo sistema complejo necesita varias vistas.
Elementos UML¶
UML contiene cuatro grandes tipos de elementos:
- Estructurales (estáticos)
- De comportamiento (dinámicos)
- De agrupación
- De anotación
Elementos estructurales¶
Son los elementos que representan la parte estática del sistema.
Clase¶
Representa un conjunto de objetos con atributos y métodos comunes.
Se dibuja como un rectángulo con: nombre, atributos y operaciones.
Interfaz¶
Conjunto de operaciones expuestas externamente sin mostrar la implementación.
Rectángulo con la palabra «Interface».
Colaboración¶
Conjunto de roles y elementos que cooperan para lograr un comportamiento.
Se dibuja como una elipse de borde discontinuo.
Caso de uso¶
Describe un comportamiento del sistema desde el punto de vista del usuario.
Se dibuja como una elipse.
Clase activa¶
Clase cuyos objetos tienen hilos de ejecución propios.
Se representa como una clase con doble borde lateral.
Componente¶
Parte modular del sistema que oculta su implementación detrás de interfaces.
Se dibuja como una clase con un icono especial en la esquina superior.
Artefacto¶
Elemento físico del sistema: binarios, scripts, código fuente…
Se dibuja como un rectángulo con la leyenda «artifact».
Nodo¶
Elemento físico de ejecución (servidores, dispositivos…).
Se dibuja como un cubo.
Elementos de comportamiento¶
Representan la parte dinámica del sistema: acciones, cambios de estado, comunicación.
Interacción¶
Mensajes entre objetos para lograr un propósito concreto.
Se representan con flechas indicando los métodos invocados.
Máquina de estados¶
Describe los estados de un objeto, sus transiciones y eventos asociados.
Estados → rectángulos redondeados.
Actividad¶
Describe el flujo de acciones de un proceso.
Acciones → rectángulos redondeados.
Elementos de agrupación¶
Paquete¶
Organiza el modelo en bloques lógicos.
Representa carpetas conceptuales en tiempo de desarrollo.
Un paquete puede contener: clases, interfaces, componentes, otros paquetes…
Elementos de anotación¶
Nota¶
Elemento explicativo que aclara partes del modelo.
Rectángulo con esquina doblada.
Tipos de diagramas UML¶
UML incluye 14 diagramas, agrupados en dos familias: estructurales y de comportamiento.
Diagramas estructurales¶
Diagrama de clases**¶
El más común. Muestra clases, atributos, métodos y relaciones.
Diagrama de objetos**¶
Instantánea en tiempo real de objetos (instancias).
Diagrama de componentes**¶
Muestra módulos de software y sus interfaces.
Diagrama de despliegue**¶
Relaciona nodos físicos con artefactos que residen en ellos.
Diagrama de paquetes**¶
Organiza el sistema en paquetes y muestra dependencias.
Diagrama de perfiles**¶
Extiende UML para plataformas específicas (Java, .NET…).
Diagrama de estructura compuesta**¶
Muestra la estructura interna de un componente.
Diagramas de comportamiento¶
Diagramas de casos de uso¶
Relación entre usuarios (actores) y funcionalidades del sistema.
Diagramas de actividades**¶
Flujo de acciones paso a paso.
Diagramas de estados**¶
Estados de un objeto y sus transiciones.
Diagramas de interacción**¶
Conjunto de diagramas que muestran mensajes entre objetos:
- Secuencia → orden cronológico de mensajes.
- Colaboración → misma información, pero centrada en relaciones.
- Tiempo → comportamiento según el paso del tiempo.
- Interacción global → vista global del flujo de control.
Independencia
UML es independiente de la metodología usada (ágil, cascada, espiral…) y permite documentar sistemas de forma clara, visual y estandarizada.
Actividades¶
-
AC403 (RA5 / / IC1 / 1p). Investiga y documenta los diferentes tipos de elementos del lenguaje UML. Tu trabajo debe incluir:
-
Qué es cada tipo de elemento:
- Estructurales
- De comportamiento
- De agrupación
- De anotación
-
Su representación gráfica (descripción, no se requiere dibujo técnico)
- Un ejemplo real de uso en un proyecto de software (puede ser inventado)
- Qué ventajas aporta ese tipo de elemento al proceso de análisis y diseño
-
-
AC404 (RA5 / / IC1 / 1p). Realiza una investigación comparando al menos 5 tipos de diagramas UML, indicando:
- Qué representa cada diagrama
- Cuándo se utiliza dentro del desarrollo de software
- Qué rol del equipo es quien más lo usa (analista, programador, QA…)
- Un ejemplo práctico basado en un sistema conocido (biblioteca, tienda online, gestión escolar…)
- Una tabla final que resuma las diferencias entre ellos