LPB – Projeto #1 – Desenvolvimento de software em camadas sem persistência de dados.

LPB – Projeto #1 (S2-2019)
Desenvolvimento de software em camadas sem persistência de dados

JOGO DA VELHA

Desenvolver um software que implemente o Jogo da Velha (Tic Tac Toe).

1 – Requisitos para REALIZAÇÃO DO TRABALHO
1.1 – O trabalho deve ser realizado em equipes de 3 alunos
1.2 – Projetos no Netbeans devem ser criados seguindo o padrão de nomenclatura lpb2019-p1-gX onde “X” é o número do grupo definido em sala de aula. Estes projetos devem possuir o pacote jogovelha como raiz e subpacotes devem ser criados para implementar o desenvolvimento em 3 camadas (gui – para view; controle – para control; e entidade – para Model/Dados). Na camada view (gui) deve haver um subpacote chamado media para abrigar figuras e arquivos de som.
1.3 – A ferramenta de controle de versões será a Git. Desta forma, um repositório remoto e na nuvem (GitHub) foi criado para cada grupo e será compartilhado com os membros de cada equipe. O nome do repositório obedece ao padrão lpb2019-p1-gX onde “X” é o número do grupo definido em sala de aula.
Os endereços dos repositórios Git seguem o padrão https://github.com/osvandre/lpb2019-p1-gX.git onde X representa o número do grupo/equipe (ex.:  Grupo 1 – https://github.com/osvandre/lpb2019-p1-g1.git).
Cabe salientar que o fluxo de operações no Git é um pouco diferente do Subversion. A imagem a seguir ilustra esse fluxo. Note-se que existe um repositório local (no seu computador de trabalho) e um remoto (no nosso caso, em um endereço no GitHub

git workflow

2 – Especificação de Requisitos e definições de Análise de Sistema
2.1 O jogo deve possibilitar que duas pessoas joguem, sendo uma contra a outra (Jogador 1 contra Jogador 2). Desta forma, ao iniciar uma partida o programa deve solicitar o nome para o Jogador 1 e o nome para o Jogador 2.
2.2 O tabuleiro de jogo deve ser exibido para possibilitar as jogadas e este deve ser implementado com base no seguinte esboço:

2.3 A dinâmica de tela deve ser implementada. Por exemplo: se a partida não tiver sido iniciada ainda, o botão “Cancelar” deve estar desabilitado, o botão “Iniciar Partida” deve estar habilitado e a mensagem no campo “Status da partida:” deve estar condizente (ex.: exibindo “não iniciada”).