Programação com Objectos/Pautas 2018-2019/Pauta do Projecto: Entrega Intermédia

From Wiki**3

< Programação com Objectos‎ | Pautas 2018-2019
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-2017/12/14 (teste prático).
  • A entrega inicial, sendo crucial para o projecto, é obrigatória e sua não realização 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 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 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

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/J0fyPt

  • 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
  • missing - faltam atributos
  • [outras anotações] - consultar professor responsável (horário de dúvidas)

Atributos e métodos não “static”

  • [outras anotações] - consultar professor responsável (horário de dúvidas)

Atributos não repetidos nas classes derivadas

  • reps - atributos repetidos
  • subs - subsecções repetidas ou estrutura repetida (ids vs. subsecções)
  • [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
  • [outras anotações] - consultar professor responsável (horário de dúvidas)

Factorização e organização de código

  • ois - repetição do código de gestão do ObjectInputStream
  • oos - repetição do código de gestão do ObjectOutputStream
  • reader - falta criação do leitor do ficheiro indicado pela propriedade "import"
  • content - falta mapa de identificadores ou estruturas de dados são inadequadas
  • ids - uso indevido de identificadores numéricos
  • inherit - não utilização ou utilização deficiente de herança
  • Program - repetições de código desnecessárias na classe Program (ver classe Sequence)
  • [outras anotações] - consultar professor responsável (horário de dúvidas)

Separação textui/core

  • ois - criação de ObjectInputStream no textui
  • oos - criação de ObjectOutputStream no textui
  • reader - criação do leitor do ficheiro indicado pela propriedade "import" no textui
  • 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)

  • strings, mat apoio - uso de strings literais no código em lugar do material de apoio (uso obrigatório)
  • [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

  • nomenc - erros de nomenclatura (maus nomes para classes)
  • [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

<runphp> echo<<<___EOT___

___EOT___; </runphp>