19
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

Ferramentas para Gerenciamento de Configuração de Software

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

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

Sumário

1. Revisão da última aula

2. Ferramentas

3. Comunidade

4. Bibliografia

2

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

Revisão

6

Conteúdo do RepositórioFonte: Pressman, R. S. and Maxim,

B. R. Software Engineering. 8 ed.

Mc Graw Hill Education. 2015.

7

Ferramentas

Concurrent Versions System (CVS)

Subversion (SVN)

Git

TurtoiseGit

8

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

Git

12

Fonte: http://xkcd.com/1597

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

TortoiseSVNWindows client

14

Context menu

Merge screen

TortoiseGitWindows client

15

Repository Browser

Revision Graphic

Ferramentas

16

Fonte: Louridas, P. Version Control. IEEE Software. p. 104-107. 2006.

ComunidadeCM CrossRoadshttp://www.cmcrossroads.com/

17

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

Bibliografia

Louridas, P. Version Control. IEEE Software. p. 104-107. 2006.

Spinellis, D. Git. IEEE Software. p. 100-101. Maio/Junho 2012

Spinellis, D. Don’t Install Software by Hand. IEEE Software. p. 86-87. Julho/Agosto 2012.

19