Lista preliminar de casos de uso
Para definir seus casos de uso, você precisa fazer algumas perguntas. Comece com sua lista de atores conhecidos.
Você precisa perguntar o que cada ator faz com o sistema. No caso da loja da Web on-line, você tem usuários registrados e usuários convidados.
O que cada um desses atores faz? Os usuários convidados podem fazer o seguinte:
1. Navegar pelo catálogo de produtos.
2. Pesquisar o catálogo de produtos.
3. Procurar um item específico.
4. Pesquisar o site.
5. Adicionar itens em um carrinho de compras e especificar a quantidade.
6. Ver o preço dos itens selecionados.
7. Mudar a quantidade de itens em seu carrinho.
8. Ver a lista de produtos popular e nova.
9. Navegar pela lista de itens desejados de outros usuários.
10. Solicitar mais informações sobre produto.
Os usuários registrados podem fazer o seguinte:
1. Tudo que o usuário convidado pode fazer.
2. Fazer uma compra.
3. Adicionar itens em sua lista de itens desejados.
4. Ver uma lista personalizada recomendada.
5. Manter sua conta.
6. Assinar notificações.
7. Tirar proveito de ofertas especiais personalizadas.
8. Controlar seus pedidos.
9. Assinar várias listas de distribuição.
10. Cancelar um pedido.
Provavelmente existem muito mais casos de uso. Entretanto, para nossos pro( Nota pósitos aqui e por brevidade, isso é suficiente para começar.
Quando tentar identificar casos de uso, você também deverá fazer a pergunta, “como um ator muda seu papel?”
No caso da loja on-line, um usuário convidado pode se tomar um usuário registrado, das seguintes maneiras:
• O usuário convidado pode se conectar com o site.
• O usuário convidado pode se registrar no site.
Um usuário registrado se torna um usuário convidado, como segue: • Um usuário registrado pode se desconectar do site.
Até aqui, essas perguntas são orientadas pela interação. Você também pode adotar uma estratégia orientada por resultados para a descoberta. Por exemplo, você pode dizer que um usuário registrado recebe uma notificação. Um segundo ponto de vista pode ajudá-lo a descobrir casos de uso que você poderia ter ignorado, se simplesmente ficasse com o primeiro ponto de vista.
Finalmente, considere as várias entidades que os usuários manipulam. Aqui, você vê produtos, informações sobre a conta e várias listas de produto e descontos. Como todas essas entidades entram no sistema? Quem adiciona novos produtos e edita ou exclui produtos antigos?
Esse sistema precisará de um terceiro ator, o administrador. Passando pelo processo anteriormente delineado, você pode verificar que os administradores podem fazer o seguinte:
Refine e nomeie os casos de uso
Agora que você tem uma lista preliminar de casos de uso, precisa refinar a lista. Em particular, você desejará procurar oportunidades de dividir ou combinar os casos de uso.
Dividindo casos de uso
Cada caso de uso deve executar um objetivo principal. Quando você encontrar um caso de uso que estiver fazendo muita coisa, desejará dividi-lo em dois ou mais casos de uso. Considere o caso de uso a seguir:
Os usuários convidados podem adicionar itens em um carrinho de compras e especificar a quantidade.
Você deve dividir esse caso de uso em dois:
• Os usuários convidados podem adicionar itens em um carrinho de compras.
• Os usuários convidados podem especificar a quantidade de um item
Você pode fazer a divisão de casos de uso, devido à maneira como eles se relacionam entre si. Os casos de uso são muito parecidos com as classes. Um caso de uso pode conter outro. Assim, se uma instância de caso de uso exige que outra faça seu trabalho, ela pode usá-la.
Um caso de uso também pode estender o comportamento de outro caso de uso. Como resultado, você pode colocar comportamento comum em um caso de uso e, então, desenvolver outros casos de uso que sejam especializações do original. Pegue o exemplo “os usuários registrados podem fazer uma compra”. Um caso de uso pode especializar o pedido, criando um caso de uso pedido para presente. Um pedido para presente poderia ser entregue sem recibo.
Combinando casos de uso
Você não quer casos de uso redundantes. Um modo de evitar a redundância é ficar atento às variantes do caso de uso. Quando você as encontrar, deverá combinar as variantes em um único caso de uso.
Novo Termo Uma variante de caso de uso é uma versão especializada de outro caso de uso mais geral.
Considere os dois casos de uso a seguir:
• Os usuários convidados podem pesquisar o catálogo de produtos.
• Os usuários convidados podem procurar um item específico.
Aqui, o segundo é simplesmente uma variante do primeiro caso de uso mais geral.
Neste caso, o caso de uso difere apenas nos parâmetros de pesquisa. É melhor ter simplesmente um caso de uso e documentar a variante nos modelos de caso de uso que você construirá posteriormente.
Uma variante é muito parecida com uma instância de uma classe. Lembre do exemplo BankAccount. Um objeto BankAccount com um saldo de US$10.000 pode ter mais dinheiro que um BankAccount com US$100. Entretanto, ambos ainda são objetos BankAccount. Tudo que diferencia um objeto BankAccount de outro é o valor de seus atributos. Os casos de uso funcionam da mesma maneira.
Os casos de uso resultantes
Após concluir o refinamento de seus casos de uso, você deve nomear cada caso de uso. Assim como na atribuição de nomes de atores, você deve se esforçar por nomear seus casos de uso de maneira que evite confusão.
Aqui estão os casos de uso resultantes para usuários convidados e usuários registrados, após a divisão e a combinação:
1. Navegar pelo catálogo de produtos.
2. Pesquisar o catálogo de produtos.
3. Pesquisar o site.
4. Adicionar item no carrinho de compras.
5. Ver o preço dos itens.
6. Mudar a quantidade de item.
7. Ver a lista de produtos destacada.
8. Navegar em uma lista de itens desejados.
9. Solicitar informações sobre produto.
10. Pedir.
11. Manter o pedido.
12. Adicionar itens na lista de itens desejados.
13. Atualizar a conta.
14. Assinar a correspondência.
15. Aplicar incentivos.
16. Conectar.
17. Desconectar.
18. Registrar.
Neste ponto, você tem uma lista de casos de uso bem desenvolvida. Agora, basta especificar totalmente cada caso de uso.
Comentários
Postar um comentário