You are on page 1of 11

El

Lenguaje
Unificadode Modelado
(UML)
Enrique Hernández
Orallo(ehernandez@disca.upv.es)

Cualquier rama de ingeniería o El lenguaje UML tiene una notación


arquitectura ha en- gráfica muy
contrado útil desde hace mucho tiempo la expresiva que permite representar en
representa- ción de los diseños de forma mayor o menor medida todas las fases
gráfica. Desde los inicios de la de un proyecto informático: desde el
informática se han estado utilizando análisis con los casos de uso, el diseño
distintas formas de representar los con los diagramas de clases, objetos,
diseños de una forma más bien personal etc., hasta la imple- mentación y
o con algún modelo gráfico. La falta de configuración con los diagramas de des-
estandarización en la manera de pliegue.
representar gráfica- mente un modelo
impedía que los diseños gráficos
realizados se pudieran compartir fácilmente entre

distintos diseñadores. de apoyo en los procesos de análisis de


un problema. Con este objetivo se creo el
Lenguaje Unificado de Modelado (UML:
Unified Modeling Lan- guage). UML se ha
convertido en ese estándar tan an- siado
para representar y modelar la información
con la que se trabaja en las fases de
análisis y, especialmente, de diseño.

Figura 1: Logo de UML

Se necesitaba por tanto un lenguaje


no sólo para comunicar las ideas a otros
desarrolladores sino tam- bién para servir
HISTORIA DE UML borrador apareció en octubre de
1995. En esa misma época otro reputado
El lenguaje UML comenzó a gestarse investigador, Jacobson, se unió a Rational
en octubre de 1994 [1], cuando y se incluyeron ideas su- yas. Estas tres
Rumbaugh se unió a la compañía personas son conocidas como los “tres
Rational fundada por Booch (dos amigos”. Además, este lenguaje se abrió
reputados investiga- dores en el área de a la colabora- ción de otras empresas
metodología del software). El ob- jetivo para que aportaran sus ideas. Todas
de ambos era unificar dos métodos que estas colaboraciones condujeron a la
habían desarrollado: el método Booch y el definición de la primera versión de UML.
OMT (Object Mode- lling Tool ). El primer

1
forma que para construir una choza no
91 Booch'91 OMT-1 Otros OOSE hace falta un modelo, cuando se intenta
construir un sistema com- plejo como un
rascacielos, es necesario abstraer la
complejidad en modelos que el ser
93 Booch'93 OMT-2
humano pueda entender.
95 UML 0.8 UML sirve para el modelado completo
Revisión por parte de sistemas complejos, tanto en el diseño
96 UML 0.9 del público de los sistemas software como para la
arquitectura hardware donde se ejecuten.
UML 1.0
97 Otro objetivo de este modelado visual
UML 1.1
Aprobado como es que sea independiente del lenguaje de
implementación, de tal forma que los
diseños realizados usando UML se
98 UML 1.2 estándar por OMG pueda implementar en cualquier lenguaje
que soporte las posibilidades de UML
99 UML 1.3 (principalmente lenguajes orientados a
Cambios menores objetos).
00 UML 1.4 UML es además un método formal de
modelado.
Esto aporta las siguientes ventajas:
02 UML 2.0
• Mayor rigor en la especificación.

• Permite realizar una verificación y


Figura 2: Evolución de UML validación del modelo realizado.
Esta primera versión se ofreció a un
• Se pueden automatizar
grupo de tra- bajo para convertirlo en
determinados procesos
1997 en un estándar del OMG
y permite generar código a partir de
(Object Management
los mode- los y a la inversa (a partir
Group http://www.omg.org).
del código fuente ge- nerar los
Este grupo, que gestiona estándares modelos). Esto permite que el
relacionados con la tecnología orientada modelo
a objetos (metodologías, bases de
y el código estén actualizados, con
datos objetuales, CORBA, etc.), propuso
lo que siem- pre se puede mantener
una serie de modificaciones y
la visión en el diseño, de más alto
nivel, de la estructura de un
proyecto.
una nueva versión de UML (la 1.1), que fue adoptada
por el OMG como estándar en
noviembre de 1997. Desde aquella
¿QUÉ ES UML?
versión han habido varias revisiones UML es ante todo un lenguaje. Un
que gestiona la OMG Revision Task lenguaje pro- porciona un vocabulario y
Force. La última versión aprobada es la una reglas para permitir una
1.4. En estos momentos se está comunicación. En este caso, este lenguaje
desarrollando una nueva versión en la se cen- tra en la representación gráfica de
que se incluirán cambios importantes un sistema.
(principalmente añadir nuevos
diagramas) que conducirán a la Este lenguaje nos indica cómo crear y
versión 2.0 planificada para fines del leer los mo- delos, pero no dice cómo
2002. crearlos. Esto último es el
objetivo de las metodologías de desarrollo.
MODELADO VISUAL
del modelado de un sistema es
Tal como indica su nombre, UML es un capturar las partes esenciales del
lenguaje de modelado. Un modelo es una sistema. Para facilitar este modelado, se
simplificación de la realidad. El objetivo realiza una abstracción y se plasma en
una notación gráfica. Esto se conoce Las objetivos de UML son muchos, pero
como mode- lado visual. se pue-
den sintetizar sus funciones:
El modelado visual permite manejar
la compleji- dad de los sistemas a • Visualizar: UML permite expresar
analizar o diseñar. De la misma de una for- ma 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.

2
• Construir: A partir de los modelos • Diagrama de colaboración.
especifica- dos se pueden construir
los sistemas diseñados. • Diagrama de estados.

• Documentar: Los propios • Diagrama de actividades.


elementos gráficos sirven como
documentación del sistema des- • Diagrama de componentes.
arrollado que pueden servir para su
futura re- visión. • Diagrama de despliegue.

Aunque UML está pensado para Los diagramas más interesantes (y los
modelar sistemas complejos con gran más usados) son los de casos de uso,
cantidad de software, el lenguaje es los clases y secuencia, por lo que nos
suficientemente expresivo como para centraremos en éstos. Pare ello, se
modelar sistemas que no son utilizará ejem- plos de un sistema de
informáticos, como flujos de trabajo venta de entradas de cine por Internet.
(workflow ) en una empresa, diseño de la
estruc- tura de una organización y por El diagrama de casos de usos
supuesto, en el diseño de hardware. representa gráficamente los casos de
uso que tiene un sistema. Se define
Un modelo UML esta compuesto por un caso de uso como cada interacción
tres clases de bloques de contrucción: supuesta con el sistema a desarrollar,
donde se representan los requisi- tos
• Elementos: Los elementos son funcionales. Es decir, se está diciendo lo
abstracciones de cosas reales o que tiene que hacer un sistema y cómo.
ficticias (objetos, acciones, etc.) En la figura 3 se mues- tra un ejemplo
de casos de uso, donde se muestran
• Relaciones: relacionan los elementos tres actores (los clientes, los taquilleros y
entre sí. los jefes de taquilla) y las operaciones
que pueden realizar (sus roles).
• Diagramas: Son colecciones de
elementos con sus relaciones. El diagrama de clases muestra un
conjunto de clases, interfaces y sus
Veamos con mayor detalle los relaciones. Éste es el diagrama más
diagramas de UML. común a la hora de describir el diseño de
los sistemas
orientados a objetos. En la figura 4 se
muestran las
DIAGRAMAS UML clases globales, sus atributos y las
relaciones de una posible solución al
Un diagrama es la representación problema de la venta de entradas.
gráfica de un conjunto de elementos con
sus relaciones. En concre- to, un En el diagrama de secuencia se
diagrama ofrece una vista del sistema a muestra la interacción de los objetos
mode- lar. Para poder representar que componen un sistema de forma
correctamente un sistema, UML ofrece temporal. Siguiendo el ejemplo de venta
una amplia variedad de diagramas de entradas, la figura 5 muestra la
para visualizar el sistema desde varias interacción de crear una nueva sala para
perspectivas. UML incluye los siguientes un espectáculo.
diagramas:
El resto de diagramas muestran
• Diagrama de casos de uso. distintos aspectos del sistema a modelar.
Para modelar el comportamien- to
• Diagrama de clases. dinámico del sistema están los de
interacción, colabora- ción, estados y
• Diagrama de objetos. actividades. Los diagramas de
componentes y despliegue están
• Diagrama de secuencia. enfocados a la implementación del
sistema.
3
Figura 3: Diagrama de
casos de uso

Figura 4: Diagrama
de clases.

4
Figura 5: Diagrama de
secuencia.
nentes desarrollados.
PROCESO DE casos de uso también sir- ven
para realizar las pruebas sobre
DESARROLLO los compo-
Aunque UML es bastante
independiente del pro- ceso de
desarrollo que se siga, los mismos
creadores de UML han propuesto su
propia metodología de desarrollo,
denominada el Proceso Unificado de
Desarrollo
[2].

El Proceso Unificado está basado en


componen- tes, lo cual quiere decir
que el sistema software en
construcción está formado por
componentes software interconectados a
través de interfaces bien definidos.
Además, el Proceso Unificado utiliza el
UML para expresar gráficamente todos
los esquemas de un sis- tema software.
Pero, realmente, los aspectos que defi-
nen este Proceso Unificado son tres:
es iterativo e incremental, dirigido por
casos de uso y centrado en la arquitectura
[3]:

• Dirigido por casos de uso:


Basándose en los casos de uso, los
desarrolladores crean una serie de
modelos de diseño e
implementación que los llevan a
cabo. Además, estos modelos se
vali- dan para que sean conformes
a los casos de uso. Finalmente, los
esfuerzo que puede durar desde
• Centrado en la arquitectura: En la varios meses hasta años. Por lo
arquitectura de la construcción, antes tanto, lo más práctico es dividir un
de construir un edificio éste se proyecto en varias fases.
contempla desde varios puntos de Actualmente se suele hablar de ci-
vista: estructura, conducciones clos de vida en los que se realizan
eléctricas, fontanería, etc. Cada uno varios reco- rridos por todas las
de estos aspectos está represen- tado fases. Cada recorrido por las fases
por un gráfico con su notación se denomina iteración en el
corres- pondiente. Siguiendo este proyecto en la que se realizan
ejemplo, el concepto de arquitectura varios tipos de trabajo
software incluye los aspectos (denominados flujos). Además,
estáticos y dinámicos más cada iteración parte de la anterior
significativos del sis- tema. incrementado o revisando la
funcionalidad implementada. Se
• Iterativo e incremental: Todo sistema suele deno- minar proceso. Ver
informático complejo supone un gran figura 6.

5
Iter.
---
---
---
---
Iter.
Iter.
#1
#2
Etapas
Flujos de trabajo Inicio Elaboración Construcción Transición
fundamentales
Una iteración en la
fase de elaboración
Requisitos
#n-1
#n
Análisis

Diseño

Implementación

Prueba

Figura 6: Proceso iterativo


e incremental

Resumiendo, el Proceso Unificado es un modelo


complejo con mucha terminología lo cual lo hace todavía más excepcional.
propia, pensado principalmente para el
desarrollo de grandes proyec- tos. Es un
proceso que puede adaptarse y
extenderse en función de las necesidades
de cada empresa.

CONCLUSIONES
Es fácil predecir que UML será el
lenguaje de mo- delado de software de
uso universal. Las principales razones
para ello son:

• En el desarrollo han participado


investigadores de reconocido
prestigio.

• Ha sido apoyado por


prácticamente todas las empresas
importantes de informática.

• Se ha aceptado como un estándar


por la OMG.

• Prácticamente todas las


herramientas CASE y de desarrollo
la han adaptado como lenguaje de
modelado.

En resumen, UML resuelve de forma


bastante sa- tisfactoria un viejo problema
del desarrollo de softwa- re como es su
modelado gráfico. Además, se ha llega-
do a una solución unificada basada en
lo mejor que había hasta el momento,
REFERENCIAS "El Proceso
Unificado de Desarrollo", Addision Wesley,
1. G. Booch, J. Rumbaugh y I. Jacobson, 2000
"El Lenguaje
3. E. Hernández, J. Hernández, C.
Unificado de Modelado", Addison Wesley,
Lizandra, "C++ Es- tandar", ITP Paraninfo
1999
2001.
2. I. Jacobson, G. Booch, J. Rumbaugh ,

You might also like