(→Localização) |
(→Modo de Acesso) |
||
Line 26: | Line 26: | ||
No texto que se segue: | No texto que se segue: | ||
− | * '''<nowiki>###</nowiki>''' designa o [https://fenix.tecnico.ulisboa.pt/disciplinas/ | + | * '''<nowiki>###</nowiki>''' designa o [https://fenix.tecnico.ulisboa.pt/disciplinas/PO3/2021-2022/1-semestre/grupos número de grupo] com três dígitos, e.g., 012 |
* '''<nowiki>ISTID</nowiki>''' designa o identificador de aluno, no formato "ist123456" | * '''<nowiki>ISTID</nowiki>''' designa o identificador de aluno, no formato "ist123456" | ||
AVISOS - Avaliação em Época Normal |
---|
Esclarecimento de dúvidas:
|
Requisitos para desenvolvimento, material de apoio e actualizações do enunciado (ver informação completa em Projecto de Programação com Objectos):
|
Processo de avaliação (ver informação completa em Avaliação do Projecto):
|
Material de Uso Obrigatório |
---|
As bibliotecas po-uuilib e o conteúdo inicial do CVS 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. |
Os repositórios CVS para os projectos (um por grupo) já contêm versões iniciais do projecto.
Os repositórios estão disponíveis no AFS em:
O conteúdo do repositório pode ser manipulado com o comando cvs ou com qualquer outro cliente compatível (e.g. eclipse).
No texto que se segue:
Assim, os valores possíveis para a variável de ambiente CVSROOT (ou pela opção -d do comando "cvs") são:
O código fornecido é de uso obrigatório e deve ser completado.
Cada projecto é constituído por dois módulos: project/woo-core e project/woo-app.
Conteúdo inicial do repositório CVS para o módulo woo-core |
---|
woo-core
├── Makefile
└── src
└── woo
├── exceptions
│ ├── BadEntryException.java
│ ├── ImportFileException.java
│ ├── MissingFileAssociationException.java
│ └── UnavailableFileException.java
├── Storefront.java
└── Store.java
|
Conteúdo inicial do repositório CVS para o módulo woo-app |
---|
woo-app
├── data.txt
├── Makefile
└── src
└── woo
└── app
├── App.java
├── clients
│ ├── DoRegisterClient.java
│ ├── DoShowAllClients.java
│ ├── DoShowClient.java
│ ├── DoShowClientTransactions.java
│ ├── DoToggleProductNotifications.java
│ ├── Label.java
│ ├── Menu.java
│ └── Message.java
├── exceptions
│ ├── DuplicateClientKeyException.java
│ ├── DuplicateProductKeyException.java
│ ├── DuplicateSupplierKeyException.java
│ ├── FileOpenFailedException.java
│ ├── InvalidDateException.java
│ ├── Message.java
│ ├── UnauthorizedSupplierException.java
│ ├── UnavailableProductException.java
│ ├── UnknownClientKeyException.java
│ ├── UnknownProductKeyException.java
│ ├── UnknownServiceLevelException.java
│ ├── UnknownServiceTypeException.java
│ ├── UnknownSupplierKeyException.java
│ ├── UnknownTransactionKeyException.java
│ └── WrongSupplierException.java
├── lookups
│ ├── DoLookupPaymentsByClient.java
│ ├── DoLookupProductsUnderTopPrice.java
│ ├── Label.java
│ ├── Menu.java
│ └── Message.java
├── main
│ ├── DoAdvanceDate.java
│ ├── DoDisplayDate.java
│ ├── DoOpen.java
│ ├── DoOpenMenuClients.java
│ ├── DoOpenMenuLookups.java
│ ├── DoOpenMenuProducts.java
│ ├── DoOpenMenuSuppliers.java
│ ├── DoOpenMenuTransactions.java
│ ├── DoSave.java
│ ├── DoShowGlobalBalance.java
│ ├── Label.java
│ ├── Menu.java
│ └── Message.java
├── products
│ ├── DoChangePrice.java
│ ├── DoRegisterProductBook.java
│ ├── DoRegisterProductBox.java
│ ├── DoRegisterProductContainer.java
│ ├── DoShowAllProducts.java
│ ├── Label.java
│ ├── Menu.java
│ └── Message.java
├── suppliers
│ ├── DoRegisterSupplier.java
│ ├── DoShowSuppliers.java
│ ├── DoShowSupplierTransactions.java
│ ├── DoToggleTransactions.java
│ ├── Label.java
│ ├── Menu.java
│ └── Message.java
└── transactions
├── DoPay.java
├── DoRegisterOrderTransaction.java
├── DoRegisterSaleTransaction.java
├── DoShowTransaction.java
├── Label.java
├── Menu.java
└── Message.java
|
Estes módulos podem ser obtidos em conjunto fazendo checkout de project (ver abaixo).
O repositório já tem a seguinte estrutura:
Esta estrutura já contém algumas classes parcialmente implementadas (woo-core) (que devem ser adaptadas) e outras parcial ou completamente implementadas (woo-app) (algumas das quais não podem ser alteradas).
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:
Agradece-se a comunicação de eventuais problemas.
Tal como indicado no método de avaliação, os 3 diagramas a entregar -- UML-po-uilib.pdf, UML-woo-app.pdf, UML-woo-core.pdf -- devem ser colocados na directoria uml do projecto no repositório CVS.
Os comandos abaixo explicam como realizar essa operação a partir de um projecto no repositório (desde obter uma cópia local até completar a entrega). O passo de obter a cópia local pode ser omitido se o projecto já tiver sido obtido anteriormente. O passo de adicionar novos ficheiros pode ser omitido se as versões dos diagramas corresponderem a actualizações de adições anteriores. Nos comandos abaixo, ist123456 é o ISTid da pessoa que realiza as operações e 199 é o grupo dessa pessoa (estes dois valores variam de pessoa para pessoa).
cvs -d :ext:ist123456@sigma.tecnico.ulisboa.pt:/afs/ist.utl.pt/groups/leic-po/po20/cvs/199 co project cd project
cp ~/UML-po-uilib.pdf ~/UML-woo-app.pdf ~/UML-woo-core.pdf uml
cvs add uml/UML-po-uilib.pdf uml/UML-woo-app.pdf uml/UML-woo-core.pdf
cvs update
cvs commit -m "Adicionados diagramas UML."