Lenguaje de modelado unificado (UML) | Una introducción

El lenguaje de modelado unificado (UML) es un lenguaje de modelado de propósito general. El objetivo principal de UML es definir una forma estándar de visualizar la forma en que se ha diseñado un sistema. Es bastante similar a los planos utilizados en otros campos de la ingeniería.

UML no es un lenguaje de programación , es más bien un lenguaje visual. Usamos diagramas UML para representar el comportamiento y la estructura de un sistema. UML ayuda a los ingenieros de software, empresarios y arquitectos de sistemas con el modelado, el diseño y el análisis. El Grupo de gestión de objetos (OMG) adoptó el lenguaje de modelado unificado como estándar en 1997. Desde entonces, ha sido gestionado por OMG. La Organización Internacional de Normalización (ISO) publicó UML como un estándar aprobado en 2005. UML se ha revisado a lo largo de los años y se revisa periódicamente.

¿Realmente necesitamos UML?

  • Las aplicaciones complejas necesitan la colaboración y la planificación de varios equipos y, por lo tanto, requieren una forma clara y concisa de comunicarse entre ellos.
  • Los hombres de negocios no entienden el código. Entonces UML se vuelve esencial para comunicar con los no programadores los requisitos, funcionalidades y procesos esenciales del sistema.
  • Se ahorra mucho tiempo en el futuro cuando los equipos pueden visualizar los procesos, las interacciones de los usuarios y la estructura estática del sistema.

UML está vinculado con el diseño y análisis orientado a objetos. UML hace uso de elementos y forma asociaciones entre ellos para formar diagramas. Los diagramas en UML se pueden clasificar ampliamente como:

  1. Diagramas estructurales: capture aspectos estáticos o la estructura de un sistema. Los diagramas estructurales incluyen: diagramas de componentes, diagramas de objetos, diagramas de clase y diagramas de implementación.
  2. Diagramas de comportamiento: capture aspectos dinámicos o el comportamiento del sistema. Los diagramas de comportamiento incluyen: diagramas de casos de uso, diagramas de estado, diagramas de actividad y diagramas de interacción.

La siguiente imagen muestra la jerarquía de diagramas según UML 2.2

Conceptos orientados a objetos utilizados en UML –

  1. Clase: una clase define la impresión azul, es decir, la estructura y las funciones de un objeto.
  2. Objetos: los objetos nos ayudan a descomponer sistemas grandes y nos ayudan a modularizar nuestro sistema. La modularidad ayuda a dividir nuestro sistema en componentes comprensibles para que podamos construir nuestro sistema pieza por pieza. Un objeto es la unidad fundamental (bloque de construcción) de un sistema que se utiliza para representar una entidad.
  3. Herencia: la herencia es un mecanismo por el cual las clases secundarias heredan las propiedades de sus clases principales.
  4. Abstracción: mecanismo por el cual los detalles de implementación se ocultan al usuario.
  5. Encapsulación: unir datos y protegerlos del mundo exterior se conoce como encapsulación.
  6. Polimorfismo: mecanismo por el cual las funciones o entidades pueden existir en diferentes formas.

Adiciones en UML 2.0 –

  • Se han incorporado metodologías de desarrollo de software como Agile y se ha ampliado el alcance de la especificación UML original.
  • Originalmente, UML especificaba 9 diagramas. UML 2.x ha aumentado el número de diagramas de 9 a 13. Los cuatro diagramas que se agregaron son: diagrama de tiempo, diagrama de comunicación, diagrama de descripción general de interacción y diagrama de estructura compuesta. UML 2.x cambió el nombre de los diagramas de gráficos de estado a diagramas de máquina de estado.
  • UML 2.x agregó la capacidad de descomponer el sistema de software en componentes y subcomponentes.

Diagramas UML Estructurales –

  1. Diagrama de clases: el diagrama UML más utilizado es el diagrama de clases. Es el bloque de construcción de todos los sistemas de software orientados a objetos. Usamos diagramas de clases para representar la estructura estática de un sistema mostrando las clases del sistema, sus métodos y atributos. Los diagramas de clases también nos ayudan a identificar la relación entre diferentes clases u objetos.
  2. Diagrama de estructura compuesta: utilizamos diagramas de estructura compuesta para representar la estructura interna de una clase y sus puntos de interacción con otras partes del sistema. Un diagrama de estructura compuesta representa la relación entre las partes y su configuración que determina cómo se comporta el clasificador (clase, componente o Node de implementación). Representan la estructura interna de un clasificador estructurado que hace uso de partes, puertos y conectores. También podemos modelar colaboraciones utilizando diagramas de estructura compuesta. Son similares a los diagramas de clase, excepto que representan partes individuales en detalle en comparación con la clase completa.
  3. Diagrama de objetos: se puede hacer referencia a un diagrama de objetos como una captura de pantalla de las instancias de un sistema y la relación que existe entre ellas. Dado que los diagramas de objetos representan el comportamiento cuando los objetos han sido instanciados, podemos estudiar el comportamiento del sistema en un instante particular. Un diagrama de objetos es similar a un diagrama de clases excepto que muestra las instancias de las clases en el sistema. Representamos clasificadores reales y sus relaciones haciendo uso de diagramas de clase. Por otro lado, un diagrama de objetos representa instancias específicas de clases y relaciones entre ellas en un momento dado.
  4. Diagrama de componentes: los diagramas de componentes se utilizan para representar cómo se han organizado los componentes físicos de un sistema. Los usamos para modelar los detalles de implementación. Los diagramas de componentes representan la relación estructural entre los elementos del sistema de software y nos ayudan a comprender si los requisitos funcionales han sido cubiertos por el desarrollo planificado. Los diagramas de componentes se vuelven esenciales para usar cuando diseñamos y construimos sistemas complejos. Las interfaces son utilizadas por los componentes del sistema para comunicarse entre sí.
  5. Diagrama de implementación: los diagramas de implementación se utilizan para representar el hardware del sistema y su software. Nos dice qué componentes de hardware existen y qué componentes de software se ejecutan en ellos. Ilustramos la arquitectura del sistema como distribución de artefactos de software sobre objetivos distribuidos. Un artefacto es la información que genera el software del sistema. Se utilizan principalmente cuando se utiliza, distribuye o implementa un software en varias máquinas con diferentes configuraciones.
  6. Diagrama de paquete: utilizamos diagramas de paquete para representar cómo se han organizado los paquetes y sus elementos. Un diagrama de paquete simplemente nos muestra las dependencias entre diferentes paquetes y la composición interna de los paquetes. Los paquetes nos ayudan a organizar diagramas UML en grupos significativos y hacen que el diagrama sea fácil de entender. Se utilizan principalmente para organizar diagramas de clases y casos de uso.

Diagramas de Comportamiento –

  1. Diagramas de máquina de estado: un diagrama de estado se utiliza para representar la condición del sistema o parte del sistema en instancias finitas de tiempo. Es un diagrama de comportamiento y representa el comportamiento usando transiciones de estado finito. Los diagramas de estado también se denominan máquinas de estado y diagramas de gráfico de estado . Estos términos a menudo se usan indistintamente. De manera simple, un diagrama de estado se usa para modelar el comportamiento dinámico de una clase en respuesta al tiempo y los estímulos externos cambiantes.
  2. Diagramas de actividad: utilizamos diagramas de actividad para ilustrar el flujo de control en un sistema. También podemos usar un diagrama de actividad para referirnos a los pasos involucrados en la ejecución de un caso de uso. Modelamos actividades secuenciales y concurrentes usando diagramas de actividad. Entonces, básicamente representamos los flujos de trabajo visualmente usando un diagrama de actividad. Un diagrama de actividad se enfoca en la condición del flujo y la secuencia en la que sucede. Describimos o representamos qué causa un evento en particular usando un diagrama de actividad.
  3. Diagramas de casos de uso: los diagramas de casos de uso se utilizan para representar la funcionalidad de un sistema o una parte de un sistema. Son ampliamente utilizados para ilustrar los requisitos funcionales del sistema y su interacción con agentes (actores) externos. Un caso de uso es básicamente un diagrama que representa diferentes escenarios en los que se puede utilizar el sistema. Un diagrama de casos de uso nos brinda una vista de alto nivel de lo que hace el sistema o una parte del sistema sin entrar en detalles de implementación.
  4. Diagrama de secuencia: un diagrama de secuencia simplemente representa la interacción entre objetos en un orden secuencial, es decir, el orden en que tienen lugar estas interacciones. También podemos usar los términos diagramas de eventos o escenarios de eventos para referirnos a un diagrama de secuencia. Los diagramas de secuencia describen cómo y en qué orden funcionan los objetos en un sistema. Estos diagramas son ampliamente utilizados por empresarios y desarrolladores de software para documentar y comprender los requisitos de los sistemas nuevos y existentes.
  5. Diagrama de comunicación: se utiliza un diagrama de comunicación (conocido como diagrama de colaboración en UML 1.x) para mostrar mensajes secuenciados intercambiados entre objetos. Un diagrama de comunicación se centra principalmente en los objetos y sus relaciones. Podemos representar información similar utilizando diagramas de secuencia, sin embargo, los diagramas de comunicación representan objetos y enlaces de forma libre.
  6. Diagrama de tiempo: el diagrama de tiempo es una forma especial de diagrama de secuencia que se utiliza para representar el comportamiento de los objetos durante un período de tiempo. Los usamos para mostrar las restricciones de tiempo y duración que gobiernan los cambios en los estados y el comportamiento de los objetos.
  7. Diagrama de descripción general de interacción: un diagrama de descripción general de interacción modela una secuencia de acciones y nos ayuda a simplificar interacciones complejas en ocurrencias más simples. Es una mezcla de diagramas de actividad y de secuencia.

Referencia –
Lenguaje de modelado unificado – Wikipedia
Lenguaje de modelado unificado – IBM

Este artículo es una contribución de Ankit Jain . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *