Anda di halaman 1dari 6

UML: Un Lenguaje de Modelo de Objetos

Luis Ignacio Lizcano Bueno guerra de metodologías, eran solo cuales habían sido reconocidas en
Universidad Francisco de Paula Santander
estudiados solo dentro de las uni- conjunto como las tres principales
llizcano@yahoo.com
versidades en principio como una metodologías de modelado de
nueva técnica de programación y objetos a nivel mundial. Por está
luego de la Ingeniería del software. A razón y otras razones como autores
RESUMEN partir de estas experiencias de metodologías se sintieron
comenzaron a aparecer nuevas motivados para crear un UML:
Un Lenguaje Unificado de Modelado generaciones formales de metodo-
(UML: Unified Modeling Language) logías, de entre las que se destacan Cuando comenzaron con la unifi-
es una herramienta que permite sólo unas pocas, vale la pena men- cación, establecieron tres metas
modelar software orienta- cionar la metodología de Booch para su trabajo:
do a objetos a través de un amplio [Booch 1994], la metodología OOSE
vocabulario gráfico enfocado a la (Object Oriented Software 1.Que se pudieran modelaran sis-
representación conceptual y física Engineering: Ingeniería del Software temas, desde la descripción con-
de los sistemas de software. Orientada a Objetos) de Jacobson ceptual hasta los elementos eje-
Actualmente es un estándar adop- [Jacobson 1992] y la m e t o d o l o g cutables, utilizando técnicas
tado por el grupo de desarrollo en o í a O M T ( O b j e c t Modeling orientadas a objetos.
b j e t o s ( O M G : O b j e c t Technique: Técnica de M o d e l a d 2.Cubrir las cuestiones relaciona-
Management Group). o d e O b j e t o s ) d e Rumbaugh das con el tamaño inherente a los
[Rumbaugh 1996]. Otras sistemas complejos y críticos.
En este trabajo se presenta una metodologías que merecen ser 3.Crear un lenguaje de
introducción a este lenguaje, se mencionadas son: Fusión, las modelado para que pueda ser
muestran los diferentes componen- ampliaciones a Shalaer-Merllor y de utilizado tanto por las personas
tes que lo forman y se explican Coad-Yourdon entre otras como por máquinas.
brevemente sus funciones.
Cada método es completo dentro del El esfuerzo de generar un UML
contexto, tienen sus puntos fuertes y comenzó en octubre de 1994,
1 INTRODUCCION sus debilidades. Por ejem- cuan-do Rumbaugh se unió a
plo la metodología de Booch es Booch en Rational. El objeto inicial
Los lenguajes de modelado orienta- particularmente expresiva durante del proyecto fue una unificación de
dos a objetos aparecieron en un las fases de diseño y construcción de los métodos de Booch y OMT. El
momento entre la mitad de los proyectos, la OOSE proporcio-na un borra-dor de la versión 0.8 (como
setenta y finales de los ochenta soporte excelente para los casos de fue llamada en ese entonces) se
cuando los metodologos, enfrenta- uso como forma de dirigir la toma de publi-có en octubre de 1995. En
dos a los nuevos lenguajes de requisitos, el análisis y el diseñó de esa época Jacobson se unió a
programación orientados a objetos y alto nivel, y la OMT-2 es importante Rational y el proyecto se amplió al
a sus aplicaciones, cada vez más para el análisis y para los sistema de incorpo-rar OOSE. Los esfuerzos
complejas, empezaron a experi- información con gran cantidad de se plasma-ron en los documentos
mentar con enfoques alternativos al datos. de la versión 0.9 en junio de 1996.
análisis y el diseño. El número de
métodos orientados a objetos se Una gran cantidad de críticas Durante 1996 se solicitó la opinión
incrementa de más de 10 a 50 comenzaron a formarse en la de la comunidad internacional
durante el período entre 1989 y primera mitad de los noventa, relacionada con la Ingeniería del
1994. Muchos usuarios de estos cuando Grady Booch (de Rational software. Durante este mismo tiem-
ambientes tenían el problema al Software Corporation), Ivan po se noto que muchas organiza-
intentar encontrar documentación de Jacobson (de Objectary) y James ciones de software veían en UML,
modelado que cubriera sus nece- Rumbaugh (de General Electric) como un punto estratégico a sus
sidades completamente, alimen- empezaron a adoptar ideas cada negocios. Se estableció un consor-
tando de esta manera la llamada uno de las otras metodologías, las cio de UML con varias organizacio-

Revista Respuestas 25
nes que querían dedicar recursos para trabajar hacia una definición consis- los para visualizar y controlar mejor
tente y completa de UML. el sistema a construir, muchas veces
descubriendo oportunidades para la
Las organizaciones que participaron en la versión 1.0 de UML fueron: Digital simplificación y la reutilización. Se
Equipment Corporation, Hewlett Packard, I-Logix, IntelliCorp, IBM, ICON construyen modelos para con-
Completing, MCI-Systemhome, Microsoft, Oracle, Rational, Texas trolar el riesgo.
Instruments y Unisys. Esta colaboración produjo un lenguaje de modelado
expresivo, bien definido, potente y aplicable a un amplio espectro de 2.1 PRINCIPIOS DE
dominios de problemas. UML 1.0 se ofreció para su estandarización a MODELADO
Object Manager Group (OMG) en enero de 1997 en respuesta a su solicitud
de propuesta para un lenguaje estándar de modelado. El uso del modelado tiene una his-
toria interesante en todas las disci-
El grupo inicial de colaboración se amplió para incluir prácticamente el plinas de Ingeniería. Esa experien-
resto de organizaciones que habían enviado algunas propuestas o ideas cia sugiere cuatro principios bási-
a la propuesta inicial al OMG. UML 1.1 fue adoptado por el OMG el 14 cos del modelado.
de noviembre de 1997. La RTF (Revision Task Force) publicó una
versión editorial, UML 1.2 en junio de 1998, versiones posteriores han Primero: La elección de los modelos a
aparecido según lo detalla el siguiente diagrama. crear tiene una profunda influen-
cia sobre cómo se acomete un pro-
El siguiente diagrama muestra la evolución en el tiempo de UML. blema y cómo se le da forma a una
solución.
08/01 UML 1.5
Segundo: Todo modelo es expresa-
05/01 UML 1.4
do a distintos niveles de precisión.
10/98 UML 1.3
06/98 UML 1.2
Tercero: Los mejores modelos
11/97 UML 1.1
01/97 UML 1.0 Remitido a OMG están ligados a la realidad.
06/96 UML 0.9
Cuarto: Un único modelo no es
10/95 UML 0.8
suficiente. Cualquier sistema no trivial
10/95 Unified Method UML Partner´s Expertise
es abordado mejor a través de
90-94 Booch 93 OMT-2 OOSE
modelos independientes entre sí.
Booch 91 OMT-1
80´s Object Oriented Techniques
3 MODELADO ORIENTADO
70´s Structured Analysis and Design
A OBJETOS
Figura 1. Evolución de la Ingeniería de software
Los Ingenieros Civiles construyen
muchos tipos de modelos. Lo más
frecuente es que utilicen modelos
2 MODELADO DE SISTEMAS
estructurales que les ayuden a
Una empresa de software con éxito es aquella que produce de manera consis- visualizar y especificarlas apartes de
los sistemas y la forma en que esas
tente software de calidad que satisface las necesidades de los usuarios. Una
estructuras se relacionan entre sí.
empresa que puede desarrollar ese software de forma probable y persistente
con un uso eficiente y efectivo de recursos, tiene un negocio sostenible.
Dependiendo de las cuestiones más
importantes del sistema o de la
El modelado es una parte central de todas las actividades que conducen a la
Ingeniería que les preocupan, los
producción de un buen software. Se construyen modelos para comunicar la
Ingenieros podrían construir mode-
estructura deseada y el comportamiento de un sistema. Se construyen mode-

26 Universidad Francisco de Paula Santander


los dinámicos. Por ejemplo, para datos que se asocian a él) y comportamiento (se le pueden hacer cosas
ayudarle a estudiar el comporta- al objeto y él a su vez hacer cosas a otros objetos).
miento de un estructura en presen-
cia de un terremoto. Cada tipo de El desarrollo orientado a objetos proporciona la base fundamental para
modelo se organiza de manera ensamblar sistemas a partir de sus componentes, utilizando tecnologías
diferente y cada uno tiene su como Java Beans, COM+ y otras plataformas de programación de
propio enfoque. actualidad. Visualizar, especificar, construir y documentar sistemas
orientados a objetos es exactamente el propósito de UML.
En el software hay varias formas de
enfocar un modelo. Las formas más
comunes son la perspectiva orien-
4 UML
tada a objetos y la perspectiva
algorítmica.
UML está pensado principalmente para sistemas con gran cantidad de
La visión tradicional del desarrollo software`[Booch y Otros 1999]. Ha sido utilizado de forma efectiva en
del software es la perspectiva algo- domi-nios como:
rítmica. En este enfoque, el bloque
principal de construcción de todo el - Sistemas de Información de empresa.
software es el procedimiento o - Bancos y servicios financieros.
función. Esta visión conduce a los - Telecomunicaciones
desarrolladores a centrarse en las - Transporte
cuestiones de control y descompo- - Defensa/Industria aeroespacial
sición de algoritmos grandes en - Comercio
otros pequeños. No hay nada - Electrónica médica
inherentemente malo en este punto - Ambiente Científico
de vista, salvo que tiende a producir - Servicios distribuidos basados en la Web.
sistemas frágiles y monolíticos.
Cuando los requisitos cambien (¡y lo UML no está limitado al modelado de software. De hecho, es lo suficiente
harán!) y el sistema crece (¡y lo expresivo para moldear sistemas que no son software, como flujos de
hará!) los sistemas construidos con trabajo en el sistema jurídico, comportamiento de un sistema de vigilancia
un enfoque algorítmico se vuelven médica de un enfermo, protocolos sanitarios y el diseño de hardware.
muy difícil de mantener.
4.1 MODELO ESTRUCTURAL BASICO
La visión actual de desarrollo del
software tiene una perspectiva El vocabulario de UML [Rumbaugh y Otros 1999]. incluye tres clases de
orientada a objetos. En este bloque de construcción:
enfoque, el principal bloque de
construcción de todos los sistemas - Elementos
software es el objeto o la clase. Un - Relaciones
objeto es un elemento extraído del - Diagramas
vocabulario del espacio del proble-
ma o del dominio concreto en 4.1.1 Elementos en UML
cuestión; una clase es la descrip-
ción de un conjunto de objetos Hay cuatro tipos de elementos.
similares. Todo objeto tiene una
identidad (puede nombrarse o - Elementos Estructurales
distinguirse de otros objetos), esta- - Elementos de Comportamiento.
do (generalmente hay algunos - Elementos de Agrupación.
- Elementos de Anotación

Revista Respuestas 27
Los elementos estructurales son y pueden también migrar de 2. Asociación
las partes estáticas de un modelo un nodo a otros. 3. Generación
y representan objetos conceptua- 4. Realización
les o concretos del dominio, Existen otras variaciones de
existen siete distintos tipos de estos elementos, pero estos son Una dependencia es una relación
elementos estructurales. los más importantes. semántica entre dos clases en la cual
un cambio de un elemento
- Clase, descripción de un conjun- Los elementos de comportamien- (independiente) puede afectar la
to de objetos que comparten los to son las partes dinámicas de los semántica de otro (dependiente). Una
mismos atributos, operaciones, modelos UML. asociación es una relación estructural
relaciones y semántica. que describe un conjun-
- Interfaz, es una colección de ope- - Interacción, es un comporta- to de ligas, las cuales representan
raciones que especifican un servicio miento que comprende un con- conexiones a través de objetos. La
de una clase o compo- junto de mensajes intercambia- agregación es una clase especial de
nente. Describe el comporta- asociación que representa una
miento visible externamente de una bles entre un conjunto de obje-
tos, dentro de un contexto parti- relación de estructura entre un con-
clase.
- Colaboración, define una inte- cular para alcanzar un propósito junto y sus partes. La generalización
racción y es una sociedad de roles y específico. es una relación de especializa-
otros elementos que colaboran un - Máquina de estados, es un com- ción/generalización en la cual los
comportamiento cooperativo mayor objetos de un elemento especializa-
portamiento que específica las
que la suma de los comportamientos
secuencias de estados por los do (hijos) son consistentes con los
de sus elementos.
que pasa un objeto o una inte- objetos de un elemento generaliza-
- Caso de uso, es una descripción de
un conjunto de seriación de racción durante su vida en res- ble (el padre). De esta forma, los hijos
acciones que un sistema ejecuta y puesta a eventos, unto con sus comparten la estructura y com-
que produce un resultado reacciones a estos eventos. portamiento del padre. Una realiza-
observable de interés para un actor ción es una relación semántica entre
particular. Los elementos de agrupación clasificadores, en donde un
- Clase activa, es una clase cuyos clasificador especifica un contrato que
son las partes organizativas de
objetos tienen uno o más proce-
los modelos UML. otro clasificador garantiza llevar a
sos o hilos de ejecución y por lo
cabo. Se pueden encontrar
tanto pueden dar origen a activi-
dades de control. - Paquete, es el elemento de agru- realizaciones en dos partes: entre
- Componente es una parte física y pación principal. Es un mecanis- interfaces y las clases o componen-
reemplazable de un sistema que mo de propósito general para tes que las realizan, y entre casos de
forma un conjunto de inter- organizar elementos en grupos. uso y las colaboraciones que los
faces y proporciona la imple- realizan.
mentación de dicho conjunto. Los elementos de anotación son las
- Nodo, es un elemento físico que
partes explicativas de los mode-
existe en tiempo de ejecución y 4.1.3 Diagramas en UML
los UML. Son comentarios que se
representa un recurso computa-
pueden aplicar para describir, cla-
cional que por lo general dispone de
sificar y hacer observaciones sobre Un diagrama es la representación
algo de memoria y con fre-
cualquier elemento de un modelo. El gráfica de un conjunto de elemen-
cuencia capacidad de procesa-
principal elemento de anotación es la tos conectados entre sí. Estos
miento. Un conjunto de compo-
nota. diagramas son en forma de grafos
nentes puede residir en un nodo
conectados donde los vértices
4.1.2 Relaciones en UML representan elementos y los arcos
relaciones.
Hay cuatro tipos de relaciones
1. Dependencia Los diagramas sirven para visualizar

28 Universidad Francisco de Paula Santander


un sistema desde diferentes pers- las acciones entre objetos se orde- do y diseño de sistemas mediante el
pectivas. nan de acuerdo al tiempo en que cual se pueden obtener beneficios
ocurren los mensajes y en los como: reducción del tiempo dedi-
Un mismo elemento puede apare- diagramas de colaboración el énfa- cado al análisis de requerimientos,
sis es en la organización estructural de
cer en varios diagramas, en sólo posibilidad de involucrar en el pro-
los objetos que envían y reciben
algunos o en ninguno. En teoría, mensajes. ceso de diseño al usuario, habili-
un diagrama puede contener cual- dad para automatizar las tareas, mejor
quier combinación de elementos y Un diagrama de estados también la documentación y el sopor-
relaciones, sin embargo en la maneja la vista dinámica del siste- te para una buena administración del
práctica es mejor tener un número ma, y consiste en una máquina de software, y una producción de
reducido de combinaciones. estados formada por estados, tran- software más robusto, entre otras.
siciones, eventos y actividades.
Estas relaciones son los bloques Estos diagramas permiten el mode- La expresividad y potencia de
básicos de construcción para las lado del comportamiento de una UML es tal que el 80 % de los
relaciones en UML [Jacobson y interfaz de clase o de colaboración. problemas se pueden modelar
Otros 1999]. con el 20 % de UML.
Un diagrama de actividades es
1. Diagrama de clases una clase especial del diagrama BIBLIOGRAFIA
2. Diagrama de objetos de estados y muestra el flujo
3. Diagrama de casos de uso desde una actividad a otra dentro Booch G., Rumbaugh J. and
4. Diagrama de secuencias del sistema y sirven para modelar Jacobson I., "The unified
5. Diagrama de colaboración las funciones del mismo. modeling language: User Guide",
6. Diagrama de estados Addison Wesley, 1999.
7. Diagrama de actividades Un diagrama de componentes
muestra la organización y depen- Booch G., "Object Oriented A n a
8. Diagrama de componentes
dencias a lo largo de un conjunto lysisandDesignwith
9. Diagrama de despliegue
de componentes mostrando la Applications",
Los diagramas de clases muestran vista estática de implementación Benjamin/Cummins, 1994.
la vista estática de un sistema a de un sistema.
Jacobson, I., G. Booch G. and
través de un conjunto de clases, Rumbaugh J., "The unified
interfaces y colaboraciones junto Un diagrama de despliegue
mues-tra la configuración de los software development process",
con sus relaciones. Addison Wesley, 1999.
procesos en tiempo de corrida y
Un diagrama de objetos muestra un los compo-nentes que se
encuentran en los nodos. Jacobson I., "Object Oriented
conjunto de objetos y sus relacio- Software Engineering: A Use
nes. Representan un instante de la Case Driven Approach", Addison
instancia de los elementos encon-
CONCLUSIONES
Wesley, 1992.
trados en el diagrama de clases. La búsqueda de nuevas técnicas y
herramientas que ayuden al incre- Rumbaugh, J., Jacobson I., and
Un diagrama de casos de uso mues- Booch G., "The unified modeling
mento de la calidad en los produc-
tra la vista estática de casos de uso a language: Reference Manual",
tos de software es una constante
través de un conjunto de casos de uso, dentro de los grupos de investiga- Addison Wesley, 1999.
actores y sus relaciones. ción del área de Ingeniería de
software. Como resultado de estas Rumbaugh J., "Modelado y
Un diagrama de interacción permi-te diseño orientados a objetos:
investigaciones constantemente
visualizar como un conjunto de Metodología OMT", Prentice Hall,
surgen formas innovadoras de
objetos interactúan entre sí median- España, 1996.
modelado de sistemas. UML nace de
te sus relaciones y mensajes. Estos
la necesidad de estandarizar la
diagramas direccionan la vista diná- www.rational.com
forma de aplicar la Ingeniería de
mica de un sistema. Existen dos tipos www.sdmagazine.com/uml/
software en un ambiente orientado a
de diagramas de interacción, los de objetos, proporcionando un len- www.researchitect.com
secuencias y los de colabora- guaje común que apoya el modela- www.omg.org
ción; en el diagrama de secuencias

Revista Respuestas 29

Anda mungkin juga menyukai