Saltar a contenido

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:

  1. Estructurales (estáticos)
  2. De comportamiento (dinámicos)
  3. De agrupación
  4. 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