felipe buarque, felype santiago, liliane sheyla. justificativa alguém já sobrescreveu o código...
TRANSCRIPT
Análise de Desempenho dos sistemas de
controle de versão SVN e GitFelipe Buarque, Felype Santiago, Liliane Sheyla
Justificativa Alguém já sobrescreveu o código de outra
pessoa por acidente e acabou perdendo as alterações?
Você sabe quem e em que momento e em que parte um artefato foi alterado?
Tem dificuldade em recuperar o código de uma versão anterior que está em produção?
Uso de Sistema de controle de versão Gerenciar artefatos produzidos por uma
equipe de desenvolvimento de software
Abordagem Centralizada ou distribuída?
Sistema de Controle de Versão Centralizado
Armazenamento centralizado Histórico Universal de Revisões Trabalho cooperativo Ramificações Análise de diferenças entre
versões SVN(Subversion)
Sistema de Controle de Versão Distribuído
Rapidez Autonomia Redução de custos com o
servidor Confiabilidade Git; Mercurial
Problema Visando maior produtividade e eficiência
na usabilidade dos controles de versão no decorrer do projeto, é mais vantajoso que uma equipe que utiliza um controle de versão centralizado (SVN) migrar para um distribuído(Git) ou permanecer com um centralizado?
Objetivo da Pesquisa Analisar a utilização das ferramentas
SVN e Git, com o propósito de definir qual o sistema de controle de versão é mais eficiente em relação a sua usabilidade.
Especificação da Amostra 32 amostras: Alunos da Disciplina de
Engenharia de Software Experimental e convidados.
2 Grupos Divisão em 2 grupos aleatoriamente Mais de 1 ano de experiência Treinamento para ambos os times
Métricas Medir usabilidade definida na ISO 9241-11 Observar a interação do usuário com a
ferramenta de controle de versãoTCA - Tempo de Configuração de AmbienteTCB - Tempo de criação de branchTIB - Tempo de Integração de branchTIL - Tempo de Integrar as mudanças Locais ao
Tronco
Análise exploratória Verificar normalidade dos dados
Teste de AderênciaAnálise do HistogramasAnálise dos BoxplotsAnálise dos gráficos do Quartis
Teste de AderênciaH0: Os dados não seguem uma distribuição normalH1: Os dados seguem uma distribuicao normal
Análise dos Histogramas
Análise dos Boxplots
Análise dos Gráficos dos Quartis
Metodologia Formulação das Hipóteses Projeto do Experimento Análise Estatística
Formulação da hipóteses Hipótese Alternativa (H01...4): Os tempos
definidos pelas métricas são iguais utilizando-se SVN ou Git como sistema de controle de versão.
Em complemento, hipóteses alternativas são definidas para serem aceitas quando a hipótese nula correspondente for negada.
Formulação da hipóteses Hipótese Alternativa (H11...4): Os tempos
definidos pelas métricas utilizando-se SVN como controle de versão são menores do que os tempos coletados utilizando-se Git.
Formulação da hipóteses Hipótese Alternativa (H11...4): Os tempos
definidos pelas métricas utilizando-se SVN como controle de versão são maiores do que os tempos coletados utilizando-se Git.
Projeto do Experimento Experimento com um fator e dois tratamentos Dois grupos de 16 pessoas cada um Tags do software Jajuk As atividades a serem executadas descritas Tempos armazenados em planilha eletrônica Eclipse Plugin Subclipse/Repositório Google Code Plugin eGit/Repositório Gitorius
Estatística t-teste
Análise dos Resultados
Análise dos Resultados
Conclusões Usabilidade da ferramenta Git se faz mais
eficiente do que a ferramenta SVN, pois a mesma apresenta melhor desempenho no que se diz respeito à realização das atividades de criação de branch, integração de branch e integração de mudanças locais ao tronco, enquanto que o SVN só foi mais eficiente na realização da atividade de configuração do ambiente