Diagramas del Lenguaje Unificado de Modelado (UML)
El Lenguaje Unificado de Modelado (UML) es un lenguaje visual estándar y de propósito general utilizado en la ingeniería de software para representar el diseño de un sistema. No es un lenguaje de programación, sino más bien un lenguaje visual que ayuda a especificar, visualizar, construir y documentar los artefactos de los sistemas de software.

¿Por qué usar UML?
- Colaboración:Las aplicaciones complejas requieren una comunicación clara entre múltiples equipos. UML ayuda a cerrar la brecha entre los interesados técnicos y no técnicos.
- Comprensión:Los empresarios y arquitectos de sistemas pueden comprender los requisitos esenciales, funcionalidades y procesos del sistema mediante UML.
- Ahorro de tiempo:Visualizar los procesos y la estructura estática del sistema ayuda a ahorrar tiempo y recursos en el futuro.
Tipos de diagramas UML
Los diagramas UML se pueden clasificar ampliamente en dos categorías: estructurales y comportamentales.
1. Diagramas UML estructurales
1.1. Diagrama de clases
- Representa la estructura estática de un sistema utilizando clases, sus métodos y atributos.
- Ayuda a identificar las relaciones entre diferentes clases o objetos.
- Herramienta UML Visual Paradigm:Diagrama de clases
1.2. Diagrama de estructura compuesta
- Representa la estructura interna de una clase y sus puntos de interacción con otras partes del sistema.
- Similar a los diagramas de clases, pero se centra en las partes individuales con detalle.
- Herramienta UML Visual Paradigm:Diagrama de estructura compuesta
1.3. Diagrama de objetos
- Representa instancias específicas de clases y las relaciones entre ellas en un momento determinado.
- Similar a los diagramas de clases, pero muestra clasificadores reales y sus relaciones.
- Herramienta UML Visual Paradigm:Diagrama de objetos
1.4. Diagrama de componentes
- Representa cómo se organizan los componentes físicos en un sistema.
- Ayuda a comprender si los requisitos funcionales han sido cubiertos por el desarrollo planeado.
- Herramienta Visual Paradigm UML: Diagrama de componentes
1.5. Diagrama de despliegue
- Representa el hardware del sistema y su software.
- Ilustra la arquitectura del sistema y la distribución de los artefactos de software sobre objetivos distribuidos.
- Herramienta Visual Paradigm UML: Diagrama de despliegue
1.6. Diagrama de paquetes
- Muestra cómo se organizan los paquetes y sus elementos.
- Muestra las dependencias entre diferentes paquetes y la composición interna de los paquetes.
- Herramienta Visual Paradigm UML: Diagrama de paquetes
2. Diagramas UML de comportamiento
2.1. Diagrama de máquinas de estado
- Representa el comportamiento dinámico de una clase en respuesta al tiempo y a estímulos externos cambiantes.
- Modela el estado del sistema en instancias finitas de tiempo utilizando transiciones de estado finitas.
- Herramienta Visual Paradigm UML: Diagrama de máquinas de estado
2.2. Diagrama de actividades
- Ilustra el flujo de control en un sistema.
- Modela actividades secuenciales y concurrentes, proporcionando una representación visual de los flujos de trabajo.
- Herramienta Visual Paradigm UML: Diagrama de actividades
2.3. Diagrama de casos de uso
- Muestra la funcionalidad de un sistema o de una parte del sistema.
- Ilustra los requisitos funcionales y la interacción del sistema con agentes externos (actores).
- Herramienta Visual Paradigm UML: Diagrama de casos de uso
2.4. Diagrama de secuencias
- Muestra la interacción entre objetos en un orden secuencial.
- Describe cómo y en qué orden funcionan los objetos en un sistema.
- Herramienta Visual Paradigm UML: Diagrama de secuencia
2.5. Diagrama de comunicación
- Muestra los mensajes secuenciados intercambiados entre objetos.
- Se centra principalmente en los objetos y sus relaciones.
- Herramienta Visual Paradigm UML: Diagrama de comunicación
2.6. Diagrama de tiempo
- Una forma especial de diagrama de secuencia que representa el comportamiento de los objetos durante un intervalo de tiempo.
- Muestra las restricciones de tiempo y duración que rigen los cambios en los estados y el comportamiento de los objetos.
- Herramienta Visual Paradigm UML: Diagrama de tiempo
2.7. Diagrama de vista general de interacción
- Modela una secuencia de acciones y simplifica las interacciones complejas en ocurrencias más sencillas.
- Una mezcla de diagramas de actividad y diagramas de secuencia.
- Herramienta Visual Paradigm UML: Diagrama de vista general de interacción
Conceptos orientados a objetos utilizados en diagramas UML
- Clase: Define la estructura y funciones de un objeto.
- Objetos: Ayudan a descomponer sistemas grandes y a modularizar el sistema.
- Herencia: Las clases hijas heredan las propiedades de las clases padres.
- Abstracción: Enfatiza los aspectos esenciales de un sistema mientras ignora los detalles irrelevantes.
- Encapsulamiento: Protege los datos del mundo exterior al unirlos.
- Polimorfismo: Permite que funciones o entidades existan en diferentes formas.
Mejores prácticas para diagramas UML
- Comprende a tu audiencia y adapta los diagramas a sus necesidades.
- Mantén los diagramas simples y enfocados en aspectos específicos del sistema.
- Utiliza convenciones de nombrado consistentes y notaciones UML estándar.
- Haz explícitas las relaciones con notaciones y etiquetas adecuadas.
- Equilibra el desarrollo ágil y la modelización para entregar valor y mantener flexibilidad.
Pasos para crear diagramas UML
- Identifica el propósito del diagrama.
- Identifica los elementos clave y las relaciones.
- Selecciona el tipo de diagrama UML adecuado.
- Crea un bosquejo preliminar.
- Elige una herramienta de modelado UML (por ejemplo, Visual Paradigm)).
- Crea el diagrama.
- Define las propiedades de los elementos.
- Agrega anotaciones y comentarios.
- Valida y revisa.
- Perfecciona e itera.
Desafíos comunes y beneficios de la modelización UML
- Desafíos:Lleva mucho tiempo, sobre-documentación, cambios en los requisitos, problemas de colaboración.
- Beneficios:Estandarización, comunicación, visualización, documentación, análisis y diseño.
UML y desarrollo ágil
- Los diagramas UML sirven como herramientas de comunicación efectivas en el desarrollo ágil.
- Los diagramas de casos de uso pueden capturar historias de usuarios y modelar interacciones de usuarios.
- La modelización iterativa en UML apoya el enfoque iterativo de desarrollo ágil.
- Equilibrar la agilidad y la modelización: modelización adaptativa, empowerment del equipo y valoración del software funcional.












