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):
- Null Object
- Singleton (Capítulo 5)
- Observer (Capítulo 2)
- Decorator (Capítulo 3)
- Factory Method (Capítulo 4)
- Abstract Factory (Capítulo 4)
- Command (Capítulo 6)
- Adapter (Capítulo 7)
- Facade (Capítulo 7)
- Template Method (Capítulo 8)
- Composite (Capítulo 9)
- State (Capítulo 10)
- Strategy (Capítulo 1)
- Visitor (Apenas referido nas páginas 634-635. Ver antes páginas 331-344 de "Design Patterns: Elements of Reusable Object-Oriented Software")
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/17: Test2A-201701191130.pdf
2015/16: Teste2A_13012016.pdf
Resolução parcial
- Chave da escolha múltipla: E;B;C;EA
- 2.2.1 Nail:6 (Prego)\n Parafuso: 8 (Parafuso) x\n
- 2.2.2 Template Method
- 2.2.3 SequenceDiagram.jpeg
- 2.3 Solução
- 2.4.1 Factory Method
- 2.4.2 Solução
2014/15: Teste 2
2013/14 - 2º Teste
- 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