Introduo a Mtricas de Software Danielle Dias e
- Slides: 38
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 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 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 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 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 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 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 ¡ 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 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 medidas Ex. : complexidade, manutenibilidade, confiabilidade 10
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 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 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 (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 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
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 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 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) 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 ¡ 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 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 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 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 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 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: ¡ ¡ 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 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 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: ¡ ¡ ¡ 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 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 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 ¡ ¡ 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 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 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 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 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. 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
- Hay dias llenos de viento hay dias llenos de furia
- Vvela
- "danielle panto"
- Danielle leek
- Danielle denisty
- Monique veerkamp
- Danielle boyd
- Roshana wickremaratchi
- Danielle quilan
- Danielles law
- Danielle's law violation
- Danielle bronk
- Danielle cell
- Danielle schembri
- Danielle's law
- Danielle bartholomew
- Danielle darden
- Danielle esteban
- Math 163 ccbc
- Danielle vandevelde
- Danielle vickers
- Oxana malaya language acquisition
- Danielle amiot
- Danielle batchelder
- Garrick alex
- Danielle rylee
- Danielle freedman
- Danielle gooch
- Danielle berube
- Nkctc
- Danielle briot
- Florida doci
- Danielle lilley
- Danielle coutts
- Danielle massari
- Danielle blondel
- Danielle dean microsoft
- Danielle winder
- Prince charming partner