Descrevem as funcionalidades do sistema em linguagem natural estruturada, conforme esperadas pelos(as) usuários(as), retratando um “diálogo” que uma ou mais entidades externas, chamadas Atores, realizam com o sistema
Um Caso de Uso é baseado num cenário descritivo de como o Ator interage com o sistema
Ele identifica eventos que podem ocorrer e descreve as respostas do sistema para estes eventos
É preciso lembrar que:
Não provém da UML
Não existe consenso na estrutura interna da descrição textual de um caso de uso, embora hajam algumas convenções mais populares
É importante selecionar uma estrutura que seja adequada para o problema e o processo em uso
Para a disciplina vamos adotar o padrão descrito nessa página
Nome do Caso de uso *
Ator(es) *
Descrição do Caso de Uso (Fluxo Principal) *
Gatilho (condição de disparo)
Pré-condição (ões)
Pós-condição (ões)
Descrição dos Cenários Alternativos ou Fluxos Alternativos *
Estereótipos
Include(s)
Extend(s)
Generalização/Especialização
Regras de Negócio
Referências (outros casos de uso relacionados, classes que implementam o caso de uso, etc)
* ITENS OBRIGATÓRIOS
Caso de Uso: Nome do Caso de Uso
Ator(es) *: Texto.
Gatilho (condição de disparo): Texto.
Pré-condição (ões):Texto.
Descrição do Caso de Uso (Fluxo Principal) *:
Lista enumerada de passos
Pós-condição (ões): Texto.
Fluxo Alternativo 1: Texto.
Fluxo Alternativo N: Texto.
Estereótipos: Texto.
Include(s): Texto.
Extend(s):Texto.
Generalização/Especialização: Texto.
Regras de Negócio: Texto.
Referências (outros casos de uso relacionados, classes que implementam o caso de uso, etc): Texto.
* ITENS OBRIGATÓRIOS
Nome do caso de uso
-> Esta informação é retirada diretamente do diagrama de casos de uso.
Ator(es) que irá(ão) executar o caso de uso
-> Esta informação é retirada diretamente do diagrama de casos de uso.
Descrição sequencial enumerada (passos) dos eventos (ações e interações) que serão executados pelo ator e pelo sistema (respostas) - DIÁLOGO
É chamado de fluxo principal pois é o comportamento padrão esperado para o caso de uso
Quando somente um ator é responsável pelo caso de uso, utiliza-se o nome do ator na descrição dos eventos
Quando mais de um ator é responsável pelo caso de uso, utiliza-se o próprio termo “atores” para generalizar
Durante a descrição é importante referenciar itens de interação que são essenciais na interface do sistema e os dados de entrada/saída
Item opcional na descrição do caso de uso
Evento que faz com que a execução daquele caso de uso seja necessária
Não necessariamente envolve o sistema
Item opcional na descrição do caso de uso
Condições (estados) que devem ser satisfeitas no sistema antes do caso de uso ser executado
Pré-condições não devem ser validadas dentro do fluxo execução do caso de uso
Item opcional na descrição do caso de uso
Condições (estados) que retratam o sistema após a execução do caso de uso
Pós-condições podem ser omitidas quando o resultado do caso de uso é óbvio ou quando não ocorre nenhuma mudança de estado significativa no sistema após a execução do caso de uso
Este item é obrigatório ao se considerar que sempre pode haver um comportamento fora do padrão
Todo tipo de comportamento que foge do comportamento padrão esperado, ex.: subfluxos, exceções, validações, etc.
Geralmente recebe um nome e/ou um identificador
Deve referenciar o passo do fluxo principal de onde está sendo originado o comportamento alternativo
Deve referenciar o passo do fluxo para o qual retornará ou indicar o encerramento do fluxo
A descrição geralmente pode ser feita via parágrafo ou enumeração
A quantidade de fluxos alternativos vai depender do nível de detalhamento que se deseja na documentação
Pode conter suas próprias pós-condições, regras de negócio e referências
Itens opcionais na descrição do caso de uso
-> Estas informações são retiradas diretamente do diagrama de casos de uso.
Item opcional na descrição do caso de uso
Condições ou restrições sobre os processos de negócio, ou seja, sobre a forma como o negócio é executado
São originadas do Documento de Requisitos do sistema
Item opcional na descrição do caso de uso
Links, outros casos de uso relacionados, documentos que devem ser vistos, classes que implementam o caso de uso, etc.
Passos sugeridos para elaborar o Documento de Descrição de Casos de Uso:
Elaborar um Diagrama de Casos de Uso consistente;
Descrever nomes, atores e fluxos principais de cada caso de uso;
Descrever os fluxos alternativos para cada caso de uso e conectá-los aos passos do fluxo principal;
Complementar com os elementos opcionais do diagrama de casos de uso, quando houver: Estereótipos, Include(s), Extend(s), Generalização/Especialização;
Complementar com os eventos opcionais do casos de uso, quando houver: Gatilho (condição de disparo), Pré-condição (ões), Pós-condição (ões);
Complementar com outras informações opcionais do caso de uso, quando houver: Regras de Negócio e Referências;
Se necessário, refinar o Diagrama de Casos de Uso de acordo com novos insights do Documento de Descrição de Casos de Uso.
Ator: Passageiro
Gatilho: Passageiro ainda não cadastrado deseja utilizar o app de corridas.
Estereótipo: <<CRUD>>
Fluxo Principal:
O passageiro seleciona a opção “cadastrar novo usuário”
O sistema solicita os dados para o cadastro
O passageiro informa os dados para o cadastro do usuário (Nome, E-mail, CPF e Telefone) e clica no botão “cadastrar”
O sistema verifica os dados informados
O sistema realiza o cadastro do usuário passageiro
Pós-condições: Um registro de passageiro é criado no sistema; o valor do atributo reputação de passageiro é inicializado com “5,0”.
Fluxo Alternativo 1: Editar Passageiro
No passo 1, o passageiro seleciona a opção “ver dados da conta”. O sistema exibe os dados do passageiro e a opção de editar dados. O passageiro seleciona a opção editar dados. O passageiro realiza as alterações desejadas nos dados da conta e clica no botão “atualizar”. O sistema registra as alterações do cadastro do passageiro e exibe os dados da conta do passageiro atualizados. O caso de uso é encerrado. Pós-condições: Um registro de passageiro é atualizado no sistema.
Fluxo Alternativo 2: Excluir Passageiro
No passo 1, o passageiro seleciona a opção “ver dados da conta”. O sistema exibe os dados do passageiro e a opção de excluir conta. O passageiro seleciona a opção excluir conta. O sistema exibe os termos de encerramento da conta e solicita a confirmação da exclusão. O passageiro confirma a exclusão da conta. O sistema exclui o registro do passageiro no sistema. O caso de uso é encerrado. Pós-condições: Um registro de passageiro é excluído no sistema.
Fluxo Alternativo 3: Informações Inválidas
No passo 4, o sistema verifica que as informações inseridas pelo passageiro não estão dentro dos padrões. O sistema solicita ao passageiro que verifique as informações. O caso de uso retorna ao passo 2.
Fluxo Alternativo 4: Passageiro Já Cadastrado
No passo 4, o sistema verifica que o CPF informado pelo passageiro já está cadastrado no sistema e informa-o sobre o cadastro. O caso de uso é encerrado.
Ator: Passageiro
Gatilho: Passageiro deseja realizar uma nova corrida
Pré-condição: O passageiro deve estar cadastrado no sistema e ter reputação >= “4,5”.
Fluxo Principal:
O passageiro seleciona a opção “solicitar corrida”
O sistema exibe um mapa da localização atual do passageiro e solicita os dados da corrida
O passageiro informa os dados da corrida (local de origem, local de destino)
O sistema traça a rota da corrida e informa um valor estimado para a corrida
O sistema solicita a confirmação da corrida e da forma de pagamento
O passageiro confirma a corrida e a forma de pagamento
O sistema registra a solicitação da corrida
Pós-condições: Um registro de corrida é criado no sistema; o valor do atributo status da corrida é inicializado com “em aberto”.
Include: Traçar rota (passo 4)
Extends: Adicionar nova parada (passo 3)
Cancelar corrida (após passo 1)
Regras de Negócio:
O passageiro deve ter reputação >= “4,5” para estar apto a solicitar uma corrida.
Fluxo Alternativo 1: Usuário Suspenso
No passo 1, o sistema verifica que a reputação do passageiro é < “4,5” e informa que o usuário está suspenso para solicitação de corridas. O caso de uso é encerrado.
Fluxo Alternativo 2: Local Inválido
No passo 4, o sistema não consegue verificar o local de destino ou o local de origem informado pelo passageiro e informa o erro. O caso de uso retorna para o passo 3.
Fluxo Alternativo 3: Corrida não confirmada
No passo 6, passageiro não confirma a corrida ou a opção de pagamento. O caso de uso é encerrado.