Entrega Final do Projecto


Na entrega final do projecto serão avaliados todos os requisitos indicados no enunciado do projecto.

A entrega final do projecto tem uma classificação máxima de 11 valores. O projecto é avaliado de forma automática e manual com um peso igual para os dois tipos de avaliação realizados.

Funcionalidade a concretizar

A funcionalidade necessária para a entrega final corresponde à indicada no enunciado.

    Avaliação Automática

    A avaliação automática vale 5,5 valores e é calculada através da execução de um conjunto de testes automáticos, todos com o mesmo peso. Cada teste submete o sistema a um dado conjunto de valores de entrada e compara o resultado da execução do projecto avaliado com o resultado esperado. Qualquer diferença entre os dois resultados resulta num teste falhado. 

    Avaliação Manual

    A avaliação manual vale 5,5 e tem como objectivo avaliar a qualidade do projecto no que diz respeito às opções de desenho e concretização seguidas por cada grupo. Assim, serão aplicados os seguintes critérios na avaliação da entrega final do projecto.
    Factores aditivos positivos:
    • 0.50 - Utilização de estruturas de dados correctas
    • 1.00 - Aplicação dos princípios de desenho aberto/fechado e programar para o supertipo
    • 0.75 -  Qualidade da solução utilizada para suportar novas políticas de cálculo da satisfação dos funcionários
    • 1.00 - Qualidade da solução utilizada para a gestão do ciclo biológico das árvores
    • 1.00 - Fugas de privacidade entre as entidades do core e a camada de interacção com o utilizador e separação de responsabilidades, incluindo serialização (core vs. app)
    • 0.75 - Verificação de situações erróneas nos programas (e.g., não mascarar excepções, entre outros aspectos)
    • 0.50 - Apreciação global
    Os padrões de desenho devem ser aplicados para resolver os pontos 3, 4 e 5.
    Factores aditivos negativos:
    • até 1.00 - Violação de convenções de codificação Java
    • até 1.00 - Existência de lixo no ficheiro jar entregue
    • até 1.00 - Uso directo dos tipos Object (excepto onde inevitável), Exception (excepto como superclasse), Throwable, Error
    • até 0.50 - Atributos (qualidade e acesso)
    • até 0.25 - Atributos e métodos não "static" (excepto autorizados)