Difference between revisions of "Programação com Objectos/Projecto de Programação com Objectos"

From Wiki**3

< Programação com Objectos
(Linguagens de Programação)
(Projecto Exemplo: Aplicação Bancária)
Line 37: Line 37:
  
 
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]]).
<!--You may want to read these quick and dirty guides:
 
* [[CVS Crash Course]]
 
* <s>[[Quick-and-Dirty Guide to Transforming the Bank Application into your Very Own Project]]</s> (this guide is outdated and is provided only as a general guideline and example of how to start development from existing code: use at your own risk!)
 
-->
 
<!--== koops32: Máquina Virtual para Desenvolvimento ==
 
  
Esta máquina contém o ambiente para o desenvolvimento do projecto, incluindo o material de apoio, e corresponde também ao ambiente de avaliação oficial.
+
== Projecto Exemplo: Rede Social ==
* https://susestudio.com/a/sD7EYX/koops32 (x86) (username: '''oops''' // password: '''linux''')
+
 
-->
+
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.
 +
* 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]]
  
 
== Linguagens de Programação ==
 
== Linguagens de Programação ==

Revision as of 17:04, 2 November 2021

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: 2021/10/08 12:00 (inicial); 2021/10/29 12:00 (intercalar); 2021/11/12 12:00 (final); 2021/11/12 (early bird) 2021/11/15 (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 CVS são de uso obrigatório:
  • po-uilib (classes de base) po-uilib-202110212142.tar.bz2 (não pode ser alterada) - javadoc
  • ggc-core (classes do "core") (via CVS) (deve ser completada -- os nomes das classes fornecidas não podem ser alterados)
  • ggc-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.

Avaliação do Projecto

As pautas são acompanhadas pelos critérios de avaliação.

Projecto: Enunciado 2021-2022 (época normal)

Material de Apoio e Testes

Projecto Exemplo: Aplicação Bancária

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).

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.

Linguagens de Programação

As seguintes linguagens são utilizadas nestas páginas: