es un lenguaje grfico para visualizar, especificar y documentar cada una de las
partes qu comprende el desarrollo de software. UML entrega una forma de modelar cosas conceptuales como lo son procesos de negocio y funciones de sistema, adems de cosas concretas como lo son escribir clases en un lenguaje determinado, esquemas de base de datos y componentes de software reusables. Es un lenguaje de modelado formado por smbolos y es utilizado por muchas metodologas. Si es un lenguaje para documentar. De hecho es un lenguaje para comunicar cosas, por lo tanto se utiliza en la documentacin. Por otro lado, la herencia, no es lo ms usado en Java. Lo ms usado es composicin. En una clase siempre se hereda una sola vez, pero siempre se componen de muchos objetos de tipos muy variados. Es un error suponer que la herencia es la caracterstica ms importante de la POO, y el error ms comn es utilizarla diestra y siniestra sin sentido solo porque es un buen recurso. Y si quieres explicar usando cdigo agregacin y composicin simplemente dique una variable local de una clase es composicin y un objeto pasado como parmetro en el constructor es agregacin. Por qu es importante UML? est consolidado como el lenguaje estndar en el anlisis y diseo de sistemas de cmputo. Mediante UML es posible establecer la serie de requerimientos y estructuras necesarias para plasmar un sistema de software previo al proceso intensivo de escribir cdigo. En otros trminos, as como en la construccin de un edificio se realizan planos previo a su construccin, en Software se deben realizar diseos en UML previa codificacin de un sistema, ahora bien, aunque UML es un lenguaje, ste posee ms caractersticas visuales que programticas, mismas que facilitan a integrantes de un equipo multidisciplinario participar e intercomunicarse fcilmente, estos integrantes siendo los analistas, diseadores, especialistas de rea y desde luego los programadores. PARA QUE SIRVE? Sirve para representar visualmente las reglas de creacin, estructura y comportamiento de un grupo relacionado de objetos y procesos. Para visualizar de forma eficiente la complejidad de un sistema u organizacin en un reducido nmero de diagramas. Para mantener mucho ms gilmente las especificaciones ante los cambios y nuevas actualizaciones de arquitectura Para qu se construyen modelos? Para comunicar la estructura deseada y el comportamiento de un sistema Para ver y controlar la arquitectura de un sistema Para comprender mejor el sistema que est bajo desarrollo Para descubrir posibilidades de simplificacin y reutilizacin Para minimizar los posibles riesgos.