(→Projecto: Aplicação Bancária (exemplo de projecto)) |
(→Projecto: Enunciado 2022-2023 (época normal)) |
||
(26 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | {{ | + | {{PRJPOAvisosEN20232024}} |
− | <!--{{ | + | <!--{{PRJPOAvisosEE20232024}}--> |
− | {{ | + | {{PRJPOMandatory20232024}} |
{{TOCright}} | {{TOCright}} | ||
Line 17: | Line 17: | ||
--> | --> | ||
− | == Projecto: Enunciado | + | == Projecto: Enunciado 2023-2024 (época normal) == |
− | * [[Programação com Objectos/Projecto de Programação com Objectos/Enunciado do Projecto de 2020-2021|Enunciado do Projecto 2020-2021]] | + | * [[Programação com Objectos/Projecto de Programação com Objectos/Enunciado do Projecto de 2023-2024|Enunciado do Projecto 2023-2024]] |
+ | <!--* [[Programação com Objectos/Projecto de Programação com Objectos/Enunciado do Projecto de 2022-2023|Enunciado do Projecto 2022-2023]]--> | ||
+ | <!--* [[Programação com Objectos/Projecto de Programação com Objectos/Enunciado do Projecto de 2021-2022|Enunciado do Projecto 2021-2022]]--> | ||
+ | <!--* [[Programação com Objectos/Projecto de Programação com Objectos/Enunciado do Projecto de 2020-2021|Enunciado do Projecto 2020-2021]]--> | ||
<!--* [[Programação com Objectos/Projecto de Programação com Objectos/Enunciado do Projecto de 2019-2020|Enunciado do Projecto 2019-2020]]--> | <!--* [[Programação com Objectos/Projecto de Programação com Objectos/Enunciado do Projecto de 2019-2020|Enunciado do Projecto 2019-2020]]--> | ||
<!--* [[Programação com Objectos/Projecto de Programação com Objectos/Enunciado do Projecto de 2018-2019|Enunciado do Projecto 2018-2019]]--> | <!--* [[Programação com Objectos/Projecto de Programação com Objectos/Enunciado do Projecto de 2018-2019|Enunciado do Projecto 2018-2019]]--> | ||
Line 25: | Line 28: | ||
== Material de Apoio e Testes == | == Material de Apoio e Testes == | ||
− | * [[Programação com Objectos/Projecto de Programação com Objectos/Repositório | + | * [[Programação com Objectos/Projecto de Programação com Objectos/Repositório GIT|Repositório GIT]] - informações de localização e acesso |
* [[Programação com Objectos/Projecto de Programação com Objectos/Material de Apoio ao Desenvolvimento|Material de Apoio ao Desenvolvimento]] | * [[Programação com Objectos/Projecto de Programação com Objectos/Material de Apoio ao Desenvolvimento|Material de Apoio ao Desenvolvimento]] | ||
− | * [[Programação com Objectos/Projecto de Programação com Objectos/Testes Automáticos 2020-2021|Testes Automáticos 2020-2021]] | + | * Testes automáticos: https://gitlab.rnl.tecnico.ulisboa.pt/leic-a-po23/eval/po23 |
+ | <!--* [[Programação com Objectos/Projecto de Programação com Objectos/Testes Automáticos 2021-2022|Testes Automáticos 2021-2022]] --> | ||
+ | <!--* [[Programação com Objectos/Projecto de Programação com Objectos/Testes Automáticos 2020-2021|Testes Automáticos 2020-2021]] --> | ||
<!--* [[Programação com Objectos/Projecto de Programação com Objectos/Testes Automáticos 2019-2020|Testes Automáticos 2019-2020]] --> | <!--* [[Programação com Objectos/Projecto de Programação com Objectos/Testes Automáticos 2019-2020|Testes Automáticos 2019-2020]] --> | ||
<!--* [[Programação com Objectos/Projecto de Programação com Objectos/Testes Automáticos 2018-2019|Testes Automáticos 2018-2019]] --> | <!--* [[Programação com Objectos/Projecto de Programação com Objectos/Testes Automáticos 2018-2019|Testes Automáticos 2018-2019]] --> | ||
* [[Programação com Objectos/Projecto de Programação com Objectos/Máquina Virtual|Máquina Virtual]] | * [[Programação com Objectos/Projecto de Programação com Objectos/Máquina Virtual|Máquina Virtual]] | ||
− | == Projecto: Aplicação Bancária | + | == Projecto Exemplo: Aplicação Bancária == |
Para auxiliar o desenvolvimento do projecto, é fornecida uma [[Comando (padrão de desenho)/Banco, Conta, Titular (aplicação bancária)|aplicação bancária]] (banco, contas, titulares, etc.), que tem a mesma estrutura. Esta estrutura tem duas partes principais: "core" (o núcleo lógico da aplicação) e "app" (a interface textual, baseada no padrão de desenho [[Comando (padrão_de_desenho)|Command]]). | Para auxiliar o desenvolvimento do projecto, é fornecida uma [[Comando (padrão de desenho)/Banco, Conta, Titular (aplicação bancária)|aplicação bancária]] (banco, contas, titulares, etc.), que tem a mesma estrutura. Esta estrutura tem duas partes principais: "core" (o núcleo lógico da aplicação) e "app" (a interface textual, baseada no padrão de desenho [[Comando (padrão_de_desenho)|Command]]). | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | == Projecto Exemplo: Rede Social == | |
− | * | + | |
− | + | Este projecto descreve uma rede social com funcionalidade semelhante à das redes sociais actuais: relações entre agentes, publicação de vários tipos de media, envio de mensagens, etc. | |
+ | |||
+ | Note-se que o enunciado corresponde ao ano lectivo de 2011/2012 e refere aspectos de implementação não disponíveis no ano lectivo 2022/2023. A implementação foi actualizada para ser compatível com o material de apoio de 2022/2023. | ||
+ | * Enunciado: [[media:social-network-201110241420.pdf]] | ||
+ | * Implementação (core): [[media:sonet-core-202111021419.tar.bz2]] | ||
+ | * Implementação (app: browser): [[media:sonet-app-browser-202111021419.tar.bz2]] | ||
+ | * Implementação (app: manager): [[media:sonet-app-manager-202111021419.tar.bz2]] | ||
+ | '''O uso deste código deve ser feito de forma crítica, já que algumas das decisões nele tomadas podem ser alvo de descontos na avaliação do projecto.''' | ||
== Linguagens de Programação == | == Linguagens de Programação == | ||
− | As seguintes linguagens são utilizadas nestas páginas | + | As seguintes linguagens são utilizadas nestas páginas: |
− | * [http://www.java.com/ Java] ( | + | * [http://www.java.com/ Java] (14 '''versão mínima para suportar o material de apoio do projecto''') -- [https://docs.oracle.com/en/java/javase/ Java Platform, Standard Edition Documentation] (os testes automáticos usam OpenJDK 17) |
− | * [http://cplusplus.com/ C++] (C++ | + | * [http://cplusplus.com/ C++] (C++17 ou superior) -- [http://cplusplus.com/reference/ Manual de Referência para C++ (biblioteca)]; STL: [http://cplusplus.com/reference/stl/ contentores], [http://cplusplus.com/reference/algorithm/ algoritmos] <!--*[http://cppreference.com/ Manual de Referência para C/C++]--> |
<!-- * [http://php.net/ PHP]: [http://www.php.net/manual/en/ manual] and [http://www.php.net/manual/en/funcref.php function reference] --> | <!-- * [http://php.net/ PHP]: [http://www.php.net/manual/en/ manual] and [http://www.php.net/manual/en/funcref.php function reference] --> | ||
− | [[category:Ensino]] | + | [[category:Ensino]] |
[[category:PO]] | [[category:PO]] | ||
[[category:Projecto de PO]] | [[category:Projecto de PO]] | ||
[[en:Object-Oriented Programming]] | [[en:Object-Oriented Programming]] |
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-uilib e o conteúdo inicial do repositório GIT 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 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. |
As pautas são acompanhadas pelos critérios de avaliação.
Para auxiliar o desenvolvimento do projecto, é fornecida uma aplicação bancária (banco, contas, titulares, etc.), que tem a mesma estrutura. Esta estrutura tem duas partes principais: "core" (o núcleo lógico da aplicação) e "app" (a interface textual, baseada no padrão de desenho Command).
Este projecto descreve uma rede social com funcionalidade semelhante à das redes sociais actuais: relações entre agentes, publicação de vários tipos de media, envio de mensagens, etc.
Note-se que o enunciado corresponde ao ano lectivo de 2011/2012 e refere aspectos de implementação não disponíveis no ano lectivo 2022/2023. A implementação foi actualizada para ser compatível com o material de apoio de 2022/2023.
O uso deste código deve ser feito de forma crítica, já que algumas das decisões nele tomadas podem ser alvo de descontos na avaliação do projecto.
As seguintes linguagens são utilizadas nestas páginas: