Motivação

 UML
   - História
   - Diagramas

 Bibliografia

Casos de Uso
Diagrama de Casos de Uso

Objetivo

O Diagrama de Casos de Uso tem o objetivo de auxiliar a comunicação entre os analistas e o cliente.

Um diagrama de Caso de Uso descreve um cenário que mostra as funcionalidades do sistema do ponto de vista do usuário. 

O cliente deve ver no diagrama de Casos de Uso as principais funcionalidades de seu sistema.

Notação

O diagrama de Caso de Uso é representado por:

  • atores;
  • casos de uso;
  • relacionamentos entre estes elementos.

Estes relacionamentos podem ser:

  • associações entre atores e casos de uso;
  • generalizações entre os atores;
  • generalizações, extends e includes entre os casos de uso.

casos de uso podem opcionalmente estar envolvidos por um retângulo que representa os limites do sistema.

Em maiores detalhes:

  • Atores

Um ator é representado por um boneco e um rótulo com o nome do ator. Um ator é um usuário do sistema, que pode ser um usuário humano ou um outro sistema computacional.

  • Caso de uso

Um caso de uso é representado por uma elipse e um rótulo com o nome do caso de uso. Um caso de uso define uma grande função do sistema. A implicação é que uma função pode ser estruturada em outras funções e, portanto, um caso de uso pode ser estruturado.

  • Relacionamentos

o        Ajudam a descrever casos de uso

    • Entre um ator e um caso de uso
      • Associação

Define uma funcionalidade do sistema do ponto de vista do usuário.

    • Entre atores
      • Generalização

- Os casos de uso de B são também casos de uso de A

- A tem seus próprios casos de uso

    • Entre casos de uso
      • Include

Um relacionamento include de um caso de uso A para um caso de uso B indica que B é essencial para o comportamento de A. Pode ser dito também que B is_part_of A.

      • Extend

Um relacionamento extend de um caso de uso B para um caso de uso A indica que o caso de uso B pode ser acrescentado para descrever o comportamento de A (não é essencial). A extensão é inserida em um ponto de extensão do caso de uso A.

Ponto de extensão em um caso de uso é uma indicação de que outros casos de uso poderão ser adicionados a ele. Quando o caso de uso for invocado, ele verificará se suas extensões devem ou não serem invocadas.

Você entendeu?! Provavelmente, não. É que extend é unanimemente considerado um conceito obscuro.

Vamos a novas explicações.

Quando se especifica B extends A, a semântica é:

·        Dois casos de uso são definidos: A e A extended by B;

·        B é uma variação de A. Contém eventos adicionais, para certas condições;

·        Tem que ser especificado onde B é inserido em A.

      • Generalização ou Especialização (é_um)

caso de uso B é_um caso de uso A (A é uma generalização de B, ou B é uma especialização de A).

Um relacionamento entre um caso de uso genérico para um mais específico, que herda todas as características de seu pai.

·        Sistema

  • Limites do sistema: representado por um retângulo envolvendo os casos de uso que compõem o sistema.
  • Nome do sistema: Localizado dentro do retângulo. 

Exemplo 1

Exemplo 2