universidade do vale do rio dos sinos métricas de software gabriela elisa da cunha

57
Universidade do Vale do Rio Universidade do Vale do Rio dos Sinos dos Sinos Métricas de Software Métricas de Software Gabriela Elisa da Cunha

Upload: internet

Post on 17-Apr-2015

104 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

Universidade do Vale do Rio dos SinosUniversidade do Vale do Rio dos Sinos

Métricas de SoftwareMétricas de Software

Gabriela Elisa da Cunha

Page 2: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

2

Apresentação da InstrutoraApresentação da Instrutora

Mestranda em Administração

Bacharel em Informática - Análise de Sistemas

Consultora do ESICenter Unisinos

Experiência em Gerência de Projetos

Avaliadora de Qualidade de Produtos de Software credenciada pelo ITI - Campinas (SP), para uso do MEDE-PROS

Áreas de interesse: Medição de Processo de Sw, Garantia da Qualidade, Reutilização de Componentes de Sw, Metodologias de Desenvolvimento de Sistemas.

Page 3: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

3

“Se você não sabe onde está,

um mapa não poderá lhe ajudar...”

Page 4: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

4

AgendaAgenda Qualidade

Importância, benefícios

Conceitos Medida, medição, métrica, escalas

Métricas na Engenharia de Software Esforço, Avaliação de Cronograma, Qualidade,

Desempenho, Confiabilidade, Complexidade

Exemplos de Métricas

Adoção de um Programa de Métricas

Métricas X CMM

Page 5: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

5

Qualidade é....Qualidade é....

... estar em conformidade com os requisitos dos clientes

... antecipar e satisfazer os desejos dos clientes

... escrever tudo o que se deve fazer e fazer tudo o que foi escrito

Page 6: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

6

Segundo a NBR ISO 8402Segundo a NBR ISO 8402

“Qualidade é a totalidade das características de uma entidade que lhe confere a capacidade de

satisfazer às necessidades explícitas e implícitas.”

Page 7: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

7

Preocupação com Qualidade de SwPreocupação com Qualidade de Sw

Aumento de Qualidade

Aumento de Produtividade

Satisfação do Cliente

Redução de Custos

Menos Retrabalho

Menor Índice Refugo Maior

Participação no Mercado

Page 8: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

8

Preocupação com Qualidade de SwPreocupação com Qualidade de Sw

Para um esforço de melhoria de qualidade de software em uma organização funcionar, toda a

organização deve estar comprometida.

Alta Administração

UsuáriosDesenvolvedore

s

Page 9: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

9

Medição da QualidadeMedição da Qualidade

Fornece insumos para a gerência orientar-se em relação à saúde do projeto.

Identifica necessidade de correções a médio curso em toda atividade de desenvolvimento de sw.

Crítico

Importante ÚtilEconômico

Medir Qualidade

Page 10: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

10

Vantagens da Medição de SwVantagens da Medição de Sw

Estabelecer objetivos realizáveis.

Demonstrar o potencial para alcançar estes objetivos.

Trilhar o progresso.

Ajustar os processos para corrigir situações fora da fronteira do sistemas.

Demonstrar o impacto desses ajustes nos objetivos firmados.

Page 11: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

11

Quantificar a confiabilidade e a performance do produto.

Isolar atributos de processo e produto que impactam em confiabilidade e desempenho.

Demonstrar como as mudanças de processo e de produto impactam nestes atributos.

Vantagens da Medição de SwVantagens da Medição de Sw

Page 12: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

12

AgendaAgenda Qualidade

Importância, benefícios

Conceitos Medida, medição, métrica, escalas

Métricas na Engenharia de Software Esforço, Avaliação de Cronograma, Qualidade,

Desempenho, Confiabilidade, Complexidade

Exemplos de Métricas

Adoção de um Programa de Métricas

Métricas X CMM

Page 13: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

13

MedidaMedida

É a quantidade, o montante, a extensão ou grau de algo em termos de uma unidade padrão ou uma quantidade fixa, normalmente através de um instrumento ou processo.

É um padrão ou unidade de medição.

É a determinação de um valor de uma métrica de um objeto particular.

Page 14: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

14

MediçãoMedição

É o ato ou processo de medir algo.

É uma associação de um valor numérico com um objeto ou uma ação. Interpreta-se o valor como alguma qualidade ou atributo possuído por aquele objeto ou ação.

Page 15: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

15

MétricaMétrica

É um padrão de medida.

A métrica é utilizada para julgar os atributos de algo que está sendo medido.

As métricas são linhas de conduta e não regras: dão uma indicação do progresso que um projeto tem e da qualidade do desenho.

Page 16: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

16

Importância das MétricasImportância das Métricas

Melhoria da qualidade do software Confiabilidade

Manutenibilidade

Extensibilidade

Usabilidade

Reusabilidade

Melhoria da gerência do projeto

Page 17: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

17

Medidas do Mundo RealMedidas do Mundo Real

Unidade Entidade Mensurada

Metros - Comprimento

Quilogramas - Massa

Segundo - Tempo

Ampères - Corrente Elétrica

Kelvin - Temperatura Termodinâmica

Page 18: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

18

Motivos para utilizar MediçãoMotivos para utilizar Medição

Para descrever o estado corrente do mundo

Para especificar requisições de forma quantitativa

Para rastrear o progresso e predizer resultados de um projeto de engenharia

Para analisar custo e benefício

Page 19: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

19

Medidas e EscalasMedidas e Escalas

Objetos, relações e operações do mundo real

Objetos, relações e operações numéricas

Resultados Relevantes para o

mundo real

Resultados

Numéricos

Medição

MatemáticaEstatística

Interpretação

Barreira da Inteligência

Page 20: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

20

Estrutura de uma MétricaEstrutura de uma Métrica

Nome

Significado

Resultados de Projetos

Fatores de Influência

Métricas Relacionadas

Limiar

Sugestão de Ação

Page 21: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

21

AgendaAgenda Qualidade

Importância, benefícios

Conceitos Medida, medição, métrica, escalas

Métricas na Engenharia de Software Esforço, Avaliação de Cronograma, Qualidade,

Desempenho, Confiabilidade, Complexidade

Exemplos de Métricas

Adoção de um Programa de Métricas

Métricas X CMM

Page 22: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

22

Métricas na Engª de SoftwareMétricas na Engª de Software

Propriedades diretamente mensuráveis: tamanho, esforços, avaliação de cronograma e qualidade.

Propriedades indiretamente mensuráveis: desempenho, confiabilidade , complexidade, manutenibilidade, usabilidade e portabilidade.

Page 23: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

23

Métricas de TamanhoMétricas de Tamanho

Medida mais óbvia e fundamental.

Falta de precisão.

Lines of Code (LOC) - contagem de linhas de código fonte.

Referência: KLOC.

Depende daquilo que se escolhe para contar.

Sugestão: checklist (o que deve ser contado e reportado).

Page 24: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

24

Métricas de EsforçoMétricas de Esforço

São pré-requisitos para medidas confiáveis de custo de sw.

Homens-mês, homens-semana, homens-dia.

Objetivo: auxiliar as organizações a melhorar o processo de desenvolvimento.

Sugestão: checklist (que tipo de esforço deve ser contado e reportado).

Page 25: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

25

Métricas de Avaliação de CronogramaMétricas de Avaliação de Cronograma

A atividade de agendamento de tarefas é de responsabilidade dos gerentes de projeto e não dos desenvolvedores.

Necessidade de definição: Datas (planejadas e executadas);

pontos críticos do projeto;

revisões/auditorias;

entregas/implantações.

Page 26: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

26

Métricas de QualidadeMétricas de Qualidade

A qualidade do processo é mais importante que a qualidade do produto.

Idéias fundamentais: Liberdade de erros;

adequação de uso.

Medidas básicas: Contagem de defeitos;

relatórios de ocorrência de problemas.

Page 27: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

27

Métricas de DesempenhoMétricas de Desempenho

Atributo muito importante.

Medidas básicas: Tempo de Resposta;

throughput.

Técnicas: Registro de Eventos;

monitoramento.

Sugere a idéia de experimentação.

Page 28: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

28

Métricas de ConfiabilidadeMétricas de Confiabilidade

Probabilidade do sw realizar suas tarefas sob determinadas condições em um período de tempo.

Extrema importância para o usuário.

Page 29: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

29

Métricas de ComplexidadeMétricas de Complexidade

Medidas a serem aplicadas desde o início do processo de desenvolvimento.

Sistema resultante deve ser economicamente manutenível.

Possibilidade de predizer os custos atuais em manutenção.

Tomada competente de decisões sobre quando e onde revisar o sistema.

Page 30: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

30

Vantagens de Medir ComplexidadeVantagens de Medir Complexidade

Identificar pontos de problemas, facilitando a reestruturação.

Definir e avaliar o fluxo dos dados.

Avaliar o poder de compreensibilidade, testabilidade e manutenibilidade.

Estimar custos de teste e de manutenção.

Comparar programas de mesma função.

Avaliar desempenho de programadores.

Page 31: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

31

Níveis de ComplexidadeNíveis de Complexidade

Tipo de equipamento, sistema operacional e linguagem de programação utilizados.

Forma de construção e geração dos programas.

Experiência dos profissionais envolvidos.

Tarefa Complexa e Subjetiva

Avaliação destas características

Page 32: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

32

AgendaAgenda Qualidade

Importância, benefícios

Conceitos Medida, medição, métrica, escalas

Métricas na Engenharia de Software Esforço, Avaliação de Cronograma, Qualidade,

Desempenho, Confiabilidade, Complexidade

Exemplos de Métricas

Adoção de um Programa de Métricas

Métricas X CMM

Page 33: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

33

Ex: Contagem de Linhas de CódigoEx: Contagem de Linhas de Código

Base: Programa Fonte.

Método: Conta-se o número de linhas de código do programa fonte.

Observações: Método mais simples e primitivo;

definir o que é uma linha de código:

apenas comandos executáveis;

comandos executáveis e comandos de declarações;

tudo isso e comentários.

Page 34: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

34

Ex: Contagem de Linhas de CódigoEx: Contagem de Linhas de Código

Observações: Uma linha física pode conter mais de uma linha de

código;

algumas linhas são mais difíceis de gerar que outras;

não há parâmetros para classificar os programas.

Page 35: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

35

Exemplo Métrica OO: Exemplo Métrica OO: Número de Mensagens EnviadasNúmero de Mensagens Enviadas

Significado: Número de msg enviadas por um método; as msg são separadas por tipo (unária, binária e

palavra-chave); a linguagem de programação pode influenciar os

resultados obtidos;

a organização deve codificar seus aplicativos mantendo sempre os aspectos fundamentais da OO.

Page 36: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

36

Valores de Referência: Um método não deve enviar mais do que 9 msg;

muitas msg indicam código orientado a função e/ou alocação pobre de responsabilidade.

Observações: Evitar em hábitos da programação procedimental, que é

orientada a funções;

desenvolver métodos que requeiram serviços de outros objetos;

desenvolver classes de pequeno tamanho.

Exemplo Métrica OO:Exemplo Métrica OO: Número de Mensagens EnviadasNúmero de Mensagens Enviadas

Page 37: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

37

Significado: Número de referências existentes para uma classe;

benefícios da OO: facilidade da reutilização. Toda funcionalidade do sistema é realizada através de requisições de serviços de outros objetos;

hierarquia de classes: uma grande distribuição de trabalho.

Exemplo Métrica OO:Exemplo Métrica OO: Número de vezes Número de vezes que a Classe é Reutilizadaque a Classe é Reutilizada

Page 38: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

38

Valores de Referência: Valor indicativo: relativo às classes existentes na

biblioteca de reutilização da organização. Observações:

Dedicação às classes submetidas à biblioteca; investimento em mais testes da classe, na

documentação e na diminuição do acoplamento; redesenho das classes após o início do projeto: a

utilização sugere novas requisições e/ou relacionamentos.

Exemplo Métrica OO:Exemplo Métrica OO: Número de vezes Número de vezes que a Classe é Reutilizadaque a Classe é Reutilizada

Page 39: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

39

AgendaAgenda Qualidade

Importância, benefícios

Conceitos Medida, medição, métrica, escalas

Métricas na Engenharia de Software Esforço, Avaliação de Cronograma, Qualidade,

Desempenho, Confiabilidade, Complexidade

Exemplos de Métricas

Adoção de um Programa de Métricas

Métricas X CMM

Page 40: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

40

Norma ISO/9000

Modelo CMM da SEI

Programa de Métricas - MotivaçãoPrograma de Métricas - Motivação

Capability Maturity Model

1987

Lançado

1988-1990

Difusão

1991-1992 1.11996-199? 2.0

Revisões

Page 41: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

41

Programa de Métricas - MotivaçãoPrograma de Métricas - Motivação

Indicadores consistentes maior domínio do projeto pelo gerente

melhor visibilidade da alta gerência

Melhoria da comunicação com o cliente

Comparação com práticas de mercado

Avaliação do impacto da adoção de novas tecnologias

Page 42: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

42

Programa de Métricas - AçãoPrograma de Métricas - Ação

1. Entender a estratégia do negócio.

2. Identificar objetivos, sub-estratégias, riscos e táticas do negócio que dependam do desenvolvimento, do uso e do suporte do software.

3. Determinar os fatores críticos de sucesso.

4. Definir objetivos específicos para o desenvolvimento do software, baseando-se nas três primeiras etapas.

Page 43: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

43

Programa de Métricas - AçãoPrograma de Métricas - Ação

5. Formular questionamentos.

6. Identificar e definir métricas.

7. Estabelecer o programa de qualidade: gerar procedimentos detalhados e definir relatórios.

8. Revisar regularmente o programa através da recapitulação dos sete passos anteriores.

Page 44: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

44

AgendaAgenda Qualidade

Importância, benefícios

Conceitos Medida, medição, métrica, escalas

Métricas na Engenharia de Software Esforço, Avaliação de Cronograma, Qualidade,

Desempenho, Confiabilidade, Complexidade

Exemplos de Métricas

Adoção de um Programa de Métricas

Métricas X CMM

Page 45: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

45

Organização Nível 2Organização Nível 2

Uma organização de nível Repetível possui controle básico de gerenciamento de sw

Os gerentes de sw do projeto acompanham custos, cronograma e funcionalidade

Procedimentos de gerência de configuração de sw são utilizados para declarar baselines e controlar requisitos

Existem padrões de projeto. O grupo de SQA assegura que eles estão sendo seguidos.

Em essência, existe um ambiente de trabalho estável e gerenciável.

Page 46: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

46

Organização Nível 2Organização Nível 2

Resultados de projetos anteriores permitem realizar compromissos realistas para os projetos atuais

Infra-estrutura para SQA Gerência de Configuração Gerenciamento de Requisitos Gerência de Subcontratação

Processo básico de gerência de projeto

Acompanhar custos, cronograma e funcionalidades em comparação com o planejado

Page 47: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

47

Objetivo da medição no CMMObjetivo da medição no CMM

Indicadores de sw consistentes com as key practices do CMM

Indicadores de sw relacionados com as metas das KPA’s do CMM

Informações sobre o uso de indicadores

Organizações com programa de medição

Organizações sem programa de medição

Indicadores a serem utilizados como início de

um programa

Indicadores a serem utilizados em comparação

com o programa

Page 48: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

48

Responsabilidades da Gerência Responsabilidades da Gerência do Processo de Swdo Processo de Sw

Melhorar o Processo

Controlar o Processo

Definir o Processo

Medir o Processo

Executar o Processo

Page 49: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

49

Planejamento para MediçãoPlanejamento para Medição

Principais Atividades

Identificação de Aspectos de Processo

Seleção e Definição de

Medidas

Integração com Processo de Software

Metas

Importante!

Identificar fatores críticos que determinam quando o processo atinge ou não os objetivos estabelecidos.

Page 50: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

50

Definição de Medidas para o ProcessoDefinição de Medidas para o Processo

Usuários diferentes = Necessidades diferentesA coleta de dados segue objetivo específico

Organizações distintas = Práticas distintasDificuldade da organização mudar a maneira de coletar dados

Comunicação não ambígua dos resultados de medição é dificuldade inerente ao processo

Dificuldade de descrever regras operacionais

Falta de métodos estruturados para a comunicação dos resultados de medição

O entendimento pode ser diferente do que se tentou descrever

Page 51: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

51

FrameworkFramework de Medição de Processo de Medição de Processo

Esclarecer objetivos de negócio

Identificar/priorizar aspectos relevantes

Selecionar e definir medidas

Coletar, verificar e guardar dados

Analisar o comportamento do processo

Novos objetivos?

Novos aspectos?

Novas medidas?

Não

Não

Não

Não

Não

Sim

Sim

Sim

Sim

Processo estável?

Processo capaz?

Sim

Remover causas

Alterar o Processo

Melhoria contínua

Page 52: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

52

Objetivos de Negócio

Aspectos de Projeto

Aspectos de Processo

Atributos mensuráveis de Produto e de Processo

Aumento das Funções

Redução de Custo

Redução do Tempo de Produção

Melhoria da Qualidade do

Produto

•Nº de requisitos•Tamanho do produto•Complexidade do produto•Taxas de alteração•% de não conformidade

•Tamanho do produto•Complexidade do produto•Esforço•Número de alterações•Estabilidade de requisitos

•Tempo decorrido

• Nº de defeitos inseridos• Eficiência das atividades de detecção de defeitos•Tempo médio entre falhas

•Conformidade do Produto

•Eficiência

•Produtividade

•Retrabalho

•Taxa de Produtividade•Ação/Reação

•Previsibilidade•Reconhecimento de problemas•Análise de causas

•Crescimento de Produtos

•Estabilidade dos Produtos

•Orçamentos

•Taxas de despesas

•Cronograma

•Progresso

•Desempenho do Produto•Correteza do Produto•Confiabilidade do Produto

Page 53: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

53

CaracterísticasCaracterísticas

Grande parte dos indicadores envolve monitorização de quantidades durante todo tempo.

A freqüência da monitorização é dependente do tamanho e da duração do projeto e é determinada por projeto.

Indicadores dos níveis Repetível e

Definido

Indicadores dos níveis

Gerenciado e Otimizado

Nível de detalhe

- +

Page 54: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

54

Programas de MediçãoProgramas de Medição

O foco de qualquer programa de medição é no processo e no produto, não nas pessoas !

Sucesso e fracasso são atribuídos a

pessoas

Considerar o elemento humano

neste processo

Todos colaboradores devem perceber os benefícios de um programa de medição e

entender que os resultados não serão utilizados contra eles.

Page 55: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

55

Categorias de Indicadores - SEICategorias de Indicadores - SEI

São propostas 13 categorias de indicadores. Nem todas categorias ocorrem em todos os níveis de

maturidade.

Progresso

TreinamentoUtilização de Recursos

Computacionais

Estabilidade de Tamanho

Estabilidade dos Requisitos

Prevenção de Defeitos

Resultados de Revisões por

Pares

Relatórios de Problemas

Resultados de Revisões

Resultados de auditoria de

SQA

Custo

EsforçoEstabilidade de

Processo

Page 56: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

56

Perguntas

&

Comentários

Page 57: Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha

57

Gabriela Elisa da Cunha

[email protected]