Una imagen vale más que mil palabras. Es por eso que se creó la
generación de diagramas con el Lenguaje Unificado de Modelado (UML): para
forjar un lenguaje visual común en el complejo mundo del desarrollo de software
que también fuera comprensible por los usuarios de negocios y quienquiera que
desee entender un sistema. Aprende lo básico de los diagramas UML, además de
sus orígenes, usos, conceptos, tipos y pautas sobre cómo dibujarlos usando
nuestra herramienta de diagramas UML.
¿Qué es
UML?
El Lenguaje Unificado de Modelado (UML) fue creado para forjar un
lenguaje de modelado visual común y semántica y sintácticamente rico para la
arquitectura, el diseño y la implementación de sistemas de software complejos,
tanto en estructura como en comportamiento. UML tiene aplicaciones más allá del
desarrollo de software, p. ej., en el flujo de procesos en la fabricación.
Es comparable a los planos usados en otros campos y consiste en
diferentes tipos de diagramas. En general, los diagramas UML describen los
límites, la estructura y el comportamiento del sistema y los objetos que
contiene.
UML no es un lenguaje de programación, pero existen herramientas que se
pueden usar para generar código en diversos lenguajes usando los diagramas UML.
UML guarda una relación directa con el análisis y el diseño orientados a
objetos.
OMG:
Tiene un significado diferente
Según su sitio web, el Object Management Group® (OMG®) es un consorcio
internacional sin fines de lucro y de membresía abierta para estándares
tecnológicos, fundado en 1989. Los estándares de OMG son promovidos por
proveedores, usuarios finales, instituciones académicas y agencias
gubernamentales. Los grupos de trabajo de OMG desarrollan estándares de
integración empresarial para una amplia gama de tecnologías y una gama incluso
más amplia de industrias. Los estándares de modelado de OMG, incluidos UML y Model
Driven Architecture® (MDA®), permiten un eficaz diseño visual, ejecución y
mantenimiento de software y otros procesos.
OMG supervisa la definición y el mantenimiento de las especificaciones
de UML. Esta supervisión ofrece a los ingenieros y programadores la capacidad
de usar un lenguaje para muchos propósitos durante todas las etapas del ciclo
de vida del software en sistemas de cualquier tamaño.
La
finalidad de UML según OMG
El OMG define los propósitos de UML de la siguiente manera:
- Brindar a arquitectos de sistemas, ingenieros y desarrolladores de software las herramientas para el análisis, el diseño y la implementación de sistemas basados en software, así como para el modelado de procesos de negocios y similares.
- Hacer progresar el estado de la industria permitiendo la interoperabilidad de herramientas de modelado visual de objetos. No obstante, para habilitar un intercambio significativo de información de modelos entre herramientas, se requiere de un acuerdo con respecto a la semántica y notación.
UML cumple con los siguientes requerimientos:
- Establecer una definición formal de un metamodelo común basado en el estándar MOF (Meta-Object Facility) que especifique la sintaxis abstracta del UML. La sintaxis abstracta define el conjunto de conceptos de modelado UML, sus atributos y sus relaciones, así como las reglas de combinación de estos conceptos para construir modelos UML parciales o completos.
- Brindar una explicación detallada de la semántica de cada concepto de modelado UML. La semántica define, de manera independiente a la tecnología, cómo los conceptos UML se habrán de desarrollar por las computadoras.
- Especificar los elementos de notación de lectura humana para representar los conceptos individuales de modelado UML, así como las reglas para combinarlos en una variedad de diferentes tipos de diagramas que corresponden a diferentes aspectos de los sistemas modelados.
- Definir formas que permitan hacer que las herramientas UML cumplan con esta especificación. Esto se apoya (en una especificación independiente) con una especificación basada en XML de formatos de intercambio de modelos correspondientes (XMI) que deben ser concretados por herramientas compatibles.
Glosario
de términos de UML
Familiarízate con el vocabulario de UML, con esta lista extraída del
documento UML 2.4.1, cuya finalidad es ayudar a quienes no son miembros de OMG
a entender los términos comúnmente usados.
Compatibilidad con sintaxis abstracta Los usuarios pueden mover modelos
a través de diferentes herramientas, incluso si usan diferentes notaciones.
Metamodelo de almacén común (CWM) Interfaces estándares que se usan para
permitir el intercambio de metadatos de almacén e inteligencia de negocios
entre herramientas de almacén, plataformas de almacén y repositorios de
metadatos de almacén en entornos heterogéneos distribuidos.
Compatibilidad con sintaxis concreta Los usuarios pueden continuar
usando una notación con la que estén familiarizados a través de diferentes
herramientas.
Núcleo En el contexto de UML, el núcleo comúnmente se refiere al
"paquete central", que es un metamodelo completo particularmente
diseñado para una alta reutilización.
Unidad de lenguaje Consiste en una colección de conceptos de modelado
estrechamente vinculados que proporciona a los usuarios la capacidad de
representar aspectos del sistema en estudio según un paradigma o formalismo en
particular.
Nivel 0 (L0) Nivel de cumplimiento inferior para la infraestructura UML -
una sola unidad de lenguaje que hace posible el modelado de tipos de
estructuras basadas en clases que se encuentran en los lenguajes más populares
de programación orientados a objetos.
Meta Object Facility (MOF) Una especificación de modelado de OMG que
brinda la base para las definiciones de metamodelos en la familia de lenguajes
MDA de OMG.
Metamodelo Define el lenguaje y los procesos a partir de los cuales
formar un modelo.
Construcciones de metamodelos (LM) Segundo nivel de cumplimiento en la
infraestructura UML - una unidad adicional de lenguaje para estructuras más
avanzadas basadas en clases, usadas para construir metamodelos (por medio de
CMOF), tales como el UML mismo. UML solo tiene dos niveles de cumplimiento.
Arquitectura dirigida por modelos (MDA) Un enfoque y un plan para lograr
un conjunto coherente de especificaciones de tecnología dirigida por modelos.
Lenguaje de restricciones para objetos (OCL) Un lenguaje declarativo
para describir reglas que se aplican al Lenguaje Unificado de Modelado. OCL
complementa a UML proporcionando términos y símbolos de diagramas de flujo que
son más precisos que el lenguaje natural, pero menos difíciles de dominar que
las matemáticas.
Object Management Group (OMG) Es un consorcio sin fines de lucro de
especificaciones para la industria de la computación, cuyos miembros definen y
mantienen la especificación UML.
UML 1 Primera versión del Lenguaje Unificado de Modelado.
Lenguaje Unificado de Modelado (UML) Un lenguaje visual para especificar,
construir y documentar los artefactos de los sistemas.
XMI Una especificación basada en XML de formatos de intercambio de
modelos correspondientes.
Conceptos
orientados a objetos en UML
Los objetos en UML son entidades del mundo real que existen a nuestro
alrededor. En el desarrollo de software, los objetos se pueden usar para
describir, o modelar, el sistema que se está creando en términos que sean
pertinentes para el dominio. Los objetos también permiten la descomposición de
sistemas complejos en componentes comprensibles que permiten que se construya
una pieza a la vez.
Estos son algunos conceptos fundamentales de un mundo orientado a
objetos:
- Objetos Representan una entidad y el componente básico.
- Clase Plano de un objeto.
- Abstracción Comportamiento de una entidad del mundo real.
- Encapsulación Mecanismo para enlazar los datos y ocultarlos del mundo exterior.
- Herencia Mecanismo para crear nuevas clases a partir de una existente.
- Polimorfismo Define el mecanismo para salidas en diferentes formas.
Tipos de
diagramas UML
UML usa elementos y los asocia de diferentes formas para formar diagramas
que representan aspectos estáticos o estructurales de un sistema, y diagramas
de comportamiento, que captan los aspectos dinámicos de un sistema.
Diagramas UML estructurales
Diagrama
de clases El diagrama UML más comúnmente usado, y la base principal de toda
solución orientada a objetos. Las clases dentro de un sistema, atributos y
operaciones, y la relación entre cada clase. Las clases se agrupan para crear
diagramas de clases al crear diagramas de sistemas grandes.
Diagrama
de componentes Muestra la relación estructural de los elementos
del sistema de software, muy frecuentemente empleados al trabajar con sistemas
complejos con componentes múltiples. Los componentes se comunican por medio de
interfaces.
Diagrama
de estructura compuesta Los diagramas de estructura compuesta se usan para
mostrar la estructura interna de una clase.
Diagrama
de implementación Ilustra el hardware del sistema y su software.
Útil cuando se implementa una solución de software en múltiples máquinas con
configuraciones únicas.
Diagrama
de objetos Muestra la relación entre objetos por medio de ejemplos del mundo real
e ilustra cómo se verá un sistema en un momento dado. Dado que los datos están
disponibles dentro de los objetos, estos pueden usarse para clarificar
relaciones entre objetos.
Diagrama
de paquetes Hay dos tipos especiales de dependencias que se
definen entre paquetes: la importación de paquetes y la fusión de paquetes. Los
paquetes pueden representar los diferentes niveles de un sistema para revelar
la arquitectura. Se pueden marcar las dependencias de paquetes para mostrar el
mecanismo de comunicación entre niveles.
Diagramas UML de comportamiento
Diagramas
de actividades Flujos de trabajo de negocios u operativos
representados gráficamente para mostrar la actividad de alguna parte o
componente del sistema. Los diagramas de actividades se usan como una
alternativa a los diagramas de máquina de estados.
Diagrama
de comunicación Similar a los diagramas de secuencia, pero el
enfoque está en los mensajes que se pasan entre objetos. La misma información
se puede representar usando un diagrama de secuencia y objetos diferentes.
Diagrama
de panorama de interacciones Hay siete tipos de diagramas de interacciones.
Este diagrama muestra la secuencia en la cual actúan.
Diagrama
de secuencia Muestra cómo los objetos interactúan entre sí y el
orden de la ocurrencia. Representan interacciones para un escenario concreto.
Diagrama
de máquina de estados Similar a los diagramas de actividades, describen
el comportamiento de objetos que se comportan de diversas formas en su estado
actual.
Diagrama
de temporización Al igual que en los diagramas de secuencia, se
representa el comportamiento de los objetos en un período de tiempo dado. Si
hay un solo objeto, el diagrama es simple. Si hay más de un objeto, las
interacciones de los objetos se muestran durante ese período de tiempo
particular.
Diagrama
de caso de uso Representa una funcionalidad particular de un sistema.
Se crea para ilustrar cómo se relacionan las funcionalidades con sus
controladores (actores) internos/externos.
Para ver mejor explicado todo acerca de UML ver: UML en 24 horas.
