Pontos de Verificação: Caso de Uso
- Cada caso de uso concreto está envolvido com pelo menos um ator?
Se não estiver, há algo errado; um caso de uso que não interage com um ator é supérfluo e deve ser removido.
Para obter informações adicionais, consulte Diretrizes:
Caso de Uso.
- Cada caso de uso é independente dos demais?
Se dois casos de uso forem sempre ativados na mesma seqüência, provavelmente você terá de transformá-los em um único caso de uso.
- Para um caso de uso incluído: ele faz suposições sobre os
casos de uso que o incluem? Essas suposições devem ser evitadas para que o caso de uso incluído não seja afetado por mudanças feitas nos casos de uso incluídos.
- Há casos de uso com comportamentos ou fluxos de eventos muito parecidos?
Se houver, e se você desejar que os comportamentos sejam parecidos no futuro, transforme-os em um único caso de uso.
Esse procedimento facilita a introdução de mudanças futuras.
Nota: você deve envolver os usuários se optar por
mesclar casos de uso, pois é provável que os usuários que interagem com o novo
caso de uso mesclado sejam afetados.
- Parte do fluxo de eventos já foi modelada como outro caso de uso?
Se afirmativo, o novo caso de uso pode utilizar o antigo.
- Alguma parte do fluxo de eventos já faz parte de outro caso de uso?
Se fizer, você deverá extrair esse subfluxo e fazer com que ele seja utilizado pelos casos de uso em questão.
Nota: você deve envolver os usuários se optar por
"reutilizar" o subfluxo, pois é provável que os usuários do caso de uso
existente sejam afetados.
- O fluxo de eventos de um caso de uso deve ser inserido no fluxo de eventos de outro?
Se afirmativo, modele-o com um relacionamento de extensão com o outro caso de uso.
- Os casos de uso têm nomes exclusivos, intuitivos e explicativos de forma que não sejam confundidos em um estágio posterior?
Se não, altere seus nomes.
- Os clientes e usuários entendem da mesma forma os nomes e as descrições dos casos de uso?
O nome de cada caso de uso deve descrever o comportamento aceito pelo caso de uso.
- O caso de uso atende a todos os requisitos que obviamente determinam seu desempenho?
Inclua nos Requisitos Especiais do caso de uso quaisquer requisitos
(não-funcionais) a serem manipulados nos modelos
de objeto.
- A seqüência de comunicação entre o ator e o caso de uso atende às expectativas do usuário?
- Está claro como e quando o fluxo de eventos do caso de uso inicia e termina?
- Deve haver um comportamento que seja ativado somente quando uma condição específica não for atendida.
Há uma descrição do que irá acontecer se uma determinada condição não for atendida?
- Existem casos de uso extremamente complexos?
Se você deseja que seu modelo de casos de uso seja facilmente entendido, talvez precise dividir os casos de uso complexos.
- Algum caso de uso contém fluxos de eventos discrepantes?
Se afirmativo, é recomendável dividi-lo em dois ou mais casos de uso separados.
Um caso de uso que contém fluxos de eventos discrepantes será muito difícil de ser entendido e mantido.
- O subfluxo de um caso de uso foi modelado com precisão?
- Está claro quem deseja executar um caso de uso?
A finalidade do caso de uso está igualmente clara?
- As interações de atores e as informações trocadas são claras?
- A breve descrição oferece uma visão real do caso de uso?
| |
|