Entrega Intermédia do Projecto

A Entrega Intermédia avalia o estado do projecto relativamente a um mínimo de funcionalidade. 

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

A não realização da Entrega Intermédia conduz automaticamente a uma classificação de 0 (zero) na componente correspondente (mas não globalmente no projecto), se bem que ainda seja possível recuperar 1.25 valores destes 5 valores na entrega final.

Funcionalidade a Concretizar

A funcionalidade necessária para a entrega intermédia, além da abertura de todos os submenus, é a seguinte:

  • Leitura, interpretação e representação em memória do ficheiro textual indicado pela propriedade import (implica implementar algumas classes do "core"), sem considerar ainda a leitura de itinerários (pode ser implementada, mas não será avaliada)
  • Menu principal: Salvaguarda do estado actual da aplicação, Reiniciar, Abrir e Guardar
  • Menu de Consulta de Serviços: Mostrar todos os serviçosMostrar serviço com um dado número e Mostrar serviços com origem numa dada estação (não é necessário concretizar ainda Mostrar serviços com término numa estação dada)
  • Menu de Gestão de Passageiros: funcionalidade completa

Todos os outros comandos em todos os menus têm de estar concretizados ("execute" pode estar vazio). Não é má prática concretizar os outros comandos, pois poupa esforço para a entrega final, mas não serão avaliados nesta entrega.

A funcionalidade a concretizar em nas várias classes da aplicação tem de ser suficiente para suportar os comandos indicados acima. Note-se que o número de passageiros e serviços pode ser grande, pelo que as soluções encontradas devem ser eficientes para o armazenamento e para consultas.

Avaliação Automática

A avaliação automática vale 2,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 tem como objectivo avaliar a qualidade do projecto no que diz respeito às opções de desenho e concretização seguidas por cada grupo.

Os critérios da avaliação manual da entrega intermédia do projecto são os seguintes:

Factores aditivos positivos:

  • 0.30 - Atributos não públicos 
  • 0.30 - Atributos e métodos não "static" (excepto onde autorizado) 
  • 0.20 - Utilização correcta da classe TicketOffice (ver abaixo)
  • 0.20 - Serialização 
  • 0.40 - utilização das estruturas de dados correctas
  • 0.50 - Separação app/core (pode haver descontos na parte automática) 
  • 0.40 - Qualidade do projecto 
  • 0.20 - Comentários Javadoc (a colocar necessariamente na classe TrainCompany)

A utilização correcta da classe TicketOffice implica que o código da interface com o utilizador (mmt.app) da aplicação utiliza as funcionalidades do core (mmt.core) da aplicação  sempre através da interface da classe TicketOffice. Por razões de simplificação do código a realizar, o código de interacção com o utilizador pode utilizar as entidades do domínio para obter cadeias de caracteres para apresentar ou para aceder a determinados valores do estado dos objectos do domínio. O acesso pode também ser realizado por objectos auxiliares (como elementos do padrão de desenho Visitor).

Factores aditivos negativos:

  • 0.15 - Violação de regras de codificação Java
  • Será aplicado um desconto até 1.00 pela existência de lixo no código submetido para avaliação.