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

Post on 17-Apr-2015

104 views 0 download

Transcript of 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

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.

3

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

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

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

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

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

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

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

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

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.

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

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

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.

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.

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.

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

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

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

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

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

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

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.

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

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

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.

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.

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.

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.

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.

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.

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

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

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.

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.

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.

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

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

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

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

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

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

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.

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.

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

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.

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

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

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

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.

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

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

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

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

- +

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.

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

56

Perguntas

&

Comentários

57

Gabriela Elisa da Cunha

gabriela@exatas.unisinos.br