Buscar

SENAC_QSW_06_MetricasParaAvaliacaoDeQualidade (1)

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 29 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 29 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 29 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Curso: Análise e Desenvolvimento de Sistemas
Disciplina: Qualidade de Software
Aula 06: Métricas para Avaliação de Qualidade
Prof. Hemir da C. Santiago
hemircsantiago@fac.pe.senac.br
Objetivo da aula:
Conhecer os diversos tipos de métricas de qualidade, bem como a sua aplicação na avaliação da qualidade do software.
Agenda
Motivação
Medidas Diretas
Complexidade Ciclomática
Medidas Indiretas
Métricas Orientadas ao Tamanho
Métricas Orientadas à Função
Análise de Pontos de Função
Motivação
Razões para medir o software:
Indicar a qualidade do produto;
Avaliar a produtividade dos que desenvolvem o produto;
Avaliar os benefícios derivados de novos métodos e ferramentas de engenharia de software;
Formar uma base para as estimativas;
Ajudar na justificativa de aquisição de novas ferramentas ou de treinamentos adicionais.
Motivação
As métricas de softwares possibilitam realizar uma das atividades mais fundamentais do processo de gerenciamento de projetos: o planejamento.
Elas podem ser divididas em duas categorias: medidas diretas e indiretas. 
Medidas Diretas
Custo ($)
Esforço (HH: Homem-Hora)
Linhas de Código (tamanho)
Velocidade de Execução (performance)
Memória (RAM)
Número de Erros (CRs: Change Requests)
Complexidade Ciclomática*
Complexidade Ciclomática
Essa complexidade é computada através do grafo de fluxo de controle do programa: 
Mede a quantidade de caminhos de execução independentes em um código fonte.
Complexidade Ciclomática
A complexidade ciclomática de uma seção do código fonte é a quantidade de caminhos independentes pelo código. 
Por exemplo, se o código possui apenas uma estrutura condicional, então há dois caminhos possíveis: aquele quando a condição é avaliada em verdadeiro, e aquele quando a condição é avaliada em falso.
Complexidade Ciclomática
Matematicamente, a complexidade é definida como:
CC = T – N + 2 
CC – complexidade ciclomática
T – quantidade de setas (transições)
N – quantidade de nós
2 – constante
Complexidade Ciclomática
Exemplo:
Número de caminhos independentes (CC) = 
= número de transições – número de nós + 2 
= 12 – 10 + 2 
= 4
3
4
2
1
Medidas Indiretas
Exemplos de medidas indiretas do processo de engenharia de software:
confiabilidade;
eficiência;
qualidade;
usabilidade; 
flexibilidade; e
manutenibilidade.
Outros Tipos
As medições de software também podem ser organizadas em outras categorias:
Métricas Orientadas ao Tamanho;
Métricas Orientadas à Função.
Métricas Orientadas ao Tamanho
A medida de software mais familiar é a contagem de linhas de código.
Esta métrica pode parecer simples, mas existe discordância sobre o que constitui uma linha de código. 
Está fortemente ligado à linguagem de programação utilizada, impossibilitando a utilização de dados históricos para projetos que não utilizam a mesma linguagem.
Métricas Orientadas à Função
Concentram-se na funcionalidade do software, com a vantagem de poder ser aplicada independente da tecnologia usada para desenvolver o software. 
Objetivos:
Prover uma métrica de medição para apoiar a análise de produtividade e qualidade;
Prover uma forma de estimar o tamanho do software;
Prover um fator de normalização para comparação de software.
Pontos de Função
Unidade de medida de software para estimar o tamanho de um sistema de informação baseando-se na funcionalidade percebida pelo usuário.
O método para medir o tamanho de um sistema de informação e expressá-lo em número de pontos de função é chamado de Análise por Pontos de Função (APF).
Pontos de Função
A APF foi criada em 1977 pelo funcionário da IBM Allan J. Albrecht. Ela basicamente quantifica as funções contidas no software em termos significativos para os usuários. 
A medida tem relação direta com os requisitos de usuário (requisitos de negócio). Apesar de muito popular, ela também é bastante criticada por diversos autores que acreditam que ela não seja uma medida objetiva.
Análise de Pontos de Função
Exemplo: Imagine um website em que vendedores de uma empresa entram para fazer cotações de pedidos. Os preços podem variar segundo a categorização de clientes, aos quais se oferecem descontos especiais. 
Passo 1 – Mapear as entidades:
Passo 2 – Classificar as entidades:
As entidades que gravam dados e que não dependem de outras para existir chamamos de Entidades Fortes ou ALIs (Arquivo Lógico Interno). Exemplo: Produto.
Já as entidades que consomem dados ou dependem de outras para existir chamamos de Entidades Fracas ou AIEs (Arquivo de Interface Externa). Exemplo: Orçamento.
Análise de Pontos de Função
Análise de Pontos de Função
Passo 2 – Classificar as entidades (ALIs e AIEs):
Análise de Pontos de Função
Passo 3 – Contar os pontos de função:
Passo 4 – Estimar as horas de trabalho:
A média de mercado para linguagens mais robustas como o Java é de 13hrs/PF, incluindo todo trabalho de requisitos, design, desenvolvimento, testes e correções.
265 pontos de função x 13hs/PF = 3.445 horas de trabalho
Cada empresa/projeto deve estabelecer a sua quantidade de hrs/PF.
Análise de Pontos de Função
Passo 5 – Calcular o custo:
Existem duas formas:
1. Multiplicar o total de horas pelo custo médio:
3.445 horas x R$ 100,00 = R$ 344.500
Análise de Pontos de Função
Passo 5 – Calcular o custo:
2. Segmentar o esforço de trabalho entre diferentes perfis para chegar a um valor mais preciso:
Análise de Pontos de Função
Passo 6 – Calcular o preço:
Com os custos, pode-se calcular o preço, bastando multiplicar pela margem bruta esperada para o projeto. Para exemplificar, consideremos uma margem de 35%:
					R$287.657,50 x (1,35) = R$ 388.337,63
Análise de Pontos de Função
Análise de Pontos de Função
Exemplo de caso prático para cálculo de custo e precificação do software:
https://www.elirodrigues.com/2016/09/08/analise-indicativa-de-pontos-de-funcao-caso-pratico/
Exemplos para identificação de PFs com Cadastro de Clientes e Relatório de Cadastro de Clientes: 
https://www.devmedia.com.br/contagem-de-pontos-de-funcao/34390 
Dúvidas?
1) AVALIAÇÃO: UNIDADE I
2) UNIDADE II: SEMINÁRIO + PROJETO
Plano de Aulas
		DATA	AULA
	1	15/02/2023	Apresentação da disciplina | Revisão: Engenharia de Software
	2	01/03/2023	Engenharia de Software
	3	08/03/2023	Introdução à Qualidade de Software
	4	15/03/2023	Modelos de Maturidade para Processos de Software
	5	18/03/2023	Sábado Letivo (Atividade no Google Classroom)
	6	22/03/2023	Ferramentas de Qualidade
	7	29/03/2023	Métricas para Avaliação de Qualidade
	8	05/04/2023	Revisão da 1ª Unidade
	9	12/04/2023	Atividade Avaliativa
	10	19/04/2023	1ª Devolutiva
Plano de Aulas
		DATA	AULA
	11	26/04/2023	Introdução a Testes de Software
	12	29/04/2023	Sábado Letivo (Atividade no Google Classroom)
	13	03/05/2023	Técnicas e Níveis de Teste
	14	10/05/2023	Testes Automatizados
	15	17/05/2023	Seminário: Apresentações
	16	24/05/2023	Seminário: Apresentações
	17	31/05/2023	Atividade Avaliativa
	18	07/06/2023	2ª Devolutiva
	19	14/06/2023	Recuperação
	20	21/06/2023	Devolutiva da recuperação
�
�
�
N < 0�
N := -N;�
Yes�
(i < N) and �(result <= maxint)�
�
i := i+1;�result := result + i;�
Yes�
result <= maxint�
No�
�
�
No�
�
Start�
Exit�
output(�too large�);�
result := 0;�i := 0;�
�
output(result);�
Yes�
No�
�
�
N < 0N := -N;Yes
(i < N) and
(result <= maxint)
i := i+1;
result := result + i;
Yes
result <= maxint
No
Start
No
Exit
result := 0;
i := 0;
output(“too large”);
output(result);
YesNo

Continue navegando