Programação com Objectos/Projecto de Programação com Objectos/Máquina Virtual

From Wiki**3

< Programação com Objectos‎ | Projecto de Programação com Objectos
Revision as of 13:55, 6 November 2015 by Root (talk | contribs)

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: 2015/10/23 12:00 (inicial); 2015/11/16 12:00 (intercalar); 2015/12/01 12:00 (final); 2015/12/01-2015/12/04 (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 'main'.
  • 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-uilib e edt-support de apoio ao desenvolvimento do projecto são de uso obrigatório:
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.

Máquina Virtual

A máquina virtual é baseada em openSUSE 13.2 -- este é o único ambiente suportado e o único considerado para efeitos de avaliação (ver avisos abaixo).

A máquina virtual da disciplina, koops32 0.10.x está disponível em:

Existem três formatos:

  • VirtualBox/VMWare virtual machine
  • Imagem de disco
  • Live CD/DVD (iso) (instalável) -- note-se que esta versão não permite guardar permanentemente nenhum trabalho realizado

Dados de acesso à máquina:

  • Username: oops
  • Password: linux

Aviso

A máquina virtual reproduz o ambiente canónico para o projecto e já contém todo o material de apoio necessário ao desenvolvimento.

Qualquer tempo e esforço perdidos com ambientes ou ferramentas não recomendados ou não suportados é da inteira responsabilidade do aluno e quaisquer resultados negativos, incluindo possível reprovação, são igualmente da responsabilidade do aluno (i.e., não fazer parte da avaliação por ter usado material ou ambientes não recomendados não será aceite como justificação para qualquer falha de desempenho).

Aplicação Exemplo/Tutorial: Banco

A máquina virtual contém os JARs da aplicação bancária: uma aplicação exemplo/tutorial completamente implementada e que tem a mesma estrutura do projecto.

Para a executar, basta definir a variável CLASSPATH apropriadamente, i.e., por forma a listar os vários JARs (po-bank-core, po-bank-support, po-bank-textui, po-uilib). Estes JARs contêm tanto código fonte (ficheiros .java), como código compilado (ficheiros .class). A localização é a habitual para JARs em Linux: /usr/share/java

Assim, o valor da variável é:

export CLASSPATH=/usr/share/java/po-bank-core.jar:/usr/share/java/po-bank-support.jar:/usr/share/java/po-bank-textui.jar:/usr/share/java/po-uilib.jar

Seguidamente, basta invocar o método main:

java bank.textui.App BPO

Neste comando, "BPO" é simplesmente o argumento do programa principal, sendo específico desta aplicação.