A UML (Unified Modeling Language) é uma ferramenta que nos auxilia na modelagem de sistemas. É importante ressaltar que ela não é um processo de desenvolvimento, ou seja, não trata-se de uma metodologia, o que significa que ela não informa o que se deve fazer primeiro e em seguida como projetar o seu sistema. A UML serve de apoio para o para o processo de desenvolvimento de software, auxiliando a visualizar o desenho e a comunicação entre objetos do sistema sendo modelado.
Em outras palavras, a UML é uma linguagem para visualizar, especificar, construir e documentar os artefatos de um sistema de software.
O RUP é um processo de desenvolvimento de software que utiliza a UML.
A modelagem de software consiste na atividade de construção de modelos que expliquem as características ou o comportamento de um software ou sistema. A UML permite que os desenvolvedores visualizem o produto de seu trabalho através de diagramas padronizados.
Um diagrama provê uma parcial representação do sistema. Ele ajuda a compreender a arquitetura do sistema em desenvolvimento.