You are on page 1of 6

El Lenguaje

Unificado de Modelado (UML)


Enrique Hernndez Orallo(ehernandez@disca.upv.es)

Cualquier rama de ingeniera o arquitectura ha en- El lenguaje UML tiene una notacin grfica muy
contrado til desde hace mucho tiempo la representa- expresiva que permite representar en mayor o menor
cin de los diseos de forma grfica. Desde los inicios medida todas las fases de un proyecto informtico:
de la informtica se han estado utilizando distintas desde el anlisis con los casos de uso, el diseo con
formas de representar los diseos de una forma ms los diagramas de clases, objetos, etc., hasta la imple-
bien personal o con algn modelo grfico. La falta de mentacin y configuracin con los diagramas de des-
estandarizacin en la manera de representar grfica- pliegue.
mente un modelo impeda que los diseos grficos
realizados se pudieran compartir fcilmente entre
distintos diseadores. HISTORIA DE UML
El lenguaje UML comenz a gestarse en octubre
de 1994 [1], cuando Rumbaugh se uni a la compaa
Rational fundada por Booch (dos reputados investiga-
dores en el rea de metodologa del software). El ob-
jetivo de ambos era unificar dos mtodos que haban
desarrollado: el mtodo Booch y el OMT (Object Mode-
lling 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 su-
yas. Estas tres personas son conocidas como los tres
Figura 1: Logo de UML amigos. Adems, este lenguaje se abri a la colabora-
cin de otras empresas para que aportaran sus ideas.
Se necesitaba por tanto un lenguaje no slo para Todas estas colaboraciones condujeron a la definicin
comunicar las ideas a otros desarrolladores sino tam- de la primera versin de UML.
bin para servir de apoyo en los procesos de anlisis
de un problema. Con este objetivo se creo el Lenguaje
Unificado de Modelado (UML: Unified Modeling Lan-
guage). UML se ha convertido en ese estndar tan an-
siado para representar y modelar la informacin con la
que se trabaja en las fases de anlisis y, especialmente,
de diseo.

1
forma que para construir una choza no hace falta un
OOSE
modelo, cuando se intenta construir un sistema com-
91 Booch'91 OMT-1 Otros
plejo como un rascacielos, es necesario abstraer la
complejidad en modelos que el ser humano pueda
93 Booch'93 OMT-2
entender.
95 UML 0.8 UML sirve para el modelado completo de sistemas
Revisin por parte complejos, tanto en el diseo de los sistemas software
96 UML 0.9 del pblico como para la arquitectura hardware donde se ejecuten.
UML 1.0 Otro objetivo de este modelado visual es que sea
97 independiente del lenguaje de implementacin, de tal
UML 1.1
Aprobado como forma que los diseos realizados usando UML se

98 estndar por OMG pueda implementar en cualquier lenguaje que soporte


las posibilidades de UML (principalmente lenguajes
orientados a objetos).
Cambios menores

UML es adems un mtodo formal de modelado.


Esto aporta las siguientes ventajas:
Figura 2: Evolucin de UML Mayor rigor en la especificacin.
Esta primera versin se ofreci a un grupo de tra-
Permite realizar una verificacin y validacin
bajo para convertirlo en 1997 en un estndar del
del modelo realizado.
OMG (Object Management Group
http://www.omg.org). Este grupo, que gestiona Se pueden automatizar determinados procesos
estndares relacionados con la tecnologa orientada a y permite generar cdigo a partir de los mode-
objetos (metodologas, bases de datos objetuales, los y a la inversa (a partir del cdigo fuente ge-
CORBA, etc.), propuso una serie de modificaciones y nerar los modelos). Esto permite que el modelo
y el cdigo estn actualizados, con lo que siem-
pre se puede mantener la visin en el diseo, de
ms alto nivel, de la estructura de un proyecto.
una nueva versin de UML (la 1.1), que fue adoptada
por el OMG como estndar en noviembre de 1997. QU ES UML?
Desde aquella versin han habido varias revisiones
que gestiona la OMG Revision Task Force. La ltima UML es ante todo un lenguaje. Un lenguaje pro-
versin aprobada es la 1.4. En estos momentos se porciona un vocabulario y una reglas para permitir
est desarrollando una nueva versin en la que se una comunicacin. En este caso, este lenguaje se cen-
incluirn cambios importantes (principalmente aadir tra en la representacin grfica de un sistema.
nuevos diagramas) que conducirn a la versin 2.0
planificada para fines del 2002. Este lenguaje nos indica cmo crear y leer los mo-
delos, pero no dice cmo crearlos. Esto ltimo es el
objetivo de las metodologas de desarrollo.
MODELADO VISUAL
Las objetivos de UML son muchos, pero se pue-
Tal como indica su nombre, UML es un lenguaje den sintetizar sus funciones:
de modelado. Un modelo es una simplificacin de la
realidad. El objetivo del modelado de un sistema es Visualizar: UML permite expresar de una for-
capturar las partes esenciales del sistema. Para facilitar ma grfica un sistema de forma que otro lo
este modelado, se realiza una abstraccin y se plasma puede entender.
en una notacin grfica. Esto se conoce como mode-
lado visual. Especificar: UML permite especificar cules
son las caractersticas de un sistema antes de su
El modelado visual permite manejar la compleji- construccin.
dad de los sistemas a analizar o disear. De la misma

2
Construir: A partir de los modelos especifica- Diagrama de colaboracin.
dos se pueden construir los sistemas diseados.
Diagrama de estados.
Documentar: Los propios elementos grficos
sirven como documentacin del sistema des- Diagrama de actividades.
arrollado que pueden servir para su futura re-
visin. Diagrama de componentes.

Aunque UML est pensado para modelar sistemas Diagrama de despliegue.


complejos con gran cantidad de software, el lenguaje
es los suficientemente expresivo como para modelar Los diagramas ms interesantes (y los ms usados)
sistemas que no son informticos, como flujos de son los de casos de uso, clases y secuencia, por lo que
trabajo (workflow ) en una empresa, diseo de la estruc- nos centraremos en stos. Pare ello, se utilizar ejem-
tura de una organizacin y por supuesto, en el diseo plos de un sistema de venta de entradas de cine por
de hardware. Internet.
Un modelo UML esta compuesto por tres clases El diagrama de casos de usos representa grficamente
de bloques de contruccin: los casos de uso que tiene un sistema. Se define un
caso de uso como cada interaccin supuesta con el
Elementos: Los elementos son abstracciones sistema a desarrollar, donde se representan los requisi-
de cosas reales o ficticias (objetos, acciones, tos funcionales. Es decir, se est diciendo lo que tiene
etc.) que hacer un sistema y cmo. En la figura 3 se mues-
tra un ejemplo de casos de uso, donde se muestran
Relaciones: relacionan los elementos entre s. tres actores (los clientes, los taquilleros y los jefes de
taquilla) y las operaciones que pueden realizar (sus
Diagramas: Son colecciones de elementos con roles).
sus relaciones.
El diagrama de clases muestra un conjunto de clases,
Veamos con mayor detalle los diagramas de UML. interfaces y sus relaciones. ste es el diagrama ms
comn a la hora de describir el diseo 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 solucin al problema de la venta de entradas.
Un diagrama es la representacin grfica de un
conjunto de elementos con sus relaciones. En concre- En el diagrama de secuencia se muestra la interaccin
to, un diagrama ofrece una vista del sistema a mode- de los objetos que componen un sistema de forma
lar. Para poder representar correctamente un sistema, temporal. Siguiendo el ejemplo de venta de entradas,
UML ofrece una amplia variedad de diagramas para la figura 5 muestra la interaccin de crear una nueva
visualizar el sistema desde varias perspectivas. UML sala para un espectculo.
incluye los siguientes diagramas:
El resto de diagramas muestran distintos aspectos
Diagrama de casos de uso. del sistema a modelar. Para modelar el comportamien-
to dinmico del sistema estn los de interaccin, colabora-
Diagrama de clases. cin, estados y actividades. Los diagramas de componentes y
despliegue estn enfocados a la implementacin del
Diagrama de objetos. sistema.

Diagrama de secuencia.

3
Figura 3: Diagrama de casos de uso

Figura 4: Diagrama de clases.

4
Figura 5: Diagrama de secuencia.
nentes desarrollados.
PROCESO DE DESARROLLO Centrado en la arquitectura: En la arquitectura de
la construccin, antes de construir un edificio
Aunque UML es bastante independiente del pro-
ceso de desarrollo que se siga, los mismos creadores ste se contempla desde varios puntos de vista:
de UML han propuesto su propia metodologa de estructura, conducciones elctricas, fontanera,
desarrollo, denominada el Proceso Unificado de Desarrollo etc. Cada uno de estos aspectos est represen-
[2]. tado por un grfico con su notacin corres-
pondiente. Siguiendo este ejemplo, el concepto
El Proceso Unificado est basado en componen- de arquitectura software incluye los aspectos
tes, lo cual quiere decir que el sistema software en estticos y dinmicos ms significativos del sis-
construccin est formado por componentes software tema.
interconectados a travs de interfaces bien definidos.
Adems, el Proceso Unificado utiliza el UML para Iterativo e incremental: Todo sistema informtico
expresar grficamente todos los esquemas de un sis- complejo supone un gran esfuerzo que puede
tema software. Pero, realmente, los aspectos que defi- durar desde varios meses hasta aos. Por lo
nen este Proceso Unificado son tres: es iterativo e tanto, lo ms prctico es dividir un proyecto en
incremental, dirigido por casos de uso y centrado en la varias fases. Actualmente se suele hablar de ci-
arquitectura [3]: clos de vida en los que se realizan varios reco-
rridos por todas las fases. Cada recorrido por
Dirigido por casos de uso: Basndose en los casos las fases se denomina iteracin en el proyecto
de uso, los desarrolladores crean una serie de en la que se realizan varios tipos de trabajo
modelos de diseo e implementacin que los (denominados flujos). Adems, cada iteracin
llevan a cabo. Adems, estos modelos se vali- parte de la anterior incrementado o revisando
dan para que sean conformes a los casos de la funcionalidad implementada. Se suele deno-
uso. Finalmente, los casos de uso tambin sir- minar proceso. Ver figura 6.
ven para realizar las pruebas sobre los compo-

5
Etapas
Flujos de trabajo Inicio Elaboracin Construccin Transicin
fundamentales
Una iteracin en la
fase de elaboracin

Requisitos

Anlisis

Diseo

Implementacin

Prueba
Iter. Iter. --- --- --- --- Iter. Iter.
#1 #2 #n-1 #n

Figura 6: Proceso iterativo e incremental


Resumiendo, el Proceso Unificado es un modelo
complejo con mucha terminologa propia, pensado REFERENCIAS
principalmente para el desarrollo de grandes proyec-
tos. Es un proceso que puede adaptarse y extenderse 1. G. Booch, J. Rumbaugh y I. Jacobson, "El Lenguaje
en funcin de las necesidades de cada empresa. Unificado de Modelado", Addison Wesley, 1999
2. I. Jacobson, G. Booch, J. Rumbaugh , "El Proceso
Unificado de Desarrollo", Addision Wesley, 2000
CONCLUSIONES 3. E. Hernndez, J. Hernndez, C. Lizandra, "C++ Es-
tandar", ITP Paraninfo 2001.
Es fcil 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 prcticamente todas las


empresas importantes de informtica.

Se ha aceptado como un estndar por la OMG.

Prcticamente 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 grfico. Adems, se ha llega-
do a una solucin unificada basada en lo mejor que
haba hasta el momento, lo cual lo hace todava ms
excepcional.

You might also like