Jogo de Damas Alex Saito Leonardo Bezerra Bruno Rocha Maria Gabriela Felipe Cabral Thales Barros.

Post on 17-Apr-2015

142 views 7 download

Transcript of Jogo de Damas Alex Saito Leonardo Bezerra Bruno Rocha Maria Gabriela Felipe Cabral Thales Barros.

Jogo de Damas

Alex Saito Leonardo BezerraBruno Rocha Maria GabrielaFelipe Cabral 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 Sair3. 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 Sobre3. 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