Buscar

AV2 Mod. sistemas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 6 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 6 páginas

Prévia do material em texto

Fechar 
 
Avaliação: CCT0152_AV2_201001487184 » PADRÕES DE PROJETO DE SOFTWARE 
Tipo de Avaliação: AV2 
Aluno: 201001487184 - GLEICI LUCI LIMA TRINDADE RIBEIRO 
Professor: HORACIO DA CUNHA E SOUZA RIBEIRO Turma: 9001/AA 
Nota da Prova: 7,0 de 8,0 Nota do Trabalho: Nota de Participação: 2 Data: 07/06/2013 18:31:53 
 
 
 1a Questão (Cód.: 125590) Pontos: 1,5 / 1,5 
Utilizar o princípio CRIADOR significa suportar baixo acoplamento, maior clareza, encapsulamento e 
reusabilidade. 
 
Em que consiste o princípio CRIADOR? 
 
 
Resposta: Ele permite que a classe escolha que objetos terão a responsabilidade de criar, instanciar outros 
objetos ou classes. 
 
 
Gabarito: Consiste em atribuir responsabilidade de criação. Atribua à classe B a responsabilidade de criar uma 
instância de A se: 
 
B agrega objetos de A; 
B contém objetos de A; 
B armazena instâncias de objetos A; 
B possui dados de inicialização que serão passados a algum objeto de A. 
 
 
 
 2a Questão (Cód.: 125498) Pontos: 1,5 / 1,5 
Baixo acoplamento é um princípio-chave na Orientação objetos. O que deve ser feito para garantir o baixo 
acoplamento na definição dos objetos/classe/subsistema/sistema. 
 
 
Resposta: Deve-se evitar a dependência entre os objetos e classes e fazer com que essa dependência seja 
realizada apenas com objetos que guardam alguma relação entre si. 
 
 
Gabarito: Deve-se manter os objetos/classe/subsistema/sistema o mais independente possível, ou seja, não 
possui conhecimento sobre o outro ou confia em outro. 
 
 
 
 3a Questão (Cód.: 115670) Pontos: 1,0 / 1,0 
Memento: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). Sobre este padrão de 
projetos podemos afirma com certeza: 
 
 tem como objetivo criar um meio de armazenar informações sobre um objeto, permitindo acessar essas 
informações tanto para salvar o estado de um objeto específico, como para recuperar, sempre que for 
necessário. 
 
É 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 
 
É bastante utilizado em programação de sistemas para gerenciar a comunicação entre dois ou mais 
objetos 
 
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 
 
 
 
 4a Questão (Cód.: 116737) Pontos: 1,0 / 1,0 
considere a definição: Visitor: Representar uma operação a ser realizada nos elementos de uma estrutura de 
objetos. Visitor permite que você defina uma nova operação sem alterar as classes dos elementos nos quais a 
operação atua (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 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 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. 
 
 
 
 5a Questão (Cód.: 116815) Pontos: 0,5 / 0,5 
sobre o Polimorfismo considere a figura abaixo e selecione a reposta totalmente correta: 
 
 
 
Define-se um método na classe PAI. Este método é copiado nas classes que herdam a classe PAI. Isto é 
polimorfismo. 
 
Define-se um método físico na classe PAI. Os métodos nas classes filho são definidos. Neste caso cada 
método é sobreposto. No caso de uma nova classe filho há necessidade obrigatória devido a estrutura 
PAI de se definir o método na nova classe. Isto é polimorfismo. 
 
Define-se vários métodos. Cada método deve ter uma estrutura IF...THEN...para cada situação. Isto é 
polimorfismo. 
 Define-se um método abstrato, em uma classe abstrata. Cada classe que herda a classe abstrata 
implementa o método físico. Dependendo da classe instanciada é executado o método correpondente. 
Isto é polimorfismo. 
 
Define-se uma estrutura de herança. Automaticamente fica definido uma estrutura de métodos. Isto é 
polimorfismo 
 
 
 
 6a Questão (Cód.: 116936) Pontos: 0,5 / 0,5 
O padrão Indireção tem como característica: 
 
 
É 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. 
 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. 
 
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. 
 
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. 
 
 
 
 7a Questão (Cód.: 116765) Pontos: 0,0 / 0,5 
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 : 
 
 
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 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. 
 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. 
 
 
 
 8a Questão (Cód.: 119023) Pontos: 0,5 / 0,5 
Na UML, o padrão Singleton (GoF) pode ser visto como na classe abaixo: 
 
Sobre o padrão de projeto Singleton, 
 
I - o número 1 no canto superior da classe pode ser utilizado opcionalmente para indicar que esta classe terá 
apenas uma única instância. 
II - para se implementar o padrão Singleton na classe acima, esta deverá possuir um método construtor 
ServicesFactory() privado. 
III - caso uma subclasse estenda a classe ServicesFactory através de herança, o método getInstance() deverá 
ser sobrescrito (override) para construir a subclasse. 
IV - o método getInstance() deverá ser obrigatoriamentedeclarado como um método estático (static). 
 
Assinale a alternativa que indica assertivas CORRETAS: 
 
 
II - III - IV 
 
I - II - III 
 I - II - IV 
 
I - II - III - IV 
 
I - III - IV 
 
 
 
 9
a
 Questão (Cód.: 107782) Pontos: 0,0 / 0,5 
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 I, III, estão corretas e II errada 
 As afirmativas estão todas corretas 
 
As afirmativas I, II, III estão incorretas 
 
As afirmativas II, III estão corretas e a afirmativa I está errada. 
 
 
 
 10a Questão (Cód.: 107793) Pontos: 0,5 / 0,5 
O padrão Adpater é bastante utilizado para compatibilizar classes implementas por programadores diferentes, 
ou desenvolvidas em momentos diferentes, ou ainda para unir classes com interfaces diferentes em uma 
estrututura hierarquica única, sem precisar implementar novamente todas as funcionalidades e interfaces da 
classe já existente, considere as afirmativas: I - A idéia é criar uma nova classe (Adapter) com a interface 
padrão que se deseja para fazer a conexão com a classe já existente (Adaptee) com interface diferente da 
estrutura de classes que se pretende utilizar no sistema. Ii - Além de reaproveitar totalmente a classe antiga 
sem precisar alterar o código e entender a complexa implementação realizada, mantém a uniformidade do seu 
projeto original. Iii cria uma hierarquia de classes diferentes categorias de objetos sem relação de herança. 
 
 
As afirmativas I, III, estão corretas e II errada 
 
As afirmativas estão todas corretas 
 
As afirmativas I, II, III estão incorretas 
 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. 
 
 
 
Período de não visualização da prova: desde 03/06/2013 até 18/06/2013.

Outros materiais