A equipe de Engenharia de Computação precisa avaliar a comp...
Assinale a métrica de software que mede a complexidade da lógica de controle de um programa.
Comentários
Veja os comentários dos nossos alunos
Essa é uma métrica fundamental na Engenharia de Software, desenvolvida por Thomas J. McCabe em 1976. O objetivo principal dela é justamente o que o enunciado descreve: fornecer uma medida quantitativa da complexidade lógica de um programa, contando o número de caminhos linearmente independentes através do código-fonte.
- A) Pontos de Função: Mede o tamanho funcional do software (baseado em entradas, saídas, arquivos lógicos, etc.) do ponto de vista do usuário, não a complexidade interna do código.
- B) Cobertura de Testes: É uma medida de qualidade do processo de teste, indicando quanto do código foi executado pelos testes, não a complexidade do código em si.
- C) Métrica de defeitos por KLOC: Mede a densidade de defeitos (erros por mil linhas de código), sendo uma métrica de qualidade/confiabilidade.
- E) Cobertura de Caminho: É um critério de teste que busca garantir que todos os caminhos possíveis foram testados. Embora use a complexidade ciclomática como base para saber quantos caminhos existem, a métrica que define esse número é a Ciclomática.
Fonte: Gemini.
A Complexidade Ciclomática, proposta por Thomas J. McCabe, mede a complexidade da lógica de controle de um programa, quantificando o número de caminhos logicamente independentes que podem ser percorridos durante a execução do código.
Ela é amplamente utilizada para:
- Avaliar a complexidade de manutenção do software;
- Estimar o esforço de testes;
- Identificar módulos com alta probabilidade de defeitos.
A fórmula mais conhecida é:
- V(G)= E − N + 2P
Onde:
- E = número de arestas do grafo de fluxo;
- N = número de nós;
- P = número de componentes conexos (normalmente 1).
Outra forma prática:
- Complexidade Ciclomática = número de decisões + 1
Cada estrutura de decisão (if, while, for, case, etc.) aumenta a complexidade.
Gabarito: D
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo