Total de visualizações de página

terça-feira, 31 de março de 2015

Proposta do Trabalho Prático

Proposta do Trabalho Prático

Objetivo:

Projetar e implementar um jogo para ensinar conceitos de Engenharia de Software (ES), montando um processo de desenvolvimento com elementos dos métodos dos agilistas.

Enunciado:

O seu grupo foi contratado como time de desenvolvimento de um jogo cujo objetivo é ensinar conceitos de Engenharia de Software. Para isso, o grupo deve montar um processo de desenvolvimento a partir de elementos dos seguintes métodos dos agilistas:

  1. Scrum
  2. XP (Extreme Programming)
  3. Lean Development
  4. Crystal Clear
  5. Feature-driven development (FDD)

O jogo pode ser desenvolvido usando qualquer tecnologia (linguagem de programação; ambiente: computador pessoal, WWW, celular ou tablete) e focar-se no ensino de qualquer um dos temas que serão tratados na disciplina (requisitos, processos, etc). Recomenda-se o uso de tecnologias com as quais tenha-se familiaridade para evitar acúmulo no esforço de aprendizado. Além disso, o estilo do jogo fica a critério do grupo podendo escolher entre jogos de plataforma, corrida, luta, esporte, simulação, musical, estratégia, aventura, tabuleiro, ação, quebra-cabeça, etc. Finalmente, cabe a cada grupo preparar o roteiro do jogo e selecionar o motor de jogo (game engine) mais apropriado, justificando sua decisão.

Os métodos dos agilistas que o grupo pretendem usar devem ser negociados com o monitor Miguel Ramos (miguel.ramos@dcc.ufmg.br). Essa negociação será feita levando em consideração dois aspectos: (1) a preferência do grupo por algum dos métodos e (2) a ordem de formação dos grupos. Para formar um grupo, deve-se postar no Blog da turma o nome e o email de cada integrante, bem como a preferência por algum método se existir. Toda evidência de aderência ao processo deve estar justificada e postada no Blog, bem como todos os objetos entregáveis que o processo exige. Essas postagens serão consideradas para fazer a maior parte da avaliação.

Recursos:

  • Podem ser consultados os trabalhos feitos em semestres anteriores como guia. Isso pode ajudar tanto na ideia de um projeto quanto nas atas dereunião. Os TPs podem ser acessados nos seguintes enlaces:

    • 2º semestre de 2013, com o professor Sérgio Crespo - acesse o blog
    • 1º semestre de 2014, com a monitora Luciana Lourdes - acesse o blog
    • 2º semestre de 2014, com a monitora Kattiana Constantino - acesse o blog
  • Um artigo do SBGames de 2012, publicado no blog do professor Sérgio, dá sugestões de métodos para o desenvolvimento de jogos.

  • Nos seguintes links vocês podem achar motores de jogos para diferentes linguagens: Várias linguagens e Motores Web (html5).

Informações Importantes:

  • O TP estará descolado das aulas teóricas da disciplina. Enquanto as aulas teóricas seguem uma certa sequência o grupo deverá trabalhar desde agora com vários aspectos que não estão presentes nas aulas teóricas ou que serão tratados apenas no final do semestre.

  • É importante estudar a fundo o processo que usará para implementar o projeto.

  • Podem ser acessados os trabalhos dos semestres anteriores, mas as propostas de jogos devem ser diferentes: no tema ou na tecnologia empregada. Por exemplo: um grupo do semestre pas sado escolheu o tema CMMI e usaram flash/actionscript. Assim, se alguém quiser escolher este tema não pode usar a tecnologia flash.

  • Inicialmente, só serão aceitos grupos com 5 ou 6 estudantes. Um dos membros do grupo deve colocar na seção de comentários deste post o nome do grupo (devem escolher um nome para o grupo), e o nome e endereço de correio eletrônico de cada um dos cinco ou seis membros. Somente depois que o grupo listar os 5 ou 6 alunos, será possível adicioná-los como autores para que possam postar sem restrições no blog.

  • O desenvolvimento deverá ser do tipo interativo incremental, entregas frequentes, controle de versão, dirigido por testes, o grupo deve investir na maturidade do processo.

  • O cliente do jogo é o monitor Miguel Ramos.

Avaliação:

  • O trabalho será avaliado, principalmente, com relação a aderência a um processo e justificativas das tomadas de decisão! Esta parte da avaliação equivale a 60% do total.

  • O jogo desenvolvido será também avaliado entre os alunos que deverão ordenar os resultados dos grupos. Esta parte equivale a 40% do total.

  • O grupo também será avaliado em termos de conseguir se organizar para trabalhar de maneira contínua e distribuída, evitando o padrão de "picos de esforço". Isto é, um esforço de algumas horas um dia antes ou no dia de um ponto de verificação. Uma das maneiras de verificação será em função das publicações no blog.

  • Cada grupo deve ser o usuário do experimento de outro grupo, de forma a testar o aprendizado dos conceitos.

  • Os grupos devem promover seminários de 10 a 20 minutos, informando o desenvolvimento do projeto, as decisões tomadas, as dificuldades encontradas, o cronograma e os avanços obtidos referentes à apresentação anterior. As datas de apresentação estão postadas na página do professor Rodolfo Resende.