Sei sulla pagina 1di 5

Historia de UML

El lenguaje UML comenz a gestarse en octubre de 1994, cuando Rumbaugh se uni a la compaa Rational
fundada por Booch (dos reputados investigadores en el rea de metodologa del software).
El objetivo de ambos era unificar dos mtodos que haban desarrollado: el mtodo 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. Adems,
este lenguaje se abri a la colaboracin de otras empresas para que aportaran sus ideas. Todas estas
colaboraciones condujeron a la definicin de la primera versin de UML.
Es un lenguaje de modelado visual que se usa para especificar, visualizar, construir y documentar artefactos de un
sistema de software. Se usa para entender, disear, configurar, mantener y controlar la informacin sobre los
sistemas a construir.
UML capta la informacin sobre la estructura esttica y el comportamiento dinmico de un sistema. Un sistema se
modela como una coleccin de objetos discretos que interactan para realizar un trabajo que finalmente beneficia a
un usuario externo.
El lenguaje de modelado pretende unificar la experiencia pasada sobre tcnicas de modelado e incorporar las
mejores prcticas actuales en un acercamiento estndar.
UML no es un lenguaje de programacin. Las herramientas pueden ofrecer generadores de cdigo de UML para una
gran variedad de lenguaje de programacin, as como construir modelos por ingeniera inversa a partir de programas
existentes.
La notacin UML se deriva y unifica las tres metodologas de anlisis y diseos ms extendidas.
Metodologa de Grady Booch para la descripcin de conjuntos de objetos y sus relaciones.
Tcnica de modelado orientada a objetos de James Rumbaugh (OMT: Object - Modelling Technique).
Aproximacin de Ivar Jacobson (OOSE: Object- Oriented Software Engineering) mediante la metodologa de casos
de uso (use case).
El desarrollo de UML comenz a finales de 1994 cuando Grady Booch y Jim Rumbaugh de Rational Software
Corporation empezaron a unificar sus mtodos. A finales de 1995, Ivar Jacob son y su compaa Objectory se
incorporaron a Rational en su unificacin, aportando el mtodo OOSE.

De las tres metodologas de partida, las de Bco. y Rumbaugh pueden ser descritas como centradas en objetos, ya
que sus aproximaciones se enfocan hacia el modelado de los objetos que componen el sistema, su relacin y
colaboracin.
Por otro lado, la metodologa de Jacobson es ms centrada a usuario, ya que todo en su mtodo se deriva de los
escenarios de uso. UML se ha ido fomentando y aceptando como estndar desde el OMG, que es tambin el origen
de CORBA, el estndar lder en la industria para la programacin de objetos distribuidos.

En 1997 UML 1.1 fue aprobada por la OMG convirtindose en la notacin estndar de facto para el anlisis y el
diseo orientado a objetos.
UML es el primer mtodo en publicar un meta-modelo en su propia notacin, incluyendo la notacin para la mayora
de la informacin de requisitos, anlisis y diseo. Se trata pues de un meta-modelo auto-referencial (cualquier
lenguaje de modelado de propsito general debera ser capaz de modelarse a s mismo).
Objetivos
Durante el desarrollo del UML sus autores tuvieron en cuenta:
Proporcionar una notacin y semnticas suficientes para poder alcanzar una gran cantidad de aspectos del
modelado contemporneo de una forma directa y econmica.
Proporcionar las semnticas suficientes para alcanzar aspectos del modelado que son de esperar en un futuro, como
por ejemplo aspectos relacionados con la tecnologa de componentes, el cmputo distribuido, etc.
Proporcionar mecanismos de extensin de forma que proyectos concretos puedan extender el meta-modelo a un
coste bajo.

Proporcionar mecanismos de extensin de forma que aproximaciones de modelado futuras podran desarrollarse
encima del UML.
Permitir el intercambio del modelos entre una gran variedad de herramientas.
Proporcionar semnticas suficientes para especificar las interfaces a bibliotecas para la comparicin y el
almacenamiento de componentes del modelo.
Ser tan simple como sea posible pero manteniendo la capacidad de modelar toda la gama de sistemas que se
necesita construir.
UML es un lenguaje de modelado de propsito general que pueden usar todos los modeladores.
UML no pretende ser un mtodo de desarrollo completo.
Debe ser un lenguaje universal, como cualquier lenguaje de propsito general.
Imponer un estndar mundial.
Mediante el fomento del uso de UML OMG pretende alcanzar los siguientes objetivos:
Proporcionar a los usuarios un lenguaje de modelado visual expresivo y utilizable para el desarrollo e intercambio de
modelos significativos.
Proporcionar mecanismos de extensin y especializacin.
Ser independiente del proceso de desarrollo y de los lenguajes de programacin.
Proporcionar una base formal para entender el lenguaje de modelado.
Fomentar el crecimiento del mercado de las herramientas OO.
Soportar conceptos de desarrollo de alto nivel como pueden ser colaboraciones, frameworks, patterns, y
componentes.
Integrar las mejores prcticas utilizadas hasta el momento.
El UML debe entenderse como un estndar para modelado y no como un estndar de proceso software. Aunque
UML debe ser aplicado en el contexto de un proceso, la experiencia ha mostrado que organizaciones diferentes y
dominios del problema diferentes requieren diferentes procesos. Por ello se han centrado los esfuerzos en un metamodelo comn (que unifica las semnticas) y una notacin comn que proporcione una representacin de esas
semnticas. De todas formas, los autores de UML fomentan un proceso guiado por casos de uso, centrado en la
arquitectura, iterativo e incremental. Bajo estas lneas genricas proponen el proceso software definido en una de las
extensiones del UML (Objectory Extension for Software Enginnering) , pero en general el proceso software es
fuertemente dependiente de la organizacin y del dominio de aplicacin

Los conceptos y modelos de UML pueden agruparse en las siguientes reas conceptuales:
Estructura esttica:
Cualquier modelo preciso debe primero definir su universo, esto es, los conceptos clave de la aplicacin, sus
propiedades internas, y las relaciones entre cada una de ellas. Este conjunto de construcciones es la estructura
esttica. Los conceptos de la aplicacin son modelados como clases, cada una de las cuales describe un conjunto
de objetos que almacenan informacin y se comunican para implementar un comportamiento. La informacin que
almacena es modelada como atributos; La estructura esttica se expresa con diagramas de clases y puede usarse
para generar la mayora de las declaraciones de estructuras de datos en un programa.
Comportamiento dinmico:
Hay dos formas de modelar el comportamiento, una es la historia de la vida de un objeto y la forma como interacta
con el resto del mundo y la otra es por los patrones de comunicacin de un conjunto de objetos conectados, es decir
la forma en que interactan entre s. La visin de un objeto aislado es una maquina de estados, muestra la forma en
que el objeto responde a los eventos en funcin de su estado actual. La visin de la interaccin de los objetos se
representa con los enlaces entre objetos junto con el flujo de mensajes y los enlaces entre ellos. Este punto de vista
unifica la estructura de los datos, el control de flujo y el flujo de datos.
Construcciones de implementacin:
Los modelos UML tienen significado para el anlisis lgico y para la implementacin fsica. Un componente es una

parte fsica reemplazable de un sistema y es capaz de responder a las peticiones descritas por un conjunto de
interfaces. Un nodo es un recurso computacional que define una localizacin durante la ejecucin de un sistema.
Puede contener componentes y objetos.
Mecanismos de extensin:
UML tiene una limitada capacidad de extensin pero que es suficiente para la mayora de las extensiones que
requiere el da a da sin la necesidad de un cambio en el lenguaje bsico. Un estereotipo es una nueva clase de
elemento de modelado con la misma estructura que un elemento existente pero con restricciones adicionales.
Organizacin del modelo:
La informacin del modelo debe ser dividida en piezas coherentes, para que los equipos puedan trabajar en las
diferentes partes de forma concurrente. El conocimiento humano requiere que se organice el contenido del modelo
en paquetes de tamao modesto. Los paquetes son unidades organizativas, jerrquicas y de propsito general de
los modelos de UML. Pueden usarse para almacenamiento, control de acceso, gestin de la configuracin y
construccin de bibliotecas que contengan fragmentos de cdigo reutilizable.
Elementos de anotacin
Los elementos de anotacin son las partes explicativas de los modelos UML. Son comentarios que se pueden aplicar
para describir, clasificar y hacer observaciones sobre cualquier elemento de un modelo.
El tipo principal de anotacin es la nota que simplemente es un smbolo para mostrar restricciones y comentarios
junto a un elemento o un conjunto de elementos
Relaciones
Existen cuatro tipos de relaciones entre los elementos de un modelo UML. Dependencia, asociacin, generalizacin
y realizacin, estas se describen a continuacin
Dependencia
Es una relacin semntica entre dos elementos en la cual un cambio a un elemento (el elemento
independiente) puede afectar a la semntica del otro elemento (elemento dependiente). Se representa como una
lnea discontinua, posiblemente dirigida, que a veces incluye una etiqueta.
Asociacin
Es una relacin estructural que describe un conjunto de enlaces, los cuales son conexiones entre objetos. La
agregacin es un tipo especial de asociacin y representa una relacin estructural entre un todo y sus partes. La
asociacin se representa con una lnea continua, posiblemente dirigida, que a veces incluye una etiqueta. A menudo
se incluyen otros adornos para indicar la multiplicidad y roles de los objetos involucrados
Generalizacin
Es una relacin de especializacin / generalizacin en la cual los objetos del elemento especializado (el hijo) pueden
sustituir a los objetos del elemento general (el padre). De esta forma, el hijo comparte la estructura y el
comportamiento del padre. Grficamente, la generalizacin se representa con una lnea con punta de flecha vaca.
Realizacin
Es una relacin semntica entre clasificadores, donde un clasificador especifica un contrato que otro clasificador
garantiza que cumplir. Se pueden encontrar relaciones de realizacin en dos sitios: entre interfaces y las clases y
componentes que las realizan, y entre los casos de uso y las colaboraciones que los realizan. La realizacin se
representa como una mezcla entre la generalizacin y la dependencia, esto es, una lnea discontinua con una punta
de flecha vaca .
Diagramas
Diagramas
Los diagramas se utilizan para representar diferentes perspectivas de un sistema de forma que un diagrama es una
proyeccin del mismo. UML proporciona un amplio conjunto de diagramas que normalmente se usan en pequeos
subconjuntos para poder representar las cinco vistas principales de la arquitectura de un sistema.
Diagramas de Clases
Muestran un conjunto de clases, interfaces y colaboraciones, as como sus relaciones. Estos diagramas son los ms
comunes en el modelado de sistemas orientados a objetos y cubren la vista de diseo esttica o la vista de procesos
esttica (s incluyen clases activas).

Diagramas de Objetos
Muestran un conjunto de objetos y sus relaciones, son como fotos instantneas de los diagramas de clases y cubren
la vista de diseo esttica o la vista de procesos esttica desde la perspectiva de casos reales o prototpicos.
Diagramas de Casos de Usos
Muestran un conjunto de casos de uso y actores (tipo especial de clases) y sus relaciones. Cubren la vista esttica
de los casos de uso y son especialmente importantes para el modelado y organizacin del comportamiento.
Diagramas de Secuencia y de Colaboracin
Tanto los diagramas de secuencia como los diagramas de colaboracin son un tipo de diagramas de interaccin.
Constan de un conjunto de objetos y sus relaciones, incluyendo los mensajes que se pueden enviar unos objetos a
otros. Cubren la vista dinmica del sistema. Los diagramas de secuencia enfatizan el ordenamiento temporal de los
mensajes mientras que los diagramas de colaboracin muestran la organizacin estructural de los objetos que
envan y reciben mensajes. Los diagramas de secuencia se pueden convertir en diagramas de colaboracin sin
perdida de informacin, lo mismo ocurren en sentido opuesto.
Diagramas de Estados
Muestran una maquina de estados compuesta por estados, transiciones, eventos y actividades. Estos diagramas
cubren la vista dinmica de un sistema y son muy importantes a la hora de modelar el comportamiento de una
interfaz, clase o colaboracin.
Diagramas de Actividades
Son un tipo especial de diagramas de estados que se centra en mostrar el flujo de actividades dentro de un sistema.
Los diagramas de actividades cubren la parte dinmica de un sistema y se utilizan para modelar el funcionamiento
de un sistema resaltando el flujo de control entre objetos.
Diagramas de Componentes
Muestra la organizacin y las dependencias entre un conjunto de componentes. Cubren la vista de la
implementacin esttica y se relacionan con los diagramas de clases ya que en un componente suele tener una o
ms clases, interfaces o colaboraciones
Diagramas de Despliegue
Representan la configuracin de los nodos de procesamiento en tiempo de ejecucin y los componentes que residen
en ellos. Muestran la vista de despliegue esttica de una arquitectura y se relacionan con los componentes ya que,
por lo comn, los nodos contienen uno o ms componentes.

Lenguaje unificado de modelado


De Wikipedia, la enciclopedia libre
Saltar a: navegacin, bsqueda

Collage de diagramas UML.


Lenguaje Unificado de Modelado (UML, por sus siglas en ingls, Unified Modeling
Language) es el lenguaje de modelado de sistemas de software ms conocido y utilizado
en la actualidad; est respaldado por el OMG (Object Management Group).
Es un lenguaje grfico para visualizar, especificar, construir y documentar un sistema.
UML ofrece un estndar para describir un "plano" del sistema (modelo), incluyendo
aspectos conceptuales tales como procesos de negocio, funciones del sistema, y
aspectos concretos como expresiones de lenguajes de programacin, esquemas de bases
de datos y compuestos reciclados.
Es importante remarcar que UML es un "lenguaje de modelado" para especificar o para
describir mtodos o procesos. Se utiliza para definir un sistema, para detallar los
artefactos en el sistema y para documentar y construir. En otras palabras, es el lenguaje
en el que est descrito el modelo.
Se puede aplicar en el desarrollo de software gran variedad de formas para dar soporte a
una metodologa de desarrollo de software (tal como el Proceso Unificado Racional o
RUP), pero no especifica en s mismo qu metodologa o proceso usar.
UML no puede compararse con la programacin estructurada, pues UML significa
Lenguaje Unificado de Modelado, no es programacin, solo se diagrama la realidad de
una utilizacin en un requerimiento. Mientras que, programacin estructurada, es una
forma de programar como lo es la orientacin a objetos, la programacin orientada a
objetos viene siendo un complemento perfecto de UML, pero no por eso se toma UML
slo para lenguajes orientados a objetos.
UML cuenta con varios tipos de diagramas, los cuales muestran diferentes aspectos de
las entidades representadas.

Potrebbero piacerti anche