ppsw - avaliando aprendizado - todas as questões

11
PADRÕES DE PROJETO DE SOFTWARE EX_A1_A10_2014 Data: 05/06/2014 12:02: AULA 1 1 a Questão (Ref.: 201201963200) considere a afirmativa de Gamma e Al. citada abaixo e escolha a opção correta: - Em geral, todas as arquiteturas orientadas a objeto bem-estruturadas estão cheias de padrões. Uma das maneiras de medir a qualidade de um sistema orientado a objetos é avaliar se os colaboradores tomaram bastante cuidado com as colaborações comuns entre seus objetos. Focalizar em tais mecanismos durante o desenvolvimento de um sistema pode levar a uma arquitetura menor, mais simples, muito mais compreensível do que aquelas produzidas quanto padrões são ignorados Padrões são boas práticas e proporcionam garantia de qualidade na elaboração do código Padrões são de uso obrigatório e eliminam os erros cometidos na fase programação. Padrões causam falta de criatividade nos desenvolvedores e esta perda compromete a qualidade Padroes sempre levam a uma arquitetura menor principalmente quando se usa tecnologia de objetos Padrões é uma forma obrigatória de programar com objetos 2 a Questão (Ref.: 201201970755) Podemos afirmar que os Padrões Estruturais da família GoF: Aumentam a responsabilidade do programador em depurar o código e as rotinas necessárias à documentação dos processos. Fornecem um guia de como instanciar objetos, que normalmente envolve decisões dinâmicas para escolher, por exemplo, qual classe instanciar ou a quais objetos delegar responsabilidade. Definem caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua integração e colaboração mútua. São projetados para organizar, gerenciar e combinar diferentes comportamentos. Colocam em dúvida o tratamento dispensado aos usuários na fase de levantamento das necessidades. 3 a Questão (Ref.: 201201957152) Podemos afirmar que padrões de projeto de software: não influenciam nos procedimentos, regras e práticas relativas às técnicas orientadas a objetos. dificultam de alguma foram a escolha de alternativas de projeto que tornam um sistema reutilizável, aumentando as alternativas que a comprometam. invariavelmente pioram a documentação e a manutenção dos sistemas. permitem descrever fragmentos de projeto e reusar idéias de projeto, ajudando desenvolvedores a se nivelar com a experiência de outros. difcultam a reutilização de projetos e arquiteturas bem sucedidas.

Upload: abner-torres

Post on 13-Jul-2016

28 views

Category:

Documents


8 download

DESCRIPTION

Padrões de Projeto de Software

TRANSCRIPT

PADRÕES DE PROJETO DE SOFTWARE

CCT0265_EX_A1_A10_2014

Data: 05/06/2014 12:02:06

AULA 1

1a Questão (Ref.: 201201963200)

considere a afirmativa de Gamma e Al. citada abaixo e escolha a opção correta: - Em geral, todas as arquiteturas orientadas a objeto bem-estruturadas estão cheias de padrões. Uma das maneiras de medir a qualidade de um sistema orientado a objetos é avaliar se os colaboradores tomaram bastante cuidado com as colaborações comuns entre seus objetos. Focalizar em tais mecanismos durante o desenvolvimento de um sistema pode levar a uma arquitetura menor, mais simples, muito mais compreensível do que aquelas produzidas quanto padrões são ignorados

Padrões são boas práticas e proporcionam garantia de qualidade na elaboração do código

Padrões são de uso obrigatório e eliminam os erros cometidos na fase programação.

Padrões causam falta de criatividade nos desenvolvedores e esta perda compromete a qualidade

Padroes sempre levam a uma arquitetura menor principalmente quando se usa tecnologia de objetos

Padrões é uma forma obrigatória de programar com objetos

2a Questão (Ref.: 201201970755)

Podemos afirmar que os Padrões Estruturais da família GoF:

Aumentam a responsabilidade do programador em depurar o código e as rotinas necessárias à documentação dos processos.

Fornecem um guia de como instanciar objetos, que normalmente envolve decisões dinâmicas para escolher, por exemplo, qual classe instanciar ou a quais objetos delegar responsabilidade.

Definem caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua integração e colaboração mútua.

São projetados para organizar, gerenciar e combinar diferentes comportamentos.

Colocam em dúvida o tratamento dispensado aos usuários na fase de levantamento das necessidades.

3a Questão (Ref.: 201201957152)

Podemos afirmar que padrões de projeto de software:

não influenciam nos procedimentos, regras e práticas relativas às técnicas orientadas a objetos.

dificultam de alguma foram a escolha de alternativas de projeto que tornam um sistema reutilizável, aumentando as alternativas que a comprometam.

invariavelmente pioram a documentação e a manutenção dos sistemas.

permitem descrever fragmentos de projeto e reusar idéias de projeto, ajudando desenvolvedores a se nivelar com a experiência de outros.

difcultam a reutilização de projetos e arquiteturas bem sucedidas.

AULA 2

1a Questão (Ref.: 201201933230)

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 falsas

as duas afirmações são verdadeiras, e a segunda justifica a primeira.

as duas afirmações são verdadeiras, e a segunda não justifica a primeira.

a primeira afirmação é verdadeira, e a segunda é falsa.

a primeira afirmação é falsa, e a segunda é verdadeira.

2a Questão (Ref.: 201201963232)

Considere as afirmativa abaixo sobre o padrão Builder: I ) É utilizado na instanciação de objetos complexos. II)É visto como um construtor especializado, que irá executar e avaliar diferentes regras de negócio e demais particularidades relacionadas com a criação de um novo objeto. III )A idéia é atribuir a responsabilidade de criação do objeto complexo a outra classe, esta classe irá armazenar todas as configurações e regras necessárias para a instanciação do novo objeto.

As afirmativas I, II, estão corretas e a afirmativa III está errada.

As afirmativas II, III estão corretas e a afirmativa I está errada.

As afirmativas I, III, estão corretas e II errada

As afirmativas I, II, III estão incorretas

As afirmativas estão todas corretas

3a Questão (Ref.: 201201963230)

considerando a classe de projetos GoF assinale a opção cujos padrões de projeto estão todos classificados como Estruturais:

singleton; bridge ; composite; decorator ; faça de ; flyweight;¿ Proxy

singleton; bridge ; protype; decorator ; faça de ; flyweight ; Proxy

adapter ; bridge ; composite ; decorator ; faça de ; flyweight ; Proxy

adapter ; bridge ; composite ; decorator ; faça de ; flyweight ; singleton

adapter ; bridge ; protype ¿ decorator ; faça de ; flyweight ; singleton

AULA 3

1a Questão (Ref.: 201201933229)

Para fazer a modelagem de um padrão de projeto (design pattern) utilizando a UML é DESNECESSÁRIO.

identificar as soluções específicas e particulares para o problema básico e reificá-la como um mecanismo.

fazer a modelagem do mecanismo como uma colaboração, fornecendo seus aspectos estruturais, assim como os aspectos comportamentais.

identificar as soluções comuns para o problema básico.

entender o padrão de projeto como uma colaboração representada com suas partes estruturais e comportamentais.

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.

2a Questão (Ref.: 201201963238)

O padrão de projeto Singleton é um dos padrões mais conhecidos e extensivamente utilizados em programação orientada a objetos. Sobre ele podemos afirmar I - Está direcionado para as situações onde precisamos manter uma única instancia de uma classe durante toda a execução da aplicação. II - A sua estrutura é bastante simples, existe apenas uma classe chamada Singleton, que define um método chamado Instance, responsável poder retornar aos clientes à única instancia da classe. III ¿ Na linguagem Java os modificadores states e private devem garantir uma mesma instância para todos os objetos criados e evitar acesso público;

As afirmativas I, III, estão corretas e II errada

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, II, III estão incorretas

3a Questão (Ref.: 201201963241)

Programadores se deparam muitas vezes com a situação onde é preciso acrescentar responsabilidades a objetos e não a classe. Uma alternativa é atribuir dinamicamente a um dado objeto. Este padrão é chamado de:

Bridge

Singleton

Decorator.

protype

Instance

AULA 4

1a Questão (Ref.: 201201963244)

sobre o padrão Bridge pode-se afirmar: I ¿ pode-se adaptar dinamicamente a diferentes plataformas . Ii - quando se pretende desenvolver uma determinada solução para duas plataformas diferentes é utilizar herança, implementando uma classe derivada para cada situação é a solução ótima que permite flexibilidade para mudanças e reutilização da das abstrações e implementações de forma independente Iii - . deve-se separar completamente a interface da classe da sua implementação, de tal modo que uma dada implementação pode ser definida em tempo de execução, até mesmo mudar de implementação em tempo de execução

As afirmativas I, II, estão corretas e a afirmativa III está errada.

As afirmativas I, II, III estão incorretas

As afirmativas estão todas corretas

As afirmativas II, III estão corretas e a afirmativa I está errada.

As afirmativas I, III, estão corretas e II errada

2a Questão (Ref.: 201201962769)

Em padrão de projeto existe uma situação onde uma classe chama um método abstrato especificado em alguma classe abstrata (ou interface) e a subclasse concreta vai decidir que tipo exato de objeto criar e retornar. Baseado nessa descrição marque a alternativa que aponta o padrão relacionado.

Factory Method.

Singleton.

Builder.

Mediator

Facade.

3a Questão (Ref.: 201201962768)

Conhecido como padrões da gangue dos quatro, por terem sido desenvolvidos por quatro autores, os Padrões GoF (Group of Four) estão divididos pelos seguintes famílias de padrões: Padrões de Criação ou de Construção, Padrões Estruturais e Padrões Comportamentais. Considerando os padrões de Criação ou de Construção, analise o modelo abaixo e em seguida marque a alternativa que define a representação.

Facade.

Mediator.

Builder.

Factory Method.

Singleton.

AULA 5

1a Questão (Ref.: 201201962810)

Conhecido como padrões da gangue dos quatro, por terem sido desenvolvidos por quatro autores, os Padrões GoF (Group of Four) estão divididos pelos seguintes famílias de padrões: Padrões de Criação ou de Construção, Padrões

Estruturais e Padrões Comportamentais. Considerando os padrões de Criação ou de Construção, analise o modelo abaixo e em seguida marque a alternativa que define a representação.

SINGLETON.

BUILDER.

MEDIATOR.

FACTORY METHOD.

PROTOTYPE.

2a Questão (Ref.: 201201974493)

(CESGRANRIO - 2009) Por motivo de segurança, deseja-se adicionar registro (log) das operações efetuadas no sistema de contabilidade de uma empresa. O arquiteto do sistema decide que deve existir somente uma instância de uma classe de registro (log) e que esta será o ponto de acesso global para os demais componentes do sistema. Que padrão de projeto pode ser utilizado nesse caso?

Iterator.

Visitor.

Bridge.

Singleton.

Memento.

3a Questão (Ref.: 201201974485)

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

Factory Method.

Builder.

Command.

AULA 6

1a Questão (Ref.: 201201971118)

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, mas não deve ser usado quando associado a percorrer arrays ou tabelas.

É bastante utilizado em programação de sistemas para gerenciar a comunicação entre dois ou mais objetos

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.

2a Questão (Ref.: 201201971122)

A definição ¿ Captar e externalizar um estado interno de um objeto, de maneira que esse estado seja restaurado ao objeto em outro momento, sem violar seu encapsulamento (Gamma et al., 2000).¿ Refre-se a que padrão de projeto:

Mediator

Iterator

Builder.

Command

Memento

3a Questão (Ref.: 201201974488)

(CESGRANRIO - 2009) Ao consultar informações a respeito dos padrões de projeto Adapter e Bridge, um Analista de Sistemas identificou uma afirmativa INCORRETA. Assinale-a.

Ambos promovem a flexibilidade ao fornecer um nível de endereçamento indireto para outro objeto.

O Adapter é inferior ao Bridge porque não evita a replicação de código.

O Bridge estabelece uma ponte entre uma abstração e suas possíveis implementações.

O foco do Adapter é a solução de incompatibilidades entre duas interfaces existentes.

Ambos são padrões estruturais que possuem alguns atributos em comum.

AULA 7

1a Questão (Ref.: 201201974446)

(FESMIP-BA - 2011) O Design Patterns que tem a finalidade de usar compartilhamento para suportar grandes quantidades de objetos, de granularidade fina, de maneira eficiente, é denominado

State.

Strategy.

Composite.

Flyweight.

Builder.

2a Questão (Ref.: 201201972194)

considere a definição: O padrão Strategy define uma família de algoritmos , encapsula cada um deles , e torna-os intercambiáveis, permitindo assim que os algoritmos variem independentemente dos clientes que os utilizam (Gamma et al., 2000). Qual das alternativas é completamente verdadeira?

O principal objetivo do padrão acima é permitir que sejam adicionadas novas funcionalidades a classes previamente concebidas, sem que haja necessidade de alterar sua implementação.

O padrão de projeto acima é indicado para ser utilizado quando uma abstração tem dois aspectos, um dependente do outro. Encapsular tais aspectos em objetos separados permite que variem e sejam reusados separadamente;

O padrão de projeto acima deve ser utilizado não somente quando o comportamento de um objeto depende do seu estado, podendo ser alterado em tempo de execução, mas também quando a funcionalidade de um objeto possui condicionais grandes.

A idéia principal do padrão acima é implementar diferentes algoritmos em uma hierarquia de classes, onde cada um deles pode ser substituído por outro, independente do cliente que o utiliza.

O principal objetivo do padrão acima é conservar as funcionalidades em não se permita adicionar novas, E obriga que haja necessidade de alterar sua implementação

3a Questão (Ref.: 201201973798)

( CESGRANRIO - 2008) "Classes devem estar abertas para extensão e fechadas para modificação" é um princípio de projeto de modelos orientados a objetos. Tal princípio pode ser aplicado através do padrão de projeto

decorator.

flyweight.

builder.

singleton.

prototype.

AULA 8

1a Questão (Ref.: 201201972215)

considere as classes e métodos abaixo: E escolha a opção correta sobre a gravura: E escolha a opção correta sobre a gravura:

sobre o acoplamento e coesão :

Existem acoplamentos das classes que foram gerados de forma desnecessária pois poderiam ser incorporados em um único método e isto iria facilitar a manutenção e o entendimento.

Existem acoplamentos que poderiam ser evitados, considerando apenas o diagrama, assim o método de imprimir nota fiscal, dando-se o código de cliente, pode ser mapeado de forma diferente melhorando-se o acoplamento.

O método void imp_NF (cod) poderia ser implementado na classe NF sem envolver mais nenhuma classe. Não tendo outros médotos o acoplamento não existiria o que é o desejável.

método void imp_NF (cod) não deve ser implementado na classe NF. Obteria-se um projeto melhor se NF fosse acoplada a classe Cliente seus métodos incorporados na classe cliente. Pode-se garantir um melhor acoplamento

Existem acoplamentos das classes cliente e Nota fiscal. E Nota fiscal e Item de Nota fiscal. Esta forma de acoplamento é caracterizado por chamada de métodos.

2a Questão (Ref.: 201201972202)

Marque a alternativa que está relacionada ao padrão de projeto que é auxiliar a reduzir o impacto de modificações em uma aplicação.

Observador

Criador

State

Acoplamento fraco

Especialista da informação

3a Questão (Ref.: 201201972192)

Considere a definição: State: Permitir a um objeto alterar o seu comportamento quando o seu estado interno mudar. O objeto parecerá ter mudado de classe (Gamma et al., 2000). Qual das alternativas é completamente verdadeira?

A idéia principal do padrão acima é implementar diferentes algoritmos em uma hierarquia de classes, onde cada um deles pode ser substituído por outro, independente do cliente que o utiliza.

O padrão de projeto acima é indicado para ser utilizado quando uma abstração tem dois aspectos, um dependente do outro. Encapsular tais aspectos em objetos separados permite que variem e sejam reusados separadamente;

O padrão de projeto acima deve ser utilizado não somente quando o comportamento de um objeto depende do seu estado, podendo ser alterado em tempo de execução, mas também quando a funcionalidade de um objeto possui condicionais grandes.

O principal objetivo do padrão acima é conservar as funcionalidades em não se permita adicionar novas, E obriga que haja necessidade de alterar sua implementação

O principal objetivo do padrão acima é permitir que sejam adicionadas novas funcionalidades a classes previamente concebidas, sem que haja necessidade de alterar sua implementação.

AULA 9

1a Questão (Ref.: 201201972340)

Considere a figura abaixo

E escolha a opção correta sobre a gravura:

A Classe instanciada assinalada como :???? Não pode ser decomposta em outros controladores. Assim temos que trabalhar com o tipo de coesão resultante (temporal, funcional...)

A classe instanciada assinalada como :???? Permite desacoplar as classes e métodos de apresentação. E isto aumenta a reutilização das classes de negocio.

A Classe instanciada assinala como :???? É de baixo acoplamento e baixa coesão pela natureza de sua criação.

uma classe de controle exige que sempre se tem há uma classe de apresentação. Desta forma não podemos ter mais de uma classe de controle por sistema

A Classe instanciada assinalada como :???? Deveria estar incorporada na classe emprestar para evitar criar uma serie de novas classes. Isto facilita o projeto.

2a Questão (Ref.: 201201974467)

(COPEVE-UFAL - 2011) O diagrama de classes apresentado na figura não representa fielmente um buffer que passa por estados sucessivos de transformação. Em outras palavras, um buffer, que está inicialmente vazio, depois pode ficar parcialmente cheio e, possivelmente, pode ficar cheio.

Dentre as opções apresentadas a seguir, qual o padrão de projetos que melhor se adequaria para modelar essa característica dinâmica do buffer?

Dynamic behavior.

Composite.

State.

Mediator.

Singleton.

3a Questão (Ref.: 201201972255)

Marque a alternativa que está relacionada ao padrão GRASP responsável manter os objetos focados, com funcionalidades específicas, intelegíveis e gerenciáveis?

Especialista da informação

Criador

Baixo acoplamento

Controlador

Coesão alta

AULA 10

1a Questão (Ref.: 201201972209)

Selecione a opção totalmente correta da responsabilidade correta para o do padrão GRASP Criador:

Tem a responsabilidade de como primeira atividade procura-se objetos de software existentes que satisfaçam os métodos necessários para a criação do objeto. Uma criação fica definida pela definida pela própria classe alocando-se o método.

Tem a seguinte responsabilidade de responder de maneira intuitiva por um programador ou analista de sistema, baseado nas interação e nos métodos menos utilizados, desta forma otimizando a criação.

A responsabilidade é definida pelo programador baseado nos métodos solicitados pela classe que está sendo criada.

Tem a seguinte responsabilidade de fazer, pois sua funcionalidade está relacionado com a resposta a seguinte pergunta: quem deve criar um objeto A.

O padrão de projeto está interessado no algoritmo de criação, e a determinar qual classe dever ser responsável pelo uso de um novo método referente a classe inicial.

2a Questão (Ref.: 201201973789)

(CESGRANRIO - 2010) Um dos participantes da equipe de desenvolvimento de um framework deve implementar uma operação em uma das classes desse framework. Seja X o nome dessa classe. Essa operação implementa um algoritmo em particular. Entretanto, há passos desse algoritmo que devem ser implementados pelos usuários do framework através da definição de uma subclasse de X. Sendo assim, qual o padrão de projeto do catálogo GoF (Gang of Four) a ser usado pelo desenvolvedor do framework na implementação da referida operação, dentre os listados a seguir?

Observer.

Interpreter.

Template Method.

Decorator.

Singleton.

3a Questão (Ref.: 201201972375)

O padrão Invenção Pura tem como característica:

Sugere atribuir um conjunto de responsabilidades altamente coesa a uma classe artificial ou de conveniência que não represente o domínio do problema, algo inventado, para apoiar coesão alta, acoplamento baixo e reuso.

implica que um componente ou classe encapsule somente os atributos e operações muito relacionadas a si e com a classe do componente ou classe propriamente dito.

é o primeiro objeto além da camada de interface com o usuário que é responsável por receber ou tratar uma mensagem de operação do sistema.

O objetivo é atribuir responsabilidade a um objeto intermediário para servir como mediador entre outros componentes ou serviços, para que eles não sejam diretamente acoplados.

É um principio básico para fornecer flexibilidade e proteção contra diversos tipos de variações em um projeto orientado a objetos, tais como: variações nos dados, comportamento, hardware, componentes de software, sistemas operacionais, entre outros.