Baixe o app para aproveitar ainda mais
Prévia do material em texto
09/06/2020 Estácio: Alunos estacio.webaula.com.br/Classroom/index.asp?191C757E76=4846213A234DB2F19DC3C17F077D5F6656FC94C250DDA7A72624F561DE4B73… 1/5 O que é MELHOR para uma aplicação: acoplamento alto ou acoplamento fraco? Qual a afirmativa está INCORRETA. Nos padrões GRASP (General Responsability Assigment Software Patterns), as responsabilidades de um projeto podem ser divididas em ¿conhecer¿ e ¿fazer¿. Assinale o conceito CORRETO. PADRÕES DE PROJETO DE SOFTWARE Lupa Calc. Vídeo PPT MP3 CCT0763_A8_201801002517_V1 Aluno: JOSE LEAL MARQUES Matr.: 201801002517 Disc.: PAD. PROJ. SOFTWARE 2020.1 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. Um alto acoplamento traz inúmeros problemas para uma aplicação, é consenso entre profissionais da área que todo projeto orientado a objetos deve minimizar o acoplamento entre os artefatos. Um alto acoplamento traz inúmeros problemas para uma aplicação, entre as quais aumentar a complexidade da manutenção da aplicação. Um alto acoplamento traz inúmeros problemas para uma aplicação, é consenso entre profissionais da área que todo projeto orientado a objetos deve aumentar o acoplamento entre os artefatos. Um alto acoplamento traz inúmeros problemas para uma aplicação, entre as quais a diminuição das chances de reutilização. Um alto acoplamento traz inúmeros problemas para uma aplicação, entre as quais a dificuldade de entendimento da solução proposta Explicação: Este item está INCORRETO, 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. 2. javascript:voltar(); javascript:voltar(); javascript:diminui(); javascript:aumenta(); javascript:calculadora_on(); javascript:abre_frame('1','8','','GKFME0IE963NOCFG7C12','315368641'); javascript:abre_frame('2','8','','GKFME0IE963NOCFG7C12','315368641'); javascript:abre_frame('3','8','','GKFME0IE963NOCFG7C12','315368641'); 09/06/2020 Estácio: Alunos estacio.webaula.com.br/Classroom/index.asp?191C757E76=4846213A234DB2F19DC3C17F077D5F6656FC94C250DDA7A72624F561DE4B73… 2/5 Com relação aos padrões GRASP, assinale a opção correta: No conhecer, eu delego a responsabilidade de quem é que vai ser responsável por criar; No fazer, vai demonstrar quem é que vai saber o estado; As responsabilidades ¿fazer¿ estão relacionadas à distribuição das características do sistema entre as classes; No conhecer, eu delego quem é o responsável por saber o estado de uma determinada classe; As responsabilidades ¿conhecer¿ estão relacionadas com a distribuição do comportamento do sistema entre as classes; Explicação: Esse conceito está CORRETO porque: As responsabilidades ¿conhecer¿ estão relacionadas à distribuição das características do sistema entre as classes. As responsabilidades ¿fazer¿ estão relacionadas com a distribuição do comportamento do sistema entre as classes. No fazer, eu delego a responsabilidade de quem é que vai ser responsável por criar. No conhecer, vai demonstrar quem é que vai saber o estado. 3. O criador (creator) é utilizado para a solução do problema de quem cria a instância de uma classe com objetos do modelo de domínio. Nesse caso, se A registra B, então atribui-se à classe B a responsabilidade de se criar uma instância de A. A alta coesão (high cohesion) é um padrão utilizado para aprimorar a ligação entre as classes, permitindo que a classe A não dependa de outras classes. Esse padrão é considerado o princípio central e útil em projetos orientados a objetos que utilizam GRASP. O especialista na informação (information expert) associa-se ao mapeamento de responsabilidade em que se procura atribuir responsabilidade à classe que tenha informação necessária para satisfazê-la. O controlador (controller) permite solucionar problemas no controle de criação de instâncias de classes. Nesse sentido, se a classe X contiver dados iniciais da classe Y ou se X usar de maneira muito próxima Y, caberá a X criar instâncias de Y, em que o controller representaria o padrão mais indicado para solucionar esse problema. O acoplamento baixo (low coupling) baseia-se na quantidade de ligações entre as classes e está destinado à atribuição de responsabilidade ao 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. Explicação: Temos os seguintes Padrões GRASP: Expert (Especialista), Creator (Criador), High Coesion, Low Coupling (Baixo Acoplamento), Controller. Padrões GRASP descrevem princípios fundamentais de atribuição de responsabilidade a objetos. Grupamento de padrões diferente, que tem propostas diferentes dos padrões GoF. Os padrões GRASP são PRINCÍCPIOS, nos quais nós devemos nos basear, para desenvolvimento. Os padrões GRASP se inter-relacionam se misturam e são aplicados nos padrões GoF. Os padrões GRASP vão decidir quem é que vai assumir essa responsabilidade aqui. O objetivo dele é identificar quem vai determinar quem vai ter a responsabilidade, quem é que vai assumir a responsabilidade de um determinado conhecimento ou de uma determinada ação. 09/06/2020 Estácio: Alunos estacio.webaula.com.br/Classroom/index.asp?191C757E76=4846213A234DB2F19DC3C17F077D5F6656FC94C250DDA7A72624F561DE4B73… 3/5 Em relação a aplicação dos padrões GRASP, para o diagrama de classe da figura acima é correto afirmar que: Os padrões GRASP são PRINCÍCPIOS, nos quais nós devemos nos basear, para o desenvolvimento. O padrão Expert (Especialista da informação) é um dos padrões GRASP. Com relação a esse padrão, assinale a informação INCORRETA. 4. Padrão Criador: a Classe Obra tem a responsabilidade de criar instâncias da classe Obra. Padrão Especialista: a Classe Obra tem a responsabilidade de saber quantas Etapas uma determinada Obra possui. Padrão Criador: a Classe Obra tem a responsabilidade de criar instâncias da classe Obra. Padrão Especialista: a Classe Etapa tem a responsabilidade de saber quantas Etapas uma determinada Obra possui. Padrão Criador: a Classe Engenheiro tem a responsabilidade de criar instâncias da classe Obra. Padrão Especialista: a Classe Engenheiro tem a responsabilidade de saber quantas Etapas uma determinada Obra possui. Padrão Criador: a Classe Engenheiro tem a responsabilidade de criar instâncias da classe Obra. Padrão Especialista: a Classe Etapa tem a responsabilidade de saber quantas Etapas uma determinada Obra possui. Padrão Criador: a Classe Engenheiro tem a responsabilidade de criar instâncias da classe Obra. Padrão Especialista: a Classe Obra tem a responsabilidade de saber quantas Etapas uma determinada Obra possui. 5. No padrão especialista, a consequência relacionada com a utilização desse padrão é a melhoria do encapsulamento; No padrão especialista, as informações disponíveis estão relacionadas ao estado do próprio objeto; No padrão especialista, as informações que uma classe necessita podem estar espalhadas por toda aplicação, em diferentes classes; O padrão especialista deve atribuir responsabilidade à classe que tem informações suficientes para atender uma dada responsabilidade; O padrão especialista não está interessado no algoritmo de criação, mas sim em auxiliar o programador a determinar qual classe dever ser responsável pela instanciação de um dado objeto; Explicação: Essa resposta está INCORRETA porque ela se refere ao padrãoCriador. 09/06/2020 Estácio: Alunos estacio.webaula.com.br/Classroom/index.asp?191C757E76=4846213A234DB2F19DC3C17F077D5F6656FC94C250DDA7A72624F561DE4B73… 4/5 Utilizando a nomenclatura dos padrões GRASP, o padrão Criador assume que tipo de responsabilidade? Não é padrão GRASP? No GRASP direcionar a ação para a classe que sabe resolvê-la é: 6. 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 conhecer, 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 fazer, pois sua funcionalidade está relacionada com a resposta a seguinte pergunta: Quem deve criar um objeto A? Assume a responsabilidade de estimar, 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. 7. Polymorphism Low Cohesion Creator Indirection Controller Explicação: Temos os seguintes Padrões GRASP: Expert (Especialista), Creator (Criador), High Coesion, Low Coupling (Baixo Acoplamento), Controller. Padrões GRASP descrevem princípios fundamentais de atribuição de responsabilidade a objetos. COESÃO - Coesão mede o quanto as responsabilidades de um elemento (classe, objeto, subsistema,¿) são fortemente relacionadas. 8. Controller Indirection Variation Creator Information Expert Explicação: 09/06/2020 Estácio: Alunos estacio.webaula.com.br/Classroom/index.asp?191C757E76=4846213A234DB2F19DC3C17F077D5F6656FC94C250DDA7A72624F561DE4B73… 5/5 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. 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. Não Respondida Não Gravada Gravada Exercício inciado em 09/06/2020 01:42:45. javascript:abre_colabore('35258','200004784','4019460734');
Compartilhar