Romeu de Andrade Guimarães
[email protected]
SOFTWARES PARA COLETA AUTOMÁTICA
DE MÉTRICAS
06/12/2008
AGENDA
Motivação
 Medição

Definição
 Objetivos
 Tipos
 Processos
 Problemas

Coleta de Métricas
 Ferramentas para Automação da Coleta

Requisitos
 Ferramentas


Conclusões
“Mede o que é mensurável e torna mensurável o que não o é.”
Galileu Galilei
“Não se consegue controlar o que não se consegue medir.”
Tom DeMarco
MOTIVAÇÃO
MOTIVAÇÃO

As aplicações dos dias de hoje:
 Cada
vez mais complexas;
 Cada vez maiores;
 Necessidade de manutenção;
 Tudo isso em menos tempo.

As Métricas entram em cena para:
 Obter
informações sobre o produto e o processo;
 Objetivo de verificar e prever comportamentos;
MOTIVAÇÃO

Além disso
Cada vez mais métricas são criadas;
 Custos associados à coleta;


Automação da Coleta
Coletas mais simples já podem ser feitas
automaticamente e mais freqüentemente;
 Visa diminuir os custos relativos ao processo de
medição.


CMMI

Motivação real para o início de adoção de métricas?
MEDIÇÃO
MEDIÇÃO

Medidas
 Indicação
quantitativa de tamanho, extensão,
dimensão.

Métricas
 Ato

de determinar uma medida.
Indicadores
 Métrica
ou combinação de métricas que permitem
a visualização de uma característica existente no
produto, processo, ou projeto de software.
MEDIÇÃO

Definições

Segundo Sommerville:
É
possível tirar conclusões sobre a qualidade do software ou
dos processos de software de acordo com a comparação dos
valores obtidos pelas métricas.

Segundo Pressman:
A
medição é elemento chave de qualquer processo de
engenharia. Usamos medidas para entender melhor os
atributos dos modelos que criamos e para avaliar a qualidade
dos produtos ou sistemas elaborados por esta engenharia.

Segundo Fenton:
 Medição
é o processo pelo qual números ou símbolos são
associados aos atributos do mundo real de modo que os
determinem de acordo com regras claramente definidas.
MEDIÇÃO

Objetivos

Entender


Avaliar


Para determinar a situação
em relação ao planejado.
Prever


Entender
Para caracterizar
processos, produtos,
recursos e ambientes.
Para ter um planejamento
mais realista.
Controlar
Produtos,
Processos
e Serviços
Controlar

A partir da identificação de
problemas através de
informações quantitativas.
Prever
Avaliar
MEDIÇÃO

Tipos
O
que é medido?
 Produto
 Processo
 Qual
o intuito da medição?
 Controlar
 Prever
MEDIÇÃO

Algumas Métricas de Produto
Fan-in/Fan-out (também OO)
 Tamanho do código fonte
 Complexidade ciclomática
 Extensão dos identificadores
 Profundidade de declarações condicionais aninhadas
 OO – Profundidade da árvore de herança
 OO – Número de operações sobrepostas
 ...

MEDIÇÃO

Métricas de Processo
 Classes:
 Tempo
gasto para conclusão do processo
 Recursos necessários para um dado processo
 Número de ocorrências de um evento
 Como
 Uso
saber o que medir?
de GQM (goal-question-metric)
 Associa questões técnicas aos objetivos /metas da
organização
MEDIÇÃO

Processos
 Normalmente
fazem parte do processo de controle
de qualidade de software;
 Processo básico:
A
seguir será apresentado o PSM
 Existem vários outros modelos (CMMI-SW, IEEE Std
1061, SixSigma, ISSO/IEC 15939...)
MEDIÇÃO
 PSM
MEDIÇÃO

Problemas comuns
Falta de apoio da gerência sênior
 Medir Muito/Medir Cedo
 Medir Pouco/Medir Tarde
 Medir as coisas erradas
 Definição imprecisa das métricas
 Uso de métricas para avaliar os indivíduos
 Uso de métricas para motivar, ao invés de entender
 Coleta de dados que não serão usados
 Falta de comunicação e treinamento
 Má interpretação dos dados das Métricas

COLETA
COLETA
A princípio métricas do Produto tendem a ser
mais fáceis de coletar por serem mais fáceis
de tornar automáticas.
 Por outro lado, a coleta de métricas do
Processo são mais dispendiosas e
normalmente interferem no dia-a-dia dos
engenheiros de software.

COLETA
Outro grande problema é garantir a
consistência dos dados coletados devido a
grande intervenção humana
 Com isso surge a necessidade de criar
mecanismos para coleta de métricas com o
mínimo de intervenção possível.

FERRAMENTAS
FERRAMENTAS

Porque usá-las?
 Coleta
de dados precisa e eficiente
 Suporte em tempo real para decisões
 Segurança dos dados e privacidade
 Relatórios funcionais
FERRAMENTAS

Requisitos
Prover um mecanismo de persistência das métricas
coletadas
 Prover acesso aos indicadores existentes
 Prover a criação de novos indicadores a partir dos préexistentes
 Prover integração entre as mais variadas ferramentas
 Prover mecanismos de coleta configuráveis
 Prover a geração de relatórios a partir dos dados
coletados
 ...

FERRAMENTAS

Poucas disponíveis

Não existe uma ferramenta OpenSource que
disponibilize as funcionalidades citadas

Algumas ferramentas citadas em artigos e
pesquisas não são de fácil acesso (dificuldade
de encontrá-las para realizar testes).
CONCLUSÕES
CONCLUSÕES
Poucas empresas no Brasil utilizam processos
de medição bem definidos;
 As Métricas representam uma ferramenta
importantíssima para facilitar a gestão de
projetos e garantir qualidade;
 As ferramentas de coleta de métricas
automáticas têm papel fundamental para
viabilizar a implantação de processos de
medição efetivos;

CONCLUSÕES
As ferramentas de coleta precisam funcionar
de forma mais transparente possível e com a
menor quantidade de interação;
 É primordial que a ferramenta dê suporte ao
maior número possível de ferramentas CASE de
forma a facilitar a integração e coleta de
informações;
 Necessário tornar essas ferramentas
acessíveis.

REFERÊNCIAS
[1] Abran, A., Moore, J. (2004) “Guide to the Software Engineering Body of Knowledge”. Disponível em
http://www.swebok.org/pdfformat.html
[2] Aguiar, M. “PSM – O CMM da Mensuração de Software”. Disponível em
http://www.metricas.com.br/downloads/PSM_CMM_Mensuracao_Software.pdf
[3] Feitosa, C. (2004) “Definição de um Processo de Medição e Análise com base nos Requisitos do CMMI”
[4] Johnson, P. et. al. “Practical automated process and product metric collection and analysis in a
classroom setting: Lessons learned from Hackystat-UH”. Disponível em
http://www.ics.hawaii.edu/research/tech-reports/ICS2004-08-02.pdf
[5] Oliveira, J., et. al. (2006) “Measurement Process: A Mapping Among CMMI-SW, ISO/IEC 15939, IEEE Std
1061, Six Sigma and PSM”. Disponível em
http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=4114537&isnumber=4114391
[6] Park, R., et. al.(1996) “Goal-Driven Software Measurement – A Guidebook”. Disponível em
http://www.sei.cmu.edu/pub/documents/96.reports/pdf/hb002.96.pdf
[7] Pressman, R. (2006) “Engenharia de Software” 6.ed. São Paulo: McGraw-Hill.
[8] Ronkainen, J., et. al.“Automating SCM Metric Data Collection and Analysis in Virtual Software
Corporations”. Disponível em http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=00794792
[9] Sillitti, A., et. al.(2004) “Deploying, Updating, and Managing Tools for Collecting Software Metrics”.
Disponível em http://www.agile-itea.org/public/papers/sillitti-russo-zuliani-succi.pdf
[10] Scotto, M. et. al. (2004) “Non-invasive product metrics collection: an Architecture”. Disponível em
http://www.unibz.it/web4archiv/objects/pdf/cs_library/noninvasive_product_metrics_collection__an_architecture.pdf
[11] Sommerville, I. (2005) “Engenharia de Software”. 6.ed. São Paulo: Pearson Addison Wesley.
[12] Statz, J. (2005) “Measurement for Process Improvement”. Disponível em
http://www.psmsc.com/Downloads/TechnologyPapers/PI_Measurement_v1.0.pdf
Romeu de Andrade Guimarães
[email protected]
SOFTWARES PARA COLETA AUTOMÁTICA
DE MÉTRICAS
06/12/2008
Download

Softwares_para_coleta_automatica_de_metricas