Post on 24-Jan-2018
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
GpESGrupo de Pesquisa em Engenharia de Software
Métricas para o Processo e o Projeto de SWLecture 4
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
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
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
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
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
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
▪ 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
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
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
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
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
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
Integração das Métricas nasFases 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
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
Sucesso nas Métricas - Dicas
▪ Comece pequeno
▪ Explique o por que das medições
▪ Compartilhe dados
▪ Defina procedimentos
▪ Busque tendências no mercado
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
Seção Extra- Métricas de Software Orientadas a Objeto
▪ (Radjenovic et al., 2013), em uma revisão sistemática realizada, osautores identificaram que métricas orientadas a objetos foramusadas aproximadamente duas vezes mais (49%) que as métricastradicionais (27%) e métricas de processo (24%). Eles afirmam aindaque o conjunto de métricas CK (Chidamber e Kemerer) (Chidamberand Kemerer, 1994) é o mais popular entre as métricas orientadas aobjetos, por serem bem difundidas no meio acadêmico efrequentemente 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.