Engenharia de Requisitos
Desenvolvimento de Software Dirigido por Caso de Uso
Parte II: Especificando Caso de Uso
No artigo anterior explicamos a importância do desenvolvimento de software utilizando como artefato principal o caso de uso (ver Figura 1) para dirigir todo o esforço de desenvolvimento. Foram também explicados os conceitos do caso de uso e as características e regras para construirmos um modelo de caso de uso (diagrama UML) correto e coeso em relação ao negócio do cliente. Também foram mostrados os benefícios que a utilização do caso de uso traz para o desenvolvimento de software de forma que nos possibilite a rastreabilidade de requisitos que sofrem impactos devido a mudanças nas regras de negócio. Por fim, também foi visto que os impactos decorrentes de alterações durante o ciclo de vida do desenvolvimento de sistemas são minimizados com o caso de uso.
Neste artigo daremos continuidade ao desenvolvimento de software dirigido por caso de uso, mostrando boas práticas sobre como especificar um caso de uso. Com isso, toda a equipe de desenvolvimento poderá executar suas atividades e gerar os artefatos necessários, assim como criar o software de maneira mais robusta, compreensível, com maior facilidade e mantendo o mesmo nível de comunicação entre os membros da equipe.
Especificação de Caso de Uso
Antes de começarmos a descrever as boas práticas de como especificar casos de uso, temos que nos atentar para algumas considerações. Não existe um padrão formal para se criar uma especificação de caso de uso, ou seja, não existe um modelo único para que um Analista de Requisitos possa usar quando ele for descrever como um caso de uso deve funcionar. O que existe são alguns modelos pré-existentes e a escolha de sua utilização fica a critério da equipe de desenvolvimento ou é feita uma adaptação de um desses modelos para as necessidades de um projeto(s) específico(s) ou cliente(s) específico(s):
- Descrição Contínua – Nesse modelo a especificação do caso de uso será uma descrição textual livre, explicando todo o funcionamento do caso de uso e seus “cenários”. Esse modelo foi introduzido por Ivar Jacobson e seus colaboradores e é muito bom quando queremos descrever como funciona o caso de uso no nível de processo de negócio, entendendo como o negócio do cliente funciona. Esse tipo de especificação funciona muito bem para casos de uso de negócios em que o objetivo é entender o processo de negócio do cliente, mas também pode ser usado em um caso de uso sistêmico como uma versão preliminar. Detalharemos casos de uso de negócios em outra parte do artigo. Veja o exemplo no Quadro 1;
- Tabela de Narrativa Particionada – Nesse modelo colocamos uma tabela na especificação do caso de uso contendo duas colunas, sendo a primeira coluna a ação do ator e a segunda coluna a reação do sistema. A leitura de um caso de uso estruturado nesse modelo pode ser feita em ziguezague. Esse modelo foi proposto por Rebecca Wirfs-Brock e outros. Veja o exemplo no Quadro 2;
- Descrição Numerada – Nesse modelo a especificação do caso de uso é feita através de passos do ator e do sistema, ou seja, são criados tópicos de numeração onde em uma linha o ator executa seus passos e em outra o sistema também executa seus passos. Esse é o modelo mais usado que eu tenho visto em desenvolvimento de software e o que torna a leitura mais fácil para o cliente que irá validar o caso de uso. Tomaremos como base para o artigo esse tipo de modelo. Veja o exemplo no Quadro 3.
Figura 1. Diagrama de caso de uso completo
Quadro 1. Especificação de caso de uso com descrição contínua
Caso de Uso: Abrir Conta Ator: Gerente e Cliente Descrição: O Gerente ao receber a solicitação de abertura de conta pelo cliente, inicia o cadastramento do mesmo informando para o sistema os dados pessoais, o tipo da conta (corrente ou poupança) e se a conta é em conjunto. Em seguida o Gerente solicita que o cliente informe a senha da conta no sistema para que o processo possa continuar. Caso o cliente já esteja cadastrado no sistema, não é necessário o cadastramento do cliente. Ao final do procedimento, o sistema informa o número da nova conta e o Gerente repassa a informação ao cliente. |
Quadro 2. Especificação de caso de uso com narrativa particionada
Caso de Uso: Sacar Dinheiro
|
...