UML es una especificaci�n de notaci�n orientada a objetos. Se basa en las anteriores especificaciones BOOCH, RUMBAUGH y COAD-YOURDON. Divide cada proyecto en un n�mero de diagramas que representan las diferentes vistas del proyecto. Estos diagramas juntos son los que representa la arquitectura del proyecto.
Con UML nos debemos olvidar del protagonismo excesivo que se le da al diagrama de clases, este representa una parte importante del sistema, pero solo representa una vista est�tica, es decir muestra al sistema parado. Sabemos su estructura pero no sabemos que le sucede a sus diferentes partes cuando el sistema empieza a funcionar. UML introduce nuevos diagramas que representa una visi�n din�mica del sistema. Es decir, gracias al dise�o de la parte din�mica del sistema podemos darnos cuenta en la fase de dise�o de problemas de la estructura al propagar errores o de las partes que necesitan ser sincronizadas, as� como del estado de cada una de las instancias en cada momento. El diagrama de clases continua siendo muy importante, pero se debe tener en cuenta que su representaci�n es limitada, y que ayuda a dise�ar un sistema robusto con partes reutilizables, pero no a solucionar problemas de propagaci�n de mensajes ni de sincronizaci�n o recuperaci�n ante estados de error. En resumen, un sistema debe estar bien dise�ado, pero tambi�n debe funcionar bien.
UML tambi�n intenta solucionar el problema de propiedad de c�digo que se da con los desarrolladores, al implementar un lenguaje de modelado com�n para todos los desarrollos se crea una documentaci�n tambi�n com�n, que cualquier desarrollador con conocimientos de UML ser� capaz de entender, independientemente del lenguaje utilizado para el desarrollo.
UML es ahora un est�ndar, no existe otra especificaci�n de dise�o orientado a objetos, ya que es el resultado de las tres opciones existentes en el mercado. Su utilizaci�n es independiente del lenguaje de programaci�n y de las caracter�sticas de los proyectos, ya que UML ha sido dise�ado para modelar cualquier tipo de proyectos, tanto inform�ticos como de arquitectura, o de cualquier otro ramo.
UML permite la modificaci�n de todos sus miembros mediante estereotipos y restricciones. Un estereotipo nos permite indicar especificaciones del lenguaje al que se refiere el diagrama de UML. Una restricci�n identifica un comportamiento forzado de una clase o relaci�n, es decir mediante la restricci�n estamos forzando el comportamiento que debe tener el objeto al que se le aplica.