|
|
Line 91: |
Line 91: |
| }} | | }} |
| | | |
− | Estes módulos podem ser obtidos em conjunto fazendo checkout de '''project''' (ver abaixo). | + | Estes módulos podem ser obtidos em conjunto clonando o projecto com o número correspondente à inscrição no Fénix (ver abaixo). |
| | | |
| O repositório já tem a seguinte estrutura: | | O repositório já tem a seguinte estrutura: |
Revision as of 15:24, 14 September 2023
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: 2023/09/29 12:00 (inicial); 2023/10/13 12:00 (intercalar); 2023/10/27 12:00 (final); 2023/10/27 (early bird) 2023/10/30 (normal) (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 o conteúdo inicial do repositório GIT são de uso obrigatório:
|
- po-uilib (classes de base) po-uilib-202308010000.tar.bz2 (não pode ser alterada) - javadoc
- xxl-core (classes do "core") (via GIT) (deve ser completada -- os nomes das classes fornecidas não podem ser alterados)
- xxl-app (classes de interacção) (via GIT) (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 GIT
|
Apenas se consideram para avaliação os projectos existentes no repositório GIT 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.
|
Os repositórios GIT para os projectos (um por grupo) já contêm versões iniciais do projecto.
O uso do repositório GIT é obrigatório.
Não serão considerados projectos que não estejam no repositório oficial.
Localização
Os repositórios estão disponíveis no Gitlab da RNL em:
O conteúdo do repositório pode ser manipulado com o comando git ou com qualquer outro cliente compatível.
Modo de Acesso
O acesso ao serviço GitLab da RNL é realizado com as credenciais IST (à la Fénix)
Todos os alunos do IST têm de ter credenciais válidas para poderem ser avaliados na disciplina.
Apenas é considerado para avaliação o ramo main. Alunos que não coloquem o projecto neste ramo serão excluídos da avaliação.
Para realização do teste prático é ainda necessário activar os serviços AFS e Shell no
self-service da DSI. Sem isso, não conseguirão completar a avaliação do projecto, reprovando à disciplina.
Conteúdo e Estrutura do Repositório
O código fornecido é de uso obrigatório e deve ser completado.
Cada projecto é constituído por dois módulos: project/xxl-core e project/xxl-app.
Conteúdo inicial do repositório para o módulo xxl-core
|
xxl-core
├── Makefile
└── src
└── xxl
├── Calculator.java
├── exceptions
│ ├── ImportFileException.java
│ ├── MissingFileAssociationException.java
│ ├── UnavailableFileException.java
│ └── UnrecognizedEntryException.java
└── Spreadsheet.java
|
Conteúdo inicial do repositório para o módulo xxl-app
|
xxl-app
├── Makefile
└── src
└── xxl
└── app
├── App.java
├── edit
│ ├── DoCopy.java
│ ├── DoCut.java
│ ├── DoDelete.java
│ ├── DoInsert.java
│ ├── DoPaste.java
│ ├── DoShowCutBuffer.java
│ ├── DoShow.java
│ ├── InvalidCellRangeException.java
│ ├── Label.java
│ ├── Menu.java
│ ├── Message.java
│ ├── Prompt.java
│ └── UnknownFunctionException.java
├── main
│ ├── DoMenuOpenEdit.java
│ ├── DoMenuOpenSearch.java
│ ├── DoNew.java
│ ├── DoOpen.java
│ ├── DoSave.java
│ ├── FileOpenFailedException.java
│ ├── Label.java
│ ├── Menu.java
│ ├── Message.java
│ └── Prompt.java
└── search
├── DoShowFunctions.java
├── DoShowValues.java
├── Label.java
├── Menu.java
├── Message.java
└── Prompt.java
|
Estes módulos podem ser obtidos em conjunto clonando o projecto com o número correspondente à inscrição no Fénix (ver abaixo).
O repositório já tem a seguinte estrutura:
- xxl-core (directoria principal da biblioteca com a funcionalidade sem interface com o utilizador)
- xxl-core/Makefile (makefile secundária, semelhante à disponibilizada na aplicação bancária)
- xxl-core/src (directoria onde reside o código do "core", à semelhança do que acontece na aplicação bancária)
- xxl-app (directoria correspondente à aplicação; contém a interface com o utilizador)
- xxl-app/Makefile (makefile secundária, semelhante à disponibilizada na aplicação bancária)
- xxl-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 algumas classes parcialmente implementadas (prr-core) (que devem ser adaptadas) e outras parcial ou completamente implementadas (xxl-app) (algumas das quais não podem ser alteradas).
A estrutura do repositório não pode ser alterada.
O código fornecido em xxl-core e xxl-app tem de ser completado.
Os nomes das classes fornecidas em xxl-core e xxl-app não podem ser alterados.
As seguintes classes e interfaces não podem ser alteradas: App.java, todos as Label.java, todos as Menu.java, todos as Message.java, todos os Prompt.java e todas as excepções fornecidas.
Cuidados a ter na Utilização do Repositório GIT
NÃO FAZER
- git init (não é necessário: o repositório já existe)
FAZER
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:
- git clone git@gitlab.rnl.tecnico.ulisboa.pt:leic-a-po23/prj/000.git (permite obter uma cópia local contendo os ficheiros, no exemplo, do projecto do grupo 000);
- Editar/adicionar material do/ao projecto;
- Caso sejam criados ficheiros ou directórios novos, fazer git add ficheiro1 ficheiro2 ... ficheiroN (adicionar novos ficheiros/directorias ao projecto);
- git pull (antes de enviar alteração locais para o repositório, verificar se há actualizações remotas a incorporar na cópia local e que não foi esquecido nenhum ficheiro importante: voltar a 3 até terem sido todos adicionados)
- git status (verificar a situação na cópia local)
- git commit -am "Mensagem de commit." (registar alterações na cópia local)
- git push (enviar alterações para o GitLab -- sem este passo, não é realizada a entrega do projecto)
Observações importantes
- Não adicionar cópias do material de apoio (po-uilib) ao projecto (serão removidas e quaisquer alterações perdidas -- além disso, lixo no repositório é penalizado).
- Pessoas sem área no AFS, ou sem login activado, não poderão aceder ao conteúdo do teste prático: para activar estes acessos, consultar o self-service do CIIST (DSI). Em caso de dificuldade, consultar o corpo docente.
- A estrutura do projecto no GIT deve ser mantida como apresentado.
- Em caso de dúvidas, consultar o corpo docente.
Agradece-se a comunicação de eventuais problemas.