Transcript ES2

Jogo de Damas
Alex Saito
Bruno Rocha
Felipe Cabral
Leonardo Bezerra
Maria Gabriela
Thales Barros
• Introdução
• Requisitos
• EAP
• Descrição das Atividades
• Duração das Atividades
▫ Planning Poker
▫ PERT
▫ Cocomo
Introdução
• Foco
• Características
Equipe
• Gerente
▫ Maria Gabriela
• Interface
▫ Bruno Rocha e Alex Saito
• Engine:
▫ Bruno Rocha, Alex Saito e Thales Barros
• Inteligencia Artificial
▫ Leonardo Bezerra e Felipe Cabral
• Testes Integrados
▫ Thales Barros
Tecnologia
• Plataforma utilizada:
▫ Java com Swing
• Versionamento
▫ Subversion com GoogleCode
• Planejamento
▫ Microsoft Project 2007
Planejamento
• Iterações:
▫ 2 semanas
• Reuniões
▫ Terças pela manhã;
▫ Quartas e Quintas à noite por conferência;
Requisitos Funcionais
• RF1: O jogador poderá selecionar duas opções iniciais: JOGO e
AJUDA.
• RF2: O jogador deverá informar o seu nome quando selecionar a
opção NOVO JOGO.
• RF3: O jogador pode sair do jogo a qualquer momento do jogo,
porém será considerado derrota.
• RF4: O jogador pode consultar a regra a qualquer momento do jogo.
• RF5: Uma mensagem de erro é mostrada na caixa de texto quando
uma jogada ilegal é realizada.
• RF6: No final do jogo, notificar o vencedor e atualizar a estatística.
Requisitos Não-Funcionais
• DS-1 : O jogo deve funcionar sem interrupção durante as partidas.
• EF-1: Depois do final do jogo, o resultado do vencedor não deve
demorar mais de 5 segundos.
• EF-2: Quando algum jogador desejar ver a estatística, a visualização
deve ser de maneira eficiente.
• IN-1: O sistema só poderá ser utilizado por usuários identificados
com nome.
• US-1: O jogador que ainda não jogou, deve ser capaz de jogar sem
dificuldade. (Interface simples com regras claras).
Requisitos Não-Funcionais(2)
• US-3: O sistema deve possuir uma interface
simples e de fácil manuseio.
• PR-1: O sistema deve poder ser executado em
qualquer sistema operacional, contanto que
possua máquina virtual Java.
Casos de Uso
•
UC1 – Abrindo um novo jogo
Cenário típico
1. O usuário inicializa o produto.
2. O usuário escolhe a opção Jogo.
3. O usuário escolhe a opção Novo Jogo.
4. É solicitado ao usuário que digite seu nome.
5. O jogo é iniciado.
Cenários Alternativos
1.a: O usuário desiste de jogar.
1. Antes de informar o nome, o usuário cancela a operação.
2. O produto volta para o passo 1.
Casos de Uso(2)
• UC2 – Saindo do jogo
Cenário típico
1. O usuário escolhe a opção Jogo.
2. O usuário escolhe a opção de Sair
3. O produto é finalizado.
Casos de Uso(3)
• UC3 – Visualização das estatísticas
Cenário típico
1. O usuário escolhe a opção Jogo.
2. O usuário escolhe a opção Estatística.
3. O usuário escolhe o nome do jogador.
4. O produto mostra as estatísticas detalhada
do jogador e vitórias dos demais jogadores.
Casos de Uso(4)
• UC4 – Consulta as regras
Cenário típico
1. O usuário escolhe a opção Ajuda.
2. O usuário escolhe a opção Regras.
3. O produto exibe as regras do jogo.
Casos de Uso(5)
• UC5 – Consulta ao manual
Cenário típico
1. O usuário escolhe a opção Ajuda.
2. O usuário escolhe a opção Manual.
3. O produto exibe o manual do jogo.
Casos de Uso(6)
• UC6 – Consulta as informações do Produto
Cenário típico
1. O usuário escolhe a opção Ajuda.
2. O usuário escolhe a opção Sobre
3. O sistema mostra as informações do Jogo.
EAP (Estrutura Analítica do Projeto)


Opção : Produtos parciais
Abordagem: Top down
Descrição das Atividades(1)
• 1.Planejamento do projeto
1.1.Especificar o escopo
1.1.1. Elaborar o escopo do produto
- Detalhamento das características do
produto
- Descrição dos requisitos e
funcionalidades
Descrição das Atividades(2)
• 1.Planejamento do projeto
1.1.Especificar o escopo
1.1.1. Elaborar o escopo do projeto
- Descrição do trabalho que deve ser feito
na construção do produto
Descrição das Atividades(3)
• 1.Planejamento do projeto
1.2.Detalhar o escopo
1.2.1. Elaborar o EAP
- Transformar o problema em problema
mais simples
- Planejar em granularidade fina
- Inferir o planejamento completo a partir
das partes
Descrição das Atividades(4)
• 1.Planejamento do projeto
1.3.Definição das atividades
- Descrição completa das atividades
Descrição das Atividades(5)
• 1.Planejamento do projeto
1.4.Sequência das atividades
- Estruturar a relação de dependência
Descrição das Atividades(6)
• 1.Planejamento do projeto
1.4.Duração das atividades
1.4.1.Estimar a duração das atividades
-
Elaborar Planning Poker
Elaborar estimativa via PERT
Elaborar APF
Elaborar COCOMO
Descrição das Atividades(7)
• 1.Planejamento do projeto
1.5.Custos
- Estimar os custos das atividades
Descrição das Atividades(8)
• 1.Planejamento do projeto
1.6.Cronograma
- Definir o cronograma
Descrição das Atividades(9)
• 2. Interface
2.1 Layout jogo
-
Desenhar tabuleiro
Desenhar peça do peão
Desenhar peça da dama
Desenhar caixa de dialogo
Descrição das Atividades(10)
• 2. Interface
2.2 Layout Menu
- Desenhar Menu
- Desenhar Novo jogo (inserir
nome)
- Desenhar Estatística
- Visualização da Regra do jogo
- Visualização do Manual
Descrição das Atividades(11)
• 3. Engine
3.1 Movimento
- Posicionar as peças para início de
jogo
- Movimento do peão
- Movimento da dama
- Restrições de movimento
Descrição das Atividades(12)
• 3. Engine
3.2 Ação
- Capturar peça
- Capturar mais de uma peça
- Virar dama
3.3 Resultado
- Definir vencedor
- Definir empate
Descrição das Atividades(13)
• 3. Engine
3.4 Protocolo
- Definir Protocolo
- Implementar protocolo Engine-IA
Descrição das Atividades(14)
• 4. IA
4.1 Algoritmo Min-Max
- Estudar Min-Max
- Definir Profundidade
- Implementar
Descrição das Atividades(15)
• 4. IA
4.2 Protocolo
- Definir Protocolo
- Implementar protocolo IA-Engine
Dependência das Atividades(16)

1. Planejamento das atividades
1.1 Detalhamento das características
Dependência das Atividades(17)

1. Planejamento das atividades
1.2. EAP
Dependência das Atividades(18)

1. Planejamento das atividades
1.3. Estimar a duração das atividades
Dependência das Atividades(19)

2. Interface
2.1 Layout jogo
Dependência das Atividades(20)

2. Interface
2.2 Layout Menu
Dependência das Atividades(21)

3. Engine
3.1 Movimento
Dependência das Atividades(22)

3. Engine
3.2 Ação
Dependência das Atividades(23)

3. Engine
3.3 Resultado
Dependência das Atividades(24)

3. Engine
3.4 Protocolo
Dependência das Atividades(25)

4. IA
4.1 Algoritmo Min-Max
Dependência das Atividades(26)

4. IA
4.2 Protocolo
Duração das Atividades
• Planning Poker
• PERT
• Cocomo
▫ APF
Cocomo
•
APF
▫
▫
▫
▫
▫
▫
Contagem dos elementos do software
Número de Entradas externas (EE): 1 (Inserir o nome).
Número de Saídas externas (SE): 1 (Diz quem é o vencedor).
Número de Consultas externas (CE): 2 (Movimento do peão e
visualização de estatística).
Número de Arquivos Lógicos internos (ALI): 3.
Número de Arquivos de Interface Externa (AIE): 0.
Duração
• Planning Poker = 48 homem/dia
• Especialista* = 66 homem/dia
• Cocomo = 118 homem/dia
• Através do PERT chegamos a 71 homem/dia
*Prof. Esteban do departamento de Ciência da Computação
Custos
• Considerando R$35,00 a hora chegamos a um custo de :
• R$19.880,00
Estatísticas
FIM