Introduo a Mtricas de Software Danielle Dias e

  • Slides: 38
Download presentation
Introdução a Métricas de Software Danielle Dias e Cristine Gusmão drds@cin. ufpe. br /

Introdução a Métricas de Software Danielle Dias e Cristine Gusmão drds@cin. ufpe. br / cmgg@cin. ufpe. br UFPE-PE Julho/2003

Objetivos n n Entender porque medição é importante para avaliação e garantia da qualidade

Objetivos n n Entender porque medição é importante para avaliação e garantia da qualidade de software Entender as abordagens principais de métricas e como elas são utilizadas Conhecer algumas métricas e suas aplicações Entender o que é um Plano de Métricas e como escrever um 2

Motivação n “Não se pode gerenciar o que não se pode medir”. Tom De

Motivação n “Não se pode gerenciar o que não se pode medir”. Tom De Marco n “Se você não sabe para onde você quer ir, qualquer caminho você pode seguir. Se você não sabe onde você está, um mapa não vai ajudar!”. Roger Pressman 3

Por que medir software? n n Indicar a qualidade do produto Avaliar a produtividade

Por que medir software? n n Indicar a qualidade do produto Avaliar a produtividade do processo Formar uma baseline para estimativas Ajudar a justificar as solicitações de novas ferramentas ou treinamentos 4

Por que medir software? n n Entender e aperfeiçoar o processo Melhorar a gerência

Por que medir software? n n Entender e aperfeiçoar o processo Melhorar a gerência de projetos e relacionamentos com clientes Reduzir frustrações e pressões de cronograma Gerenciar contratos de software 5

O que são métricas de software? n Qualquer tipo de medida que relaciona o

O que são métricas de software? n Qualquer tipo de medida que relaciona o software ao processo ou à sua documentação n n Número de Linhas de código Número de pessoas necessárias para implementar um caso de uso Número de defeitos encontrados por fase de desenvolvimento Número de requisitos 6

Propriedades desejáveis de uma métrica n n n n Facilmente calculada, entendida e testada

Propriedades desejáveis de uma métrica n n n n Facilmente calculada, entendida e testada Passível de estudos estatísticos Expressa em alguma unidade Obtida o mais cedo possível no ciclo de vida do software Passível de automação Repetível e independente do observador Sugere uma estratégia de melhoria 7

Em resumo. . . n Uma métrica deve ser: Válida: quantifica o queremos medir

Em resumo. . . n Uma métrica deve ser: Válida: quantifica o queremos medir ¡ Confiável: produz os mesmos resultados dadas as mesmas condições ¡ Prática: barata, fácil de computar e fácil de interpretar ¡ 8

Categorização de Métricas n Métricas diretas ¡ ¡ Medida realizada em termos de atributos

Categorização de Métricas n Métricas diretas ¡ ¡ Medida realizada em termos de atributos observados (usualmente determinada pela contagem) Ex. : custo, esforço, no. linhas de código, capacidade de memória, no. páginas, no. Diagramas, etc. 9

Categorização de Métricas n Métricas indiretas ¡ ¡ Medidas obtidas a partir de outras

Categorização de Métricas n Métricas indiretas ¡ ¡ Medidas obtidas a partir de outras medidas Ex. : complexidade, manutenibilidade, confiabilidade 10

Categorização de Métricas n Métricas orientadas a tamanho ¡ n São medidas diretas do

Categorização de Métricas n Métricas orientadas a tamanho ¡ n São medidas diretas do software e do processo por meio do qual ele é desenvolvido. Métricas orientadas por função ¡ Consiste em um método para medição de software do ponto de vista do usuário, que determina de forma consistente o tamanho e complexidade de um software, sob a perspectiva do usuário. 11

Categorização de Métricas n Métricas orientadas às pessoas ¡ Compilam informações sobre a maneira

Categorização de Métricas n Métricas orientadas às pessoas ¡ Compilam informações sobre a maneira como as pessoas desenvolvem software de computador e percepções humanas sobre a efetividade das ferramentas e métodos. 12

Categorização de Métricas de Software n Métricas de produtividade ¡ n Concentra-se na saída

Categorização de Métricas de Software n Métricas de produtividade ¡ n Concentra-se na saída do processo de engenharia de software. Métricas de qualidade ¡ ¡ Oferece uma indicação de quanto o software adequa-se às exigências implicítas e explícitas do cliente. Ex. erros/fase 13

Categorização de Métricas de Software n Métricas técnicas ¡ Concentra-se na característica do software

Categorização de Métricas de Software n Métricas técnicas ¡ Concentra-se na característica do software (complexidade lógica e grau de manutenibilidade) e não no processo por meio do qual o software foi desenvolvido. 14

Possíveis problemas com métricas n Ex: Comparar a produtividade de engenheiros em termos de

Possíveis problemas com métricas n Ex: Comparar a produtividade de engenheiros em termos de linha de código ¡ Está sendo utilizado a mesma unidade de medida? n ¡ O contexto considerado é o mesmo? n ¡ E a qualidade do código? Como o resultado será interpretado? n ¡ Todos os engenheiros são familiarizados com a linguagem de programação? O que se quer realmente é o tamanho do código? n ¡ O que é linha de código? Produtividade média de um engenheiro? O que se quer com o resultado? n Comparar a produtividade do processo de software? 15

Teoria da Medição n Teoria sobre métricas pode ajudar a resolver estes problemas. 16

Teoria da Medição n Teoria sobre métricas pode ajudar a resolver estes problemas. 16

Relações empíricas n n Ajudam a observar as relações verdadeira/falsa entre entidades do mundo

Relações empíricas n n Ajudam a observar as relações verdadeira/falsa entre entidades do mundo real Ex. Relações empíricas entre o atributo altura das pessoas ¡ ¡ ¡ Binária: O Super-homem é mais alto do que papai Noel Unária: O Super-homem é alto Ternária: O Super-homem é mais alto do que papai Noel e mamãe Noel 17

Medida e Medição n Na maioria dos empreendimentos técnicos, as medições e as medições

Medida e Medição n Na maioria dos empreendimentos técnicos, as medições e as medições ajudam-nos a entender o processo técnico usado para se desenvolver um produto, como também o próprio produto. ¡ ¡ Medir Processo - esforço para melhoria Medir Produto - esforço para aumentar qualidade. 18

Medida n Medida é uma função de mapeamento Super-homem 2. 10 m Papai Noel

Medida n Medida é uma função de mapeamento Super-homem 2. 10 m Papai Noel 1. 65 m Mamãe Noel 1. 50 m Atributos do mundo real (domínio) Um símbolo em um conjunto com relações matématicas conhecidas 19

Medição n n n É a atribuição de uma medida (através de um símbolo)

Medição n n n É a atribuição de uma medida (através de um símbolo) a um atributo do mundo real Propósito: manipular símbolos na faixa => determinar conclusões sobre os atributos do domínio Precisão ¡ Para ser preciso, a definição da medida deve especificar n n n Domínio: Será medido a largura ou altura das pessoas? Faixa: A medida da altura foi feita em m ou cm? Regras de mapeamento: Será permitido medir altura considerando pessoas calçadas? 20

Condição Representacional n Para ser válida, uma medida deve satisfazer uma condição representacional ¡

Condição Representacional n Para ser válida, uma medida deve satisfazer uma condição representacional ¡ Relação empírica (domínio) Relação matemática (na faixa) Super-homem Papai Noel Mamãe Noel 2. 10 m 1. 65 m 1. 50 m 21

Escala n n Os símbolos na faixa de uma medida mais as manipulações permitidas

Escala n n Os símbolos na faixa de uma medida mais as manipulações permitidas Ex. de manipulações: ¡ Mapeamento: transformar símbolos em um conjunto em outros símbolos em outro conjunto. n {verdadeiro, falso} {1, 0} 22

Tipos de Escala Nome Características Exemplos Nominal N símbolos Não ordenados {verdadeiro, falso} Ordinal

Tipos de Escala Nome Características Exemplos Nominal N símbolos Não ordenados {verdadeiro, falso} Ordinal N símbolos Ordenados {simples, médio, complexo} Intervalar Diferença em qq par consecutivo Celsius e Fahrenheit de valores é preservada Ratio (razão) Diferença em qq par consecutivo Kelvin, tamanho, largura de valores é preservada. Possui 0 absoluto. 23

O Paradigma Goal Question Metric (GQM) n n Usado para definir o conjunto de

O Paradigma Goal Question Metric (GQM) n n Usado para definir o conjunto de métricas a ser coletado Proposto por: ¡ n Basili and Rombach’s, Goal-Question-Metrics Paradigm, IEEE Transactions on Software Engineering, 1988. Baseia-se no fato de que deve existir uma necessidade clara associada a cada métrica 24

O Paradigma Goal Question Metric (GQM) n n Inicia-se com a identificação dos interessados

O Paradigma Goal Question Metric (GQM) n n Inicia-se com a identificação dos interessados na medição. Com base nos interessados, estabelecem-se os principais objetivos da medição para a organização, o projeto ou uma tarefa específica. Ex: reduzir defeitos, aumentar produtividade, etc. A partir dos objetivos, geram-se perguntas cujas respostas dirão se os objetivos foram ou não alcançados (ex: Qual a taxa de defeito atual? Qual a taxa de defeito após a implantação do novo processo? ) A partir das perguntas, definem-se métricas: que dados serão necessários? Quais os formatos? Como coletar (fórmula e processo)? Onde armazenar e como utilizar? 25

Exemplo do uso do GQM n n Objetivo: Assegurar que todos os defeitos são

Exemplo do uso do GQM n n Objetivo: Assegurar que todos os defeitos são corrigidos antes do software ser liberado para uso. Perguntas: ¡ ¡ ¡ n Quantos defeitos temos atualmente? Qual o status de cada defeito? Qual a cobertura dos testes? Métricas: ¡ ¡ Número de defeitos por status Número de casos de testes planejados x executados Número de requisitos testados 26

Implantação de um Processo de Medição n Um processo de medição deve: ¡ ¡

Implantação de um Processo de Medição n Um processo de medição deve: ¡ ¡ Fornecer uma base para melhoria contínua do processo Quantificar a qualidade e produtividade Estar integrado com o ciclo de vida Medir o impacto de vários métodos, ferramentas, e técnicas de melhorias 27

Princípios de um Processo de Medição n n n Medições devem ser usadas para

Princípios de um Processo de Medição n n n Medições devem ser usadas para medir processos, não pessoas O processo de medição deve ter objetivos claros e bem-definidos O processo de medição deve ser fortemente acoplado com o processo de gerência da qualidade e integrado dentro de planos e orçamentos 28

Princípios de um Processo de Medição n n O processo de coleta de dados

Princípios de um Processo de Medição n n O processo de coleta de dados deve ser simples, e ferramentas automáticas para extração de dados devem ser usadas O processo de medição é contínuo e sujeito a melhoria 29

O processo de medição n É um processo cíclico que envolve: ¡ ¡ ¡

O processo de medição n É um processo cíclico que envolve: ¡ ¡ ¡ Planejar Medir Analisar os dados Tomar decisões baseadas na análise Implementar as decisões Voltar a planejar e medir 30

Plano de Métricas ¡ Para cada objetivo técnico o plano contém informação sobre: n

Plano de Métricas ¡ Para cada objetivo técnico o plano contém informação sobre: n n n POR QUE as métricas satisfazem o objetivo QUE métricas serão coletadas, como elas serão definidas, e como serão analisadas QUEM fará a coleta, quem fará a análise, e quem verá os resultados COMO será feito: que ferramentas, técnicas e práticas serão usadas para apoiar a coleta e análise das métricas QUANDO no processo e com que freqüência as métricas serão coletadas e analisadas ONDE os dados serão armazenados 31

Por que é tão difícil estimar? n É difícil conhecer se é possível desenvolver

Por que é tão difícil estimar? n É difícil conhecer se é possível desenvolver o produto desejado pelo cliente antes de conhecer os detalhes do projeto. 32

Por que é tão difícil estimar? n Desenvolvimento é um processo gradual de refinamento

Por que é tão difícil estimar? n Desenvolvimento é um processo gradual de refinamento ¡ ¡ Incerteza da natureza do produto contribui para a incerteza da estimativa Requisitos e escopo mudam Defeitos são encontrados e demandam retrabalho Produtividade varia 33

Processo de Estimativas 1. 2. 3. 4. Estimar o tamanho do produto Estimar o

Processo de Estimativas 1. 2. 3. 4. Estimar o tamanho do produto Estimar o esforço Estimar o schedule Fornecer estimativas dentro de uma faixa permitida e refinar essa faixa à medida que o projeto progride 34

Tipos de Estimativas n Tamanho ¡ ¡ n Quantidade de software a ser produzida

Tipos de Estimativas n Tamanho ¡ ¡ n Quantidade de software a ser produzida Ex. linhas de código, pontos de função, n. o de requisitos, pontos de casos de uso Esforço ¡ ¡ Derivado da estimativa de tamanho Ex. dividindo a estimativa de tamanho por produtividade produz-se o esforço 35

Tipos de Estimativas n Schedule ¡ n Geralmente são dirigidos a datas fornecidas pelo

Tipos de Estimativas n Schedule ¡ n Geralmente são dirigidos a datas fornecidas pelo Cliente Qualidade ¡ ¡ Medidas de resultados Ex. defeitos por fase, esforço de mudanças 36

ISBSG n International Software Benchmarking Standards Group ¡ ¡ Organização sem fins lucrativos Mantém

ISBSG n International Software Benchmarking Standards Group ¡ ¡ Organização sem fins lucrativos Mantém um banco de dados de métricas de projetos de software internacionais para auxiliar na melhoria gerência de recursos de TI 37

Referências n n n Chou, Tim. The Hidden Cost of Software. Maio 29, 2003.

Referências n n n Chou, Tim. The Hidden Cost of Software. Maio 29, 2003. Url: http: //itmanagement. earthweb. com/entdev/print. php/2214031. Negulescu, Radu. Software Engineering Practice – Software Metrics II. Mc. Gill University, 2002. Métricas de Software. Url: http: //www. internext. com. br/mssa/medidas. html Haufe, Maria Isabel. Produtividade no Desenvolvimento de Software. Url: http: //www. inf. ufgrs. br/pos/Semana. Academica/Semana 99/mar iaisabel/mariaisabel. html Métricas e Estimativas de Software – O início de um rally de regularidade. Url: http: //www. apinfo. com/artigo 44. htm Pressman, Roger. S. Engenharia de Software. Makron Books, 1995. 38