Casos de Uso? Mas hein?

By Tiago Frossard | 11/12/2007

Tá, tá, foi vacilo meu, mas é que eu nem me toquei que o termo Casos de Uso pudesse significar interrogações pra vários de vocês. Pra resolver isso, ta aí: uma explicação sobre os Casos de Uso!Esses tais Casos de Uso (CdUs daqui pra frente) não são nada mais que cada uma das diversas interações que o usuário vai ter com o seu programa. Na maioria das vezes, cada tela ou janela diferente significa um CdU diferente, mas como jogos são muito mais complexos, várias vezes tempos diversos CdUs na mesma janela. “Andar com o personagem”, “utilizar magia”, “selecionar alvo”, “pegar item” e “conversar” são diversos CdU que você realiza na mesma tela: a tela de jogo.

Mas como sempre passo um estudo de caso de exemplo, eu vou escolher o Star Fox 64? O QUÊ?!? VOCÊ NÃO CONHECE O STAR FOX 64?!?!?! Ele é um jogaço de 1997 pro Nintendo 64. Sozinho o jogo já era absurdamente maneiro, mas ficava muito melhor quando você jogava com o Rumble Pack, que tremia o joystick quando você batia ou atravessava uma explosão. Foi um dos melhores na sua época e por isso vou usá-lo, além de ter lembrado dele por qualquer aleatoriedade universal.

  • Descobrindo o jogo:

Sempre antes de encontrarmos os CdUs de um programa, precisamos identificar o uso desse programa. Um documento de design do jogo não é muito válido, mas o pessoal do PMBOK pode (E DEVE!) usar a Especificação de Requisitos. Ela é um texto beeeeem parecido com o que eu escrevi aí embaixo pro Star Fox 64

Logo no início do jogo pede-se que você aperte o START para escolher o modo de jogo. Você escolhe um dos diversos modos e confirma novamente. Vamos escolher o modo Main Game, ok? Escolhido seu modo, aparece na tela um Arwing girando e a história do jogo, nada fora do comum. Confirmando de novo, você é jogado na tela do Sistema Solar Lylat, (se não me engano… faz tempo que joguei isso) onde deve-se escolher qual área será seu próximo destino. Caso você tenha mais de um possível destino, pode escolher um deles tranqüilamente. Caso queria refazer a fase anterior, você perderá uma vida.

As fases se dividem em 4 tipos: No Blue-Marine, o submarino, no tanque Landmaster e nas Arwings, as naves, tanto no típico “vai direto pra frente” quanto no “gire por esse lugar até completar a fase”, que eles chamam de all-range mode. O conjunto de ações que você pode realizar depende do tipo de fase, mas normalmente você atira, carrega o tiro teleguiado, lança a bomba, se move, acelera, breca, dá um barrel roll (giro em parafuso) e um loop.

Quando a fase termina, você vê uma tela onde os pilotos conversam e, logo em seguida, o dano das naves de suporte é recuperado baseado na contagem de inimigos que você destruiu na fase. Caso alguma nave tenha sido abatida na fase anterior, ela será recuperada para a próxima.

Com esse basicão aí nós podemos começar a definir alguns dos casos de uso que o Star Fox 64 tem.

  • Descobrindo os CdUs:

Já que cada interação é um CdU, vem a hora de definir quais são os nossos CdUs. Lendo o texto, marcamos cada coisa que o usuário pode fazer. Nesse exemplo aí a gente pode tirar:

1. Sair da tela principal
2. Escolher modo de Jogo
3. Cortar introdução
4. Selecionar fase
5. Escolher fase
6. Voltar à fase anterior
7. Atirar
8. Carregar tiro teleguiado
9. Lançar tiro teleguiado
10. Lançar bomba
11. Mover veículo
12. Acelerar
13. Brecar
14. Realizar Barrel Roll
15. Realizar Loop

Nesse curto texto conseguimos identificar 15 interações diferentes, ou seja 15 Casos de Uso diferentes. É importantíssimo deixar claro que, mesmo coisas simples como “acelerar” ou “atirar” não devem ficar por fora da lista: CdU podem ser extremamente simples ou incrivelmente complexos, depende de sua aplicação.

Algumas pessoas trabalham com CdUs extensos, mas eu não gosto de fazer isso. Fica como dica tentar dividir aqueles extremamente complexos em diversos pequenos, como eu fiz na lista. Não há um jogar. Ao invés disso, eu desmembrei ele nas diversas ações que constituem jogar, como Acelerar, Brecar, Atirar e Realizar Loop.

Já com a lista em mãos, precisamos guardar isso tudo de uma forma clara de se entender. É claro que já há uma ferramenta na UML para tal e é dela que vou falar agora. Vamos desenhar isso tudo num Diagrama de Casos de Uso.

  • Desenhando o Diagrama de CdUs (DCU):

Um DCU é extremamente simples, porém poderoso. Ele é uma forma infalível de definir o grau de interação com o usuário, o que gera uma maior complexidade na interface. Vale lembrar que a quantidade de CdUs não indica a complexidade lógica de um programa: jogos normalmente possuem uma quantidade de CdU inferior ao número de CdUs, mas de complexidade unitária muito maior.

Para desenhar um DCU, nós jogamos um bonequinho ali que chamamos de ator. É esse ator quem realiza as ações do CdU. Se iniciar sistema é feito só por administrador, temos que ter um ator administrador lá no dagrama. Ah, importante: cada CdU está relacionado com pelo menos um ator, mesmo que indiretamente.

Os CdU são as elipses, cada uma com seu respectivo nome. Todas elas estão dentro do grande retângulo que identifica o escopo do seu sistema: o conjunto de coisas que define tudo aquilo que ele faz e exclui tudo aquilo que ele não irá fazer. No final, nosso DCU fica assim:

Esse exemplo é bem simples. Podemos ter herança de Casos de Uso, bem como extensão (extends) e inclusão (includes) de casos de uso em outros Casos de Uso (onde a relação fica de CdU para CdU, ao invés de CdU para ator), mas isso já é assunto para um próximo artigo. Até lá!

Artigos Relacionados:

Sem artigos relacionados.

4 Comments

  • By rafael lima, 14/12/2007 @ 22:54

    Muito legal o post.
    Costumava a fazer isto
    sem saber o que era CdUs :(
    E nem imaginava que poderia
    colocar isso em um diagrama.

    Parabéns!!!

  • By Karina, 26/10/2008 @ 21:07

    vou fazer um jogo baseado em megaman,mario wold, e estou com dificuldade de encontrar os casos de uso, afinal,na minha opinião a documentação de um sistema é mais facil do que á de um jogo.
    Obs: é meu primeiro jogo.

  • By Tiago Frossard, 27/10/2008 @ 00:04

    Eu acho mais fácil encontrar os CdUs em um jogo. Basta você pensar em todo o tipo de interação que você vai ter com o jogo e pronto, tem a sua lista. Ela não vai fugir muito do clássico “Andar”, “correr”, “pular”, “atirar”, “escolher fase”, “usar item”…

    Uma coisa que eu percebi é que, normalmente, um jogo tem poucos casos de uso, mas eles são bem mais complexos que num software comercial padrão, que tem dezenas de CdUs.

    Além disso, Karina, não se esqueça de dar uma lida no artigo do MVC: ele poderá te ajudar bastante com algumas dúvidas.

    Qualquer dúvida, é só perguntar.

Links to this Post

  1. O que raios é a UML – Parte 1 | Nuss... E agora?!? — 15/08/2009 @ 15:22

RSS feed for comments on this post. TrackBack URI

Leave a comment

WordPress Themes

Rec6plug

Search engine optimization by SEO Design Solutions