Escolar Documentos
Profissional Documentos
Cultura Documentos
Mtricas de Software
Objetivo da Aula
Introduzir os conceitos bsicos sobre mtricas de software, mostrando os benefcios de sua utilizao no processo de engenharia de software.
Slide 2
Contedo
Conceitos Gerais Medio Medida Mtrica Indicador Movitao Exemplos de Mtricas LoC PF Complexidade Ciclomtica Mtricas de Qualidade
Slide 3
Na aula anterior...
Os modelos de qualidade podem ser utilizados para definir os requisitos de qualidade de um software. A partir de um conjunto de caractersticas e subcaractersticas de qualidade. As caractersticas de qualidade so abstratas. Para que a qualidade do software possa ser avaliada, de fato, considerando as caractersticas de qualidade do modelo, algum critrio objetivo deve ser utilizado.
Para isso, utilizam-se mtricas.
Slide 4
Exemplo
Na medio de uma pessoa (entidade) pode-se medir sua altura (atributo). Quais so as regras?
A unidade mtrica
Vamos representar a altura em centmetros ou metros?
O processo de medio
A pessoa pode estar com sapatos?
Slide 5
Slide 6
Indicadores so utilizados como valores de referncia. A comparao entre os Defeitos/LoC entre dois softwares nos permite compreender qual o mais confivel. Observa-se que indicadores so especficos de cada empresa. Depende da natureza de cada empresa. Depende de quais aspectos ela julga ser importante.
Slide 7
Entidade Atributos
A partir da anlise dos indicadores pode-se compreender a entidade medida com relao a determinado aspecto.
Medio
Medida
Anlise
Slide 8
Slide 9
Entender
Controlar
Avaliar
Prever
Slide 10
Mtricas Propriedades
Para que uma mtrica seja satisfatria, ela deve ser: Vlida
Quantificar o que se quer medir.
Confivel
Produzir os valores iguais em medies para uma mesma entidade, utilizando as mesmas condies.
Factvel
Barata, fcil de medir, computar e interpretar.
Slide 11
Mtricas Categorias
As mtricas podem ser categorizadas de vrias formas: Observao: diferentes autores, propem diferentes categorias. Objetivo
Tamanho x Funo (Qualidade)
Direta x Indireta
Contexto
Produto x Processo
Obteno
Slide 12
Mtricas Categorias
Mtricas Diretas So as mtricas fundamentais As medidas podem ser obtidas diretamente a partir da observao do produto.
Ex.: LoC, n diagramas, capacidade de memria, etc.
Mtricas Categorias
Mtricas Orientada ao Tamanho So medidas diretas do artefato do software que est sendo medido. Ex.: KLoC, n casos de uso, etc. Mtricas Orientada Funo So medidas que visam estabelecer o tamanho do software considerando as funcionalidades por ele implementadas. Ex.: Ponto de Funo. Mtricas de Qualidade Permitem avaliar quanto um software satisfaz seus requisitos de qualidade. Normalmente so obtidas a partir da combinao de mtricas orientadas a tamanho e funo. Ex.: Defeitos/Kloc, testes implementados/testes projetados, etc.
Slide 14
SloC Lgicas
Programa 2
List<ArrayList> vetor = new QuickSort().sort(vetor);
Determinar PF Brutos
Tipo de contagem?
Determinar PF Ajustados
Slide 18
Funes de Dados
Arquivos de Interface Externa
Slide 19
Sada Externa
Consulta Externa
Slide 21
Slide 22
Slide 23
Calcula-se o Nvel de Influncia Total [TDI] = DI Calcula-se o Fator de Ajuste [VAF] = [TDI] x 0,01 + 0,65
Slide 25
Slide 26
Mtricas de Qualidade
Slide 27
Mtricas Qualidade
As mtricas de qualidade so geralmente indiretas. Obtidas a partir de outras mtricas. Estima-se que existam em torno de 250 mtricas. Logo, convm avaliar quais so necessrias, considerando os requisitos de qualidade do projeto.
Slide 28
Funcionalidade: Mtricas
Mtricas para avaliar a dimenso Funcionalidade
Mtrica NFunProj NFunImpl NFunTesteOk NFunAccOk NInteropOk NTesteInterop NDataTrans Nmero de Funes Projetadas Nmero de Funes Implementadas Nmero de Funes Validadas (Testes) Nmero de Funes cuja acurcia foi validade Nmero de Tarefas de interoperabilidade testadas Nmero de Testes de interoperabilidade executados. Total de dados transmitido entre o software e outras aplicaes. Descrio
Slide 29
Manutenabilidade: Mtricas
Mtricas para avaliar a dimenso Manutenabilidade
Mtrica PF LOC SLOC Nclicomtico LD NRot NRot_comentadas. TFan_out Mtrica Derivada PRot_comentadas ILoc_doc Medfan_out Pontos de Funo Linhas de Cdigo Linhas de Cdigo, exceto comentrios e linhas em branco. Complexidade Ciclomtica: nmero de caminhos diferentes de execuo. Linhas de documentao. Nmero de rotinas. Nmero de rotinas comentadas. Total de rotinas referenciadas por todos os mdulos. Descrio Porcentagem de rotinas comentadas. Nrot_comentadas/Nrot. ndice de documentao de cdigo. LD/LOC. Mdia de fan-out. Tfan_out/Nrot. Descrio
Slide 30
Manutenabilidade: Mtricas
Complexidade Ciclomtica uma mtrica para avaliar a complexidade estrutural do software, ou seja, sua construo interna. De maneira sucinta, o nmero de caminhos de execuo que um cdigo pode tomar. Quanto maior o nmero de caminhos de execuo, pior a manutenabilidade.
Pior para analisar. Pior para testar (teste de caminho bsico com muitos casos de teste). Pior para modificar.
McCabe et al define um valor mximo de 10 para uma complexidade ciclomtica de baixo risco.
Slide 31
Manutenabilidade: Mtricas
Clculo da Complexidade Ciclomtica Cria-se um grafo G representando a execuo do cdigo
Cada n do grafo corresponde a um trecho de cdigo ou a um comando de deciso. Cada ponto de sada (return) corresponde a um componente de conexo.
Slide 32
Manutenabilidade: Mtricas
int fib (int n) { int a = 1; 1 int b = 1; int c = 2; 2 if (0 == n) return 0; 3 if (3 > n) return 1; 4 while ( n > 2) { c = a + b; 5 a = b; b = c; n = n 1; } 6 return c; 1
2 3 4 5
7 8
V(G) = 9 8 + 3 Complexidade = 4
6
Slide 33
Manutenabilidade: Mtricas
Uma maneira mais simples: CC = Nmero de decises + 1
Operao if else if else case for/for each do while while catch Efeito na CC +1 +1 0 +1 para cada caso. +1 +1 +1 +1
Slide 34
Manutenabilidade: Mtricas
Fan-in e Fan-out Quo dependente um mdulo de outros. Deve-se maximizar o fan-in e minimizar o fan-out.
Fan-out alto quer dizer alta dependncia do mdulo.
Modulo B
Modulo A
Modulo D
Modulo C
Slide 35
Usabilidade: Mtricas
Mtricas para avaliar a dimenso Usabilidade
Mtrica
TAprendizado TExec_tarefa NConsult_help NProb_interface NMax_cores NMax_elementos NFalta_padro_inter
Descrio
Tempo gasto pelo testador para aprender a utilizar uma funo. Tempo gasto pelo testador para executar determinada funo. Nmero de consultas ao sistema de ajuda. Nmero de problemas de compreenso de interface detectados durante testes. Nmero mximo de cores em uma janela. Nmero mximo de elementos em uma janela. Nmero de problemas de falta de padronizao de interfaces.
Normalmente a medio das mtricas de usabilidade ocorre nos testes alfa e beta.
Slide 36
Confiabilidade: Mtricas
Mtricas para avaliar a dimenso Confiabilidade
Mtrica NFalhas_total NFalhas_corrigidas TOper_acumulada NTestes NTestes_real NTestes_OK Descrio Total de falhas relatadas durante testes. Nmero de falhas corrigidas. Tempo acumulado de operao durante testes. Testes projetados. Testes realizados Testes em que o software foi bem sucedido.
Descrio Porcentagem de testes realizados. Ntestes_real / Ntestes. Porcentagem de falhas corrigias. Nfalhas_corrigidas/Nfalhas_total. Quantidade de falhas por ponto de funo. Nfalhas_total/PF
Slide 37
Eficincia: Mtricas
Mtricas para avaliar a dimenso Eficincia
Mtrica
TTarefa_execucao TTarefa_resposta TIO TIndisponvel HDInstalao RAMRequerido NTransao Tempo de resposta de uma tarefa. Tempo de I/O Tempo em que o usurio impedido de interagir com o software. Espao em disco ocupado para instalao. Quantidade de RAM requerido. Nmero de transaes.
Descrio
Tempo total para execuo de uma tarefa.
Slide 38
Portabilidade: Mtricas
Mtricas para avaliar a dimenso Portabilidade
Mtrica NInstSuc NInstProb Descrio Nmero de instalaes efetuadas com sucesso. Nmero de problemas enfrentados ao instalar o software.
Slide 39
Referncias Bibliogrfias
Kan, Stephen. Metrics And Models In Software Quality Engineering. Second Edition, Addison-Wesley, 2002. Koscianski, Andr; Soares, Michel. Qualidade de Software. 2 Edio, Novatec, 2007
Slide 40