Baixe o app para aproveitar ainda mais
Prévia do material em texto
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ãode projeto como uma colaboração representada com suas partes estruturais e comportamentais. fazer a modelagem do mecanismo como uma colaboração, fornecendo seus aspectos estruturais, assim como os aspectos comportamentais. 10a Questão (Ref.: 201002119300) Pontos: 0,5 / 0,5 sobre o padrão Composite podemos afirmar: I ¿ É utilizado quando se pretende representar hierarquias partes- todo (ou todo-parte) de objetos, ou ainda, quando se pretende modelar relacionamento de agregação. Ii - o cliente poderá acessar objetos compostos ou não de maneira uniforme, pois irá se relacionar com a classe abstrata III ¿ Um processamento pode- ser realizado diretamente por uma superclasse Componente, quando se trata de uma composição, e o processamento parcial é feito pela classe filha, montando todas as partes que compõem o objeto. As afirmativas I, II, III estão incorretas As afirmativas II, III estão corretas e a afirmativa I está errada. As afirmativas estão todas corretas As afirmativas I, II, estão corretas e a afirmativa III está errada. As afirmativas I, III, estão corretas e II errada Observação: Eu, CAIO FRANÇA LAMENHA, estou ciente de que ainda existe(m) 1 questão(ões) não respondida(s) ou salva(s) no sistema, e que mesmo assim desejo finalizar DEFINITIVAMENTE a avaliação. Data: 03/06/2014 18:31:39 Período de não visualização da prova: desde 30/05/2014 até 16/06/2014. 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 6/6
Compartilhar