Olá computêros,

Hoje vamos falar um pouco sobre o nosso querido Diagrama de casos de uso. Muitos desenvolvedores apenas sabem interpretá-lo, mas não conseguem criá-lo. Aqui vai algumas dicas para a criação e entendimento do diagrama de casos de uso.

O objetivo do diagrama de casos de uso, assim como o próprio UML, é auxiliar a comunicação entre os desenvolvedores, mas no caso do diagrama de casos de uso, a comunicação fica mais entre o analista e o cliente.

O diagrama de casos de uso descreve as funções do sistema pelo ponto de vista do usuário, claro que colocando apenas as principais funcionalidades.

Você encontrará no digrama de casos de uso alguns participantes:

atorAtor : que é representado por um “bonequinho”, às vezes até vem acompanhado de uma legenda “Ator”. Esse ator é o Usuário do sistema, ou seja, ele pode ser a pessoa que usa o sistema ou o próprio sistema operacional, claro que este último é mais difícil de ser visto.

caso-de-usoCaso de uso : Esse desenho em forma de elipse, às vezes vem acompanhado com sua legenda “caso de uso”. Ele é sempre a função do Sistema, exemplo: “Pesquisar Cliente”. Como essas funções podem ser estruturadas o caso de uso também pode ser estruturado.

Relacionamentos

Os relacionamentos como o nome já diz, ajudam a entender e descrever os casos de uso.

Entre o ator e caso de uso:
Essa associação define uma função do ponto de vista do usuário.

ator_caso_uso

Entre Atores

É criada uma generalização, uma herança de casos de uso, por exemplo no desenho o ator B tem todos os casos de uso do A.

Entre casos de uso
Encontramos alguns modos como o INCLUDE:

O INCLUDE indica que aquele caso de uso é essencial para o comportamento de outro caso de uso. Neste caso também podemos escrever como B is_part_of A. (Que B é parte do A)
Encontramos também o EXTEND:

O extend é parecido com o include, mas ele não é essencial para o outro caso de uso. O caso de uso 1 pode ser acrescentado ao caso de uso 2. Dizemos que 2 sofre um ponto de extensão do caso de uso. Vamos dizer que B extends A, o que significa que B é uma variação de A. B contém adicionais em alguns determinados momentos, e lembrando que tem que ser especificado onde B é inserido no A.
Um ponto de extensão no caso de uso indica que outros casos de uso poderão ser acrescentados a ele. Assim o próprio caso de uso verificará se é preciso ou não acrescentar o outro caso de uso.

Veja no exemplo a baixo o uso do include e extend:

Diagrama2

Sistema
O sistema é sempre apresentado por um grande retângulo onde os demais participantes ficam colocados. Geralmente o nome do sistema fica dentro no retângulo na parte superior.
sistema
O desenho mostra que temos dois participantes o “Food critic” e o “Chef”, mostra também que temos quatro funções no caso de uso, assim como também mostra o nome do sistema (Restaurant).
O particpante chef só irá ter acesso as funções que o caso de uso especifica para ele, ou seja, no caso a cima ele só iria participar do caso de uso “Cook Food”, enquanto o outro participante teria acesso a outras partes do sistema como o “eat food” e “pay for food”.
Repare que o chef não tem acesso em momento nenhum a parte do “food critic” e vice versa, mas em alguns casos alguns participantes podem ter acesso as mesmas funções do sistema, geralmente usando o extend ou include, que estão explicados à cima