terça-feira, 15 de maio de 2012

UML .: Modelagem de casos de uso:. Parte 1




O modelo de caso de uso é uma representação  da funcionabilidades externamente observáveis e dos elementos externos que interagem com ele. A modelagem de caso de uso é parte integrante  da especificação de requisitos, moldando os requisitos funcionais do sistema. O modelo de caso de uso força os desenvolvedores modelarem o sistema de acordo com o usuário e não ao contrario.
Modelo de Casos de Uso
O modelo de caso de uso de um sistema é composto de:
  • Casos de uso: é a especificação de uma sequencia de interações entre um sistema e os agentes externos que utilizam esse sistema sem revelar a estrutura e o comportamento internos
    • Formato: Alguns tipos de formatos comumente utilizados são:
      • Descrição continua: A narrativa é feita através de um texto livre


      • Descrição numerada: a narrativa é descrita através de uma serie de passos numerada.


      • Descrição particionada: nesse estilo, a sequencia de interações entre o ator e o sistema é particionada em duas colunas, uma para o autor e outra para o sistema.


Grau de abstração
Em relação ao grau de abstração, um caso de uso pode ser:
  • Real ou  concretos: as descrições das interações citam detalhes da tecnologia a ser utilizada na implementação de caso de uso, comprometendo-se com a solução de projeto(tecnologia) a ser utilizada para implementar o caso de uso
  • Essencial: é abstrato e não faz menção a tecnologia mencionada, um caso de uso essencial pode ser utilizado em qualquer dos formatos apresentados. Por serem independentemente de tecnologia podem ser utilizados para modelar os casos de uso de negócio.


Dica: Para diferenciar o grau de abstração utilize a regra dos 100 anos. Apôs ler o caso de uso se pergunte, "A narrativa é valida tanto a 100 anos atras quanto daqui 100 anos ?" se a reposta for sim, então muito provavelmente esse caso de uso é essencial.


Cenário
É a descrição de uma das maneiras pelas quais um caso de uso pode ser realizado. Um cenário também é chamando de instancia de um caso de uso.


Atores
Qualquer elemento externo(não faz parte do sistema) que interage com o mesmo externamente é denominado um ator. Ator é um papel representado no sistema seu nome deve lembrar seu papel. Exemplo de bom nome é: Aluno. Exemplo de mal nome: João.
Categorias de autor:
  • Pessoas: empregados, cliente, gerente, etc..
  • Organizações: empresas, agencias, etc..
  • Outros sistemas: sistemas de cobrança, sistemas  de estoque, etc...
  • Equipamentos: sensores, leitores de códigos, etc..
Os atores também são divididos em:
  • Primários: aquele que inicia uma sequencia de interações, são os agentes externos para qual o caso de uso traz benefícios diretos.
  • Secundários: supervisiona, operam, auxiliam na utilização do sistema. Esses atores existem apenas para que os atores primários possam utilizar o sistema.


Relacionamentos
Casos de uso não existem sozinhos, os relacionamentos ligam os atores aos casos de uso, atores a atores, e casos de uso a casos de uso.

Relacionamento entre ator e um caso de uso:
  • Relacionamento de comunicação ou associação: representa as informação  de quais  atores estão associadas a que caso de uso.


Entre casos de uso:
  • Relacionamento de inclusão: Quando dois ou mais casos de uso utilizam um sequencia comum de interações, essa sequencia pode ser em um outro caso de uso através da inclusão. Na inclusão os casos de uso incluídos tem que ter sua sequencia de instruções realizadas.

  • Relacionamento de extensão: utilizado para modelar situações em que diferentes sequencias  de interações podem ser inseridas em um caso de uso. Na extensão os casos de uso estendido podem ou não ter suas instruções realizadas.


  • Relacionamento de generalização: Permite que um caso herde características de outro caso de uso mais genérico.

Uma duvida é saber que tipo de relacionamento utilizar  em uma dada situação. Não há regras que definem que determinado tipo deve ser utilizado, há apenas dicas baseadas em experiencias praticas, que são:
  • Use inclusão quando o mesmo comportamento se repete em mais de um caso de uso.
  • Use extensão quando um comportamento opcional de um caso de uso tiver de ser descrito.
  • Use herança  entre casos de uso quando você identificar dois casos de usos com comportamentos semelhantes e um deles for uma forma especial do outro.


IMPORTANTE
Todo o conteúdo deste post, foi baseado e tirado do livro de:
Autor:  Eduardo Bezerra
Livro: Princípios de Análise e projetos de sistemas com UML.
Em nenhum momento a leitura deste post torna indispensável a leitura do livro.


Nenhum comentário:

Postar um comentário