aula 05 - medições e métricas de software · 2016. 9. 17. · aula 04 medições e métricas de...
TRANSCRIPT
Aula 04
Medições e Métricas de Software
Professor: José Alexandre Macedo
versão: 1.0
Medição de Software
•Derivar valor numérico para algum
atributo do produto (ou processo) de
software
Medição de Software
•Comparando esses valores é possível
tirar conclusões sobre a qualidade de
software (ou do processo)
Medição de Software
•Exemplo:• A empresa deseja utilizar uma nova ferramenta para
testar software• Antes de adotar a ferramenta você registra o número
de defeitos descobertos em um dado tempo• Depois de introduzir a ferramenta você repete o
processo• Se forem encontrados mais defeitos no mesmo
intervalo de tempo a ferramenta pode ter sido útil
Medição de Software
•Duas maneiras de utilizar medições de software•Para fazer previsões gerais sobre um sistema•Para identificar componentes anômalos
Medição de SoftwarePara fazer previsões gerais sobre um sistema
•Medindo as características dos componentes do sistema (e agregando as medições) é possível obter uma estimativa geral de um atributo de sistema (ex.:número de defeitos no sistema)
Medição de SoftwarePara identificar componentes anômalos
•Podem identificar componentes individuais com características que desviem de alguma regra•Exemplo: Medir os componentes para descobrir os que possuem maior complexidade, supondo que esses terão mais erros e focar neles no processo de revisão
Métrica de Software
•É qualquer tipo de medição que se referia a•Um sistema de software•Processo•Documentação
Métrica de Software
•Exemplos•medidas de tamanho de um produto em linhas de
código• índice de Fog (facilidade de leitura)•Número de defeitos relatados em produto entregue•Número de pessoa-dia necessário para
desenvolver
Métrica de Software
•Grandes empresas usam métricas para apoiar o processo de gerenciamento de qualidade
Métrica de Software
• Podem ser métricas de• Controle• Associadas ao processo de software• Ex.:esforço médio e tempo necessário para reparar os defeitos
reportados• Predição• Associadas com produtos de software• Complexidade de um módulo, extensão média de
identificadores, numero de atributos e métodos associados com um objeto
• Influenciam na tomada de decisão de gerenciamento
Métrica de Software
•Métricas de Controle e de Predição
Influenciam na tomada de decisão de gerenciamento
Métrica de Predição
•Geralmente não é possível medir os atributos de qualidade de software diretamente• facilidade de: manutenção, compreensão, uso• perspectiva sobre o software• Ao invés, medimos atributos internos do software e
buscamos relações
Métrica de Predição
•Geralmente não é possível medir os atributos de qualidade de software diretamente
Métrica de Predição
•Três condições devem ser mantidas neste caso:•Medir atributo interno com precisão•Deve existir um relacionamento entre o atributo
externo e o atributo interno•O relacionamento deve ser validado e expresso
por formula ou modelo
Métrica de Predição
•O relacionamento deve ser validado e expresso por formula ou modelo• Identificação do formato funcional do modelo pela
análise de dados coletados• Identificação de parâmetros que devem ser
incluídos no modelo• Ajuste dos parâmetros usando dados existentes
Processo de Medição
•Parte do processo de controle de qualidade
Processo de Medição
•Escolher medições a serem realizadas
•O que as medições devem responder?
•Quais medições usar?
Processo de Medição
•Selecionar componentes a serem
avaliados• Selecionar um conjunto representativo de
componentes para medição•Ou, componentes críticos
Processo de Medição
•Medir características de componentes
•Componentes selecionados são medidos
•Valores de métricas calculados
•Pode-se usar ferramentas aqui
Processo de Medição
•Identificar medições anômalos
•Comparar as medições dos componentes
•Procurar valores incomuns
• Indicio de problemas
Processo de Medição
•Analisar componentes anômalos
• Examinar e decidir se os valores anômalos
comprometem a qualidade
Processo de Medição
•Acumular e registrar as medições em
um banco de dados é impotante...
Métricas de Produto
•Relacionadas as características do
software
•Se dividem em duas classes•Métricas dinâmicas
•Métricas Estáticas
Métricas de Produto
•Métricas dinâmicas (eficiência e confiabilidade)• Coletadas em medições quando o programa está em execução
•Métricas estáticas (complexidade, facilidade
compreensão e manutenção)• Coletadas em medições realizadas em representações do sistema
(projeto, documentação)
Métricas de Produto
•Métricas Estáticas• Fan in/Fan out (número de funções que chamam alguma outra
função/número de funções chamadas pela função X)
• Extenção de código (métrica muito confiável)
• Complexidade ciclomática (complexidade de controle de um programa)
• Extensão de identificadores (quanto maior melhor)
• Profundidade de aninhamentos (difícil compreender, propensa a erros)
• Índice de Fog (extensão média das palavras e sentenças em documentos)
Fim