Casos de Uso

De Stoa
Edição feita às 11h09min de 15 de agosto de 2007 por Callado (disc | contribs)

Ir para: navegação, pesquisa

Casos de Uso (conhecidos como "Use Cases" em inglês) são uma ferramenta de desenvolvimento, geralmente utilizada para o desenvolvimento de software, com o intuito de determinar as especificações funcionais de um sistema. Estas podem ser agrupadas em um documento que descreve qual é o o objetivo do "mundo real" relativo ao sistema, quais serão os seus usuários e que funções o sistema deverá permitir ou facilitar que as pessoas realizem. Por exemplo: a especificação funcional de um caixa automático de banco (conhecidos em inglês como ATMs) deverá indicar que as pessoas que o utilizarão são correntistas daquele banco, e que as funções que elas poderão realizar através daquele sistema serão o depósito, o saque, o pagamento de contas. Nessa especificação, não deverá constar a função "Abrir Conta", pois supomos que um banco não permitirá que uma pessoa crie uma conta bancária a não ser pessoalmente ou por procuração.

No caso do Stoa, que é um sistema em desenvolvimento contínuo, acreditamos que os Casos de Uso podem ser um canal de comunicação entre os usuários e os desenvolvedores, que facilitará a expressão de desejos e necessidades pelos usuários de maneira semi-formal, o que facilitará a compreensão desses desejos e necessidades por parte dos desenvolvedores.

Os Casos de Uso do Stoa devem ser compreendidos dentro de certos limites, ditados pela delimitação do conceito do que é o Stoa, pela indicação de quais são seus "atores" e dos objetivos gerais desses atores. (Entendemos por "ator", aqui, o "tipo de usuário" do sistema - ou seja, do ponto de vista "mecânico" nada mais do que uma série de bits - não queremos de maneira alguma implicar que as pessoas que usam o stoa estejam "atuando", a menos que façam isso por sua própria vontade).

O que é o Stoa? 
O Stoa é uma rede social dos alunos, professores e funcionários da USP.
Quais são os atores do Stoa?
Alunos, Professores e Funcionários.
Quais são os objetivos de cada tipo de usuário do Stoa?
Alunos: Aprender
Professores: Ensinar, Pesquisar
Funcionários: Facilitar o ensino
Todos: Comunicar-se.

Estas definições não são um caso de uso; elas delimitam um "espaço conceitual" dentro do qual escreveremos os casos de uso, que deverá estar dentro dos limites estabelecidos pelo conceito do que é o Stoa, de quais são seus usuários e o que estes usuários querem ao utilizar o sistema.

Formato de um Caso de Uso

Um Caso de Uso pode ter uma infinidade de formatos, dependendo de como seu autor desejar especifica-lo. As principais diferenças entre um formato e outro são a ausência ou presença de campos de informação. Por exemplo, um autor pode considerar que para o Caso de Uso "Sacar Dinheiro" não é necessário indicar quais são as precondições para que o ator que utilize o caixa automático de banco; outro autor pode considerar que essa informação é necessária. É possível deixar a escolha do formato a cargo de cada autor individual, mas isso tornaria o conjunto dos casos de uso menos coerente, e portanto menos interessante para os programadores, que irão no final do processo utilizar os casos de uso para programar o sistema. Portanto, tentaremos adotar um formato comum nos casos de uso do Stoa, que seja ao mesmo tempo suficientemente completo e com o menor número de elementos possível, a fim de que seja útil e simples.

Exemplo de um Caso de Uso


Depositar Cheque

Ator principal: cliente

1. Cliente fornece informações de identificação.

2. Cliente insere envelope com cheque a depositar.

3. Sistema confirma recebimento do envelope e finaliza transação.

Exceções:

1.a. Caso o sistema não possa identificar o cliente, continuar com o caso de uso "Solucionar problema de identificação".

3.a. Caso o sistema não consiga identificar que o cliente inseriu um envelope, ele deve apresentar ao cliente a opção de notificar um funcionário, e opcionalmente oferecer ao cliente a opção de bloquear o caixa até que o funcionário apareça.


Comentários sobre o exemplo

O Caso de Uso "Depositar Cheque" tem a seguinte estrutura:

  1. Nome
  2. Lista de Atores
  3. Seqüência de Etapas
  4. Exceções.

Tal como referido no item Formato de um Caso de Uso, este caso de uso poderia ter outros itens, como por exemplo Versão, Autor, e alguns outros - veja o formato de caso de uso na página da wikipedia (em inglês) sobre Casos de Uso: http://en.wikipedia.org/wiki/Use_case.

  1. Nome de um Caso de Uso

O nome de um caso de uso deve ser informativo e tão simples quanto possível. Segundo os autores do livro Patterns for Effective Use Cases, o nome de um caso de uso deve ser um VerbPhraseName, ou seja, o nome de um caso de uso deve ser uma frase que corresponde a uma ação, geralmente escrita como um verbo. Bons nomes para casos de uso seriam, no caso do Stoa, 'Escrever mensagem de blog', 'Criar comunidade' ou 'Adicionar contato'.

  1. Lista de Atores de um Caso de Uso

Os Atores de um Caso de Uso são sempre pessoas que utilizam o sistema com um determinado objetivo em mente. Portanto devemos indicar como sendo o Ator de um caso de uso a pessoa que tem um desejo ou uma necessidade, e que pretende satisfazer esse objetivo utilizando o sistema. No caso do Stoa, identificamos três atores (tipos de usuários):

Alunos, Professores e Funcionários

Esta divisão poderia ser refinada; entretanto acreditamos que caso seja necessário escrever casos de uso aplicáveis apenas a categorias mais específicas a um destes tipos de usuário, será mais adequado criar papéis que subdividam estas categorias em categorias mais específicas. Por exemplo, se for necessário no futuro escrever casos de uso específicos para 'alunos estrangeiros', criaremos o papel Aluno Estrangeiro, e então pdoeremos identificar no caso de uso 'Traduzir texto' o ator como Aluno Estrangeiro.

Ferramentas pessoais
Espaços nominais

Variantes
Ações
Navegação
Imprimir/exportar
Ferramentas