Please enable JavaScript.
Coggle requires JavaScript to display documents.
Tipos de métricas de software - Coggle Diagram
Tipos de métricas de software
Conceitos Básicos e Importância
Definição: Medidas quantitativas para avaliar desenvolvimento, produto e desempenho do sistema.
Finalidade: Avaliar qualidade, gerar estimativas/previsões, comparar arquiteturas e embasar melhorias.
Benefícios:
Tomada de decisão baseada em dados (sem "achismo").
Melhoria contínua e identificação de pontos fracos.
Monitoramento/controle do progresso real frente ao planejado.
Previsibilidade de prazo, custo e esforço.
Três Grandes Categorias de Métricas
A. Métricas de Produto: Foco no artefato de código entregue e testes.
Exemplos: LOC, Complexidade Ciclomática, Cobertura de Testes, Taxa de Defeitos, Acoplamento/Coesão.
B. Métricas de Processo: Foco na eficiência do fluxo de desenvolvimento e manutenção.
Exemplos: Lead Time, Cycle Time, MTTR (tempo médio de resolução), Throughput, Frequência de Deploys.
C. Métricas de Projeto: Foco na gestão de custos, prazos e recursos.
Exemplos: Esforço Estimado vs. Real, Cronograma (person-months), Pontos de Função, SPI, CPI.
Métricas de Tamanho e APF
Métricas de Tamanho:
LOC / KLOC: Linhas de código / Milhares de linhas.
Pontos de Função (PF): Tamanho funcional (visão do usuário).
Classes e Métodos: Contagem de unidades orientadas a objetos.
Análise de Pontos de Função (APF - IFPUG):
Tipos de Funções: ALI (Lógico Interno), AIE (Interface Externa), EE (Entrada Externa), SE (Saída Externa), CE (Consulta Externa).
Cálculo: Soma ponderada por complexidade (PF Não Ajustados) $\times$ Fator de Ajuste (14 características técnicas).
Complexidade Ciclomática
Fórmula: $V(G) = \text{número de decisões} + 1$.
Interpretação:
$V(G) \le 10$: Código simples, baixo risco.
$V(G)$ 11–20: Complexidade moderada, requer atenção.
$V(G) > 20$: Alto risco, recomenda-se refatoração.
Qualidade de Software (ISO/IEC 25010 & Testes)
8 Características da ISO 25010: Adequação Funcional, Eficiência de Desempenho, Compatibilidade, Usabilidade, Confiabilidade, Segurança, Manutenibilidade, Portabilidade.
Densidade de Defeitos (DD): $\text{Defeitos} / \text{KLOC}$.
Cobertura de Testes: Porcentagem do código testada ($>80\%$ muito boa; $60-79\%$ aceitável; $<60\%$ insuficiente).
Estimativa de Esforço (COCOMO)
Proposto por: Barry Boehm (fórmula: $\text{Esforço} = a \times \text{KLOC}^b$).
Modos de Projeto:
Orgânico: Equipes pequenas, projetos simples ($a=2,4; b=1,05$).
Semi-destacado: Complexidade intermediária ($a=3,0; b=1,12$).
Embarcado: Restrições rígidas e alta complexidade ($a=3,6; b=1,20$).
Métricas Ágeis, GQM e Ferramentas
Métricas Ágeis: Velocity, Burndown/Burnup, Cycle Time, WIP (Work in Progress).
Método GQM (Goal-Question-Metric): Victor Basili.
Goal (Objetivo) $\rightarrow$ Question (Pergunta) $\rightarrow$ Metric (Métrica).
Ferramentas Práticas: SonarQube, Jira, GitHub Insights, CodeClimate.