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ços, Mostrar 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
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.