Prévia do material em texto
EPS http://simulado.estacio.br/bdq_simulados_exercicio.asp#ancora_8
CCT0763_A8__V1
PADRÕES DE PROJETO DE SOFTWARE
Lupa Calc.
CCT0763_A8__V1
VídeoPPTMP3
Aluno: Matrícula:
Disciplina: CCT0763 - PAD. PROJ. SOFTWARE Período Acad.: 2018.3 EAD (G) / EX
Prezado (a) Aluno(a),
Você fará agora seu TESTE DE CONHECIMENTO! Lembre-se que este exercício é opcional, mas não valerá ponto para sua avaliação. O mesmo será
composto de questões de múltipla escolha.
Após responde cada questão, você terá acesso ao gabarito comentado e/ou à explicação da mesma. Aproveite para se familiarizar com este modelo
de questões que será usado na sua AV e AVS.
1. Uma classe com acoplamento forte depende muito de outras classes. Isso pode conduzir os seguintes problemas num sistema:
I. As classes são difíceis de aproveitar tendo em vista que sempre que uma classe for utilizada todas as outras das quais ela depende devem estar
presentes;
II. As alterações nas classes relacionadas podem forçar mudanças locais difíceis de compreender isoladamente.
III. Facilidade na compreensão nas mudanças das classes no sistema.
IV. Ao fazer alguma mudança numa classe também devem ser feitas mudanças nas outras que estão ligadas a esta classe.
Com base nestas informações assinale a alternativa CORRETA.
Somente a III.
I, II, III
I, III, IV
I, II, IV
II, III, IV
2. No GRASP direcionar a ação para a classe que sabe resolvê-la é:
Indirection
Creator
Controller
Variation
Information Expert
Explicação:
Alguns padrões da família GRASP: Expert, Creator, High Coesion, Low Coupling, Controller, ou seja:
Especialista; Criador; Baixo Acoplamento (Acoplamento Fraco).
No Expert (Especialista da informação), o que acontece é que o comportamento está espalhado
(estratificado) por toda árvore, em todo o gráfico de classe.
Especialista atribuir responsabilidade ao especialista da informação.
1 of 4 18/11/2018 23:45
EPS http://simulado.estacio.br/bdq_simulados_exercicio.asp#ancora_8
Especialista na informação é um princípio utilizado para determinar onde delegar responsabilidades. Essas
responsabilidades incluem métodos, campos computados, e assim em diante.
Ele vai escolher os objetos especialistas para ele receber essas responsabilidades.
É o padrão mais usado para atribuir responsabilidades.
Benefício: O comportamento fica distribuído entre as classes que têm a informação necessária (classes
¿leves¿). Favorece alta coesão.
3. Marque a alternativa que está relacionada ao padrão de projeto que é auxiliar a reduzir o impacto de modificações em uma aplicação.
State
Acoplamento fraco
Observador
Criador
Especialista da informação
Explicação:
Alguns padrões da família GRASP: Expert, Creator, High Coesion, Low Coupling, Controller, ou seja: Especialista; Criador; Baixo Acoplamento
(Acoplamento Fraco).
Definição de Acoplamento: acoplamento é o grau de dependência entre dois artefatos.
O acoplamento é uma medida de quão fortemente uma classe está conectada (se comunica) a outras classes, tem conhecimento das mesmas ou depende
delas.
Uma classe com baixo (fraco) acoplamento não depende de muitas outras.Um acoplamento fraco, (Exemplo: eu sou um WED Development e você um
WEB Design). Se me tirar, você consegue fazer o seu serviço e vice verça. Precisamos de um número de interações muito menor.
4. Utilizando a nomenclatura dos padrões GRASP, o padrão Criador assume que tipo de responsabilidade?
Assume a responsabilidade de estimar, pois sua funcionalidade está relacionada com a resposta a
seguinte pergunta: Quem deve criar um objeto A?
Assume a responsabilidade de fazer, pois sua funcionalidade está relacionada com a resposta a
seguinte pergunta: Quem deve criar um objeto A?
Assume a responsabilidade de substituir, pois sua funcionalidade está relacionada com a resposta a
seguinte pergunta: Quem deve criar um objeto A?
Assume a responsabilidade de julgar, pois sua funcionalidade está relacionada com a resposta a
seguinte pergunta: Quem deve criar um objeto A?
Assume a responsabilidade de conhecer, pois sua funcionalidade está relacionada com a resposta a
seguinte pergunta: Quem deve criar um objeto A?
Explicação:
Essa afirmativa está correta porque, utilizando a nomenclatura dos padrões GRASP (Larman, 2007), o padrão
Criador assume a responsabilidade de fazer, pois sua funcionalidade está relacionado com a resposta a
seguinte pergunta: Quem deve criar um objeto A? Grifa-se, novamente, a palavra quem da pergunta anterior.
5. Pode-se sucintamente definir o padrão Variation do GRASP como:
Criar classes controladoras.
Criar classe que resolva problemas de inconsistência, criando adaptações para saná-las.
Criar classes que permitam sobrecarga e sobreescrita.
2 of 4 18/11/2018 23:45
EPS http://simulado.estacio.br/bdq_simulados_exercicio.asp#ancora_8
Criar camadas para melhor organizar a aplicação.
Criar classes altamente coesas.
6. Marque a alternativa que apresenta apenas padrões GRASP?
Coesão alta, controlador, strategy
Coesão alta, controlador e polimorfismo
Observer, visitor, strategy
Coesão alta, polimorfismo, visitor
Controlador, polimorfismo e Memento
Explicação:
Alguns padrões da família GRASP: Expert, Creator, High Coesion, Low Coupling, Controller, ou seja: Especialista; Criador; Baixo Acoplamento
(Acoplamento Fraco).
7. qual das afirmativas abaixo não é verdadeira.
O ideal que dois artefatos tenham alta dependência. Isto garante um bom desempenho e facilita a manutenção dos artefatos.
Um acoplamento definido para que classes que contenham métodos que possibilitem alterações de requisitos deve ser a menor possível, desta
forma se favorece futuras manutenções.
Um alto acoplamento aumenta a dificuldade de entendimento da solução proposta, a diminuição das chances de reutilização, além de
aumentar a complexidade da aplicação.
acoplamento é o grau de dependência entre dois artefatos. É uma medida de quão forte um elemento está conectado ou tem
conhecimento de, ou depende de outros elementos.
Dessa forma o padrão Acoplamento Baixo é utilizado para atribuir responsabilidades de modo que o acoplamento permaneça baixo.
Explicação:
Alguns padrões da família GRASP: Expert, Creator, High Coesion, Low Coupling, Controller, ou seja: Especialista; Criador; Baixo Acoplamento
(Acoplamento Fraco).
Outros padrões GRASP considerados Avançados são Inversão Pura, Indireção e Variações Protegidas.
Vamos entender o conceito de Acoplamento e Artefato. Acoplamento é o grau de dependência entre dois artefatos. Artefato refere-se a qualquer elemento
de um projeto de software orientado a objetos, tais como classe, método, componente, pacote, entre outros.
Essa afirmativa é verdadeira porque um alto acoplamento traz inúmeros problemas para uma aplicação, entre as quais a dificuldade de entendimento
da solução proposta, a diminuição das chances de reutilização, além de aumentar a complexidade da manutenção da aplicação. Portanto, é consenso
entre profissionais da área que todo projeto orientado a objetos deve minimizar o acoplamento entre os artefatos.
O padrão Acoplamento Baixo é utilizado para atribuir responsabilidades de modo que o acoplamento permaneça baixo.
8. Identifique o padrão GRASP utilizado no código abaixo: public class Aviao { public static Object pilotar() { } } public class Navio { public static Object navegar()
{ } } public class Marujo { Navio.navegar(); }
Pure Fabrication
Indirection
Variation
Information Expert
High Coesion
Explicação:
Padrões GRASP: Expert (Especialista), Creator (Criador), High Coesion, Low Coupling (Baixo
Acoplamento), Controller.
Expert (Especialista da informação) - O que acontece é que o comportamento está espalhado (estratificado)
por toda árvore, em todo o gráfico de classe.
3 of 4 18/11/2018 23:45
EPS http://simulado.estacio.br/bdq_simulados_exercicio.asp#ancora_8Especialista na informação é um princípio utilizado para determinar onde delegar responsabilidades. Essas
responsabilidades incluem métodos, campos computados, e assim em diante.
Legenda: Questão não respondida Questão não gravada Questão gravada
Exercício inciado em 18/11/2018 23:20:17.
4 of 4 18/11/2018 23:45