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