A UML (Unified Modeling Language) permite que requisitos funcionais sejam organizados em unidades chamadas de casos de uso. Os casos de uso definem uma série de instâncias, onde cada uma estabelece uma sequência de ações a serem realizadas pelo sistema. Tais ações provêm um resultado observável para um ator.
Um ator define uma série de papéis que os usuários do sistema podem assumir quando interagem com o sistema. Um ator também pode representar um hardware ou um sistema externo.
O diagrama de casos de uso é a representação visual de todas as funções de um sistema. A figura abaixo ilustra esta representação: