Está en la página 1de 7

UML

¿Qué es el UML?

Es un lenguaje de modelado visual de propósito general estandarizado en el


campo de la ingeniería de software que pretende proporcionar una forma estándar
de visualizar el diseño de un sistema.

En otras palabras, UML es un conjunto de modelos estándar que utilizamos para


diseñar proyectos de programación orientados a objetos.
Antes de profundizar en el tema recordemos que:
Un modelo es una descripción del problema que vamos a resolver.
Nos muestra cuál es el problema y cómo vamos a abordarlo.
Un lenguaje de modelado es un lenguaje para describir modelos. Generalmente
usan diagramas para representar varias entidades y sus relaciones dentro del
modelo.
Breve historia
El lenguaje UML comenzó a gestarse en octubre de 1994, cuando Rumbaugh se
unió a la compañía Rational fundada por Booch (dos reputados investigadores en
el área de metodología del software). El objetivo de ambos era unificar dos métodos
que habían desarrollado: el método Booch y el OMT (Object Modelling Tool).
El primer borrador apareció en octubre de 1995. En esa misma época otro reputado
investigador, Jacobson, se unió a Rational y se incluyeron ideas suyas. Estas tres
personas son conocidas como los “tres amigos”.
Esta primera versión se ofreció a un grupo de trabajo para convertirlo en 1997 en
un estándar del OMG (Object Management Group). Este grupo propuso una serie
de modificaciones y una nueva versión de UML fue adoptada por el OMG como
estándar en noviembre de 1997.
Desde aquella versión ha habido varias revisiones que gestiona la OMG siendo la
última versión aprobada la 2.5.1, lanzada en el año 2017.
Objetivos y Funciones
 Visualizar
UML permite expresar de una forma gráfica un sistema de forma que otro lo puede
entender.
 Especificar
UML permite especificar cuáles son las características de un sistema antes de su
construcción.
 Construir
A partir de los modelos especificados se pueden construir los sistemas diseñados.
 Documentar
Los propios elementos gráficos sirven como documentación del sistema
desarrollado que pueden servir para su futura revisión
Sabemos que UML fue creado para cumplir con las siguientes tareas:
 Representar todas las partes de un proyecto que se construye con técnicas
orientadas a objetos
 Establecer una forma de conectar ideas, conceptos y técnicas generales de
diseño con la creación de código orientado a objetos.
 Crear un modelo que pueda ser entendido por humanos y también por
computadoras - para que una computadora pueda generar una parte
importante de la aplicación automáticamente
UML logra estas tareas al tener una serie de modelos diferentes. Cada modelo
representa una vista diferente del proyecto. Algunos modelos se construyen a
partir de otros, por lo que existe una secuencia lógica en la que los modelos están
construidos.
Bloques de construcción
Un modelo UML está compuesto por tres clases de bloques de construcción:
 Elementos
 Relaciones
 Diagramas
Los elementos y las relaciones se juntan en diagramas UML para ayudarnos a
visualizarlos en un formato bien estructurado.
Elementos
Son abstracciones del mundo real o ficticias
Se clasifican en:
 Elementos estructurales
 Elementos de comportamiento
 Elementos de agrupación
 Elementos de anotación
Los elementos estructurales muestran los componentes físicos y conceptuales,
tales como clase, objeto, interfaz etc
Los elementos de comportamiento son los verbos que engloban las partes
dinámicas de un modelo, representan el comportamiento de un sistema.
Los elementos de agrupación se refieren a un método que une los elementos del
modelo UML.
Y por último los elementos de anotación son un mecanismo que captura las
observaciones, descripciones y comentarios de los elementos del modelo UML.
Relaciones
Ilustra las conexiones significativas entre los elementos. Muestra la asociación
entre las entidades y define la funcionalidad de una aplicación.
Existen cuatro tipos de relaciones:
 Dependencia
 Asociación
 Agregación
 Composición
Relación de dependencia
El elemento de origen depende del elemento de destino.
Si A depende de B, esto se muestra con una flecha discontinua entre A y B, con la
punta de flecha apuntando a B
Relación de asociación

Indica cuántos elementos están realmente participando en la formación de esa


relación.

Relación de agregación

Una relación de agregación se indica colocando un diamante blanco al final de la


asociación al lado de la clase agregada. Si B agrega a A, entonces A es parte de
B, pero sus tiempos de vida útil son independientes
Relación de composición
La composición, por otro lado, se muestra por un diamante negro en el extremo de
la asociación junto a la clase compuesta. Si B está compuesto por A, entonces B
controla la vida útil de A
Relación de generalización
Representa la relación entre un elemento general y un tipo específico de ese
elemento
Se denota por una línea recta seguida de una punta de flecha vacía en un lado.

Relación de realización
Es un tipo de relación semántica entre dos cosas, donde una define el
comportamiento a realizar y la otra implementa dicho comportamiento.

Se indica mediante una línea de puntos con una punta de flecha vacía en un lado.

Diagramas

Un diagrama es la representación gráfica de un conjunto de elementos con sus


relaciones. Ofrece una vista del sistema a modelar.

Existen dos tipos principales de diagramas UML:

Diagramas estructurales:

 Diagramas de clase
 Diagramas de objetos
 Diagramas de componentes

Diagramas de comportamiento:

 Diagramas de casos de uso


 Diagramas de actividades
 Diagramas de secuencia

Diagramas estructurales

Los diagramas estructurales representan la estructura estática de un software o


sistema, y también muestran diferentes niveles de abstracción e implementación.
Estos se usan para ayudarlo a visualizar las diversas estructuras que componen un
sistema, como una base de datos o aplicación.

Diagramas de comportamiento
Abarcan los aspectos dinámicos del sistema de software o proceso. En estos
diagramas se muestra la funcionalidad de un sistema y se enfatiza lo que debe
ocurrir en el sistema que se está modelando.
Ejemplos
 Diagrama de clase
Este diagrama, el más común en el desarrollo de software, se usa para representar
el diseño lógico y físico de un sistema.
Ofrece una imagen de las diferentes clases y la forma en la que se interrelacionan
En UML una clase se representa de esta manera:
El rectángulo que representa la clase se divide en tres compartimentos, el superior
muestra el nombre de la clase, el segundo muestra los atributos y el tercero
muestra los métodos.
 Diagrama de actividades
Este representa un proceso paso a paso con un inicio y final claros.
En eeste diagrama simplemente se especifica qué actividad se iniciará en un
determinado punto de decisión, dependiendo del resultado de esa Decisión. Esta
es una definición paso a paso de ciertas situaciones que pertenecen al proyecto
que se está diseñando y a punto de desarrollar.
 Diagrama de secuencia
Es bueno para mostrar todo tipo de procesos empresariales.
Revela la estructura de un sistema, mostrando la secuencia de mensajes e
interacciones entre actores y objetos cronológicamente.
Por ejemplo, puede mostrar que algún Objeto 1 pasa un mensaje a algún otro
Objeto 2, y que el Objeto 2 luego realiza alguna operación dentro de sí mismo y
finalmente devuelve el mensaje:
El funcionamiento interno del Objeto 1 que condujo a la creación del mensaje, y el
funcionamiento interno de El objeto 2 que condujo al mensaje de retorno no se
muestra en los diagramas de secuencia.
Ventajas y desventajas
Más utilizados y flexibles
Es una plataforma altamente reconocida y entendida para el diseño de software. La
mayoría de los profesionales de software estarán al menos familiarizados en
diagramas UML
También puede personalizar sus elementos de modelado e interacciones en un
diagrama UML específicamente para adaptarse al dominio o las tecnologías que
está utilizando.
La arquitectura de software debe comunicarse de manera efectiva
La arquitectura del software es el anteproyecto del sistema. Es el marco del que
depende la eficiencia del sistema y sus procesos.
Debido a su amplio alcance, UML es el lenguaje visual perfecto para comunicar
información detallada sobre la arquitectura al mayor número de usuarios.
Abundancia de herramientas UML
Las herramientas UML van desde software gratuito de código abierto hasta aquellos
que cuestan millones de dólares. Estas herramientas cubren mucho más allá de
simplemente dibujar diagramas. Pueden generar código a partir del diseño, aplicar
patrones de diseño, requisitos de mina, código de ingeniería inversa y realizar
análisis de impacto y complejidad.
Desventajas
La notación formal no es necesaria
Como la codificación es un lenguaje formal en sí mismo, muchos desarrolladores
no prefieren la complejidad y la formalidad a nivel de arquitectura, lo que desalienta
el uso de UML y se ha convertido en una de sus desventajas.
Grado Ascendente de Complejidad
Desde su inicio hasta ahora, UML ha crecido en complejidad y tamaño. El gran
tamaño de UML pone nerviosas a muchas personas desde el principio, y sienten
que no podrán aprenderlo.
Conclusión
UML es un lenguaje de modelado visual que consta de un conjunto integrado de
diagramas diseñados para ayudar a los desarrolladores de sistemas a especificar,
visualizar, construir y documentar los artefactos principales del sistema de software.
Describe el funcionamiento de los sistemas de software y hardware.
Resuelve de forma bastante satisfactoria un viejo problema del desarrollo de
software como es su modelado gráfico.
A pesar de todas las ventajas que UML pareciera ofrecer, en la actualidad muchas
personas en el área de la tecnología y software lo encuentran innecesario y obsoleto
¿Vale la pena usarlo? No hay una respuesta concreta a esta pregunta, como toda
herramienta, requiere aprender cuándo y cuándo no usarla, cuando es apropiado y
cuando no lo es, teniendo en cuenta si es útil o no para el proyecto que se esté
llevando a cabo

También podría gustarte