Você está na página 1de 40

Universidade Federal de Sergipe

Centro de Cincias Exatas e Tecnologia Departamento de Computao

Mtricas de Software

Professor Felipe Cardoso, M.Sc.


Slide 1

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

Mtricas Conceitos Gerais


Medio
 A medio o ato de medir atributos de uma entidade, a fim de descrev-la de acordo com determinadas regras.  Uma entidade o objeto da medio  Um atributo uma propriedade ou caracterstica da entidade sendo medida.

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

Mtricas Conceitos Gerais


Medida  Uma medida o resultado de uma medio na forma de dados quantitativos. Mtrica  So as regras para o mapeamento de atributos de uma entidade em algo que nos d poder de discernimento.
o processo de medio considerando a unidade mtrica, a escala, etc.

Slide 6

Mtricas Conceitos Gerais


Indicador  Um indicador uma mtrica, ou uma combinao de mtricas, que fornece a compreenso sobre uma entidade (projeto, processo ou produto).
uma instncia de uma mtrica.

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

Mtricas Processo de Medio

Entidade Atributos

Mtricas (Regras: como medir, unidade de medida, escala)

A partir da anlise dos indicadores pode-se compreender a entidade medida com relao a determinado aspecto.

Medio

Medida

Anlise

Slide 8

Motivao Por que usar mtricas em software?


You cant manage what you cant measure!  Tom De Marco A utilizao de mtricas permite aperfeioar o processo de desenvolvimento e o produto a ser desenvolvido.
     Avaliar o impacto de uma modificao no software. Estimar custo e cronograma do projeto. Alocar equipes a tarefas. Avaliar equipes. Avaliar a qualidade do produto.

Slide 9

Motivao Os quatro papis das mtricas

Entender

Controlar

Produtos, Processos e Servios de Software

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 Indiretas  So as mtricas derivadas.  As medidas so obtidas a partir de outras medidas.


Ex.: As mtricas relacionadas s caractersticas de qualidade, eficincia, manutenabilidade, usabilidade, etc.
Slide 13

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

Mtricas Orientadas ao Tamanho


LoC Lines of Code  Mtrica simples de se obter e de baixo custo.  Corresponde ao total de linhas de cdigo.
No faz distino entre cdigo ou comentrios.

Algumas Variaes  SLoC Fsicas (Source Line of Code)


Desconsidera linhas de comentrio.

 SloC Lgicas

Considera quantos comandos existem em cada linha de cdigo. Exemplo


//Comparao if (a > b) { a++; puts(ok); } 3 LoC 2 SLoC Fsicas 3 SLoCs Lgicas Slide 15

Mtricas Orientadas ao Tamanho


Os pontos fracos da mtrica LoC:  Dependente da linguagem de programao.  Desconsidera a complexidade do cdigo. Exemplo  Programa 1
Int i = 10;

 Programa 2
List<ArrayList> vetor = new QuickSort().sort(vetor);

Os dois programas tm o mesmo tamanho, mas tm a mesma complexidade?


Slide 16

Mtricas Orientadas Funo


Pontos de Funo (PF)  uma medida da dimenso de um software atravs de suas funcionalidades implementadas em um sistema, sob o ponto de vista do usurio. Diferente da mtrica LoC, a anlise por PF (APF) considera a complexidade do software, levando em considerao suas caractersticas. Alm disso, independente da linguagem de programao utilizada. a forma indicada pelo SEI para medir a dimenso de um software.
Slide 17

Mtricas Orientadas Funo


Como funciona a APF?
Contar a Funes de Dados

Determinar PF Brutos

Tipo de contagem?

Identificar o Escopo e a Fronteira da Aplicao

Contar a Funes Transacionais

Determinar o Fator de Ajuste (FA)

Determinar PF Ajustados

Slide 18

Mtricas Orientadas Funo


Contagem das funes de dados
ALI Grupo lgico de dados mantido pelo aplicativo. AIE Grupo lgico de dados mantido fora da fronteira do aplicativo.

Arquivos Lgicos Internos

Funes de Dados
Arquivos de Interface Externa

Slide 19

Mtricas Orientadas Funo


Contagem das funes transacionais
Entrada Externa Dados que vm de fora da aplicao a fim de manter um ALI. Sada Externa Envia dados ou informaes de controle para fora da aplicao. Altera o comportamento do sistema. Consulta Externa Uma combinao de entrada/sada de dados onde uma entrada de dados causa uma recuperao e sada de dados correspondente. Slide 20

Entrada Externa Funes de Transaes

Sada Externa

Consulta Externa

Mtricas Orientadas Funo


Viso Geral

Slide 21

Mtricas Orientadas Funo


Como contar a funes de dados e transacionais?
TD Tipo de Dados Elemento nico reconhecvel pelo usurio, no repetitivo. Exemplo: cada campo de um tabela um TD. TR - Tipo de Registro Subgrupo reconhecvel de elementos de dados dentro de um ALI ou AIE. Exemplo: Uma tabela pode ser considerada um TR.

Slide 22

Mtricas Orientadas Funo


Como contar a funes de dados e transacionais?  Deve-se mapear a complexidade de cada funo para sua contribuio em PF.

Slide 23

Mtricas Orientadas Funo


A contagem dos dados e transaes resulta nos pontos de funo brutos. Deve-se avaliar o software com relao a 14 caractersticas, a fim de determinar o nvel de influncia de cada caracterstica no software.  [01] Comunicao de Dados  [02] Processamento Distribudo  [03] Performance  [04] Configurao Altamente Utilizada  [05] Volume de Transaes  [06] Entrada de Dados On-Line  [07] Eficincia do Usurio Final  [08] Atualizao On-Line  [09] Complexidade de Processamento  [10] Reusabilidade  [11] Facilidade de Instalao  [12] Facilidade de Operao  [13] Mltiplos Locais  [14] Facilidade de mudanas
Slide 24

Mtricas Orientadas Funo


Para cada caractersticas, deve-se dar uma valor de influncia entre 0 e 5 Nveis de Influncia  Nvel de Influncia [DI] = 0..5
0 1 2 3 4 5 Nenhuma Influncia Influncia Mnima Influncia Moderada Influncia Mdia Influncia Significativa Grande Influncia

Calcula-se o Nvel de Influncia Total  [TDI] = DI Calcula-se o Fator de Ajuste  [VAF] = [TDI] x 0,01 + 0,65

Por fim, multiplica-se os PF Brutos pelo Fator de Ajuste  Resultado so os PF ajustados.

Slide 25

Mtricas Orientadas Funo


Os PFs, mesmo os ajustados, nos diz alguma coisa?  No. Indicadores devem ser definidos, para que as medidas da mtrica possam ser avaliadas. Os indicadores podem ser determinados a partir de uma base histrica.  Formada a partir de projetos anteriores.

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

Mtrica Derivada PFunImpl

Descrio Porcentagem de funes implementadas. NFunImpl/NFunProj

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.

 O clculo feito da seguinte forma: V(G) = E N + P, onde:


E = Nmero de arestas do Grafo G; N = Nmero de nodos; P = Nmero de componentes conexos.

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

127 1238 12346 1 2 3 5 4 5 - ... - 4 - 6

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.

Mtrica Derivada PTestes_real PFalhas_corigidas QFalhas_PF

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.

Mtrica Derivada Throughput

Descrio Transaes por unidade de tempo.

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

Você também pode gostar