UML es un lenguaje gráfico para modelado de programas de computadoras. “Modelado” significa como su nombre indica, crear modelos o representaciones de “algo”, como un plano de una casa o similar.
UML proporciona un medio de visualizar la organización de alto nivel de los programas sin fijarse con detenimiento en los detalles del código real.
El lenguaje de modelado está unificado porque está basado en varios modelos previos (métodos de Booch, Rumbaugh y Jacobson).
En la actualidad UML está adoptado por OMG (Object Management Group), un consorcio de más de 1.000 sociedades y universidades activas en el campo de tecnologías orientadas a objetos y está dedicado especialmente a unificación de estándares.
UML tiene una gran riqueza semántica que lo abstrae de numerosos aspectos técnicos y ésa es su gran fortaleza. ¿Porqué necesitamos UML en programación orientada a objetos? En primer lugar, porqué UML nació como herramientas gráficas y metodologías para implementar análisis y diseño orientados a objetos y, en segundo lugar, porque en programas grandes de computadoras es difícil entender el funcionamiento de un programa examinando sólo su código y es necesario ver cómo se relacionan unas partes con otras.
La parte más importante de UML, al menos a un nivel de iniciación o medio en programación, resi-de en un conjunto rico de diagramas gráficos. Diagramas de clases que muestran las relaciones entre clases, diagramas de objetos que muestran cómo se relaciona objetos específicos entre sí, diagramas de casos de uso que muestran cómo los usuarios de un programa interactúan con el programa, etc.
Cuando se modelan clases, UML es de hecho estándar para representaciones gráficas. UML no es un proceso de desarrollo de software sino, simplemente, un medio para examinar el software que se está desarrollando. Aunque, al ser un estándar, UML se puede aplicar a cualquier tipo de lenguaje de programación, está especialmente adaptado a la POO.
En la figura se muestran representaciones gráficas de clases, objetos y relaciones de generalización y especialización (herencia) entre clases.
Una breve reseña de UML es la siguiente. En 1994, James Rumbaugh y Grady Booch deciden unirse para unificar sus notaciones y métodos: OMT y Booch.
En 1995, Juar Jacobson se une al equipo de «los tres amigos» en la empresa Rational Software. En 1997 se publica UML 1.0 y en ese mismo año OMG adopta la notación y crea una comisión (Tark Forcs) encargada de estudiar la evolución de UML. En 2003 se presenta UML 1.5.
A lo largo de 2005 se presenta UML 2.0 y en 2006 Rumbaugh, Booch y Jacobson publican las nuevas ediciones de la Guía de Usuario y Manual de Referencia.
Representaciones gráficas de objetos, clases y herencia en UML 2.0.