Qualidade de Produto de Software Mariano Montoni
Medição de Produto de Software
Tópicos Características de Boas Métricas Taxonomia de Atributos Mensuráveis Métricas na ISO 9126 (2001) Considerações durante a Implantação de um Programa de Medição
Razões para Medir Software Entender Predizer Controlar
Métricas de Software Utilizadas para permitir a quantificação do grau em que as características estão presentes em um determinado produto de software métricas objetivas e subjetivas métricas diretas e indiretas métricas do produto e do processo
Características de Boas Métricas Möller,K.H.; Paulish,D.J. “Software Metrics”; IEEE Computer Society Press; 1993 Características Organizacionais Aplicação ao processo de software e à gerência do projeto Alta visibilidade Consistência na aplicação Interesse e apoio da gerência Aceitação na organização Compatibilidade com a política da organização Existência de responsabilidade e controle Disponibilidade de dados históricos Correspondência ao processo de desenvolvimento Apoio aos objetivos de melhoria do processo Paciência
Características de Boas Métricas Möller,K.H.; Paulish,D.J. “Software Metrics”; IEEE Computer Society Press; 1993 Características Técnicas Número limitado de métricas Facilidade de cálculo Disponibilidade de dados para cálculo da métrica Precisão da definição Apoio de ferramentas Realização de experimentos
Taxonomia de Atributos Mensuráveis Munson, J.C. “Software Measurement: problems and practices”; Annals of Software Engineering 1(1995) Métricas de Pessoas Métricas do Processo Métricas do Produto Métricas do Ambiente
Métricas de Pessoas Software é construído por pessoas Pessoas têm atributos relevantes que devem ser medidos Exemplos: número de cursos em Ciência da Computação número de cursos no domínio da aplicação experiência com a linguagem treinamento formal em Engenharia de Software
Métricas do Processo Exemplos erros cometidos por programadores pedidos de alteração no software número de relatórios pendentes
Métricas de Pessoas Exemplos: medidas da Especificação de Requisitos medidas da Especificação de Projeto medidas do código
Métricas do Produto Exemplos medidas da Especificação de Requisitos medidas da Especificação de Projeto medidas do código número de falhas no teste de aceitação
Modelo para Qualidade Interna e Externa Qualidade interna é avaliada segundo um conjunto de métricas internas para essas características aplicadas a um produto não-executável (especificações, código fonte, ..) permite avaliar os produtos de software antes do produto ser executável
Modelo para Qualidade Interna e Externa Qualidade externa é verificada segundo um conjunto de métricas externas definidas para essas características obtidas a partir do comportamento do sistema através de testes, operação ou observando sua execução permite avaliar durante o teste e operação
Métricas na ISO 9126 (2001) - Exemplos Usabilidade: inteligibilidade (exemplos) Completude da descrição: “qual a proporção de funções que são entendidas após a leitura da descrição do produto?” Entendimento de funções: “qual a proporção de funções o usuário é capaz de entender corretamente” X= A / B A= número de funções de interface cujo propósito é corretamente descrito pelo usuário B= número de funções disponíveis a partir da interface 0 <= X <= 1 Quanto mais próximo de 1 mais adequada
Métricas na ISO 9126 (2001) - Exemplos Funcionalidade (Acurácia) Acurácia computacional: “quão freqüentemente os usuários encontram resultados errados?” Acurácia esperada: “existem diferenças entre o resultados obtidos e os esperados: X = A / T A = número def casos encontrados pelo usuário com diferenças no valor esperado aceitável T= tempo de operação 0 <= X Quanto mais próximo de 0 melhor
Métricas do Ambiente Quantificam aspectos do ambiente da organização Exemplos: estabilidade da administração estabilidade do hardware e do software freqüência de interrupções no trabalho privacidade no ambiente de trabalho facilidades de biblioteca
Considerações durante a Implantação de um Programa de Medição Envolver as pessoas que irão usar as métricas Criar rapidamente um conjunto inicial de métricas Aplicar as métricas em um projeto Melhorar as métricas com o aprendizado Evitar a existência de muitas métricas
MedPlan – Uma Ferramenta para Apoiar o Planejamento de Medição
Metrics – Uma Ferramenta para Apoiar a Coleta e Análise de Métricas