A equipe de desenvolvimento de software SystemsXYZ vem enfrentando problemas de defeitos associados à qualidade do software. Por isso, a equipe decidiu adotar medições de software baseadas em métricas de produto. Métricas de produto dinâmicas são coletadas por meio de medições efetuadas de um programa em execução, ajudando a avaliar a sua eficiência. Um exemplo associado à métrica dinâmica é o(a):
- A)fan-in/fan-out;
Errada, porque fan-in/fan-out é uma métrica estrutural do código, ligada à arquitetura e à análise estática.
- B)tamanho de código-fonte;
Errada, porque tamanho de código-fonte é medido sem executar o software, sendo uma métrica estática.
- C)comprimento médio de identificadores;
Errada, porque o comprimento médio de identificadores é obtido diretamente do código, então é uma métrica estática.
- D)número de relatórios de bugs;
Certa, pois relatórios de bugs refletem defeitos observados no uso do software e se associam à avaliação do produto em operação.
- E)complexidade ciclomática.
Errada, porque complexidade ciclomática é calculada a partir da estrutura do fluxo de controle do código, sem necessidade de execução.
Gabarito: D
Quando a banca fala em métricas de produto, ela quer medir características do software em si. Se a métrica for dinâmica, a ideia é coletar dados enquanto o programa está executando, como consumo de memória, tempo de resposta e desempenho em uso real. Ou seja: sai o olhar para o código parado e entra a observação do software trabalhando de verdade. Já as métricas estáticas são aquelas obtidas sem executar o programa, normalmente olhando código-fonte, estrutura e documentação. É aqui que aparecem medidas como tamanho de código, complexidade estrutural e outras que você consegue calcular só lendo ou analisando o sistema no papel ou no repositório. Na questão, o item que melhor se encaixa na lógica de métrica dinâmica é o número de relatórios de bugs, porque ele está ligado ao comportamento do software em uso e aos defeitos percebidos durante a operação. Em provas, a banca costuma usar esse tipo de indicador para associar a qualidade percebida do produto ao que acontece quando o sistema está funcionando no mundo real. Então, a resposta correta é a D. O raciocínio é: se a métrica depende da execução e da experiência de uso, ela é dinâmica; se depende só da análise do código ou da estrutura, ela é estática. A prova quer exatamente essa separação, sem mistério e sem pegadinha de laboratório.