Plano de Medição
Plano de Medição
Contexto
O LoremBot é uma aplicação criada no contexto da disciplina Desenho de Software da Universidade de Brasília (UnB) - Faculdade do Gama (FGA), que visa criar um framework que facilite a criação de bots para o telegram.
Problema
Para melhorar e garantir qualidade em um determinado projeto de software é necessário primeiramente entender e definir os processos, produtos e recursos envolvidos neste projeto, sendo assim o Plano de Medição é de grande ajuda para definir os pontos positivos que devem ser mantidos e os pontos que podem melhorar e devem ser alterados no projeto. Considerando todos estes fatores a equipe de desenho precisa gerenciar a equipe de desenvolvimento e se ater aos prazos e requisitos da matéria além de manter o nível de qualidade.
Planejamento de Medição
A abordagem GQM (Goal Question Metric) será adotada para identificar as métricas que atinjam os objetivos propostos para o contexto do projeto LoremBot.
1 Plano de medição - Conceitual
Código
Analisar | o código |
para | entender e garantir |
os pontos | manutenabilidade e eficácia |
pelo ponto de vista | de desenvolvedor |
sob o contexto | do projeto LoremBot |
Abstraction Sheet
Foco na Qualidade | Fatores de Variação |
Q.1 Complexidade Ciclomática Q.2 Duplicação de código | Padronização do código Complexidade do Software Experiência com a tecnologia |
Hipóteses de Baseline | Impacto nas hipóteses de Baseline |
Q.1 Complexidade Ciclomática < 4 Q.2 Duplicação de código em nível regular | Fator de complexidade bom, com boa manutenibilidade Necessidade de retrabalho |
2 Plano de medição - Operacional
Código
Quão manutenível é o código?
Quão fiel o código é às boas práticas de programação?
3 Plano de medição - Quantitativo
Quão manutenível é o código?
Erros do flake8 por arquivo.
Métodos com alto número de argumentos.
Arquivos com alto número de linhas.
Blocos de código idênticos.
Blocos de código semelhantes.
Classes com alto número de métodos.
Métodos com alto número de linhas.
Quantidade de estruturas de decisão muito aninhadas.
Quão fiel o código é às boas práticas de programação?
Erros do flake8 por arquivo.
Blocos de código idênticos.
Blocos de código semelhantes.
Métodos com alto número de linhas.
Métodos com vários 'return'.
Métricas
Métrica | Erros do flake8 por arquivo |
Objetivo de Medição | Garantir a simplicidade na leitura do código |
Obtenção | A ferramenta de integração contínua executa o flake8 nos arquivos do projeto sempre que código é mandado ao reprositório |
Escala | Absoluta |
Análise | Caso ocorra ao menos um erro deverá haver uma refatoração do código |
Métrica | Métodos com alto número de argumentos |
Objetivo de Medição | Garantir a modularidade |
Obtenção | O code climate gera alertas para cada ocorrência |
Escala | Absoluta |
Análise | Caso ocorra ao menos uma issue deverá haver uma refatoração do código |
Métrica | Arquivos com alto número de linhas |
Objetivo de Medição | Garantir a modularidade do código |
Obtenção | O code climate gera alertas para cada ocorrência |
Escala | Absoluta |
Análise | Caso ocorra ao menos uma issue deverá haver uma refatoração do código |
Métrica | Blocos de código idênticos |
Objetivo de Medição | Garantir a simplicidade de leitura do código |
Obtenção | O code climate gera alertas para cada ocorrência |
Escala | Absoluta |
Análise | Caso ocorra ao menos uma issue deverá haver uma refatoração do código |
Métrica | Blocos de código semelhantes |
Objetivo de Medição | Garantir a simplicidade de leitura do código |
Obtenção | O code climate gera alertas para cada ocorrência |
Escala | Absoluta |
Análise | Caso ocorra ao menos uma issue deverá haver uma refatoração do código |
Métrica | Classes com alto número de métodos |
Objetivo de Medição | Garantir a visibilidade das classes |
Obtenção | O code climate gera alertas para cada ocorrência |
Escala | Absoluta |
Análise | Caso ocorra ao menos uma issue deverá haver uma refatoração do código |
Métrica | Métodos com alto número de linhas |
Objetivo de Medição | Garantir a visibilidade dos métodos |
Obtenção | O code climate gera alertas para cada ocorrência |
Escala | Absoluta |
Análise | Caso ocorra ao menos uma issue deverá haver uma refatoração do código |
Métrica | Quantidade de estruturas de decisão muito aninhadas |
Objetivo de Medição | Garantir a simplicidade de leitura do código |
Obtenção | O code climate gera alertas para cada ocorrência |
Escala | Absoluta |
Análise | Caso ocorra ao menos uma issue deverá haver uma refatoração do código |
Métrica | Métodos com vários 'return' |
Objetivo de Medição | Garantir a simplicidade de leitura do código |
Obtenção | O code climate gera alertas para cada ocorrência |
Escala | Absoluta |
Análise | Caso ocorra ao menos uma issue deverá haver uma refatoração do código |
Last updated