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