Propósito de UML
Lenguaje de Modelado Unificado (UML) es un lenguaje estándar para especificar, visualizar, construir y documentar los artefactos de los sistemas de software. Creado por el Grupo de Gestión de Objetos (OMG), UML se ha convertido en una herramienta esencial para modelar sistemas de software y no de software. Aunque UML no es un lenguaje de programación, diversas herramientas pueden generar código en diferentes lenguajes utilizando diagramas UML.

Puntos clave:
- Lenguaje de modelado de propósito general: UML se utiliza para modelar sistemas de software y sistemas no de software, como flujos de procesos en unidades de fabricación.
- Conceptos orientados a objetos: UML sigue metodologías orientadas a objetos, lo que la hace ideal para modelar sistemas orientados a objetos.
- Uso versátil: Los diagramas UML se dibujan desde diferentes perspectivas, como diseño, implementación y despliegue.
Modelado de vistas de arquitectura usando UML
UML juega un papel fundamental en definir diferentes perspectivas de un sistema, conocidas como las 4+1 vistas de la arquitectura de software. Estas vistas incluyen:

- Vista de casos de uso: Describe la funcionalidad del sistema, sus interfaces externas y sus usuarios principales.
- Vista lógica: Describe la estructura del sistema en términos de unidades de implementación, como paquetes, clases e interfaces.
- Vista de implementación: Describe cómo se organizan los artefactos de desarrollo en el sistema de archivos.
- Vista de proceso: Describe la estructura en tiempo de ejecución del sistema, incluyendo componentes con comportamiento en tiempo de ejecución e interacciones.
- Vista de despliegue: Describe cómo se mapea el sistema al hardware.
Vistas adicionales:
- Vista de datos: Una especialización de la vista lógica, utilizada si la persistencia es un aspecto significativo del sistema.
14 tipos de diagramas en UML 2
Los diagramas de UML se categorizan en diagramas estructurales y diagramas comportamentales.

Diagramas estructurales
Los diagramas estructurales muestran la estructura estática del sistema y sus partes. Hay siete tipos de diagramas estructurales:
- Diagramas de clases: Describe los objetos en un sistema y sus relaciones.
- Diagramas de objetos: Una instancia de un diagrama de clases, que captura el estado de un sistema en un momento determinado.
- Diagramas de componentes: Describe la vista estática de implementación de un sistema, compuesta por componentes físicos como bibliotecas y archivos.
- Diagramas de despliegue: Describe la vista estática de despliegue de un sistema, mostrando nodos y sus relaciones.
- Diagramas de paquetes: Muestran paquetes y dependencias entre ellos.
- Diagramas de estructura compuesta: Representan la estructura interna de una clase y las colaboraciones que posibilita.
- Diagramas de perfiles: Permiten la creación de estereotipos específicos del dominio y de la plataforma y definen sus relaciones.
Diagramas comportamentales
Los diagramas comportamentales muestran el comportamiento dinámico de los objetos en un sistema. Hay siete tipos de diagramas comportamentales:
- Diagramas de casos de uso: Describe los requisitos funcionales del sistema en términos de casos de uso y actores.
- Diagramas de máquinas de estado: Modelan todo el ciclo de vida de un objeto, mostrando estados y transiciones.
- Diagramas de actividades: Describen el comportamiento dinámico, modelando todos los tipos de flujos como paralelos, simples y concurrentes.
- Diagramas de secuencia: Modelan la colaboración de objetos basada en una secuencia temporal.
- Diagramas de comunicación: Se centran en mostrar la colaboración de objetos en lugar de la secuencia temporal.
- Diagramas de Visión General de Interacción: Proporciona una visión general del flujo de control de las interacciones.
- Diagramas de Tiempo: Muestran el comportamiento de los objetos durante un período de tiempo determinado.
Resumen
UML es un lenguaje de modelado no propietario y abierto que atiende las necesidades de las comunidades de usuarios y científicas. Une las perspectivas entre diferentes tipos de sistemas, fases de desarrollo y conceptos internos, convirtiéndolo en una herramienta versátil y ampliamente adoptada en la industria.
Principales beneficios:
- Estandarización: UML elimina muchas diferencias entre los lenguajes de modelado anteriores.
- Perspectivas Unificadas: Une las visiones entre diversos sistemas y fases de desarrollo.
- Adopción Amplia: Muchos metodólogos, organizaciones y proveedores de herramientas se han comprometido a utilizar UML, asegurando su adopción generalizada.
La capacidad de UML para modelar sistemas complejos desde diversas perspectivas lo convierte en una herramienta invaluable para desarrolladores, usuarios empresariales y cualquier persona interesada en comprender y diseñar sistemas de manera efectiva.












