|
|
Line 26: |
Line 26: |
| | | |
| * '''project/pex-core''' | | * '''project/pex-core''' |
− | * '''project/pex-textui''' | + | * '''project/pex-app''' |
| | | |
| Estes módulos podem ser obtidos em conjunto fazendo checkout de '''project''' (não recomendado, pois podem aparecer interferências indesejáveis -- configurações de eclipse, por exemplo). | | Estes módulos podem ser obtidos em conjunto fazendo checkout de '''project''' (não recomendado, pois podem aparecer interferências indesejáveis -- configurações de eclipse, por exemplo). |
Line 32: |
Line 32: |
| O repositório já tem a seguinte estrutura -- <font color="brown">'''esta estrutura não pode ser alterada'''</font>: | | O repositório já tem a seguinte estrutura -- <font color="brown">'''esta estrutura não pode ser alterada'''</font>: |
| * '''Makefile''' (makefile "principal" -- repete a acção sobre as secundárias) | | * '''Makefile''' (makefile "principal" -- repete a acção sobre as secundárias) |
− | * '''pex-core''' (directoria principal da biblioteca com a funcionalidade sem interface "gráfica") | + | * '''pex-core''' (directoria principal da biblioteca com a funcionalidade sem interface com o utilizador) |
− | * '''pex-core/Makefile''' (makefile secundária, semelhante à disponibilizada no "core" da aplicação bancária) | + | * '''pex-core/Makefile''' (makefile secundária, semelhante à disponibilizada na aplicação bancária) |
− | * '''pex-core/src''' (directoria onde deve residir o código do "core", à semelhança do que acontece na aplicação bancária) | + | * '''pex-core/src''' (directoria onde reside o código do "core", à semelhança do que acontece na aplicação bancária) |
− | * '''pex-textui''' (directoria correspondente interface baseada em texto) | + | * '''pex-app''' (directoria correspondente à aplicação; contém a interface com o utilizador) |
− | * '''pex-textui/Makefile''' (makefile secundária, semelhante à disponibilizada na biblioteca "textui" da aplicação bancária) | + | * '''pex-app/Makefile''' (makefile secundária, semelhante à disponibilizada na aplicação bancária) |
− | * '''pex-textui/src''' (directoria onde já reside o código da interface textual, tal como na biblioteca equivalente da aplicação bancária) | + | * '''pex-app/src''' (directoria onde já reside o código da interface textual, tal como na biblioteca equivalente da aplicação bancária) |
− | * '''pex-textui/src/textui''' ("package" principal da interface textual)
| |
− | <!--
| |
− | * '''pex-textui/src/textui/main''' ("package" com os comandos do menu principal)
| |
− | * '''pex-textui/src/textui/section''' ("package" com os comandos do menu de edição de secções)
| |
− | -->
| |
| | | |
− | '''Esta estrutura já contém comandos parcialmente implementados. Estas implementações devem ser adaptadas ao código particular de cada projecto, mas <font color="red">os nomes das classes em pex-textui não podem ser alterados.</font>''' | + | '''Esta estrutura já contém classes parcialmente implementadas (analisador no "core" e comandos e menus na "app"). Estas implementações devem ser adaptadas ao código particular de cada projecto, mas <font color="red">os nomes das classes fornecidas, tanto em '''pex-core''', como em '''pex-app''', não podem ser alterados.</font>''' |
| | | |
| == Cuidados a ter na Utilização do Repositório CVS == | | == Cuidados a ter na Utilização do Repositório CVS == |
Revision as of 11:57, 20 September 2016
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: 2016/10/21 12:00 (inicial); 2016/11/21 12:00 (intercalar); 2016/12/09 12:00 (final); 2016/12/09-2016/12/13 (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-uuilib e o conteúdo inicial do CVS são de uso obrigatório:
|
- po-uuilib (classes de base) media:po-uuilib-201609201009.tar.bz2 (não pode ser alterada)
- pex-core (classes do "core") (via CVS) (deve ser completada -- os nomes das classes fornecidas não podem ser alterados)
- pex-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 DISPONIBILIZAR BREVEMENTE
Localização e Acesso
Os repositórios CVS para os projectos (um por aluno) já contêm versões iniciais de todos os projectos (i.e., já foi feito o "import" inicial). Os repositórios estão disponíveis no AFS em:
- /afs/ist.utl.pt/groups/leic-po/po16/cvs -- esta directoria não deve ser utilizada directamente
No texto que se segue:
- ##### designa o número de aluno (cinco dígitos)
- ISTID designa o identificador de aluno, no formato "ist123456"
Assim, os valores possíveis para a variável de ambiente CVSROOT (ou pela opção -d do comando "cvs") são:
- /afs/ist.utl.pt/groups/leic-po/po16/cvs/##### (disponível em clientes AFS e utilizador com token válido para a célula ist.utl.pt)
- :ext:ISTID@sigma.ist.utl.pt:/afs/ist.utl.pt/groups/leic-po/po16/cvs/##### (disponível via SSH; verificar que CVS_RSH=ssh)
Os alunos que ainda não visitaram o self-service do CIIST (DSI), devem fazê-lo, para activação dos serviços relevantes (AFS e Shell, pelo menos). Sem isso, não conseguirão desenvolver ou entregar o projecto, reprovando à disciplina.
Conteúdo e Estrutura do Repositório
Cada projecto é constituído por módulos (por exemplo, no eclipse, são projectos independentes):
- project/pex-core
- project/pex-app
Estes módulos podem ser obtidos em conjunto fazendo checkout de project (não recomendado, pois podem aparecer interferências indesejáveis -- configurações de eclipse, por exemplo).
O repositório já tem a seguinte estrutura -- esta estrutura não pode ser alterada:
- Makefile (makefile "principal" -- repete a acção sobre as secundárias)
- pex-core (directoria principal da biblioteca com a funcionalidade sem interface com o utilizador)
- pex-core/Makefile (makefile secundária, semelhante à disponibilizada na aplicação bancária)
- pex-core/src (directoria onde reside o código do "core", à semelhança do que acontece na aplicação bancária)
- pex-app (directoria correspondente à aplicação; contém a interface com o utilizador)
- pex-app/Makefile (makefile secundária, semelhante à disponibilizada na aplicação bancária)
- pex-app/src (directoria onde já reside o código da interface textual, tal como na biblioteca equivalente da aplicação bancária)
Esta estrutura já contém classes parcialmente implementadas (analisador no "core" e comandos e menus na "app"). Estas implementações devem ser adaptadas ao código particular de cada projecto, mas os nomes das classes fornecidas, tanto em pex-core, como em pex-app, não podem ser alterados.
Cuidados a ter na Utilização do Repositório CVS
NÃO FAZER
- cvs init (não é necessário: o repositório já existe)
- cvs import (não é necessário: o projecto já existe)
- cd /afs/ist.utl.pt/groups/leic-po/po16/cvs (ou qualquer outra manipulação directa dos ficheiros do repositório: toda a interacção com o repositório deve ser limitada ao comando "cvs")
FAZER
Antes de tudo o mais, fazer cópias de segurança (vulgo "backups") de tudo o que já foi feito.
O repositório já contém uma versão preliminar do projecto e devem ser dados os seguintes passos, para continuar a desenvolver o projecto:
- cvs co project (permite criar localmente uma directoria controlada pelo CVS, com o nome project, com a estrutura apresentada acima, contendo os ficheiros do projecto);
- Editar/adicionar material do/ao projecto;
- Caso sejam criados ficheiros ou directórios novos, fazer cvs add ficheiro1 ficheiro2 ... ficheiro3 (adicionar cada ficheiro novo ao projecto no CVS);
- cvs update (antes de enviar alteração locais para o repositório, verificar se há actualizações a incorporar na cópia local e que não foi esquecido nenhum ficheiro importante: voltar a 3 até terem sido todos adicionados)
- cvs commit (enviar alterações para o repositório)
Observações importantes
- No ponto 3 acima, é importante notar que quando se quer adicionar o conteúdo de uma (sub)directoria, deve ser primeiro adicionada a própria directoria e, só depois, o seu conteúdo.
- Não adicionar cópias das bibliotecas po-uilib, pex-support ao projecto (serão removidas e quaisquer alterações perdidas -- isto pode causar problemas de compilação e perda de nota).
- Pessoas sem área no AFS, ou sem login activado, não poderão aceder ao conteúdo do repositório: para activar estes acessos, consultar o self-service do CIIST (DSI). Em caso de dificuldade, consultar o corpo docente.
- A estrutura do projecto no CVS deve ser mantida como apresentado e cada biblioteca do projecto deve ser, em geral, semelhante, em estrutura, às apresentadas para a aplicação bancária.
- Em caso de dúvidas, consultar o corpo docente.
Agradece-se a comunicação de eventuais problemas.