Projeto Integrado - Turma S73 - 2011.2

De Wiki DAINF
Edição feita às 11h39min de 4 de novembro de 2011 por Adolfo (disc | contribs)

Tabela de conteúdo

O que é o Projeto Integrado do Primeiro Período do Bacharelado em Sistemas de Informação?

Leia Projeto Integrado do Primeiro Período do Bacharelado em Sistemas de Informação.

Equipe de Professores diretamente envolvidos

  • Adolfo Neto (Lógica para Computação) - professor responsável pelo Projeto 1
  • Mari (Algoritmos 1)
  • Karla (Fundamentos 1)
  • Bernardes (TGS)
  • Regis (Comunicação Oral e Escrita)

Demais professores do primeiro período

  • Keller (Tecnologia e Sociedade)
  • Violeta (Cálculo 1)

Descrição do Projeto

  • Implementar o jogo Pac-Man (ver também [1] e exemplo de implementação em [2] e [3]).
    • A implementação poderá ser em modo texto ou usando alguma biblioteca gráfica como a Allegro.


Funcionalidades essenciais

  1. Funcionalidades básicas do PacMan
    • Os alunos deverão estudar a implementação de referência do PacMan e implementar as principais funcionalidades do jogo, tais como:
      • Deve haver um "ser", controlado pelo jogador, cujo objetivo é destruir seus "inimigos"
      • Os inimigos devem ser no mínimo 4, com movimentos independentes.
      • Devem haver vários "objetos" que podem ser "consumidos" pelo "ser", tais como, na implementação de referência: pontos, frutas, vitaminas, inimigos, etc.
      • O "ser" deve ter um número inicial fixo de "vidas"
      • ...
  2. Controle de acesso e cadastro de jogadores
    • Para jogar o jogo é necessário antes cadastrar-se, definindo um login e uma senha.
      • Na tela inicial do sistema será solicitado o login e a senha do jogador. E haverá uma opção para permitir que quem ainda não se cadastrou se cadastre.
      • O jogador poderá escolher seu login. O sistema deverá impedir que alguém se cadastre com o login de um outro jogador já cadastrado.
  3. Registro da pontuação de jogadores
    • Cada vez que um jogo for finalizado, a pontuação do jogador naquele jogo deverá ser armazenada de forma persistente (isto é, num arquivo). Juntamente com a pontuação deve ser armazenado o dia, mês, ano, hora, minuto e segundo em que o jogador conseguiu a pontuação.
  4. Exibição de pontuação e recordes
    • Um jogador poderá ver todas as suas pontuações (juntamente com a data em que foi obtida), ordenadas da maior para a menor.
    • Um jogador poderá ver as 10 melhores pontuações considerando todos os jogadores (juntamente com o nome do jogador e a data em que foi obtida), ordenadas da maior para a menor. Em caso de empate no fim da lista podem ser exibidas mais de 10 pontuações.

Funcionalidades desejáveis

  1. A sigla 'UTFPR' deve aparecer em algum lugar do "tabuleiro". Uma ideia: os obstáculos do meio do "tabuleiro" formam a sigla 'UTFPR' (como o Google fez em sua versão do PacMan [4]).
  2. Demais funcionalidades desejáveis serão definidas pela própria equipe e aprovadas (ou não) pela equipe de professores do Projeto Integrado. Isto é, cada equipe fica responsável por sugerir itens adicionais ao projeto, para diferenciá-lo dos demais.

Regras

  • Quantidade de membros na equipe: 3 ou 4.
    • Observação: caso um ou dois integrantes da equipe desistam de uma ou mais disciplinas ao longo do semestre, a equipe poderá escolher entre permanecer a mesma ou fundir-se com outra equipe. O professor responsável pela gerência do projeto analisará cada caso.
  • Todas as equipes deverão relatar semanalmente o andamento do projeto.
    • Sugestão: criar um blog no posterous para isso.

Equipes

  1. JGRR Games: Jonathan Felipe Medeiros, Gustavo Borges Follador, Rodrigo Augusto Toigo Homem, Rafael Antonio Lopez. Blog: http://jgrrgames.posterous.com/
  2. Beta Games Company: Raphael Jardim Lopes, Eduardo Quagliato, Rafaela Somavila Lima, Giulliano Menezes. Blog: http://blog.betagamesco.com/
  3. Guilherme R. Bastos, Bruno Roberto, Fernando Sencioles, Vanderlei Moreno. Página: http://rrsm.posterous.com
  4. Overflow Games S/A: Diego de Faria do Nascimento, Lucas de Melo Carvalho, Matheus Ernesto Silva Gonçalves, Paulo Matheus Peruzzo Storrer. http://overflow-games.posterous.com/
  5. Fernando Carmo, Philip, Gyovann
  6. Renan Romeo, Neiton Arlindo Soares, Mauro Emerson Biscaia Filho, Guilherme Vinicius Kluppell
  7. BSI Games: Lucas de Lara, Diego Sikora, Guilherme Marinasco. Página: http://bsigames.blogspot.com
  8. Lucas Gabardo Silveira, Eduardo Carvalho Oliveira, Marcio Henrique Machado
  9. Tulio Martins Freitas, Vinicius Skotnicezny, Marco, Marlon M.
  10. Guilherme Lincon Barczyszyn, Max, Henrique Antunez, Luciano da Luz



O que cada equipe precisa entregar?

  1. Software funcionando (incluindo código-fonte com licenca aberta)
  2. Documento descrevendo o software, contendo as seguintes seções:
    1. Introdução
    2. Diagramas de Fluxo de Dados (mais informações com o professor de TGS)
    3. Especificação Formal (mais informações com o professor de Lógica para Computação)
    4. Algoritmos Utilizados (mais informações com a professora de Algoritmos 1)
    5. Design e Implementação do Sistema (mais informações com a professora de Fundamentos de Programação 1)
    6. Conclusão


O documento deve seguir as normas para a elaboração de trabalhos acadêmicos da UTFPR.

De acordo com o que está na página 16 das normas, o documento deverá conter os seguintes elementos:

  1. Capa
  2. Folha de rosto
  3. Sumário
  4. Introdução
  5. Desenvolvimento (dividido em seções como visto acima)
  6. Conclusão
  7. Referências

Não é necessário Resumo, Abstract, Lista de Ilustrações, Lista de Tabelas, etc.

Instruções sobre como elaborar estes elementos e sobre como fazer citações (muito importante!) podem ser encontradas nas normas. A equipe da Biblioteca da UTFPR e o(a) professor(a) de Comunicação Oral e Escrita também podem ajudar quanto às questões de escrita do documento.



Avaliação

A cada item do documento/implementação será atribuído um peso. Em adição, a equipe que obtiver a melhor pontuação nas "funcionalidades desejáveis" obterá um acréscimo de 10% na nota.

Baseados nestes itens os professores estabelecerão uma nota.

A nota pode ser diferente por disciplina, por membro da equipe. Ex.: na equipe A, com os membros A1, A2 e A3, A1 pode tirar 10 em Algoritmos, 9 em Lógica e 8 em Fundamentos 1. Na mesma equipe, os membros A2 e A3 podem tirar 9 em Algoritmos, 8 em Lógica e 8 em Fundamentos 1.

Uma única nota será repassada ao professor de TGS.


Algumas métricas que também serão avaliadas:

  • qualidade do código em geral
    • quantidade de variáveis globais
    • concordância com padrões de codificação (regras para nomear símbolos, por exemplo)
    • qualidade e quantidade dos comentários
    • adequabilidade das funções/métodos de API escolhidos
  • grau de modularização:
    • número de funções/métodos x linhas por função/método
    • quantidade de funções/métodos chamadas mais de uma vez

Datas Importantes

  • Até 16.09.2011: definição das equipes
  • Até 26.09.2011: entrega de documento descrevendo o jogo PacMan.
  • (A definir): Entrega dos Diagramas de Fluxo de Dados
  • (A definir): Entrega do documento para o(a) professor(a) de Comunicação Oral e Escita, para revisão
  • (A definir): Entrega do documento (via Moodle)
  • (A definir): Entrega do código-fonte (via Moodle)
  • (A definir): Bancas do projeto integrado


IMPORTANTE

Os melhores trabalhos serão apresentados na ExpoUT 2012!

Ferramentas pessoais