UML es un lenguaje gráfico para modelar sistemas de software que incluye diagramas como diagramas de clases, secuencias y casos de uso. Los diagramas de colaboración describen las interacciones entre objetos a través de mensajes, mientras que los diagramas de componentes describen la organización física de un sistema en términos de componentes y sus interfaces.