Disciplina Probabilidade e Estatística
Professor Hidelbrando
Rodrigues
library(dplyr)
library(readxl)
library(rstatix)
library(rmarkdown)
library(rmarkdown)
library(knitr)
library(emmeans)
library(ggplot2)
library(htmltools)
library(fdth)
library(kableExtra)
library(psych)Análise da Qualidade de Código e Incidência de Bugs em Diferentes Tipos de Projetos de Software
No campo da engenharia de software, a análise da qualidade do código é essencial para garantir a eficácia e a eficiência dos projetos desenvolvidos. Esta base de dados foi criada para investigar a relação entre o número de bugs reportados, a cobertura de código e a qualidade percebida do código em diferentes tipos de projetos de software (Web, Mobile,Desktop).
## Rows: 100
## Columns: 5
## $ ID <dbl> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 1…
## $ `Bugs Reportados` <dbl> 24, 3, 56, 72, 0, 21, 19, 74, 41, 10, 21, 38…
## $ `Cobertura de Código (%)` <dbl> 61.53, 84.57, 82.52, 86.20, 73.75, 79.83, 53…
## $ `Tipo de Projeto` <chr> "Desktop", "Desktop", "Web", "Desktop", "Mob…
## $ `Qualidade do Código` <chr> "Ruim", "Regular", "Regular", "Excelente", "…
Descrição: Identificador único para cada registro no conjunto de dados.
Tipo: Quantitativa Discreta
Descrição: Número de bugs reportados durante o ciclo de vida do projeto.
Tipo: Quantitativa Discreta
Importância: Esta variável fornece uma medida direta dos problemas encontrados no software, afetando diretamente a satisfação do usuário e a qualidade geral do produto.
Descrição: Porcentagem de cobertura de código obtida através de testes automatizados.
Tipo: Quantitativa Contínua
Importância: A cobertura de código é uma métrica crucial para avaliar a eficácia dos testes. Uma alta cobertura de código geralmente indica que uma maior parte do código foi testada, potencialmente reduzindo a quantidade de bugs.
Descrição: Tipo de projeto de sotware (Web, Mobile, Desktop)
Tipo: Qualitativa Nominal
Importância: Diferentes tipos de projetos podem apresentar desafios distintos. Por exemplo, projetos Web podem focar mais na responsividade e escalabilidade, enquanto projetos Mobile podem priorizar a performance e a usabilidade.
Descrição: Avaliação da qualidade de código (Excelente, Boa Regular, Ruim)
Tipo: Qualitativa Ordinal
Importância: A qualidade do código é uma medida subjetiva que pode influenciar a manutenção e a evolução do software. Código de alta qualidade é mais fácil de entender, modificar e escalar.
O banco de dados contém 100 linhas de dados.
##
## Desktop Mobile Web
## 39 35 26
##
## Boa Excelente Regular Ruim
## 21 29 27 23
##
## Boa Excelente Regular Ruim
## Desktop 8 11 8 12
## Mobile 10 11 6 8
## Web 3 7 13 3
##
## The decimal point is 1 digit(s) to the right of the |
##
## 0 | 001122379
## 1 | 03466889
## 2 | 00111124468899
## 3 | 022333367777899
## 4 | 1344688889
## 5 | 12445566669
## 6 | 001233469
## 7 | 12444589
## 8 | 0158
## 9 | 000113456679
## Class limits f rf rf(%) cf cf(%)
## [0,16.665) 14 0.14 14 14 14
## [16.665,33.33) 24 0.24 24 38 38
## [33.33,49.995) 18 0.18 18 56 56
## [49.995,66.66) 19 0.19 19 75 75
## [66.66,83.325) 11 0.11 11 86 86
## [83.325,99.99) 14 0.14 14 100 100
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.00 24.00 45.00 46.93 66.75 99.00
## vars n mean sd median trimmed mad min max range skew kurtosis se
## X1 1 100 46.93 27.78 45 46.45 31.13 0 99 99 0.19 -1 2.78
##
## The decimal point is 1 digit(s) to the right of the |
##
## 5 | 233344444
## 5 | 55677888999
## 6 | 0000011223344
## 6 | 567888
## 7 | 1123444444
## 7 | 77788
## 8 | 02233334
## 8 | 555556666677799
## 9 | 012222233444
## 9 | 55666888899
## Class limits f rf rf(%) cf cf(%)
## [51.935,59.877) 22 0.22 22 22 22
## [59.877,67.819) 14 0.14 14 36 36
## [67.819,75.761) 13 0.13 13 49 49
## [75.761,83.702) 12 0.12 12 61 61
## [83.702,91.644) 18 0.18 18 79 79
## [91.644,99.586) 21 0.21 21 100 100
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 52.46 60.72 77.05 75.59 87.74 98.60
## vars n mean sd median trimmed mad min max range skew kurtosis
## X1 1 100 75.59 14.85 77.04 75.63 21.48 52.46 98.6 46.14 -0.06 -1.44
## se
## X1 1.49
boxplot(coberturaDeCodigo,
main = "Boxplot de Cobertura de Código (%)",
ylab = "Quantidade",
col = "cyan",
horizontal = TRUE)
# Objetivo do Estudo O objetivo deste estudo é analisar a relação entre
a cobertura de código e o número de bugs reportados em diferentes tipos
de projetos de software. Além disso, buscamos entender como a qualidade
do código é percebida em projetos com diferentes níveis de bugs e
cobertura de código.
Coleta de Dados: Os dados foram coletados de diversos projetos de software desenvolvidos em diferentes ambientes (Web, Mobile, Desktop). Para cada projeto, foram registrados o número de bugs reportados, a cobertura de código obtida através de testes automatizados, o tipo de projeto e a avaliação da qualidade do código.
Análise Descritiva: Será realizada uma análise descritiva para entender a distribuição das variáveis e identificar padrões iniciais nos dados.
Análise Inferencial: Serão aplicadas técnicas estatísticas para investigar as relações entre as variáveis quantitativas (bugs reportados e cobertura de código) e qualitativas (tipo de projeto e qualidade do código).
Correlação entre Cobertura de Código e Bugs Reportados: Espera-se encontrar uma correlação negativa, onde projetos com maior cobertura de código apresentam menos bugs reportados.
Impacto do Tipo de Projeto: Diferentes tipos de projetos podem apresentar diferentes padrões de bugs e cobertura de código.
Qualidade do Código: Projetos com alta qualidade de código podem correlacionar com menos bugs e maior cobertura de código.
A análise dos dados de qualidade de código e bugs reportados em projetos de software revelou insights significativos. Observamos uma variabilidade considerável na quantidade de bugs, com uma média de 47 bugs por projeto. A distribuição dos bugs mostrou uma leve assimetria positiva, indicando uma leve tendência dos valores se agruparem mais à esquerda da média.
A cobertura de código apresentou uma média de 76%, com a maioria dos projetos mostrando uma cobertura alta e uma distribuição praticamente simétrica. A qualidade do código foi classificada majoritariamente como “Excelente” ou “Regular”, com uma menor quantidade de projetos classificados como “Boa” ou “Ruim”. Notamos que os projetos Desktop têm uma maior incidência de código “Ruim”, enquanto os projetos Mobile e Web apresentam uma qualidade de código mais balanceada.
Esses resultados sugerem que uma maior atenção deve ser dada aos projetos Desktop para melhorar a qualidade do código. Além disso, implementar monitoramento contínuo da qualidade do código e dos bugs pode ajudar a identificar problemas precocemente e aplicar correções mais eficazes.