A maior rede de estudos do Brasil

Grátis
6 pág.
AV - PADRÕES DE PROJETO DE SOFTWARE 2014

Pré-visualização | Página 1 de 2

19/6/2014 Estácio
http://bquestoes.estacio.br/entrada.asp?p0=93032550&p1=201002010462&p2=1139632&p3=CCT0152&p4=101696&p5=AV&p6=3/6/2014&p10=9034043 1/6
 Fechar
Avaliação: CCT0152_AV_201002010462 » PADRÕES DE PROJETO DE SOFTWARE
Tipo de Avaliação: AV
Aluno: 201002010462 - CAIO FRANÇA LAMENHA
Professor: HORACIO DA CUNHA E SOUZA RIBEIRO Turma: 9001/AA
Nota da Prova: 5,5 Nota de Partic.: 2 Data: 03/06/2014 17:54:27
 1a Questão (Ref.: 201002214091) Pontos: 1,5 / 1,5
Decorator tem como principal objetivo a decoração de classes em tempo de execução, isto é, adicionar novos
produtos e/ou novas responsabilidades à objetos dinamicamente sem alterar o código das classes existentes.
Descreva um exemplo que represente esse padrão.
Resposta: É possível criar uma classe, JanelaDecorador , que é estendida pelos decoradores, que irão inserir
propriedades na janela. Podendo incluir barras horizontais, verticais, e para cada uma dessas, criar um classe
decorador, inserindo caracteristicas novas.
Gabarito: Em uma janela pode-se adicionar objetos como barras de rolagem, caixas de texto, labels, etc. Pode-
se criar uma classe JanelaDecorador que será estendida pelos decoradores que irão inserir propriedades na
janela. Podendo incluir barra vertical, horizontal e para cada criar outra classe decorador, inserindo
características novas.
 2a Questão (Ref.: 201002137037) Pontos: 0,0 / 1,5
Os métodos polimórficos utilizam os conceitos de overloading e overrinding. Apresente a diferença entre os dois
conceitos.
Resposta:
19/6/2014 Estácio
http://bquestoes.estacio.br/entrada.asp?p0=93032550&p1=201002010462&p2=1139632&p3=CCT0152&p4=101696&p5=AV&p6=3/6/2014&p10=9034043 2/6
Gabarito: O conceito OVERLOADING é a sobrecarga dos métodos: define vários métodos de mesmo nome com
assinaturas diferentes.
O conceito OVERRIDING altera o comportamento do método na subclasse, mantendo a mesma assinatura, com
funcionalidade diferente.
 3a Questão (Ref.: 201002113212) Pontos: 0,5 / 0,5
Analise as sentenças sobre padrões de projeto de software e, em seguida, assinale a alternativa correta: 
I. Permitem descrever fragmentos de projeto e reusar ideias de projeto; 
II. Dão nome e forma a procedimentos abstratos, regras e melhores práticas relativas às técnicas orientadas a
objetos; 
III. Ajudam a escolher alternativas de projeto que tornam um sistema reutilizável.
Apenas a sentença II está correta
Apenas as sentenças I e II estão corretas
Apenas as sentenças II e III estão corretas
Apenas as sentenças I e III estão corretas
 Todas as sentenças estão corretas
 4a Questão (Ref.: 201002130543) Pontos: 0,5 / 0,5
(CESGRANRIO - 2010) Em um sistema de software para controlar pedidos para entrega em domicílio, deve
haver uma funcionalidade que permita que o atendente solicite a repetição de um pedido anteriormente feito
por um cliente. O gerente do restaurante informou que essa funcionalidade aumentaria a agilidade no
atendimento aos clientes, visto que muitos deles tendem a fazer pedidos similares aos que já fizeram
anteriormente. Ao usar essa funcionalidade, o atendente do restaurante seleciona um pedido cuja composição
corresponde a produtos normalmente requisitados pelos clientes e solicita ao sistema a construção de um novo
pedido igual ao selecionado. Esse novo pedido pode, então, ser alterado pelo atendente se o cliente solicitar a
adição de novos produtos do cardápio, por exemplo. Portanto, a parte principal dessa funcionalidade
corresponde a criar uma cópia de um pedido a partir de pedido preexistente. 
Na implementação dessa funcionalidade, seu desenvolvedor deve utilizar qual padrão de projeto do catálogo
GoF (Gang of Four), dentre os listados abaixo?
 Prototype.
Abstract Factory.
19/6/2014 Estácio
http://bquestoes.estacio.br/entrada.asp?p0=93032550&p1=201002010462&p2=1139632&p3=CCT0152&p4=101696&p5=AV&p6=3/6/2014&p10=9034043 3/6
Command.
Factory Method.
Builder.
 5a Questão (Ref.: 201002127176) Pontos: 0,5 / 0,5
Iterator :Fornecer uma maneira de acessar seqüencialmente os elementos de um objeto agregado sem expor
sua implementação. (Gamma et al., 2000). Sobre este padrão de projetos podemos afirma com certeza:
É bastante utilizado em programação de sistemas para gerenciar a comunicação entre dois ou mais
objetos
É bastante utilizado em programação de sistemas para gerenciar a comunicação entre dois ou mais
objetos, mas não deve ser usado quando associado a percorrer arrays ou tabelas.
 Oferece uma forma de percorrer este tipo de objeto agregado sem conhecer seus detalhes de
implementação.
Considerando objetos que implementam arrays, pode ser visto como uma classe intermediária de
comunicação e gerenciamento, evitando que os objetos se comuniquem de forma direta
tem uma grande facilidade de mudança de comportamento, pode-se alterar seu funcionamento sem que
seja necessário nenhuma mudança nas demais classes envolvidas, desde que envolvam coleções e
matrizes.
 6a Questão (Ref.: 201002128265) Pontos: 1,0 / 1,0
O autor Larman (2007) afirma que as responsabilidades estão relacionadas com as obrigações de um objeto,
sendo divididas em dois tipos. Escolha dos dois tipos corretos nas afirmativas abaixo: I) Fazer: fazer algo
propriamente dito, como criar um objeto ou realizar um cálculo. Iniciar uma ação em outros objetos. Controlar
e coordenar atividades em outros objetos. II) Saber: ter conhecimento sobre dados privados encapsulados.
Conhecer objetos relacionados. Ter conhecimento sobre funções que ele pode derivar ou calcular. III) Calcular:
Fazer um cálculo especifico ao criar um objeto desde que envolva métodos que necessitem de cálculo.
As afirmativas I e III são responsabilidades definidas pelo autor. e a afirmativa II não foi definida.
 As afirmativas I e II são responsabilidades definidas pelo autor. e a afirmativa III não foi definida.
Todas as afirmativas são responsabilidades definidas pelo autor.
Todas as afirmativas não são responsabilidades definidas pelo auto
As afirmativas II e III são responsabilidades definidas pelo autor. e a afirmativa I não foi definida.
19/6/2014 Estácio
http://bquestoes.estacio.br/entrada.asp?p0=93032550&p1=201002010462&p2=1139632&p3=CCT0152&p4=101696&p5=AV&p6=3/6/2014&p10=9034043 4/6
 7a Questão (Ref.: 201002128320) Pontos: 0,0 / 1,0
Marque a alternativa que está relacionada ao padrão GRASP que está relacionada com a seguinte questão:
como tratar alternativas com base no tipo?
Especialista da informação
 Polimorfismo
 Observador
Acoplamento fraco
State
 8a Questão (Ref.: 201002089288) Pontos: 0,5 / 0,5
Um dos princípios do padrão de arquitetura MVC é a separação da lógica da apresentação do modelo.
PORQUE
É, muitas vezes, mais prático manter a visão e o controlador unificados, inclusive, por demandas da
tecnologia.
Analisando-se as afirmações acima, conclui-se que ...
.
as duas afirmações são verdadeiras, e a segunda justifica a primeira.
a primeira afirmação é verdadeira, e a segunda é falsa.
a primeira afirmação é falsa, e a segunda é verdadeira.
As duas afirmações são falsas
 as duas afirmações são verdadeiras, e a segunda não justifica a primeira.
 9a Questão (Ref.: 201002089287) Pontos: 0,5 / 0,5
19/6/2014 Estácio
http://bquestoes.estacio.br/entrada.asp?p0=93032550&p1=201002010462&p2=1139632&p3=CCT0152&p4=101696&p5=AV&p6=3/6/2014&p10=9034043 5/6
Para fazer a modelagem de um padrão de projeto (design pattern) utilizando a UML é DESNECESSÁRIO.
identificar os elementos do padrão de projeto que devem ser vinculados aos elementos em um contexto
específico e representá-los como parâmetros para colaboração.
identificar as soluções comuns para o problema básico.
 identificar as soluções específicas e particulares para o problema básico e reificá-la como um
mecanismo.
entender o padrão