A UML tem origem na compilação das melhores práticas de engenharia de desenvolvimento de softwares. A UML é uma linguagem padrão para elaboração da estrutura de projetos de software e é adequada para modelagem de sistemas. A UML fornece blocos de construção como itens estruturais, comportamentais, de agrupamento e anotacionais para modelagem, além de relacionamentos e diagramas para visualização de diferentes perspectivas de um sistema.