Post on 07-Apr-2016
Introdução a Métricas de Software
Tópicos Avançados em Engenharia de Software III
Danielle Dias e Cristine Gusmãodrds@cin.ufpe.br / cmgg@cin.ufpe.br
UFPE-PE
Julho/2003
Julho/2003 [ TAES3 - Processos de Software ] 2/24
Motivação
“Não se pode gerenciar o que não se pode medir”. Tom De Marco
“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
Julho/2003 [ TAES3 - Processos de Software ] 3/24
Conteúdo
Conceitos Básicos Introdução e conceitos relacionados
Categorização de Métricas de Software
Processos de Medição
Julho/2003 [ TAES3 - Processos de Software ] 4/24
MétricasConceitos Básicos
Servem para definir precisamente uma característica de forma numérica (quantitativa).
Existem dois tipos de métricas:
Direta: por comparação com sistema métrico conhecido.
• o tempo de execução de um software;
•número de linhas;
•tamanho da memória.
Indireta:subjetivas e relativas a aspectos qualitativos.
•a segurança de acesso a um sistema de software,
•funcionalidade,
•complexidade..
Julho/2003 [ TAES3 - Processos de Software ] 5/24
MétricasConceitos Básicos
Conceitos relacionados: Medida:
indicação quantitativa de algum atributo de um produto ou processo.
Medição: ato de determinar um medida.
O uso de métricas no processo de software provê indicações de estratégias para melhorias e adaptações no fluxo de trabalho e nas atividades.
Julho/2003 [ TAES3 - Processos de Software ] 6/24
Medida e Medição
Na maioria dos empreendimentos técnicos, as medições e as métricas 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 de melhoria Medir Produto - esforço para aumentar
qualidade.
Julho/2003 [ TAES3 - Processos de Software ] 7/24
Por que medir software?
Indicar a qualidade do produto Avaliar a produtividade do processo Formar um baseline para estimativas Ajudar a justificar as solicitações de
novas ferramentas ou treinamentos
Julho/2003 [ TAES3 - Processos de Software ] 8/24
Por que medir software?
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
Julho/2003 [ TAES3 - Processos de Software ] 9/24
Baseline de Dados Históricos
Atributos: Ajudam a reduzir o risco das estimativas Devem ser precisos ou próximos de um valor
real Coletados do maior número de projetos
possível As medidas devem ser interpretadas da
mesma maneira durante todo o projeto As aplicações devem ser similares às do
trabalho que se quer estudar
Julho/2003 [ TAES3 - Processos de Software ] 10/24
Coleta, Computação e Avaliação das Métricas
Profissionais
Gerentes
Software
Processo de Engenharia de
Software
Computação das Métricas
Avaliação dos Dados
Coleta de Dados
BASELINE - DADOS HISTÓRICOS
Julho/2003 [ TAES3 - Processos de Software ] 11/24
Conteúdo
Conceitos Básicos Introdução e conceitos relacionados
Categorização de Métricas de Software
Processos de Medição
Julho/2003 [ TAES3 - Processos de Software ] 12/24
Categorização de Métricas de Software
Métricas de Processos Maturidade Gerenciamento (projeto, qualidade,
configuração) Ciclo de vida
Exemplos: Experiência da equipe, produtividade, tamanho
das mudanças, n.o de revisões, tamanho dos elementos de controle, n.o de milestones, releases realizados, reusabilidade
Julho/2003 [ TAES3 - Processos de Software ] 13/24
Categorização de Métricas de Software
Métricas de Produtos Tamanho Arquitetura Estrutura Qualidade Complexidade
Exemplos: Linhas de código, n.o de paginas, custo, tempo, n.o de
módulos, inteporabilidade, segurança, complexidade algorítmica, complexidade lógica
Julho/2003 [ TAES3 - Processos de Software ] 14/24
Categorização de Métricas de Software
Métricas de Recursos Pessoas Software Hardware
Exemplos: Ambiente de desenvolvimento, produtividade da
linguagem de programação, experiência no modelo de desenvolvimento, experiência em gerenciamento, qualidade vs. produtividade
Julho/2003 [ TAES3 - Processos de Software ] 15/24
Conteúdo
Conceitos Básicos Introdução e conceitos relacionados
Categorização de Métricas de Software
Processos de Medição
Julho/2003 [ TAES3 - Processos de Software ] 16/24
Processos de Medição Consiste nos seguintes passos:
1. Estabelecer objetivos2. Definir as métricas para conquistá-los3. Identificar os dados que serão
colecionados4. Definir os procedimentos de coleta5. Analisar os dados6. Definir o mecanismo de feedback7. Refinar processo
Julho/2003 [ TAES3 - Processos de Software ] 17/24
Processos de Medição
1. Objetivo: otimizar a remoção
e detecção de defeitos
2. Definir as métricas para conquistá-los
3. Identificar os dados que serão colecionados
Métrica Dadosman-hs / atividade
N.o man-hs / atividade
Defeitos em revisões/teste
N.o de defeitos
Esforço de reparar defeitos em revisões/teste
N.o de man-hs consumidos
Julho/2003 [ TAES3 - Processos de Software ] 18/24
Processos de Medição4. Definir os procedimentos de coleta
Esforço: timetrack Defeitos: resultados de testes, resultados das
revisões
5. Analisar os dados Defeitos encontrados durante as revisões são menos
custosos de corrigir
6. Definir o mecanismo de feedback Reunião interna
7. Refinar processo
Julho/2003 [ TAES3 - Processos de Software ] 19/24
Implantação de um Processo de Medição
Um processo de medição deve: Fornecer uma base para melhoria
continua 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
Julho/2003 [ TAES3 - Processos de Software ] 20/24
Princípios de um Processo de Medição 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
O processo de coleta de dados deve ser simples, e ferramentas automáticas para extração de dados devem ser usadas
Julho/2003 [ TAES3 - Processos de Software ] 21/24
Princípios de um Processo de Medição O processo de medição é contínuo e sujeito a
melhorias As medições devem ser repetíveis e
independentes do observador Os resultados devem ser compartilhados com
todos
Julho/2003 [ TAES3 - Processos de Software ] 22/24
ISBSG
International Software Benchmarking Standard Group
Organizacao sem fins lucrativos Mantem um banco de dados de metricas
de projetos de software internacionais para auxiliar na melhoria da gerencia de recursos de TI
Julho/2003 [ TAES3 - Processos de Software ] 24/24
Referências
Chou, Tim. The Hidden Cost of Software. May 29, 2003. Url: http://itmanagement.earthweb.com/entdev/print.php/2214031.
Negulescu, Radu. Software Engineering Practice – Software Metrics II. McGill 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/SemanaAcademica/Semana99/mariaisabel/mariaisabel.html
Métricas e Estimativas de Software – O início de um rally de regularidade. Url: http://www.apinfo.com/artigo44.htm
Pressman, Roger. S. Engenharia de Software. Makron Books, 1995. ISBSG site. Url: http://www.isbsg.org.au/academic/index.asp.