Matéria

 O 2º Teste vai incidir sobre os padões de desenho e a modelação de comportamento de um sistema utilizando os diagramas UML de sequência. Assim, os alunos devem dominar os seguintes temas:

  • Conceito de padrão de desenho;
  • Objectivo, estrutura e consequências dos padrões de desenho leccionados nas aulas teóricas;
  • Saber aplicar os padrões de desenho, construindo uma solução em Java,  para resolver problemas específicos;
  • Modelação de comportamento de um sistema descrito por um conjunto de classes Java aplicando o diagrama UML de sequência (possível fonte de informação: Quick Introduction to UML Sequence Diagrams).

Os padrões de desenho leccionados nas aulas teóricas foram os seguintes (é indicado o capítulo do livro Head First Design Patterns onde o padrão é descrito):

  1. Null Object
  2. Singleton (Capítulo 5)
  3. Observer (Capítulo 2)
  4. Decorator (Capítulo 3)
  5. Factory Method (Capítulo 4)
  6. Abstract Factory (Capítulo 4)
  7. Command (Capítulo 6)
  8. Adapter (Capítulo 7)
  9. Facade (Capítulo 7)
  10. Template Method (Capítulo 8)
  11. Composite (Capítulo 9)
  12. State (Capítulo 10)
  13. Strategy (Capítulo 1)
  14. Visitor (Apenas referido nas páginas 634-635. Ver antes páginas 331-344 de  "Design Patterns: Elements of Reusable Object-Oriented Software")
Os slides utilizados nas aulas teóricas para descrever a 2ª parte da matéria da disciplina estão disponibilizados na secção .No entanto, a leitura apenas dos slides não é suficiente para dominar a matéria da 2ª parte da disciplina, principalmente para quem não foi às aulas e não tirou notas. Aconselha-se vivamente a leitura do livro de padrões de desenho.

Estrutura Tipo do Teste


O 2º Teste tem a seguinte estrutura tipo:

  • Um problema sobre padrões de desenho: identificação do padrão de desenho aplicado num dado exemplo e representação do comportamento deste exemplo utilizando o diagrama UML de sequência - 2.25 valores;
  • Dois problemas de programação em Java. O primeiro problema descreve um domínio de um sistema e apresentando um determinado requisito pede para codificar uma solução possível aplicando um determinado padrão. O padrão a aplicar é um dos seguintes: Composite, Decorator, Observer, Strategy e Template Method. O 2º problema é semelhante: Descreve um dado domínio de aplicação e dado um requisito pede-se para: (i) indicar qual o padrão de desenho que deve ser aplicado e (ii) codificar a solução, aplicando o padrão de desenho indicado.  3.50 valores;
  • Uma pergunta de resposta aberta ("teórica") sobre aspectos relativos ao uso de padrões de desenho - 1.25 valores;
  • Cinco perguntas de resposta múltipla sobre padrões de desenho - 3.00 valores.

Enunciado do 2º Teste: teste2-20180118.pdf

Enunciados de Anos Anteriores


2016/17Test2A-201701191130.pdf

2015/16Teste2A_13012016.pdf
Resolução parcial 

2014/15Teste 2
2013/14  - 2º Teste
  1. Resolução parcial
    • 1.1.1 1: Test one! \n 1: Test two! \n printer one: 1\n printer two: 1\n
    • 1.1.2 Adapter
    • 1.1.3 Desenho da interacção do programa utilizando o diagrama de sequência UML
    • 1.2.1 Strategy
    • 1.2.2 Concretização em Java aplicando o padrão de desenho Strategy
    • 1.2.3.1 Observer
    • 1.2.3.2 Concretização em Java aplicando o padrão de desenho Observer
    • 1.3 Descrição do padrão Adapter
    • 2 Chave B D E C D

Attachments