Unified Modelling Language (UML) es un lenguaje de de modelado para visualizar, especificar, construir, y documentar, artefactos de un software.
Como lenguaje, tiene una sintaxis y semƔntica particular. Es flexible y aplicable en distintos mƩtodos, dominios, procesos.
En UML, un modelo es la representación en algún medio que captura los aspectos importantes (abstracción) de un sistema. Dependiendo del punto de vista que se tenga, se modela de una u otra manera.
Una vista es un subconjunto de construcciones de modelado que se enfocan en un aspecto particular del sistema.
En UML, se clasifican las vistas en 4 Ɣreas:
- Estructural: describe elementos del sistema y sus relaciones. Vistas:
- EstƔtica: modelo incremental que captura la estructura de los objetos. Diagrama de Clases.
- Diseño: incorporada en UML 2.0, es mÔs próxima a la implementación que las demÔs, y descompone al sistema en unidades modulares. Diagrama de Estructura Compuesta, Diagrama de Componentes, y Diagrama de Colaboración.
- Casos de Uso: captura los requerimientos funcionales del sistema, y describe cómo usar el sistema desde el exterior. Diagrama de Casos de Uso.
- Comportamiento DinƔmico: funcionamiento del sistema a travƩs del tiempo. Vistas:
- Interacción: muestra el intercambio de mensajes entre objetos (colaboraciones) para lograr un objetivo dado. Diagrama de Secuencia y Diagrama de Comunicación.
- MƔquina de Estados: se modelan objetos con comportamiento estado-dependiente, representando el ciclo de vida de cada clase. Diagrama de MƔquina de Estado.
- Actividades: variante de la mƔquina de estados para modelar flujos de trabajo. Es similar a un diagrama de flujo o flowchart. Diagrama de Actividad.
- FĆsica: recursos computacionales del sistema y los artefactos desplegados en ellos. Vistas:
- Despliegue: surge en UML 2.0, reemplazando las vistas fĆsicas de UML 1.x. Diagrama de Despliegue.
- Gestión del Modelo: ayuda a organizar el resto de modelos con paquetes. Vistas:
- Gestión del Modelo: divide al sistema en unidades mÔs pequeñas para facilitar su gestión. Diagrama de Paquetes.