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