• Nenhum resultado encontrado

Metricas

N/A
N/A
Protected

Academic year: 2021

Share "Metricas"

Copied!
33
0
0

Texto

(1)

Gestão da Qualidade de Software

Métricas

Prof. José Jorge Dias

Departamento de Ciências Exatas

(2)

Motivação

Um dos objetivos básicos da Engenharia de Software é: a

transformação da criação de sistemas software de uma maneira artística, indisciplinada e pouco entendível para uma forma

devidamente controlada, quantificada e previsível

“Métricas de Software” é um assunto discutido há mais de 20 anos na engenharia de software ... e no entanto não é verificada sua utilização, na

prática, pela grande maioria dos projetos de construção de software

Pesquisas realizadas em empresas de software indicam que mais da metade de grandes projetos de software se deparam com algum

tipo de atraso, excesso de custo ou prazo ou algum fracasso na

execução quando implantado Falta de controle dos projetos

(3)

Métricas de Software 3/57

Motivação

“Não se pode

gerenciar

o que

não se pode

medir

” (

Tom De

(4)
(5)

Métricas

• Uma métrica é a medição de um

atributo (propriedades ou

características ) de uma determinada

entidade (produto, processo ou

recursos).

• Exemplo: Painel de um avião é repleto de medições

(6)

Métricas

• Exemplos

• Tamanho do produto de software (ex: Número de Linhas de código) • Número de pessoas necessárias para implementar um caso de uso • Número de defeitos encontrados por fase de desenvolvimento

• Esforço para a realização de uma tarefa • Tempo para a realização de uma tarefa • Custo para a realização de uma tarefa

• Grau de satisfação do cliente (ex: adequação do produto ao propósito, conformidade do produto com a especificação)

(7)

Métricas, medidas e indicadores

• Deseja-se saber se uma pessoa está com seu peso ideal ou não. Para tal,

precisa-se

medir

a altura (H) e o peso (P)

• Ao tomar essas medidas, estamos efetuando uma

medição

• A

métrica

Índice de Massa Corporal (IMC) é calculada segundo IMC = P / H²

• A partir dessa métrica foram

estabelecidos

indicadores

que

estabelecem uma referência para

pessoas acima do peso, obeso ou

abaixo do peso ideal considerado

saudável

(8)

Métricas de Software 8/57

Categorização de Métricas

• Métricas diretas (fundamentais ou básicas)

• Medida realizada em termos de atributos observados (usualmente determinada pela contagem)

• Ex.: custo, esforço, no. linhas de código, capacidade de memória, no. páginas, no. diagramas, etc.

• Métricas indiretas (derivadas)

• Medidas obtidas a partir de outras métricas

(9)

Métricas de Software 9/57

Categorização de Métricas

• Métricas orientadas a tamanho

• São medidas diretas do tamanho dos artefatos de software associados ao processo por meio do qual o software é desenvolvido.

• Ex.: esforço, custo, no. KLOC, no. páginas de documentação, no. erros

• Métricas orientadas por função

• Consiste em um método para medição de software do ponto de vista do

usuário, determinando de forma consistente o tamanho e a complexidade de um software.

(10)

Métricas orientadas a tamanho

• Linhas de Código (LOC)

• Vantagem

• Simples de se medir

• Pode ser automatizada por uma ferramenta

• Desvantagem

• O significado de uma linha de código é subjetivo • Dependente da linguagem de programação

• Não é adequada para ser um indicador de produtividade

(11)

Métricas orientadas por função

• Pontos de Função

• Medir a Funcionalidade de Sistemas de acordo com a perspectiva do usuário • Medir o desenvolvimento e a manutenção de software independentemente

da tecnologia usada para implementação

• Comparar a produtividade entre ambientes de desenvolvimento

• (P = PF/Esforço)

• Melhorar as estimativas de projetos de desenvolvimento de softwares • Criar uma unidade padrão de medida de software

• Pontos de Caso de Uso

• Técnica de estimativa baseada na abordagem de especificação de casos

de uso

(12)

Métricas orientadas por esforço

• Pontos de estória

• Geralmente utiliza-se o valor relativo e não absoluto • Exemplo: Planning poker

(13)

Margem de Erro

Tempo

Conhecimento do Sistema

Margem de Erro

(14)

Produtividade e Qualidade

Produtividade=

Medida do tamanho do trabalho

Esforço para produzi-lo

Qualidade = Número de defeitos

Medida do tamanho do trabalho

Produtividade

–>

Eficiência do processo

(15)
(16)
(17)

4 Razões para Medir

• Caracterizar

• Para compreensão dos processos, produto, recursos e ambientes • Estabelecer uma base para comparação com avaliações futuras

• Avaliar

• Determinar a situação em relação aos planos • Verificar a realização das metas

• Verificar impactos

• Predizer

• Permitir o planejamento • Base para as estimativas

• Melhorar

(18)

Métricas de Software 18/57

Princípios de um Processo de Medição

• Um processo de medição deve:

• Fornecer uma base para melhoria contínua do processo • Quantificar a qualidade e produtividade

• Estar integrado com o ciclo de vida de desenvolvimento

(19)

Métricas de Software 19/57

Princípios de um Processo de Medição

• Medições devem ser usadas para medir processos, não pessoas

• O processo de medição deve ter objetivos claros e bem-definidos

• O processo de medição deve ser fortemente acoplado com o

processo de gerência da qualidade e integrado dentro de planos e

orçamentos

(20)

Métricas de Software 20/57

Princípios de um Processo de Medição

• O processo de coleta de dados deve ser simples, e ferramentas

automáticas para extração de dados devem ser usadas

(21)

Métricas de Software 21/57

O Paradigma Goal Question Metrics (GQM)

• Usado para definir o conjunto de métricas a ser coletado

• Proposto por:

• Basili and Rombach’s, Goal-Question-Metrics Paradigm, IEEE Transactions on Software Engineering, 1988.

• Baseia-se no fato de que deve existir uma necessidade clara associada

a cada métrica

(22)

Métricas de Software 22/57

O Paradigma Goal Question Metrics (GQM)

• Inicia-se com a identificação dos interessados na medição.

• Com base nos interessados, estabelecem-se os principais objetivos da medição para a organização, o projeto ou uma tarefa específica. Ex: reduzir defeitos,

aumentar produtividade, etc.

• A partir dos objetivos, geram-se perguntas cujas respostas dirão se os objetivos foram ou não alcançados (ex: Qual a taxa de defeito atual? Qual a taxa de defeito após a implantação do novo processo?)

• A partir das perguntas, definem-se métricas: que dados serão necessários? Quais os formatos? Como coletar (fórmula e processo)? Onde armazenar e como

(23)

Métricas de Software 23/57

O Paradigma Goal Question Metrics (GQM)

Goal 1 Goal 2

Questão 1 Questão 2 Questão 3 Questão 4

(24)

O Paradigma Goal Question Metrics (GQM)

• Objeto de Estudo: o que será analisado?

• Objetivo: porque o objeto será analisado?

• Enfoque de qualidade: qual atributo do objeto será analisado?

• Ponto de Vista: quem usará os dados coletados?

(25)

Métricas de Software 25/57

Selecionando Objetivos

• Devem estar associados a um período de tempo

• Aumentar a produtividade em 20% no prazo de 12 meses

• Facilita o acompanhamento e a tomada de ações para viabilizar objetivo  pois existe um prazo!!!

• Estudos indicam que objetivos muito complexos e de longo prazo

podem causar impacto na motivação

• Objetivos menores, a curto prazo, permitem que as pessoas visualizem o progresso e alcancem sucessos

• Com o tempo e com a maturidade da organização, os objetivos devem se tornar mais complexos e mais desafiadores

(26)

Métricas de Software 26/57

Selecionando Métricas

• Seja realista e prático

• Considere o processo e o ambiente de desenvolvimento atual

• Não selecione métricas em que os dados sejam difíceis de serem coletados na sua realidade

• Comece com o que for possível

• A equipe não deve ser muito impactada

• Utilize a abordagem incremental

(27)

Métricas de Software 27/57

Selecionando Métricas

• Objetivo: Aumentar satisfação do cliente

• Que atributos dos nossos produtos e serviços são mais importantes para os nossos clientes?

Aspectos Relevantes de Produto e Serviço para Clientes

0 5 10 15 20

Qualidade Custo Prazo Visibilidade do

Progresso

Flexbilidade p/ mudanças

Aspectos Relevantes Para os Clientes

C li e n te s q u e C o n s id e ra m o A s p e c to # Clientes

(28)

Exemplo do uso do GQM

(29)

Exemplo do uso do GQM

• Objetivo: Fazer com que os desenvolvedores fiquem no peso ideal

• Questões:

• Qual o peso atual dos desenvolvedores? • Qual a altura atual dos desenvolvedores?

• Qual a massa corpórea dos desenvolvedores?

• Métricas:

• Peso • Altura

(30)

Vamos relembrar uma coisa... PDCA

• Plan

• Qual seria a meta?

• Qual seria o processo ou as ações a serem realizadas? Qual o método?

• Do

• Educar, executar, coletar dados

• Check

• As metas foram alcançadas?

• Act

(31)

Métricas de Software 31/57

Exemplo do uso do GQM

• Objetivo: Assegurar que todos os defeitos são corrigidos antes do

software ser liberado para uso.

• Questões:

• Quantos defeitos temos atualmente? • Qual o status de cada defeito?

• Qual a cobertura dos testes?

• Métricas:

• Número de defeitos

• Número de defeitos por status

• Número de casos de testes planejados x executados • Número de requisitos testados

(32)

Métricas de Software 32/57

O processo de medição

• É um processo cíclico que envolve:

• Planejar • Medir

• Analisar os dados

• Tomar decisões baseadas na análise • Implementar as decisões

(33)

Referências

• Slides do professor Alexandre Vasconcelos do CIn/UFPE, Introdução a

Métricas de Software, 2005.

Referências

Documentos relacionados

Busca-se entender os seguintes objetivos específicos: a investigar as relações do futebol com os setores econômicos brasileiro, em primeira instância com o setor público,

Para atingir este fim, foram adotados diversos métodos: busca bibliográfica sobre os conceitos envolvidos na relação do desenvolvimento de software com

Quando os dados são analisados categorizando as respostas por tempo de trabalho no SERPRO, é possível observar que os respondentes com menor tempo de trabalho concordam menos que

Também trabalhando com o gênero crônica, e contemplando o mesmo período histórico (Ramos e Eneida inclusive foram presos políticos na mesma época e durante um período, na mesma

Os objetivos do presente trabalho foram estudar os efeitos de apli- cação de fertilizantes comerciais, via foliar, sobre o período de flores- cimento, número de flores e produção

Observou-se que em todas as plantas, das nove cultivares de crisântemo de corte, que receberam o desponte apical, conduzidas com duas hastes florais por planta,

Para disciplinar o processo de desenvolvimento, a Engenharia de Usabilidade, também conceituada e descrita neste capítulo, descreve os métodos estruturados, a

O desenvolvimento constante de Biblioteconomia e da Ciência da Informação (CI) estão em frequente atualização tecnológica, haja vista, a necessidade do profissional da