27
Romeu de Andrade Guimarães [email protected] 06/12/2008

Romeu de Andrade Guimarães [email protected] 06/12/2008

Embed Size (px)

Citation preview

Page 1: Romeu de Andrade Guimarães rag@cin.ufpe.br 06/12/2008

Romeu de Andrade Guimarã[email protected]

06/12/2008

Page 2: Romeu de Andrade Guimarães rag@cin.ufpe.br 06/12/2008

Motivação Medição

Definição Objetivos Tipos Processos Problemas

Coleta de Métricas Ferramentas para Automação da Coleta

Requisitos Ferramentas

Conclusões

Page 3: Romeu de Andrade Guimarães rag@cin.ufpe.br 06/12/2008

“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

Page 4: Romeu de Andrade Guimarães rag@cin.ufpe.br 06/12/2008

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;

Page 5: Romeu de Andrade Guimarães rag@cin.ufpe.br 06/12/2008

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?

Page 6: Romeu de Andrade Guimarães rag@cin.ufpe.br 06/12/2008
Page 7: Romeu de Andrade Guimarães rag@cin.ufpe.br 06/12/2008

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.

Page 8: Romeu de Andrade Guimarães rag@cin.ufpe.br 06/12/2008

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.

Page 9: Romeu de Andrade Guimarães rag@cin.ufpe.br 06/12/2008

Objetivos Entender

Para caracterizar processos, produtos, recursos e ambientes.

Avaliar Para determinar a

situação em relação ao planejado.

Prever Para ter um

planejamento mais realista.

Controlar A partir da identificação

de problemas através de informações quantitativas.

Page 10: Romeu de Andrade Guimarães rag@cin.ufpe.br 06/12/2008

Tipos O que é medido?

Produto Processo

Qual o intuito da medição? Controlar Prever

Page 11: Romeu de Andrade Guimarães rag@cin.ufpe.br 06/12/2008

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 ...

Page 12: Romeu de Andrade Guimarães rag@cin.ufpe.br 06/12/2008

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 saber o que medir? Uso de GQM (goal-question-metric) Associa questões técnicas aos objetivos /metas

da organização

Page 13: Romeu de Andrade Guimarães rag@cin.ufpe.br 06/12/2008

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...)

Page 14: Romeu de Andrade Guimarães rag@cin.ufpe.br 06/12/2008

PSM

Page 15: Romeu de Andrade Guimarães rag@cin.ufpe.br 06/12/2008

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

Page 16: Romeu de Andrade Guimarães rag@cin.ufpe.br 06/12/2008
Page 17: Romeu de Andrade Guimarães rag@cin.ufpe.br 06/12/2008

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.

Page 18: Romeu de Andrade Guimarães rag@cin.ufpe.br 06/12/2008

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.

Page 19: Romeu de Andrade Guimarães rag@cin.ufpe.br 06/12/2008
Page 20: Romeu de Andrade Guimarães rag@cin.ufpe.br 06/12/2008

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

Page 21: Romeu de Andrade Guimarães rag@cin.ufpe.br 06/12/2008

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 ...

Page 22: Romeu de Andrade Guimarães rag@cin.ufpe.br 06/12/2008

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).

Page 23: Romeu de Andrade Guimarães rag@cin.ufpe.br 06/12/2008
Page 24: Romeu de Andrade Guimarães rag@cin.ufpe.br 06/12/2008

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;

Page 25: Romeu de Andrade Guimarães rag@cin.ufpe.br 06/12/2008

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.

Page 26: Romeu de Andrade Guimarães rag@cin.ufpe.br 06/12/2008

[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/non-invasive_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

Page 27: Romeu de Andrade Guimarães rag@cin.ufpe.br 06/12/2008

Romeu de Andrade Guimarã[email protected]

06/12/2008