AVISOS - Avaliação em Época Normal
|
Esclarecimento de dúvidas:
- Consultar sempre o corpo docente atempadamente: presencialmente ou através do endereço oficial da disciplina [1].
- Não utilizar fontes de informação não oficialmente associadas ao corpo docente (podem colocar em causa a aprovação à disciplina).
- Não são aceites justificações para violações destes conselhos: quaisquer consequências nefastas são da responsabilidade do aluno.
|
Requisitos para desenvolvimento, material de apoio e actualizações do enunciado (ver informação completa em Projecto de Programação com Objectos):
- O material de apoio é de uso obrigatório e não pode ser alterado.
- Verificar atempadamente (mínimo de 48 horas antes do final de cada prazo) os requisitos exigidos pelo processo de desenvolvimento.
|
Processo de avaliação (ver informação completa em Avaliação do Projecto):
- Datas: 2018/10/19 12:00 (inicial); 2018/11/16 12:00 (intercalar); 2018/12/07 12:00 (final); 2018/12/10-2018/12/14 (teste prático).
- Todas as entregas são cruciais para o bom desenvolvimento do projecto, sendo obrigatórias: a não realização de uma entrega implica a exclusão da avaliação do projecto e, por consequência, da avaliação da disciplina.
- Verificar atempadamente (até 48 horas antes do final de cada prazo) os requisitos exigidos pelo processo de avaliação, incluindo a capacidade de acesso ao repositório.
- Apenas se consideram para avaliação os projectos existentes no repositório oficial. Apenas se considera para avaliação o ramo 'master'.
- Trabalhos não presentes no repositório no final do prazo têm classificação 0 (zero) (não são aceites outras formas de entrega). Não são admitidas justificações para atrasos em sincronizações do repositório. A indisponibilidade temporária do repositório ou de outros materiais, desde que inferior a 24 horas, não justifica atrasos na submissão de um trabalho.
- A avaliação do projecto pressupõe o compromisso de honra de que o trabalho correspondente foi realizado pelos alunos correspondentes ao grupo de avaliação.
- Fraudes na execução do projecto terão como resultado a exclusão dos alunos implicados do processo de avaliação.
|
Material de Uso Obrigatório
|
As bibliotecas po-uuilib e o conteúdo inicial do CVS são de uso obrigatório:
|
- po-uuilib (classes de base) po-uuilib-201708311009.tar.bz2 (não pode ser alterada) - javadoc
- sth-core (classes do "core") (via CVS) (deve ser completada -- os nomes das classes fornecidas não podem ser alterados)
- sth-app (classes de interacção) (via CVS) (deve ser completada -- os nomes das classes fornecidas não podem ser alterados)
|
A máquina virtual, fornecida para desenvolvimento do projecto, já contém todo o material de apoio.
|
Uso Obrigatório: Repositório CVS
|
Apenas se consideram para avaliação os projectos existentes no repositório CVS oficial.
Trabalhos não presentes no repositório no final do prazo têm classificação 0 (zero) (não são aceites outras formas de entrega). Não são admitidas justificações para atrasos em sincronizações do repositório. A indisponibilidade temporária do repositório, desde que inferior a 24 horas, não justifica atrasos na submissão de um trabalho.
|
A entrega intermédia vale 5 valores em 20. Esta entrega não é obrigatória (não entregar significa apenas não ter estes 5 valores).
Os alunos devem compreender/verificar/corrigir os problemas reportados.
Quaisquer dúvidas ou sugestões, relativas a esta informação, devem ser enviadas ao responsável pela disciplina.
Prazo de Revisão
PAUTA FECHADA
Esta pauta está em revisão até à data da entrega final do projecto.
Legenda
Existem factores aditivos positivos (colunas a verde) e negativos (colunas laranja).
As colunas "Auto" indicam a percentagem de teste automáticos certos e valem, em conjunto, 2.5 valores.
NA na coluna "Nota" indica "não avaliado".
Explicação dos testes automáticos
|
Os resultados dos testes automáticos estão disponíveis em https://goo.gl/UuiVAQ
- São consideradas irrelevantes diferenças que consistam apenas em quantidade de espaços brancos (não ter espaços é considerada uma diferença).
- O uso da função fileNotFound com e sem argumentos é considerado igual.
|
Explicação das anotações
|
Atributos não públicos:
- [nomes] - atributos públicos
- protected - atributos protected (potencialmente desnecessariamente; potencialmente descontados na entrega final)
- (package) - atributos sem qualificação de acesso (potencialmente descontados na entrega final)
- [outras anotações] - consultar professor responsável (horário de dúvidas)
Atributos e métodos não “static”
- CAPACITY - a capacidade das disciplinas não tem de ser constante (nem global)
- [outras anotações] - consultar professor responsável (horário de dúvidas)
Utilização correcta da classe SchoolManager
- instanceof - uso de instanceof (não é justificável numa solução de boa qualidade)
- serialization - a serialização da escola está noutro local (ou em falta)
- bad encapsulation - a classe SchoolManager está a realizar acções de outra classe
- [outras anotações] - consultar professor responsável (horário de dúvidas)
Serialização
- ois - falta criação de ObjectInputStream
- oos - falta criação de ObjectOutputStream
- collator wrapper - má solução de serialização
- [outras anotações] - consultar professor responsável (horário de dúvidas)
Utilização de estruturas de dados correctas
- lists - utilização de listas onde se justifica a utilização de mapas
- Object - utilização directa da classe Object (sem ser para satisfazer um requisito de Java)
- instanceof - uso de instanceof (não é justificável numa solução de boa qualidade)
- persons - definiciência na modelação da hierarquia das pessoas (ou falta dela)
- person type - uso indevido variável para distinguir tipos de pessoa (menos mau, mas equivalente a instanceof)
- tmp lists - uso deficiente de atributos de objectos para guardar informação temporária
- [outras anotações] - consultar professor responsável (horário de dúvidas)
Separação textui/core
- serialization - uso de primitivas de serialização na app
- reader - criação do leitor do ficheiro indicado pela propriedade "import" na app
- core exposed - exposição desnecessária de estruturas/abstracções do core
- [outras anotações] - consultar professor responsável (horário de dúvidas)
Qualidade do projecto (apreciação global)
- instanceof - uso de instanceof (não é justificável numa solução de boa qualidade)
- Object - utilização directa da classe Object (sem ser para satisfazer um requisito de Java)
- [outras anotações] - consultar professor responsável (horário de dúvidas)
Javadoc
- [outras anotações] - consultar professor responsável (horário de dúvidas)
Seguir regras codificação
- class - erros de nomenclatura (maus nomes para classes)
- vars - erros de nomenclatura (maus nomes para variáveis)
- funcs - erros de nomenclatura (maus nomes para funções)
- [outras anotações] - consultar professor responsável (horário de dúvidas)
Lixo no Repositório
- [outras anotações] - consultar professor responsável (horário de dúvidas)
|
Pauta
Aqui: https://fenix.tecnico.ulisboa.pt/disciplinas/PO6517957/2018-2019/1-semestre/pautas-da-disciplina