Universidade do Vale do Rio dos Sinos Métricas de Software Gabriela Elisa da Cunha.
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