Revisar e Refinar os Cenários
Inicie pela revisão e refinamento dos cenários com os quais você estará trabalhando no ciclo de desenvolvimento atual.
É possível que eles já tenham sido identificados inicialmente em Tarefa:
Localizar Agentes e Casos de Uso. Utilize esses cenários enumerados como um ponto de partida na determinação do
escopo de quais fluxos precisarão ser descritos.
|
Detalhar o Fluxo de Eventos
Durante a Tarefa: Localizar Agentes e Casos de Uso, você já pode
ter delineado os fluxos de casos de uso dos eventos. Utilize essa descrição como ponto de partida e gradualmente
torne-a mais detalhada.
Esboços seqüenciais ajudarão a compreender e a detalhar os fluxos de
casos de uso. Outra entrada a ser considerada é o Protótipo da Interface com o Usuário, se já houver algum
desenvolvido.
Descreva os casos de uso de acordo com os padrões decididos para o projeto. Decida sobre os seguintes pontos, antes de
descrever os casos de uso para manter a consistência em todos os casos de uso:
Concentre-se na descrição do que é feito no caso de uso, e não em como problemas específicos e internos do sistema
devem ser solucionados. Esse detalhes serão considerados mais tarde no ciclo de vida. Portanto, este não é o momento de
detalhar a descrição excessivamente. Descreva somente o que você achar que se manterá estável posteriormente.
Se um fluxo de eventos do caso de uso ficar muito abrangente ou complexo ou se ele parecer conter partes independentes
entre si, divida-o em dois ou mais casos de uso.
Ao escrever o texto descritivo, consulte o Produto de
Trabalho: Glossário. À medida que novos termos surgem a partir de novos conceitos, inclua-os no glossário. Não
altere a definição de um termo sem informar os membros do projeto apropriados. Para obter informações
adicionais, consulte Tarefa:
Capturar um Vocabulário Comum.
O Conteúdo da Descrição de um Fluxo de Eventos
A descrição de um fluxo de eventos inclui:
-
Como e quando o caso de uso começa.
Exemplo:
"O caso de uso poderá iniciar quando a função 'Administrar Ordem' for ativada por um usuário."
-
Quando o caso de uso interage com os agentes e quais são os dados trocados entre os dois.
Exemplo:
"Para criar uma nova ordem, o usuário ativa a função 'Nova' e, em seguida, especifica os seguintes dados obrigatórios
relacionados à ordem: nome, elementos de rede (pelo menos um) e o tipo de função de medida. Também é possível
especificar dados opcionais sobre a ordem: um comentário (uma pequena descrição textual). O usuário ativa então a
função 'OK' e uma nova ordem é criada no sistema."
Nota: Seja explícito quanto aos dados trocados entre os agentes e o caso de uso, caso contrário, o cliente e os
usuários provavelmente não entenderão a descrição do caso de uso.
-
Como e quando o caso de uso utiliza ou armazena os dados do sistema.
Exemplo:
"O usuário ativa a função 'Modificar' para modificar uma ordem existente e especifica um número para a ordem (inteiro
pequeno). Em seguida, o sistema inicializa um formulário com o nome da ordem, seus elementos de rede e o tipo de função
de medida. Esses dados são recuperados de um dispositivo de armazenamento secundário."
-
Como e quando o caso de uso termina.
Exemplo:
"O caso de uso termina quando a função 'Sair' é ativada pelo Solicitante."
Descreva também fluxos de eventos incomuns ou excepcionais. Um fluxo excepcional é um subfluxo do caso de uso que não é
compatível com o comportamento normal ou básico do caso de uso. Contudo, esse fluxo pode ser necessário em uma
descrição completa do comportamento do caso de uso. O primeiro exemplo é o caso típico de um fluxo excepcional. Se o
caso de uso receber dados inesperados (o agente não é aquele esperado para o contexto específico), ele será encerrado.
A utilização do agente incorreto e o encerramento prematuro não fazem parte do fluxo de eventos normal.
A seguir, outros itens a serem considerados na descrição de um caso de uso:
-
Descreva o fluxo de eventos, não apenas a sua funcionalidade ou finalidade.
-
Descreva apenas os fluxos que pertencem ao caso de uso, e não o que ocorre em outros casos de uso utilizados
paralelamente a esse.
-
Não mencione os agentes que não se comunicam com o caso de uso em questão.
-
Não insira excesso de detalhes ao descrever a interação do caso de uso com os agentes.
-
Se não for preciso estabelecer uma ordem dos subfluxos descritos para o caso de uso, não o descreva como se fosse
preciso estabelecê-la.
-
Utilize os termos do glossário comum e considere as seguintes questões ao redigir o texto:
-
Utilize vocabulário claro e direto. Não use termos complexos quando um termo simples pode ser utilizado.
-
Crie frases curtas e concisas.
-
Evite advérbios, como muito, mais, bastante e outros semelhantes.
-
Utilize a pontuação correta.
-
Evite frases compostas.
Para obter informações adicionais, consulte Diretriz: Caso de
Uso, as discussões sobre o conteúdo e estilo do fluxo de eventos.
|
Estruturar o Fluxo de Eventos
O fluxo de eventos de um caso de uso pode ser dividido em vários subfluxos. Quando o caso de uso é ativado, os
subfluxos podem ser combinados de várias maneiras, desde que as seguintes questões sejam verdadeiras:
-
O caso de uso pode prosseguir a partir de um dos diversos caminhos possíveis, dependendo das informações fornecidas
por determinado agente ou dos valores de algum atributo ou objeto. Por exemplo, um agente pode escolher, entre
várias opções, o que fará em seguida ou o fluxo de eventos poderá diferir caso um valor seja inferior ou superior a
determinado valor estabelecido.
Exemplo:
Parte da descrição do caso de uso Realizar Saque em um sistema automatizado de caixa eletrônico pode ser "O valor que o
cliente deseja sacar da conta é comparado ao saldo da conta. Se o valor ultrapassar o saldo, o cliente será informado e
o caso de uso será encerrado. Caso contrário, o dinheiro será retirado da conta."
-
O caso de uso pode executar alguns subfluxos em seqüências opcionais.
-
O caso de uso pode executar vários subfluxos ao mesmo tempo.
Descreva todos esses fluxos opcionais ou alternativos. Recomenda-se descrever cada subfluxo em um suplemento separado
da seção Fluxo de Eventos. Esse procedimento é obrigatório nos seguintes casos:
-
Subfluxos que ocupam um grande segmento de determinado fluxo de eventos.
-
Fluxos de eventos excepcionais. Dessa forma, o fluxo de eventos básico do caso de uso de negócio ficará melhor
destacado.
-
Qualquer subfluxo que possa ser executado em vários intervalos do mesmo fluxo de eventos.
Se um subfluxo envolver somente uma pequena parte do fluxo de eventos completo, será melhor descrevê-lo no corpo do
texto.
Exemplo:
"Este caso de uso será ativado quando a função 'administrar ordem' for requerida pelos agentes Solicitante ou
Administrador do Gerenciador de Desempenho. Se o sinal não for originado por um desses agentes, o caso de uso encerrará
a operação e exibirá a mensagem adequada ao usuário. No entanto, se o agente for reconhecido, o caso de uso prosseguirá
com....."
É possível ilustrar a estrutura do fluxo de eventos com um diagrama de tarefas. Consulte Diretriz: Diagrama de Atividades no Modelo de Caso de Uso.
Para obter informações adicionais, consulte a seção na estrutura na Diretriz: Caso de
Uso.
|
Ilustrar Relacionamentos com Agentes e Outros Casos de Uso
Crie diagramas de casos de uso que mostrem o caso de uso e seus relacionamentos com os agentes e outros casos de uso.
Um diagrama desse tipo pode funcionar como um diagrama local do caso de uso, e deve estar relacionado com ele.
Lembre-se de que esse tipo de diagrama de caso de uso local é pouco útil, a menos que o caso de uso tenha
relacionamentos de extensão ou de inclusão que precisem ser explicados ou se houver alguma complexidade incomum entre
os agentes envolvidos.
Para obter informações adicionais, consulte Diretriz: Diagrama
de Casos de Uso.
|
Descrever os Requisitos Especiais
Qualquer requisito que possa estar relacionado ao caso de uso de negócios, mas que não seja considerado no Fluxo de
Eventos, deverá ser descrito nos Requisitos Especiais do caso de uso. Provavelmente, esses requisitos serão
não-funcionais.
Para obter informações adicionais, consulte a seção na estrutura na Diretriz: Caso de
Uso.
|
Definir o(s) Protocolo(s) de Comunicação
Defina o protocolo de comunicação a ser utilizado para qualquer agente que seja outro sistema ou hardware externo. Se
algum protocolo existente (protocolos particularmente reconhecidos ou protocolos considerados padrão) for utilizado, a
descrição do caso de uso deverá nomear o protocolo apenas. Se o protocolo for novo, aponte para onde sua definição
possa ser localizada, uma vez que precisará ser totalmente descrita durante o desenvolvimento do modelo de objetos.
|
Descrever Condição Prévia
Uma precondição de um caso de uso explica o estado do sistema para que o caso de uso possa começar.
Exemplo:
Para que um sistema de caixa eletrônico possa liberar dinheiro, as seguintes precondições devem ser atendidas:
-
A rede do sistema de caixa eletrônico deve poder ser acessada.
-
O sistema de caixa eletrônico deve estar pronto para aceitar transações.
-
O sistema de caixa eletrônico deve ter pelo menos algum dinheiro disponível para que possa liberar.
-
O sistema de caixa eletrônico deve ter papel o suficiente para imprimir um recibo para ao menos uma transação.
Todas essas precondições devem ser válidas para a utilização do caso de uso Liberar Dinheiro.
Tome cuidado ao descrever o estado do sistema. Evite descrições detalhadas de outras tarefas incidentais que possam
ocorrer antes desse caso de uso.
As precondições não são utilizadas para criar uma seqüência de casos de uso. Você nunca precisará executar primeiro um
caso de uso e outro em seguida para obter um fluxo de eventos expressivo. Se você achar necessário fazer isso, é
provável que tenha decomposto o modelo de casos de uso excessivamente. Corrija esse problema combinando os casos de uso
seqüencialmente dependentes em um único caso de uso. Se com isso o caso de uso resultante tornar-se muito
complexo, considere as técnicas de estruturação de casos de uso apresentadas na etapa Estruturar o Fluxo de
Eventos do Caso de Uso anterior ou na Tarefa:
Estruturar o Modelo de Caso de Uso.
Para obter informações adicionais, consulte a seção condição prévia na Diretriz: Caso de
Uso.
|
Descrever Condições Posteriores
Uma pós-condição de um caso de uso lista os possíveis estados do sistema no fim do caso de uso. O sistema deve estar em
um desses estados no fim da execução do caso de uso. Também é importante informar ações que o sistema executa no fim do
caso de uso, independentemente do que tenha ocorrido no caso de uso.
Exemplo:
Se o caixa eletrônico sempre exibir a mensagem 'Bem-vindo' no fim de um caso de uso, isso deve ser documentado na
pós-condição do caso de uso.
De forma semelhante, se o caixa eletrônico fechar a transação do cliente no fim de um caso de uso como Realizar Saque,
independentemente do curso de eventos seguido, esse fato deverá ser registrado como uma pós-condição do caso de uso.
As pós-condições são utilizadas para reduzir a complexidade e melhorar a compreensão do fluxo de eventos do caso de
uso.
Em nenhuma circunstância, as pós-condições devem ser utilizadas para criar uma seqüência de casos de uso. Você nunca
precisará executar primeiro um caso de uso e outro em seguida para obter um fluxo de eventos expressivo. Se você achar
que isso é preciso, os casos de uso seqüencialmente dependentes deverão ser combinados em um único caso de uso. Se com
isso o caso de uso combinado ficar muito complexo, considere as técnicas de estruturação de casos de uso apresentadas
em Estruturar o Fluxo de Eventos do Caso de Uso anterior ou em Tarefa:
Estruturar o Modelo de Caso de Uso.
Para obter informações adicionais, consulte a seção condição posterior em Diretriz: Caso de
Uso.
|
Descrever os Pontos de Extensão
Avaliar Seus Resultados
Analise e discuta o caso de uso com os investidores para que eles tenham uma boa compreensão do caso de uso e concordem
com sua descrição.
A descrição do caso de uso só está completa quando ele descreve tudo o que o caso de uso realiza, implementa ou, de
alguma forma, permite do início ao fim. Antes de terminar, verifique se o caso de uso exibe as propriedades que o
caracterizam como um "bom" caso de uso. Para obter informações adicionais, consulte Lista de Verificação: Caso
de Uso.
|
|