Projeto Integrado - Turma S73 - 2011.2

De Wiki DAINF
Edição feita às 10h54min de 10 de outubro 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. Jonathan Felipe Medeiros, Gustavo Borges Follador, Rodrigo Augusto Toigo Homem, Rafael Antonio Lopez
  2. Beta Games Company: Raphael Jardim Lopes, Eduardo Quagliato, Rafaela Somavila Lima, Giulliano Menezes
  3. Guilherme R. Bastos, Bruno Roberto, Fernando Sencioles, Vanderlei Moreno
  4. Diego de Faria do Nascimento, Lcas de Melo Carvalho, Matheus Ernesto Silva Gonçalves, Paulo Matheus Peruzzo Storrer
  5. Fernando Carmo, Philip, Gyovann
  6. Renan Romeo, Neiton Arlindo Soares, Mauro Emerson Biscaia Filho, Guilherme Vinicius Kluppell
  7. Roberto S Borges, Lucas de Lara, Diego Sikora, Guilherme Marinasco
  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
Ferramentas pessoais