Testes de aceitação ------------------- Nota base: 10,0 - 3,0 para cada us.txt que contenha testes errados Testes de unidade ----------------- nota base: 7,0 até +2,0 para quem fez os testes de unidade para a manipulação de strings com qualidade e abrangência (-2,0 se não fez teste para a manipulação de strings) até +1,0 para quem usou testes de unidade em locais adicionais onde precisava ser feito (esse ponto pode ser incorporado no item anterior se não houver necessidade de testes adicionais) -0,5 para cada teste inócuo (repetição dos testes de aceitação) -3,0 se houver testes que não rodem (red bar) Design ------ nota base: 8,0 pontos essenciais do design: 1. Implementação de Lugares - a solução mais eficiente é uma hierarquia de interfaces que são implementadas pelos diferentes lugares - hierarquia porque há funcionalidades específicas de tipos de lugares agrupados (veja exemplo abaixo) - interfaces porque é uma solução superior (program to an interface, not to an implementation) Ex.: * uma interface Lugar com as assinaturas mais básicas de um lugar, implementada por lugares mais simples (FreeParking, por exemplo); * uma interface LugarComprável, que estende Lugar e é implementada pelos lugares que podem ser comprados (propriedades, ferrovias; e serviços públicos no futuro) * a hierarquia pode ir crescendo à medida que novas funcionalidades de lugares vão ficando claras (p.ex., Chance e Community Chest, agora no milestone 2) - tirei 0,5 ponto de quem usou herança direta (sem usar interfaces) - tirei 1,0 ponto de quem não separou hierarquicamente os diferentes tipos de lugares 2. Atribuições corretas - tirei 0,5 de cada elemento tratado na classe errada - tirei 1,0 de cada classe importante que falta - ex.: lugares dentro de jogo (sem haver um tabuleiro), lugares misturados com seus títulos, jogadores gerenciados pelo banco (!?) 3. Bônus por idéias legais - 1,0 ponto por cada design interessante que funcione (p.ex., uma classe Dado, manipuladores de jogadores, manipuladores de ações, listeners de um jogo, etc.) Documentação ------------ nota base: 10,0 até -3,0 se a documentação estiver incompleta (falta descrever parametros, valor de retorno, excecoes lancadas pelos metodos, ...) Código ------ nota base: 8,0 até +2,0 pela qualidade do código (endentação, organização em pacotes, nomes de variáveis, etc.) -1,0 se não usou loop para a criação de entidades Relatório --------- 5,0 pelo diagrama de classes 5,0 pela explicação dos patterns ***************** Alexandre/Frederico ************* testes de aceitação: 10,0 testes de unidade: 7,0 +1,0 pelo teste de manipulação de strings -1,0 pelos testes desnecessários (TestGame e TestBoard) design: 8,5 - Lugares implementados como hierarquia de classes, não de interfaces (-0,5) - capturou semelhanças entre Player e Bank (+1,0) código: 8,5 - +1,5 pela qualidade do código - não usou loops para a criação de lugares no tabuleiro (-1,0) documentação: 9,0 - há métodos não comentados em Game e MonopolyFacade relatório: 10,0 ***************** Ana Cristina/Andrey ************* testes de aceitação: 10,0 testes de unidade: 4,0 - não fez teste para a manipulação de strins (-2,0) - testes desnecessários (PlayerTest e TrayTest) (-1,0) design: 6,5 - não hierarquizou lugares e usou herança de classes em sua implementação (-1,5) - falta um banco (-1,0) - uso correto de MVC (+1,0) código: 9,0 - +1,0 pela qualidade - usou loop para criar lugares (ok) documentação: 9,0 - Façade não documentada, métodos não documentados em outras classes relatório: 9,0 - 4,5 pelo diagrama de classes (faltam atributos de Game e outras classes importantes) - 5,0 ***************** Ana Emília/Yuska **************** testes de aceitação: 10,0 testes de unidade: 8,0 +1,0 pelo teste de manipulação de strings +1,0 pelo TestMonopolyParserXML -1,0 pelos testes desnecessários (TestDie, TestMonopolyGame) design: 9,5 - lugares implementados com hierarquia de classes, não de interfaces (-0,5) - classe Die (+1,0) - capturou semelhanças entre Bank e Player (+1,0) código: 10,0 - +2,0 pela qualidade do código - criação de lugares com loop (ok) documentação: 10,0 relatório: 10,0 ***************** Andrews/Ronaldo ***************** testes de aceitação: 10,0 testes de unidade: 3,0 - não fez teste para manipulação de strings (-2,0) - testes desnecessários (GameTest, BoardTest, PlaceTest, PlayerTest) (-2,0) design: 6,5 - não hierarquizou lugares e usou herança (-1,5) - falta um banco (-1,0) - separou deeds de lugares (+1,0) código: 8,0 - +1,0 pela qualidade do código - não usou loop para a criação de lugares (-1,0) documentação: 9,0 - alguns métodos não comentados, algumas exceções não comentadas relatório: 9,5 - 5,0 pelo texto - 4,5 pelo diagrama de classes (faltam atributos em Game) ***************** Cláudio ************************* testes de aceitação: 10,0 testes de unidade: 4,0 - não fez teste para manipulação de strings (-2,0) - testes desnecessários (PlayerTest e PlaceTest) (-1,0) design: 3,5 - não existe hierarquia de lugares (-1,5) - falta banco (-1,0) - falta tabuleiro (-1,0) - falta a Façade (-1,0) código: 7,5 - +0,5 pela qualidade do código - não usou loop para a criação de lugares (-1,0) documentação: 10,0 relatório: 4,0 - falta diagrama de classes (0,0) - 4,0 pela descrição dos patterns (só falou de Expert) ***************** Loreno/Nigini ******************* testes de aceitação: 10,0 testes de unidade: 10,0 + 2,0 pelos testes de StringUtils (e +1,0 por não ter feito testes adicionais onde não precisava) design: 10,0 - hierarquia de interfaces para os lugares (ok) - capturou semelhanças entre Player e Bank (+1,0) - uso de eventos para as ações que ocorrem no jogo (+1,0) código: 10,0 - +2,0 pela qualidade do código - usou loop para criação de lugares (ok) documentação: 10,0 relatório: 9,0 - 4,0 pelo diagrama de classes (faltaram atributos das implementações) - 5,0 pela descrição dos patterns ***************** Marcelo/Rodrigo ***************** testes de aceitação: 10,0 testes de unidade: 5,0 - teste de manipulação de strings não testa erros de formato (sem bônus) - muitos testes inócuos (-2,0) design: 9,5 - hierarquizou lugares, mas usou herança de classes (-0,5) - interface comum entre Player e Bank (+1,0) - arquitetura para persistência (+1,0) código: 9,0 - +1,0 pela qualidade do código (revisar as Façades) - usou XML e loop para criação de lugares (ok) documentação: 10,0 relatório: 10,0 ***************** Milena/Eanes ******************** testes de aceitação: 10,0 testes de unidade: 6,0 - teste de manipulação de strings não testa erros de formato (sem bônus) - TestGame e TestPlace desnecessários (-1,0) design: 5,5 - não há hierarquia de lugares (-1,5) - uso de interface Business para as ações (+1,0) - falta um tabuleiro (-1,0) - falta um banco (-1,0) código: 8,0 - +1,0 pela qualidade do código - não usou loop para criação de lugares (-1,0) documentação: 9,0 - falta documentação para a Façade, e alguns métodos em outras classes relatório: 10,0