Mudanças entre as edições de "Casos de Uso"

De Stoa
Ir para: navegação, pesquisa
Linha 27: Linha 27:
 
==== Exemplo de um Caso de Uso ====
 
==== Exemplo de um Caso de Uso ====
  
  '''Depositar Cheque'''
+
  '''Depositar Cheque'''<br>
 
+
  Ator principal: cliente<br>
  Ator principal: cliente
+
  1. Cliente fornece informações de identificação.<br>
 
+
  2. Cliente insere envelope com cheque a depositar.<br>
  1. Cliente fornece informações de identificação.
+
  3. Sistema confirma recebimento do envelope e finaliza transação.<br>
 
+
  Exceções:<br>
  2. Cliente insere envelope com cheque a depositar.
+
  1.a. Caso o sistema não possa identificar o cliente, continuar com o caso de uso "Solucionar problema de identificação".<br>
 
+
  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.<br>
  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 ====
 
==== Comentários sobre o exemplo ====

Edição das 10h34min de 15 de agosto de 2007

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 Casos_de_Uso#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 glês) sobre Casos de Uso: http://en.wikipedia.org/wiki/Use_case.

Ferramentas pessoais
Espaços nominais

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