GQM Performance - Measurement-and-Metrics-2018-1/2017.1-SIGS GitHub Wiki
| 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 | 
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 | 
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 | 
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.

| 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. |