UML: descripción general

UML es un lenguaje estándar para especificar, visualizar, construir y documentar los artefactos de los sistemas de software.

UML fue creado por el Object Management Group (OMG) y el borrador de la especificación UML 1.0 se propuso al OMG en enero de 1997.

OMG se esfuerza continuamente por crear un verdadero estándar industrial.

  • UML significa Unified Modeling Language.

  • UML es diferente de los otros lenguajes de programación comunes como C ++, Java, COBOL, etc.

  • UML es un lenguaje pictórico que se utiliza para hacer planos de software.

  • UML se puede describir como un lenguaje de modelado visual de propósito general para visualizar, especificar, construir y documentar un sistema de software.

  • Aunque UML se usa generalmente para modelar sistemas de software, no está limitado dentro de este límite. También se utiliza para modelar sistemas que no son de software. Por ejemplo, el flujo del proceso en una unidad de fabricación, etc.

UML no es un lenguaje de programación, pero se pueden utilizar herramientas para generar código en varios lenguajes utilizando diagramas UML. UML tiene una relación directa con el análisis y diseño orientado a objetos. Después de cierta estandarización, UML se ha convertido en un estándar OMG.

Objetivos de UML

Una imagen vale más que mil palabras , este idioma encaja perfectamente con la descripción de UML. Los conceptos orientados a objetos se introdujeron mucho antes que UML. En ese momento, no existían metodologías estándar para organizar y consolidar el desarrollo orientado a objetos. Fue entonces cuando UML entró en escena.

Hay una serie de objetivos para el desarrollo de UML, pero el más importante es definir algún lenguaje de modelado de propósito general, que todos los modeladores pueden usar y también debe ser fácil de entender y usar.

Los diagramas UML no solo están hechos para desarrolladores, sino también para usuarios comerciales, gente común y cualquier persona interesada en comprender el sistema. El sistema puede ser un sistema de software o no software. Por lo tanto, debe quedar claro que UML no es un método de desarrollo, sino que acompaña a los procesos para convertirlo en un sistema exitoso.

En conclusión, el objetivo de UML se puede definir como un mecanismo de modelado simple para modelar todos los sistemas prácticos posibles en el complejo entorno actual.

Un modelo conceptual de UML

Para comprender el modelo conceptual de UML, primero debemos aclarar qué es un modelo conceptual. y ¿por qué se requiere un modelo conceptual?

  • Un modelo conceptual se puede definir como un modelo que se compone de conceptos y sus relaciones.

  • Un modelo conceptual es el primer paso antes de dibujar un diagrama UML. Ayuda a comprender las entidades en el mundo real y cómo interactúan entre sí.

Como UML describe los sistemas en tiempo real, es muy importante hacer un modelo conceptual y luego proceder gradualmente. El modelo conceptual de UML se puede dominar aprendiendo los siguientes tres elementos principales:

  • Bloques de construcción UML
  • Reglas para conectar los bloques de construcción.
  • Mecanismos comunes de UML

Conceptos orientados a objetos

UML puede describirse como el sucesor del análisis y diseño orientado a objetos (OO).

Un objeto contiene tanto datos como métodos que controlan los datos. Los datos representan el estado del objeto. Una clase describe un objeto y también forman una jerarquía para modelar el sistema del mundo real. La jerarquía se representa como herencia y las clases también se pueden asociar de diferentes formas según el requisito.

Los objetos son las entidades del mundo real que existen a nuestro alrededor y los conceptos básicos como abstracción, encapsulación, herencia y polimorfismo se pueden representar mediante UML.

UML es lo suficientemente poderoso como para representar todos los conceptos que existen en el análisis y diseño orientado a objetos. Los diagramas UML son representaciones de conceptos orientados a objetos únicamente. Por lo tanto, antes de aprender UML, es importante comprender el concepto de OO en detalle.

A continuación se presentan algunos conceptos fundamentales del mundo orientado a objetos:

  • Objects - Los objetos representan una entidad y el bloque de construcción básico.

  • Class - La clase es el plano de un objeto.

  • Abstraction - La abstracción representa el comportamiento de una entidad del mundo real.

  • Encapsulation - La encapsulación es el mecanismo de unir los datos y ocultarlos del mundo exterior.

  • Inheritance - La herencia es el mecanismo de creación de nuevas clases a partir de las existentes.

  • Polymorphism - Define el mecanismo para existir en diferentes formas.

Análisis y diseño de OO

OO se puede definir como una investigación y, para ser más específicos, es la investigación de objetos. Diseño significa colaboración de objetos identificados.

Por lo tanto, es importante comprender los conceptos de diseño y análisis de OO. El propósito más importante del análisis OO es identificar los objetos de un sistema a diseñar. Este análisis también se realiza para un sistema existente. Ahora, un análisis eficiente solo es posible cuando somos capaces de comenzar a pensar de una manera en la que se puedan identificar los objetos. Después de identificar los objetos, se identifican sus relaciones y finalmente se produce el diseño.

El propósito del análisis y diseño de OO se puede describir como:

  • Identificar los objetos de un sistema.

  • Identificar sus relaciones.

  • Realización de un diseño, que se puede convertir en ejecutables utilizando lenguajes OO.

Hay tres pasos básicos donde se aplican e implementan los conceptos de OO. Los pasos se pueden definir como

OO Analysis → OO Design → OO implementation using OO languages

Los tres puntos anteriores se pueden describir en detalle como:

  • Durante el análisis OO, el propósito más importante es identificar objetos y describirlos de manera adecuada. Si estos objetos se identifican de manera eficiente, entonces el siguiente trabajo de diseño es fácil. Los objetos deben identificarse con responsabilidades. Las responsabilidades son las funciones realizadas por el objeto. Todos y cada uno de los objetos tienen algún tipo de responsabilidades a realizar. Cuando se colaboran estas responsabilidades, se cumple el propósito del sistema.

  • La segunda fase es el diseño OO. Durante esta fase, se hace hincapié en los requisitos y su cumplimiento. En esta etapa, los objetos se colaboran de acuerdo con su asociación prevista. Una vez que se completa la asociación, el diseño también está completo.

  • La tercera fase es la implementación de OO. En esta fase, el diseño se implementa utilizando lenguajes OO como Java, C ++, etc.

Papel de UML en el diseño de OO

UML es un lenguaje de modelado que se utiliza para modelar sistemas de software y no software. Aunque UML se utiliza para sistemas que no son de software, el énfasis está en el modelado de aplicaciones de software OO. La mayoría de los diagramas UML discutidos hasta ahora se utilizan para modelar diferentes aspectos como estático, dinámico, etc. Ahora, cualquiera que sea el aspecto, los artefactos no son más que objetos.

Si miramos el diagrama de clases, el diagrama de objetos, el diagrama de colaboración, los diagramas de interacción, todo básicamente se diseñaría en función de los objetos.

Por lo tanto, es muy importante comprender la relación entre el diseño OO y UML. El diseño OO se transforma en diagramas UML según el requisito. Antes de comprender el UML en detalle, se debe aprender correctamente el concepto de OO. Una vez que se realiza el análisis y el diseño de OO, el siguiente paso es muy fácil. La entrada del análisis y el diseño OO es la entrada a los diagramas UML.