introdução a métricas de software tópicos avançados em engenharia de software iii danielle dias...

24
Introdução a Métricas de Software Tópicos Avançados em Engenharia de Software III Danielle Dias e Cristine Gusmão [email protected] / [email protected] UFPE-PE Julho/2003

Upload: miguel-cesar-meneses

Post on 07-Apr-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

Introdução a Métricas de Software

Tópicos Avançados em Engenharia de Software III

Danielle Dias e Cristine Gusmã[email protected] / [email protected]

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 ] 23/24

Discussões…

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.