quarta-feira, maio 02, 2007

Aula 9

Nessa aula jogamos mais um vez. As regras foram mudadas.
Incluiu-se a noção de rodada de dado e rodada de cartas. Acreditamos
que isso tornou o jogo mais dinâmico.

Abaixo listamos uma primeira versão das novas regras escritas na linguagem de cenários.
Vamos utiliza-las tanto para jogarmos na Aula 10 (hoje) como também para estudarmos a linguagem proposta como uma linguagem para descrição das regras do jogo.

A leitura sobre cenários deve incluir os seguintes artigos: construção de cenários, inspeção de cenários e identificação de padrões em cenários.

Além disso estaremos lendo o seguinte artigo: "Evolving Object-Oriented Designs with Refactorings" de Tokuda e Batory.

A regras, numa primeira versão, estão listadas abaixo.

Título: Inicio de jogo
Objetivo: Descrever as regras do SimulES
Contexto: Informações do projeto no centro da mesa
Primeiro jogador já foi escolhido
Atores: jogadores
Recursos: dado, cartas, informações do projeto
Episódio:
Jogador da vez inicia rodada.
Jogador JOGA DADO.
Jogador DESCARTA CARTAS.
Jogador RECEBE CARTAS
Se jogador empacotou o produto, então jogador SUBMETE PRODUTO.

Título: Joga Dado
Objetivo: Descrever as regras da rodada de jogar dados
Contexto: Informações do projeto no centro da mesa
Primeiro jogador já foi escolhido
Atores: jogadores
Recursos: dado, cartas, informações do projeto
Episódio:
Jogador
Se dado igual a 1, então jogador lança dado. Restrição: jogador só prossegue após tirar número diferente de 1.
Se dado igual a 2 ou 3, então jogador pega 2 ou 3 cartas do monte de problemas e conceitos. Restrição: jogador não pode pegar cartas do monte de engenheiros de software.
Se dado igual a 4 ou 5 ou 6, então jogador pega 3 cartas do monte de problemas e conceitos e x cartas do monte de engenheiro de software, onde x é o valor do dado menos 3.
Se jogador tem engenheiros de software, então jogador contrata engenheiro de software de acordo com o orçamento disponível (informado na carta de projeto) colocando-o(s) no tabuleiro.

Título: Descarta cartas
Objetivo: Descrever as regras da rodada de destacar cartas
Contexto: Informações do projeto no centro da mesa
Primeiro jogador já foi escolhido, Todos os jogadores terminaram JOGA DADO
Atores: jogadores, jogador, concorrente
Recursos: cartas, informações do projeto
Episódio:
Jogador descarta suas cartas de conceito no tabuleiro.
Jogador usa seus Engenheiros de Software para CONSTRÓI ARTEFATO ou INSPECIONA ARTEFATO ou CORRIGE DEFEITO OU INTEGRA ARTEFATOS EM UM MÓDULO de acordo com a habilidade de cada engenheiro de software. Restrição: Habilidades podem ser afetadas por cartas de conceito ou carta de problemas.
Jogador escolhe até 3 concorrentes e pode submeter para cada um uma carta de problema.
Jogador ler em voz alta o problema que submete ao concorrente.

Título: Recebe cartas
Objetivo: Descrever as regras da rodada de receber cartas
Contexto: Informações do projeto no centro da mesa
Todos os jogadores terminaram JOGA DADO, Jogador recebeu cartas de concorrente
Atores: jogadores, jogador, concorrente
Recursos: cartas, informações do projeto
Episódio:
Jogador estuda como atender a demanda d carta de problema colocado pelo concorrente.
Jogador atende a demanda da carta de problema. Restrição: carta de problema pode ser contraposta por carta de conceito.
Se o problema é temporário então jogador descarta a carta de problema.
Se o problema é permanente então jogador mantêm carta. Restrição: carta de problema pode ser contraposta por carta de conceito.

Título: Submete produto
Objetivo: Descrever as regras de submeter produto
Contexto: Informações do projeto no centro da mesa
Jogador acabou de integrar seu último modulo
Atores: jogadores, jogador, concorrente
Recursos: cartas, informações do projeto, módulos
Episódio:
Jogador mostra que produziu x módulos, de acordo com as informações de projeto. Concorrente (qualquer) escolhe x artefatos (cartas) de qualquer dos módulos, onde x é o nível de qualidade do projeto.
Se artefatos escolhidos (desvirados) forem livres de defeito, então jogador ganha o jogo.

Título: Constrói artefato
Objetivo: Descrever as regras de construir artefatos
Contexto: Informações do projeto no centro da mesa
Jogador já descartou cartas de conceito
Atores: jogadores, jogador,
Recursos: cartas, informações do projeto
Episódio:
Jogador, para cada carta de engenheiro de software, escolhe do monte de artefatos os artefatos que podem ser produzidos por aquele engenheiro de software.
Se jogador escolhe carta branca, então o número de cartas é determinado pela complexidade do projeto e pela habilidade da carta de engenheiro de software.
Se o jogador escolhe carta cinza, então o número de cartas é determinado pela metade mais um da complexidade do projeto e pela habilidade da carta engenheiro de software. estuda como atender a demanda d carta de problema colocado pelo concorrente.
Jogador coloca as cartas escolhidas no tabuleiro de acordo com o jogador e de acordo com o tipo de artefato produzido.

Título: Inspeciona artefato
Objetivo: Descrever as regras para inspecionar artefatos
Contexto: Informações do projeto no centro da mesa
Jogador já descartou cartas de conceito. Jogador tem artefatos no tabuleiro
Atores: jogadores, jogador
Recursos: cartas, informações do projeto, artefato
Episódio:
Jogador escolhe artefato do tabuleiro.
Se o engenheiro de software responsável pelo artefato faz a inspeção, então o projeto gasta um ponto de tempo desse engenheiro.
Se outro engenheiro de software faz a inspeção, então o projeto gasta dois pontos de tempo desse engenheiro.
Artefato inspecionado é desvirado no tabuleiro.

Título: Corrige artefato
Objetivo: Descrever as regras para corrigir artefatos inspecionados
Contexto: Informações do projeto no centro da mesa
Jogador já descartou cartas de conceito. Jogador tem artefatos inspecionados ( INSPECIONA ARTEFATO) no tabuleiro
Atores: jogadores, jogador
Recursos: cartas, informações do projeto, artefato inspecionado
Episódio:
Jogador escolhe artefato do tabuleiro.
Se o engenheiro de software responsável pelo artefato faz a correção, então o projeto gasta um ponto de tempo desse engenheiro.
Se outro engenheiro de software faz a correção, então o projeto gasta dois pontos de tempo desse engenheiro.
Artefato inspecionado é substituído por artefato livre de defeito (carta branca sem defeito).

Título: Integra artefatos em um módulo
Objetivo: Descrever as regras para integrar artefatos
Contexto: Informações do projeto no centro da mesa
Jogador já descartou cartas de conceito. Jogador tem artefatos no tabuleiro
Atores: jogadores, jogador
Recursos: cartas, informações do projeto
Episódio:
Jogador escolhe módulo do projeto.
Jogador seleciona artefatos do tabuleiro, independente de responsável (engenheiro de software) de acordo com as informações de projeto.
Jogador integra o módulo juntando as cartas em um monte fora do tabuleiro.

Nenhum comentário: