UML es un lenguaje de modelado visual que utiliza diagramas para especificar, construir y documentar los componentes de un sistema de software orientado a objetos. UML incluye diagramas estáticos que modelan las estructuras de un sistema, como diagramas de clases, y diagramas dinámicos que modelan el comportamiento de los objetos a lo largo del tiempo, como diagramas de secuencia. Los diagramas de clases y casos de uso son dos de los diagramas más comunes de UML.