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
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
8
▪ Domínios
– Processo
– Projeto
– Produto
Métricas de Software
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
12
Métricas de Software Orientadas ao
Tamanho
Um exemplo do que vocês NÃO irão usar!
Pois não é OO…
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 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
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, 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.
Bons caminhos!
Obrigado pela atenção!Thanks for listening! Merci pour votre attention!
rogerio@dcomp.ufs.br
@Patricium

Lecture 4 :: As métricas para o Processo e Projeto de SW

  • 1.
    Prof. Doutor Rogério PatrícioChagas 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 – Oquê é? – Quem faz? – Porquê é importante? – Qual é o produto? – Como saber se está bem feita? ▪ Medidas, métricas e indicadores
  • 3.
    3 Introdução (I) ▪ Oquê é? – 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 eMé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 Projetode 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
  • 8.
    8 ▪ Domínios – Processo –Projeto – Produto Métricas de Software
  • 9.
    9 ▪ A eficáciado 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 Projetode 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 SoftwareOrientadas ao Tamanho Um exemplo do que vocês NÃO irão usar! Pois não é OO…
  • 13.
    13 Métricas de SoftwareOrientadas 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 SoftwareOrientadas à Função Um exemplo do que vocês NÃO irão usar! Pois não é utilizada para OO…
  • 15.
    15 Métricas de SoftwareOrientadas à 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étricasnas 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çõesPequenas - 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ÃOdeve 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étricasde 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 pelaatenção!Thanks for listening! Merci pour votre attention! rogerio@dcomp.ufs.br @Patricium