De que se trata o artigo: Este artigo apresenta alguns exemplos reais de especificação de casos de uso.

Para que serve: Seu objetivo é explicitar de forma prática como estas descrições podem ser efetuadas em um nível de detalhe tal que informações importantes para outras etapas do desenvolvimento como planejamento de testes, projeto e desenvolvimento não sejam omitidas.

Em que situação o tema é útil: O assunto abordado é útil no dia a dia do analista de requisitos na realização de suas atividades.

A atividade de identificação e especificação de requisitos do software é uma atividade bastante desafiadora. É complexo:

  • Identificar as reais necessidades do cliente;
  • Lidar com clientes;
  • Formalizar as necessidades do cliente através da especificação de requisitos de forma que esta seja de fácil entendimento para o cliente e forneça as informações requeridas pela equipe de desenvolvimento;
  • Lidar com domínios desconhecidos. Entende-se por domínio o contexto para o qual o software está sendo desenvolvido. Por exemplo: contabilidade, medicina, controle de estoque. Para ilustrar esta dificuldade, imagine-se elaborando a especificação dos requisitos de um módulo estatístico para um sistema do mercado financeiro.

A lista apresentada não é completa, mas fornece indícios reais da complexidade desta atividade. Existem diversas abordagens que podem ser trabalhadas em conjunto para lidar com estas dificuldades, por exemplo: análise de domínio, prototipação, casos de uso.

O objetivo deste artigo não é apresentar um referencial teórico sobre como lidar com cada questão envolvida nas atividades diárias de um analista de requisitos. Focaremos em um ponto específico de seu trabalho que é a atividade de descrição (especificação) dos requisitos. Faremos isto de forma totalmente prática através da apresentação de um conjunto de casos de uso especificados que poderão servir de inspiração para suas atividades como analista de requisitos.

Contextualização dos Exemplos

As especificações de casos de uso apresentadas neste artigo são fruto da experiência prática dos autores como analistas de requisitos. Eles não objetivam servir de gabarito para futuras atividades de especificação, ao invés disso, podem ser considerados um bom ponto de partida para que possamos ver na prática como podemos escrever casos de uso efetivos. Entende-se por efetivo neste caso o fato do caso de uso conter informações necessárias para que as equipes de projeto e desenvolvimento possam desempenhar satisfatoriamente suas atividades a partir da descrição dos casos de uso.

É importante estar atento também ao fato de que os casos de uso apresentados neste artigo refletem as características de escrita dos autores. Estas características que envolvem itens como nível de detalhamento, informações contidas nos casos de uso, dentre outras, costumam mudar também de organização para organização. Mesmo assim, os exemplos são bastante válidos uma vez que o núcleo básico envolvido na descrição de casos de uso (fluxos principal e alternativos) está presente.

Consideraremos neste artigo o conjunto de definições apresentadas na Tabela 1 como sendo importantes na descrição de um caso de uso.

Tabela 1. Conceitos envolvidos na descrição de um caso de uso.
...
Objetivo: Contém uma breve descrição do objetivo do caso de uso.
Requisitos: Neste campo indicamos a qual requisito funcional o caso de uso em questão está associado (ler Nota 1).
Atores: Neste campo definimos a lista de atores associados ao caso de uso. Ator é qualquer entidade externa que interage com o sistema (neste caso, com o caso de uso em questão).
Prioridade: Informação identificada junto ao usuário que auxilia na definição dos casos de uso que serão contemplados em cada iteração do desenvolvimento do software.
Pré-condições: Neste campo devemos informar as condições que devem ser atendidas para que o caso de uso possa ser executado.
Freqüência de uso: Informação identificada junto ao usuário que auxilia na definição dos casos de uso que serão contemplados em cada iteração do desenvolvimento do software.
Criticalidade: Informação identificada junto ao usuário que auxilia na definição dos casos de uso que serão contemplados em cada iteração do desenvolvimento do software.
Condição de Entrada: Neste campo definimos qual ação do ator dará início à interação com o caso de uso em questão.
Fluxo Principal: Esta é uma das seções principais do caso de uso. É onde descrevemos os passos entre o ator e o sistema. O fluxo principal é o cenário que mais acontece no caso de uso e/ou o mais importante.
Fluxo Alternativo: Fluxo alternativo é o caminho alternativo tomado pelo caso de uso a partir do fluxo principal, ou seja, dada uma condição de negócio o caso de uso seguirá por outro cenário que não o principal caso essa condição seja verdadeira.
Quer ler esse conteúdo completo? Tenha acesso completo