O documento apresenta uma introdução às métricas de software, definindo o que são medidas, métricas e indicadores. Explica que métricas permitem avaliar a qualidade e produtividade do processo e projeto de software, identificando áreas para melhoria. Apresenta exemplos de métricas para processo, projeto e produto, e dicas para o sucesso na aplicação de métricas.
Lecture 4 :: As métricas para o Processo e Projeto de SW
1. Prof. Doutor
Rogério Patrício Chagas do Nascimento
Professor Associado do
Departamento de Computação (DCOMP)/UFS
Assessor do Reitor para Cidades Inteligentes,
Diretor Científico da EATIS.org
rogerio@ufs.br
GpES
Grupo de Pesquisa em Engenharia de Software
Métricas para o Processo e o Projeto
de SW
Lecture 4
2. 2
Sumário
▪ Introdução
– O quê é?
– Quem faz?
– Porquê é importante?
– Qual é o produto?
– Como saber se está bem feita?
▪ Medidas, métricas e indicadores
3. 3
Introdução (I)
▪ O quê é?
– Medidas quantitativas que permitem ter uma visão aprofundada da eficácia do
processo e dos projetos.
– Reúnem-se e analisam-se dados básicos de qualidade e produtividade que
permitem detectar melhorias e áreas problema
▪ quando comparados com dados anteriores
▪ Quem faz?
– Os Engenheiros de SW (Analistas,Arquitetos..) reúnem as medidas
– Os Gestores administrativos analisam os dados
4. 4
Introdução (II)
▪ Porquê é importante?
– Se não medirmos, só poderemos avaliar com subjetividade
– Não se pode melhorar o que não é medido
▪ Qual o produto?
– Conjunto de métricas de software e plano de medição
▪ que proporcionam uma visão do Processo e do Projeto de SW
▪ Como fazer bem?
– Com um plano de medição e métricas simples, porém consistentes
5. 5
Medida, Medição e Métrica
- no Contexto da Engenharia de SW
Definição Exemplo
Medida Valor quantitativo da extensão,
quantidade, dimensões, capacidade ou
tamanho de algum atributo do
processo ou produto de software
nº de erros detectados na revisão de
um módulo de sw, quantidade de
classes-chave
Medição Ato de determinar uma medida investigação de um nº de revisões
de módulos para recompilar medidas
do nº de erros encontrados em cada
revisão
Métrica Medida quantitativa do grau de posse
de um atributo dado por parte de um
sistema, componente ou processo
Média de erros detectados por
revisão ou nº de erros encontrados
por pessoa e hora em revisões
6. 6
Indicadores
▪ Um indicador é uma métrica ou conjunto de métricas que
proporcionam uma visão aprofundada
– do processo
– do projeto
– ou do produto de software
▪ Um indicador permite ajustar o produto, o projeto ou o processo para
melhorar as coisas
7. 7
Indicadores:
Processo e Projeto de SW
▪ Os indicadores de processo permitem avaliar
– o modelo de processo
– as tarefas
– e produtos de trabalho (tabelas, diagramas, documentos..)
▪ São recolhidos a partir de todos os projetos durante algum tempo
▪ Os indicadores de projeto permitem:
– Avaliar o estado do projeto
– Monitorizar riscos potenciais
– Detectar áreas problemas
– Ajustar o fluxo e tarefas
– Avaliar o controle de qualidade da equipe de trabalho
▪ Muitas vezes, as mesmas métricas de software servem para
ambos indicadores
9. 9
▪ A eficácia do processo é determinada a partir de medidas como:
– Nº erros detectados antes da entrega
– Defeitos informados aos utilizadores
– Produtos de trabalho entregues
– Quantidade de esforço humano e tempo consumido
▪ Métricas privadas
– Dados individuais
▪ índices de defeitos
▪ defeitos x módulo
▪ erros detectados durante o desenvolvimento
▪ Métricas públicas
– Dados públicos
▪ defeitos x função (ou Classe)
▪ erros encontrados em revisões formais e linhas de código
▪ pontos de função x módulo
Métricas do Processo de SW
10. 10
Métricas do Projeto de SW
▪ As métricas do processo são estratégias, as do projeto,
táticas
▪ Com o avanço do projeto, as medidas de tempo e esforço
são comparadas com as estimativas para fazer ajustes
▪ Do trabalho técnico surgem outras medidas como:
– índices de produção
– e erros
▪ As métricas do projeto servem para:
– Planejar o desenvolvimento
– Avaliar a qualidade dos produtos
11. 11
Medições do Produto
▪ Diretas (+ fáceis de medir)
– Linhas de código, velocidade execução, tamanho em memória, defeitos
reportados, quantidade de classes
▪ Indiretas (+ difíceis de medir)
– Funcionalidade
– Qualidade
– Complexidade
– Eficiência
– Confiabilidade
– Facilidade de uso
– Flexibilidade
12. 12
Métricas de Software Orientadas ao
Tamanho
Um exemplo do que vocês NÃO irão usar!
Pois não é OO…
13. 13
Métricas de Software Orientadas ao
Tamanho
▪ Erros por KLDC (milhares de linhas de código)
▪ Defeitos por KLDC
▪ Custo por KLDC
▪ Páginas de documentação por KLDC
▪ LDC por pessoa-mês
▪ Custo por página de documentação
projeto LDC Esforço Custo Pag. Doc Erros Defeitos
Alfa 12100 24 168 365 134 29
Beta 27200 62 440 1224 321 86
Gamma 20200 43 314 1050 256 64
... ... ... ... ... ... ...
14. 14
Métricas de Software Orientadas à
Função
Um exemplo do que vocês NÃO irão usar!
Pois não é utilizada para OO…
15. 15
Métricas de Software Orientadas à
Função
Ponto de Função Soma Simples Médio Complexo Total
Nº Entradas utilizador 3 4 6
Nº Saídas utilizador 4 5 7
Nº consultas 3 4 6
Nº ficheiros 7 10 15
Nº interfaces 5 7 10
Total Geral
PF = total x [0,65 + 0,01 x 6(Fi)]
Fi =Valores de ajuste (0-5): necessidade de cópias de segurança,
necessidade de comunicação de dados, importância do performance,
complexidade do processamento interno, necessidade de suportar várias
instalações
16. 16
Integração das Métricas nas
Fases de Engenharia de SW
processo
projeto
produto
Recolha
de dados
Cálculo
De métricas
Avaliação
De métricas
medidas
métricas
indicadores
Tarefas para serem adicionadas ao Plano de Projeto utilizado...
17. 17
Métrica para Organizações Pequenas
- Exemplo
▪ Objetivo
– “redução do tempo na avaliação e implementação nas solicitações de
mudanças”
▪ Métricas:
– Tempo para completar o pedido
– Esforço (horas-pessoa) para a avaliação
– Tempo entre a avaliação e a atribuição da ordem de câmbio ao pessoal
– Esforço (horas-pessoa) para a realização do câmbio
– Erros descobertos durante o trabalho
– Defeitos descobertos depois da entrega
18. 18
Sucesso nas Métricas
- Dicas
▪ Comece pequeno
▪ Explique o por que das medições
▪ Compartilhe dados
▪ Defina procedimentos
▪ Busque tendências no mercado
19. 19
O que NÃO deve acontecer!
1. Falta de compromisso da gestão;
2. Medir muito, muito cedo;
3. Medir pouco, muito tarde;
4. Medir os elementos errados;
5. Definições de métricas imprecisas;
6. Coletar dados que não serão usados;
7. Falta de comunicação e treinamento sobre as métricas adoptadas; e
8. Interpretar os resultados erroneamente.
NUNCA utilizem os resultados para
Avaliar, Punir ou Premiar o rendimento individual!
20. 20
Seção Extra
- Métricas de Software Orientadas a Objeto
▪ (Radjenovic et al., 2013), em uma revisão sistemática realizada, os
autores identificaram que métricas orientadas a objetos foram
usadas aproximadamente duas vezes mais (49%) que as métricas
tradicionais (27%) e métricas de processo (24%). Eles afirmam ainda
que o conjunto de métricas CK (Chidamber e Kemerer) (Chidamber
and Kemerer, 1994) é o mais popular entre as métricas orientadas a
objetos, por serem bem difundidas no meio acadêmico e
frequentemente utilizadas em estudos.
Métrica CK é uma métrica que mede a complexidade do projeto em
relação ao seu impacto sobre atributos de qualidade como usabilidade,
facilidade de manutenção, funcionalidade e confiabilidade.
21. Bons caminhos!
Obrigado pela atenção!Thanks for listening! Merci pour votre attention!
rogerio@dcomp.ufs.br
@Patricium