Complexidade ciclomática (ou complexidade condicional) é uma métrica de software usada para indicar a complexidade de um programa de computador. Desenvolvida por Thomas J. McCabe em 1976, ela mede a quantidade de caminhos de execução independentes a partir de um código fonte.
As métricas de complexidade de Halstead foram desenvolvidas por Maurice Halstead como um meio de determinar uma medida quantitativa da complexidade diretamente a partir dos operadores e os operandos contidos no módulo de um programa a partir do código fonte. Porque são aplicadas ao código, são mais freqüentemente utilizadas como métrica de manutenção. Contudo, existem evidências de que as métricas de Halstead também são úteis durante o desenvolvimento para avaliar a qualidade do código em aplicações computacionais densas ou para acompanhar as tendências de complexidade.
Extensibilidade é a medida da facilidade em se adicionar novas funcionalidades (operações) a um componente de uma modelagem existente. É uma avaliação da arquitetura do componente e das técnicas usadas numa modelagem que ajude na estimativa do esforço que pode ser necessário para se adicionar novos requisitos e/ou estender a funcionalidade de modelagens existentes.