sábado, 3 de setembro de 2016

Especificação do Trabalho Prático

Objetivo

 

Projetar e implementar um jogo para ensinar conceitos de Engenharia de Software (ES). Mais do que entregar um produto funcional, este trabalho visa a elaboração e execução de um processo de desenvolvimento que permita gerenciar os desafios de se trabalhar em equipe durante o desenvolvimento de um software.

Enunciado 

 

O seu grupo foi contratado como time de desenvolvimento de um jogo cujo objetivo é ensinar conceitos de Engenharia de Software. 

O jogo pode ser desenvolvido para plataforma móvel (Android, iOS) ou Web e possui como foco o ensino de um ou mais temas 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 ser escolhido entre jogos de plataforma, simulação, estratégia, aventura, tabuleiro, ação e quebra-cabeça. Na dissertação de mestrado de Rodrigo Possa existem exemplos de jogos que podem servir como inspiração. Finalmente, cabe a cada grupo preparar o roteiro do jogo e selecionar o motor de jogo (game engine) mais apropriado, justificando sua decisão.

O trabalho deverá ser desenvolvido utilizando as práticas, técnicas e idéias do Scrum e do XP, com vistas ao atendimento das áreas de processo do nível dois de  maturidade do CMMI-DEV, o grupo pode negociar o uso de outros métodos/processos.

A definição do processo a ser utilizado deve constar na primeira postagem de cada grupo no Blog. O processo de desenvolvimento, a tecnologia utilizada, motor de jogo, ambiente de desenvolvimento, controle de versão, framework, dentre outra deverão ser aprovados previamente pelo monitor.

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 de reunião. Cabe ressaltar que os trabalhos dos semestres anteriores não são na maioria bons exemplos. Todavia, o grupo poderá ter uma ideia do que deve ser evitado.
  • 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 Trabalho Prático (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 ao longo do semestre.
  • É importante planejar bem o processo que será utilizado para implementar o projeto.
  • Podem ser acessados os trabalhos dos semestres anteriores, contudo, as propostas de jogos devem ser diferentes com relação ao tema e/ou a tecnologia empregada. Por exemplo: um grupo do semestre passado escolheu o tema CMMI e usaram flash/actionscript. Assim, se alguém quiser escolher este tema não pode usar a tecnologia flash.
  • 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.
  • Os grupos deverão ter de 8 a 12 estudantes. Os integrantes do grupo acessar a planilha e informar o nome do grupo, assim como o nome completo do aluno e o email. Somente depois que o grupo listar os alunos, será possível adicioná-los como autores para que possam postar sem restrições no blog. A data limite para definição dos grupos é dia 08 de setembro.
  • O grupo deverá elaborar um cronograma de entregas que será acompanhado pelo monitor da disciplina. Existe a expectativa de que sejam feitas 3 ou 4 entregas de software funcionando, as entregas não coincidem, necessariamente, com as apresentações, mas é esperado que nas apresentações cada grupo discuta o que já foi entregue e qual o planejamento para a entrega seguinte. A apresentação final apresenta o resultado final obtido. 
  • O cliente do jogo é a monitora Thanis Paiva (thpaiva@dcc.ufmg.br).

 

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. Para isso: toda evidencia de aderência ao processo deve estar postado no BLOG da turma.
  • 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 e dos sistemas de controle de versão escolhido.
  • É incentivada a criação conjunta de conteúdo. Desta forma, ao final do semestre o conjunto de sugestão e participação postadas neste blog será avaliada para possíveis pontos extras(da ordem de até 5% dos pontos da avaliação). 
  • Os grupos devem fazer apresentações com duração de 15 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 das apresentações estão definidas abaixo:
    • 15 de setembro
    • 6 de outubro
    • 27 de outubro
    • 8 de novembro (Apresentação Final)




Nenhum comentário:

Postar um comentário