MAC 5714 - Tópicos de Programação
Orientada a Objetos
Aula 8
Cartões CRC
Dinâmica
- A metodologia é baseada em duas atividades básicas:
brainstorming (tempestade
de idéias) e role playing
(dramatização)
- Na aula passada vimos brainstorming
Dramatização
- Simplesmente preencher os cartões CRC não garante
que o que escrevemos faça muito sentido.
- Uma forma de prototipar o sistema sem escrever código
é fazer uma dramatização onde cada pessoa do grupo
age como se fosse uma das classes (ou objetos) do sistema sendo
especificado.
- Em geral, diferentes pessoas vão ter
interpretações diferentes do que está escrito em
cada cartão CRC.
- Ao se dramatizar o comportamento de cada classe, fica mais claro,
mais concreto o seu significado para todos do grupo.
- Durante a dramatização, os cartões podem ser
refinados:
- removendo-se ou acrescentando-se responsabilidades
- movendo responsabilidades de uma classe para outra
- acrescentando-se novos cartões (novas classes)
- se padrões de colaboração estão
estranhos, eles podem ser arrumados
- classes podem ser unidas ou desmembradas
- etc.
- Quando a dramatização termina, todos têm a
mesma visão comum do significado dos cartões
Passos da Dramatização
Antes do início da dramatização, é
importantíssimo passar por uma fase de aquecimento. Esta fase
pode consistir de algum jogo verbal (p.ex. descobrir nome de um filme
com 20 perguntas com resposta booleana). Nós vamos utilizar o
seguinte: cada um do grupo tem que se apresentar, dizer qual parte da
computação ele mais gosta e falar 3 coisas sobre si mesmo
que os outros membros do grupo não sabem (hobbies, familia,
outros aspectos da vida pessoal).
- Crie lista de cenários (tente cobrir todos os casos
importantes primeiro; depois busque diferentes tipos de uso,
possíveis erros ou situações complicadas ou
excepcionais)
- Atribua papéis aos "atores"
- cada ator pode pegar uma ou mais classes para dramatizar
- classes que colaboram devem ser dadas para atores diferentes
- Ensaie os cenários
- cada ator segura bem à vista o cartão da classe
sendo dramatizada
- o ator lê o seu comportamento, descreve as
computações internas que tem que fazer e eventualmente
pede a colaboração de outra classe
- pode-se determinar que as classes em ação em um
determinado momento ficam em pé (mas isto é opcional)
- Faça correções nos cartões e refine
os cenários
- não se sinta preso aos cartões definidos
inicialmente
- sinta-se a vontade para mudar radicalmente a sua escolha de
classes
- Repita passos 3 e 4 quantas vezes forem necessárias
até que o drama se desenrole sem solavancos
- se houver algum problema de difícil solução
peça para alguém tomar nota para ser analisado mais tarde
- Dramatize os cenários finais incluindo os casos
excepcionais
Avaliação
- Membros do grupo fazem comentários gerais
- identificação de problemas-chave
- criação de lista de problemas a resolver em ordem
de prioridade
- Mude ou confirme cartões CRC
- Identificar cenários a serem repetidos ou os classifique
como completados
Exercício
- Continuar elaboração da arquitetura OO para um
sistema
para marcação de reuniões. Terminar
seleção de classes e fazer dramatização.
Bibliografia
- The CRC Book. David Bellin e Susan Suchman.
Próxima Aula
Aula Anterior
Página de MAC 5714
Página do Fabio
Página do DCC