GQM Performance - Measurement-and-Metrics-2018-1/2017.1-SIGS GitHub Wiki

Histórico de Revisão

Data Versão Descrição Autor(es)
22/04/2018 0.1 Elaboração inicial do documento Gabriel Ziegler
22/04/2018 0.2 Retocando alguns pontos Bruno Matias Casas
22/04/2018 0.3 Q.1.1,Q.1.2,Q.1.3 Carlos Aragon
22/04/2018 0.4 Métrica M.1.1.1 Gabriel Ziegler
22/04/2018 0.5 Métrica M.1.2.1 Bruno Matias Casas
22/04/2018 0.6 Métrica M.1.3.1 Gabriel Ziegler
22/04/2018 0.7 Hipótese Q.1.2 Bruno Matias Casas
23/04/2018 0.8 Revisão, Métrica M.1.2.2 e Hipótese 1.2.2 Gabriel Ziegler
23/04/2018 0.9 Ferramentas de mémoria Gabriel Ziegler

GQM (Goal, Question, Metric)

OBJETIVOS ESTRATÉGICOS

1.0 - Melhorar performance do sistema

Dado que o sistema proposto deverá alocar turmas para a universidade de brasília(UnB), ele se torna crítico, por isso deve-se garantir a satisfação do cliente em relação a sua performance. Os objetivos do GQM de performance são:

Analisar Performance do sistema SIGS
Com o propósito de Melhorar
Com respeito a Perfomance do sistema
Sobre o ponto de vista do Desenvolvedor
No contexto do Projeto SIGS

QUESTÕES

A questão anuncia a necessidade de se obter informações em uma linguagem natural, podendo-se formular uma ou mais questões para cada categoria de questões; quanto à resposta, deve estar de acordo com o objetivo.

Foco na qualidade Fatores de variação
Q.1.1 : Os tempos de resposta e processamento e as taxas de rendimento atendem aos requisitos?
- Qualidade de conexão com a internet;
-Hardware do usuário;
Q.1.2 : As quantidades e tipos de recursos utilizados atendem aos requisitos?
-Hardware do usuário;
-Hardware do servidor de hospedagem do sistema
Q.1.3 : Os limites máximos do sistema atendem aos requisitos?
-Hardware do servidor de hospedagem do sistema;
-Limitações da linguagem de programação utilizada na construção do sistema
Hipóteses de BASELINE Impactos nas hipóteses de Baseline
-A quantidade de memória alocada para cada recurso em sua maioria não é condizente -Baixa Performance
-O tempo de CPU utilizado para execução de processos é maior que o necessário -Baixa Performance
-O tempo de duração que o sistema leva desde iniciar um conjunto de tarefas até receber o primeira resposta é alto -Baixa Performance
-O número de requisições que podem ser processadas em um intervalo de tempo é baixo -Baixa Performance

MÉTRICAS

Essa seção descreve as métricas que serão aplicadas ao projeto como padrão de qualidade.
Para cada métrica será dada uma descrição do que é a métrica, seus respectivos indicadores interpretativos, os resultados esperados para o projeto e as melhorias propostas para reverter quadros desfavoráveis, isto é, possíveis medidas que a equipe deve tomar para obter índices positivos quando estes estiverem comprometidos.

Performace


Métrica M.1.1.1 - Tempo de resposta
Objetivo da Medição Garantir que o software possua boa performance para as funções que oferece
Descrição Tempo de duração que o sistema leva desde iniciar um conjunto de tarefas até receber o primeira resposta
Elementos de Medição A = tempo de entrada de um comando
B = tempo de recepção da primeira resposta
X = Resultado
Fórmula X = B - A
Escala da Medição Racional
Coleta Responsável: Equipe de gerência
Periodicidade ou Evento: A cada iteração
Procedimentos Executar um comando e coletar os valores de tempo
Análise Quanto maior X for, mais tempo está levando o sistema para efetuar um comando, logo menor a performance está sendo
Providências Checar a complexidade do comando executado e avaliar se existem providências a serem tomadas para torná-lo mais otimizado e depois executar a medição novamente.

Métrica M.1.2.1 - Utilização de memória
Objetivo da Medição Garantir que o espaço alocado das tarefas condiz com o que realmente foi utilizado
Descrição Quanto espaço de memória é usado para executar uma dada tarefa
Elementos de Medição A = quantidade total de espaços de memória alocado para dada tarefa
B = a quantidade de espaços de memória realmente usadas para executar a dada tarefa
X = Resultado
Fórmula X = A/B
Escala da Medição Racional
Coleta Responsável: Equipe de gerência
Periodicidade ou Evento: A cada iteração
Procedimentos Verificar espaço total de memória utilizado e quanto de memória foi gasta para uma dada tarefa
Análise Quanto mais próximo X estiver de 1 melhor
Providências Caso X seja próximo ao valor alocado para determinada tarefa, um valor acima da metade, deve-se tomar providencias para otimizar o espaço de memória alocado e depois executar a medição novamente.

Métrica M.1.2.2 - Utilização de CPU
Objetivo da Medição Garantir que o sistema utilize os recursos da CPU sem exceder o necessário
Descrição Tempo em que a CPU é utilizada para executar uma tarefa
Elementos de Medição A = Tempo de operação
B = Tempo em que a CPU foi realmente utilizada durante a execução da tarefa
X = Resultado
Fórmula X = A-B
Escala da Medição Racional
Coleta Responsável: Equipe de gerência
Periodicidade ou Evento: A cada iteração
Procedimentos Verificar tempo gasto pela CPU na execução de tarefas
Análise Quanto mais próximo X estiver de 0 melhor.
Providências Caso X seja muito alto (maior que 0,5s), deverá ser analisada a tarefa em questão e a razão pelo a qual esta está tomando mais tempo que o necessário então, deverá-se medir a métrica M1.2.2 da tarefa novamente após mudanças.

Métrica M.1.3.1 - Número máximo de requisições
Objetivo da Medição Garantir que o software consiga lidar com o número de requisições que poderá ter sem derrubar o sistema ou perder performance
Descrição Número máximo de requisições que podem ser processadas em um intervalo de tempo
Elementos de Medição A = Tempo de operação
B = Número máximo de requisições processadas
X = Resultado
Fórmula X = B/A
Escala da Medição Racional
Coleta Responsável: Equipe de gerência
Periodicidade ou Evento: A cada iteração
Procedimentos Executar máximo número de possível de uma requisição em um intervalo de tempo e pegar esse valor máximo
Análise Quanto maior X for, maior a capacidade do sistema de processar um grande número de requisições
Providências Checar o resultado da medição e se o sistema não possuir boa capacidade para lidar com o número de requisições que deveria lidar, mudar formas com que as requisições são processadas e/ou sistemas utilizados para processá-las e depois executar a medição novamente.

Ferramentas para medição de performance

Ferramentas de utilização de memória

  1. Memory Profiler:
⚠️ **GitHub.com Fallback** ⚠️