UML: introducción y conceptos básicos

Etiquetas:UMLVer todas
@zesertebe - blog Diagramas UML

¿Qué es UML?

UML son las siglas de Lenguaje Unificado de Modelado, un estándar rico semántica y sintácticamente, adoptado a nivel internacional tanto por organismos como por empresas, enfocado en la representación de la arquitectura, el diseño y la implementación de sistemas de software tanto en estructura como en comportamiento.

UML nació en el año de 1995 como notación luego de la unificación del método Booch desarrollado por Grady Booch, la técnica de modelado de objetos (OMT por sus siglas en inglés) e ingeniería de software orientada a objetos (OOSE). El estandar UML se encuentra gestionado por el grupo OMG (Object Management Group), consorcio conformado a nivel internacional por más de 230 organizaciones cuyo objetivo es definir, regular y mantener estándares de producción relacionados con la industria en general.

Aunque UML no es propiamente un lenguaje de programación, sí nos provee de algunas características propias de un lenguaje como lo es un vocabulario definido y una serie de reglas para combinar ese vocabulario y así permitir una comunicación efectiva. Este vocabulario y estas reglas indican cómo se deben crear y cómo se deben leer los modelos generados a fin de poporcionar una compresión clara de un sistema.

Modelado en el diseño de Software

El modelado se puede entender como una parte fundamental en la construcción de cualquier proyecto de software mediano o grande y de la cual dependerá en gran medida la disminución a futuro de la llamada deuda técnica. El modelado tiene como principal objetivo asegurar una representación exacta de un sistema asegurando que las funcionalidades incluidas en él son correctas y están completas, satisfacen las necesidades técnicas del usuario y el diseño final permite soportar requerimientos de escalabilidad, robustez, seguridad entre otros factores antes de ser plasmado en el código.

@zesertebe - diagramas UML
El cuadrante de la deuda técnica desarrollado por Martin Fowler.

Definiciones

Al igual que ocurre en la arquitectura con la construcción de un edifico en el que se requieren varios planos para identificar diferentes aspectos del mismo, en el desarrollo de software nunca será suficiente con representar estas ideas o conceptos en un solo plano o modelo, siempre hará falta abordar cada posible aspecto del proceso desde diferentes "puntos de vista". Estos puntos de vista nos proporcionarán toda la información necesaria del sistema que estamos tratando respetando en todo momento las siguientes características:
  • Ofrecer detalladamente una explicación de la semántica de cada concepto modelado
  • Facilitar a los desarrolladores las herramientas necesarias para el análisis, diseño e implementación de sistemas de software
  • Especificar los elementos requeridos para la lectura humana de todos los conceptors individuales de modelado UML y la estructura semántica usada para la creación de cada tipo de diagrama, evitando así la ambiguedad en los conceptos expresados.
  • Garantizar que el uso de las reglas definidas conduzcan inherentemente a métodos que tengan como base buenas prácticas tanto para la construcción como la documentación de diferentes aspectos del modelado UML

Diagramas en UML

Como ya se mencionó anteriormente el lenguaje de modelado UML nos ofrece diferentes tipos de diagramas, cada uno con un enfoque diferente y que ofrece una perspectiva del proyecto específica. Al momento de escribir este árticulo nos encontramos en la version 2.5.1 de UML, la cual define 13 tipos de diagramas diferentes dividos en tres categorias: diagramas de estructura de aplicación estática, diagramas de tipos generales de comportamiento y diagramas de aspectos de interacciones . La estructura de estas categorías es la siguiente:
  • Diagramas de estructura:
    1. Diagrama de clases
    2. Diagrama de objetos
    3. Diagrama de componentes
    4. Diagrama de estructura compuesta
    5. Diagrama de paquete
    6. Diagrama de implementación
  • Diagramas de comportamiento
    1. Diagrama de casos de uso
    2. Diagrama de actividad
    3. Diagrama de máquina de estado
  • Diagramas de interacción
    1. Diagrama de secuencia
    2. Diagrama de comunicación
    3. Diagrama de tiempo
    4. Diagrama de descripción general de la interacción
En el siguiente artículo veremos a profundidad los conceptos y características que involucran a los tipos de diagramas que hemos visto así como ejemplos prácticos: Diagramas UML con ejemplos

Referencias

Puede obtner mas información en los siguientes enlaces: