Prévia do material em texto
Prova Impressa GABARITO | Avaliação II - Individual (Cod.:1023948) Peso da Avaliação 2,00 Prova 100364384 Qtd. de Questões 10 Acertos/Erros 10/0 Nota 10,00 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 está diretamente ligada à quantidade de métodos existentes em uma classe. C 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. D Essa métrica conta os métodos e somam-se as suas complexidades ciclomáticas. E Essa métrica é o número de métodos distintos chamados em resposta a uma mensagem de um objeto. As métricas de software são métodos da Engenharia de Sofware que servem para tornar um projeto de software mensurável, isto é, em número, permitindo a definição de custos e prazos. Elas são ferramentas importantes para a avaliação e melhoria de processos de desenvolvimento, permitindo que equipes identifiquem áreas de eficiência e qualidade, além de fornecer dados quantitativos que ajudam na tomada de decisões informadas, desde a fase de planejamento até a entrega do produto final. Sobre as métricas de software, analise as afirmativas a seguir: I. Medida direta é uma das categorias de métricas de software que se foca no custo e esforço do desenvolvimento das atividades. VOLTAR A+ Alterar modo de visualização 1 2 12/03/2026, 20:51 Avaliação II - Individual about:blank 1/8 II. Medida indireta é uma das duas categorias de métricas de software que se foca exclusivamente com a qualidade e a eficiência do software. III. Contagem de métodos é uma das métricas que pode ser utilizada no desenvolvimento de software orientado a objetos. IV. Quantidade de atributos de uma classe é uma das métricas que pode ser utilizada no desenvolvimento de software orientado a objetos. É correto o que se afirma em: A II, III e IV, apenas. B I, apenas. C II e III, apenas. D I, II, III e IV. E I, III e IV, apenas. 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. 3 12/03/2026, 20:51 Avaliação II - Individual about:blank 2/8 IV. DIT igual a zero significa um alto grau de reutilização do código-fonte. É correto o que se afirma em: A I, II, III e IV. B II, apenas. C III, apenas. D II e III, apenas. E I, II e III, apenas. MVC (Model View Controller) é um dos padrões de desenvolvimento de software que é baseado em três camadas: Modelo (Model), Visão (View) e Controladora (Controller). A camada Modelo concentra classes, entidades, regras de negócio e de acesso ao banco de dados. A camada Visão baseia-se em como os dados serão apresentados aos clientes, como telas, por exemplo. E a camada Controladora concentra as classes que traduzem interações do fluxo de dados com as camadas de visão e modelo. Referente ao padrão MVC de desenvolvimento de software, analise as afirmativas a seguir: I. Uma desvantagem do padrão MVC está na alteração dos componentes visuais do sistema que, como consequência, sempre afetará as camadas modelo e controladora. II. Uma vantagem do padrão MVC é a alta coesão (classes com responsabilidades distintas) e pouca dependência entre as classes. III. Uma desvantagem do padrão MVC é o trabalho gerado ao desenvolver uma nova funcionalidade, devido à necessidade do desenvolvimento das três camadas. IV. Uma definição para o MVC pode ser descrita por separar o código que manipula a lógica de negócios do código que manipula a apresentação ao usuário e da manipulação de dados. É correto o que se afirma em: 4 12/03/2026, 20:51 Avaliação II - Individual about:blank 3/8 A II e III, apenas. B II, III e IV, apenas. C I, II, III e IV. D I, III e IV, apenas. E I, II e III, apenas. 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 I e II, apenas. B I, II, III e IV. 5 12/03/2026, 20:51 Avaliação II - Individual about:blank 4/8 C III, apenas. D I, apenas. E II, apenas. 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, II e III estão corretas. C As afirmativas I, III, IV e V estão corretas. D As afirmativas II, III, IV e V 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 V - V - F - F. B F - V - V - F. 6 7 12/03/2026, 20:51 Avaliação II - Individualabout:blank 5/8 C F - V - V - V. D F - F - V - F. 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 II, III e IV, apenas. B I e II, apenas. C I, II, III e IV. D I, III e IV, apenas. E I, II e III, apenas. 8 12/03/2026, 20:51 Avaliação II - Individual about:blank 6/8 Para melhorar a qualidade de um projeto, é necessário que o prazo e custo sejam cumpridos. Além disso, a estrutura de um software deve ser medida para que se tenha um bom equilíbrio na montagem das classes com o número de métodos, atributos, nós de uma herança, mensagens trocadas, entre outros, que são aferidas pelas métricas de construção. Partindo desse pressuposto, analise as afirmativas a seguir: I. A técnica de medição baseada na contagem total de mensagens enviadas por um método é influenciada pela linguagem de programação utilizada. II. A métrica linhas de código (LOC) conta a quantidade de linhas ativas de um código-fonte, sendo que quando o método possui um tamanho grande, considera-se que ele é orientado a objetos. III. A técnica que analisa o percentual de comentários em um código especifica que o percentual de linhas comentadas deve ser entre 20 e 30% do código-fonte. IV. A técnica que contabiliza a quantidade de classes abstratas, que facilitam a reutilização de código por suas subclasses, menciona que um projeto bem definido possui média de 10% ou mais de classes abstratas. É correto o que se afirma em: A I e II, apenas. B I, II, III e IV. C II e III, apenas. D I, III e IV, apenas. E I, II e III, apenas. 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. 9 10 12/03/2026, 20:51 Avaliação II - Individual about:blank 7/8 Sobre o Archetype, assinale a alternativa CORRETA: A 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. B 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. C 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. D 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. E O Archetype pattern define um nível de abstração inferior dos conceitos de negócios. Imprimir 12/03/2026, 20:51 Avaliação II - Individual about:blank 8/8