ferramentas para gerenciamento de configuração de software
TRANSCRIPT
Ferramentas para Gerenciamento de Configuração de Software
Milena Guessi Margarido
Prof.a Dra. Elisa Yumi Nakagawa
• • •SSC-0527 Engenharia de Software – 2016
Universidade de São Paulo
Revisão
Motivação Grandes equipes de desenvolvimento
Trabalho colaborativo em um ambiente distribuído
Mudanças são naturais e precisam ser gerenciadas
3
Revisão
Gerenciamento de Configuração de Software Atividade guarda-chuva
Cobre todo o ciclo de vida do software
Reúne um conjunto de atividades que podem ser adaptadas para um tipo de projeto ou para um grau de rigor com o qual a engenharia de software deve ser aplicada
4
Revisão
Gerenciamento de Configuração de Software Objetivos:
Melhorar a qualidade
Reduzir/controlar erros
Identificar, organizar, controlar e comunicar mudanças
5
Conteúdo do RepositórioFonte: Pressman, R. S. and Maxim,
B. R. Software Engineering. 8 ed.
Mc Graw Hill Education. 2015.
7
ConcurrentVersionsSystem(CVS)
Site oficial: http://cvs.nongnu.org/
Software livre
Destaque: Cliente-servidor
Unreserved checkouts: um arquivo pode ser trabalhado por mais de um desenvolvedor ao mesmo tempo
Vendor branches: compartilhamento de versões próprias de arquivos selecionados
Materiais extras: Version Management with CVS por Per
Cederqvist et al. http://ftp.gnu.org/non-gnu/cvs/source/stable/1.11.23/cederqvist-1.11.23.pdf
9
Subversion(SVN)
Site oficial: https://subversion.apache.org/
Software livre/aberto
Destaques: Cliente-servidor
Atomic operations: “aplica todas as mudanças ou nenhuma, de modo que nenhuma mudança parcial poderá quebrar o fonte original.”
Materiais extras: Livro Version Control with Subversionde Collins-
Sussman, B., Fitzpatrick, B. W., e Michael Pilato, C. http://svnbook.red-bean.com/
10
Git
Site oficial: https://git-scm.com/
Software aberto
Destaque: Desempenho
Distribuído
Melhor apoio para criação de branches Ex: para desenvolver novas funcionalidades ou corrigir erros
Fácil mudança entre branches
Fazer commits pequenos incrementais
Cherry-pick commits de outros branches ou commits
Materiais extras: Tutorial Try Git https://try.github.io/
Apresentação Git for Beginners de Anthony Bairehttp://people.irisa.fr/Anthony.Baire/git/git-for-beginners-handout.pdf
Tutorial Learn Git Branchinghttp://pcottle.github.io/learnGitBranching/
Livro Pro Git de Scott Chacon e Ben Straub https://git-scm.com/book
Blog http://gitready.com/
11
TortoiseWindows client
SVN
Site oficial http://tortoisesvn.net/
Software livre
Material extra: Livro TortoiseSVN 1.7 de
Harrison, L. https://www.packtpub.com/application-development/tortoisesvn-17-beginners-guide
Git
Site oficial https://tortoisegit.org/
Software livre
Material extra: Manualde Onken, L.,
Large, S., Li, F., e Strickroth, S. https://tortoisegit.org/docs/tortoisegit/
13
Comunidade
Dica para escolher uma ferramenta: “funciona bem para a equipe"
Apoia o processo que é seguido pela equipe
Segue um processo que pode ser adotado pela equipe
18