Prévia do material em texto
Prova Impressa GABARITO | Avaliação II - Individual (Cod.:1023948) Peso da Avaliação 2,00 Prova 100365611 Qtd. de Questões 10 Acertos/Erros 9/1 Nota 9,00 As métricas de projeto são voltadas para a atividade de projeto de software, que servem para comparar planos de medições de outros projetos e assim melhorar os projetos futuros. A profundidade de árvore de herança (DIT) é um tipo de métrica de projeto e é medida pelo número de classes ancestrais de uma herança. Referente à métrica de software DIT, analise as afirmativas a seguir: I. DIT menor que 2 para a maioria dos ramos da árvore significa que a exploração das vantagens da orientação a objetos é alta. II. DIT muito profunda, ou maior que 5, significa que existe complexidade do projeto. III. DIT é uma métrica que deve ser utilizada somente na programação tradicional, pois na orientada a objetos é inviável. IV. DIT igual a zero significa um alto grau de reutilização do código-fonte. É correto o que se afirma em: A III, apenas. B II, apenas. C I, II, III e IV. D II e III, apenas. E I, II e III, apenas. As métricas de software desempenham um papel crucial para a Engenharia de Software, pois disponibilizam uma base quantitativa para diversos aspectos do desenvolvimento de software. Um exemplo é a métrica de projeto que mede a falta de coesão (LCOM), medindo diferenças de métodos em uma classe pelos atributos ou pelas variáveis de instância. Assinale a alternativa correta que apresenta melhor a medição por falta de coesão (LCOM): A Essa métrica é definida pelo número de diferentes métodos dentro de uma classe que referenciam a mesma variável de instância. B Essa métrica conta os métodos e somam-se as suas complexidades ciclomáticas. C Essa métrica está diretamente ligada à quantidade de métodos existentes em uma classe. D Essa métrica é o número de métodos distintos chamados em resposta a uma mensagem de um objeto. VOLTAR A+ Alterar modo de visualização 1 Revisar Conteúdo do Livro 2 01/06/2025, 13:45 Avaliação II - Individual about:blank 1/6 E Essa métrica está diretamente ligada à árvore de herança, em que o número de filhos indicam a influência da classe no projeto. Existem complementos aos padrões de projeto, como o Propagation Patterns, que expressa um grupo de objetos que colaboram para um propósito específico. O Propagation Pattern possui a aplicação no Design Pattern de desenvolvimento de um software orientado a objeto, assim como na utilização de padrões de projeto para guiar o projeto. Referente ao Propagation Pattern, analise as seguintes afirmativas: I- O uso de notações de Adaptative Programming (AP), pode descrever padrões para problemas em programação orientada a objetos. II- O prototype pode ser implementado para descrever objetos de maneira robusta. III- O Builder pode ser implementado para descrever objetos de maneira robusta. IV- AP é geralmente utilizado em padrões de projeto e envolve subgráficos selecionados de grandes gráficos. V- Objetivo do AP é prover abstrações que permitam especificar melhor estes padrões. Agora, assinale a alternativa CORRETA: A Somente a afirmativa I está correta. B As afirmativas I, III, IV e V estão corretas. C As afirmativas II, III, IV e V estão corretas. D As afirmativas I, II e III estão corretas. A medição possui um papel importante na Engenharia de Software, mais especificamente na gerência de projetos de software, não importa qual método utilizado, mas medir o processo de desenvolvimento de software auxilia e muito na definição de cronogramas. Um processo de medição pode ser realizado em três fases: coleta dos dados, cálculo dos dados e análise dos dados calculados. Partindo desse pressuposto, classifique V para as sentenças verdadeiras e F para as falsas: ( ) As métricas de software são calculadas com dados qualitativos. ( ) As métricas de software devem possibilitar análise estatística. ( ) As métricas de software devem ser facilmente aplicadas em qualquer projeto. ( ) As métricas de software devem ser expressas em uma unidade de medida. Agora, assinale a alternativa que apresenta a sequência CORRETA: A F - F - V - F. B F - V - V - F. C F - V - V - V. D V - V - F - F. 3 4 01/06/2025, 13:45 Avaliação II - Individual about:blank 2/6 Na orientação a objetos, o mesmo problema pode ser representado por mais de um modelo diferente, facilitando o entendimento, sendo característica do Archetype Pattern. Existem vários padrões de projeto para a orientação a objetos, sendo que, dependendo do projeto, um padrão pode ser mais adequado que outro. Referente a padrões de projeto, analise as afirmativas a seguir: I. Builder separa a construção de um objeto complexo de sua representação. II. Decorator empacota estados de objetos dinamicamente, e com isso fornece alternativas flexíveis para estender funcionalidades. III. Facade possui relação em fornecer uma interface unificada para o conjunto de interfaces, no subsistema, ocultando alguns componentes. IV. Command encapsula a requisição como um objeto, através da permissão de clientes parametrizados com diferentes requisições e determina uma interface uniforme para requisições que permitam a configuração de clientes. É correto o que se afirma em: A III, apenas. B II, apenas. C I, apenas. D I e II, apenas. E I, II, III e IV. Padronizar o desenvolvimento de um projeto orientado a objetos auxilia na delimitação de suas características e compará-las com outros projetos, facilitando assim a atividade de escolher pelo padrão de um novo projeto. O Archetype é um padrão que define a base de negócio da aplicação, em que são desenvolvidas abstrações em um nível mais generalizado que o da Análise. Sobre o Archetype, assinale a alternativa CORRETA: A O Archetype define uma base de negócio para um modelo do projeto e não é influenciado por alterações no projeto, pois a ideia inicial é preservada. B O Archetype pattern é um conceito que possui como objetivo principal a definição de como implementar uma classe para que seja possível a aplicação do conceito de herança. C O Archetype pattern define um nível de abstração inferior dos conceitos de negócios. D O Archetype permite o desenvolvimento e a análise de requisitos ser realizada por desenvolvedores, o que garante que alterações de ideias conceituais possam serem aplicadas. E O Archetype possui semelhança com a atividade de análise, pois ambas atividades definem o mesmo nível de abstração de um negócio. 5 6 01/06/2025, 13:45 Avaliação II - Individual about:blank 3/6 Um Archetype Pattern possui o princípio da variação e, quando bem definido, auxilia o desenvolvimento de um projeto de maneira que seja compreensível pelos envolvidos. O Archettype Pattern pode possuir diferentes recursos e alguns opcionais nos casos desnecessários para o domínio do negócio. Referente a Archettype Pattern em projetos orientados a objetos, analise as afirmativas a seguir: I. Mediator é o padrão que define a interação de um conjunto de objetos encapsulados, promovendo um baixo acoplamento e, com isso, evita que os objetos referenciem-se uns aos outros explicitamente. II. Singleton é o padrão que assegura que uma classe seja instanciada uma única vez, sendo visível e acessível globalmente. III. Iterator é o padrão que fornece o acesso aos elementos de um objeto agregado sequencialmente em uma lista, em que o método hasNext(), em Java, determina se existem mais elementos na lista para serem iterados. IV. Visitor é o padrão que permite que um objeto de um tipo seja compartilhado por todas as requisições realizadas por uma aplicação, porém serve apenas para classes que herdam implementação de classes mães. É correto o que se afirma em: A I, II, III e IV. B I, III e IV, apenas. C II, III e IV, apenas. D II e IV, apenas. E I, II e III, apenas. Medida pode ser conceituada por mapear algo, e medição é o processo de aplicação da medida em algo real. Em desenvolvimento de software, para haver confiabilidade dos dados, a medição deveespecificar: o tamanho do produto de software; o número de pessoas necessárias para implementação de casos de uso; o número de defeitos encontrados; o esforço, o tempo e o custo para realização de uma tarefa, além do grau de satisfação do cliente. Partindo desse pressuposto, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Entre os papéis da medição de software, destacam-se entender os processos, avaliar, controlar e prever valores de atributos. ( ) O GQM (Goal Question Metrics) é responsável pelo desenvolvimento de métricas de software, para disponibilizar aos gerentes de projetos. ( ) O GQM (Goal Question Metrics) é responsável pela definição do conjunto de métricas a ser coletado. ( ) As medições devem ser aplicadas para medir processos e não pessoas. Agora, assinale a alternativa que apresenta a sequência CORRETA: A F - V - V - V. B V - F - V - V. C F - V - V - F. D V - V - F - F. 7 8 01/06/2025, 13:45 Avaliação II - Individual about:blank 4/6 As métricas de software proporcionam medidas quantitativas, permitindo a avaliação da qualidade, da complexidade e do desempenho de um software. Em projetos orientados a objetos, as métricas de software são essenciais para que se obtenha a garantia de que o software seja desenvolvido de forma eficiente e eficaz. Referente métricas de software em projetos orientados a objetos, analise as afirmativas a seguir: I. A distância de uma classe em relação à raiz da hierarquia de herança pode ser medida através da métrica conhecida por Profundidade da árvore de herança (DIT), sendo que uma profundidade maior pode aumentar a complexidade da compreensão do comportamento de uma classe. II. O grau em que os métodos de uma classe estão relacionados aos atributos pode ser medida através da métrica conhecida por Falta de coesão (LCOM), e um valor alto dessa métrica indica que a classe possui baixa coesão, indício de que a classe realiza mais de uma responsabilidade. III. O resultado da análise da métrica conhecida por profundidade da árvore de herança deve sempre ter o valor mais baixo possível, pois herança é uma prática que deve ser completamente evitada em projetos orientados a objetos, o que melhora a qualidade do código-fonte através do princípio de responsabilidade única. IV. A falta de coesão pode ser resolvida refatorando uma classe em várias classes menores, cada uma responsável por uma única responsabilidade específica, seguindo o princípio de responsabilidade única (SRP). É correto o que se afirma em: A I, III e IV, apenas. B I, II e IV, apenas. C I, II, III e IV. D II e III, apenas. E II e IV, apenas. As métricas de software servem para medir recursos humanos, tempo de desenvolvimento, cronogramas, erros, falhas, tamanho do projeto em termos de prazo e custo. Para a orientação a objetos, existem várias métricas utilizáveis, sendo que algumas permitem comparar planos de medições de diferentes projetos, o que pode desencadear recomendações para projetos futuros. Referente a métricas de software, analise as afirmativas a seguir: I. Profundidade da árvore de herança permite medir a quantidade de passos da classe nó até a raiz da árvore, medida pelo número de classes ancestrais. II- WMC – Métodos ponderados por classe permite contar os métodos para somar-se suas complexidades ciclomáticas, os quais são indicadores de quanto tempo e esforço são necessários para desenvolver ou manter uma classe. III. Número de filhos permite indicar a influência da classe no projeto como um todo, sendo que quanto mais classes filhas, maior a reutilização do código-fonte. IV- Resposta de uma classe analisa o número de métodos distintos chamados em resposta a chamadas de outras classes, combinando a complexidade da comunicação realizada. É correto o que se afirma em: A I e II, apenas. B 9 10 01/06/2025, 13:45 Avaliação II - Individual about:blank 5/6 I, II e III, apenas. C I, II, III e IV. D II, III e IV, apenas. E I, III e IV, apenas. Imprimir 01/06/2025, 13:45 Avaliação II - Individual about:blank 6/6