Controle de versão e fluxo de trabalho em projetos de desenvolvimento de software

Tamanho: px
Começar a partir da página:

Download "Controle de versão e fluxo de trabalho em projetos de desenvolvimento de software"

Transcrição

1 Controle de versão e fluxo de trabalho em projetos de desenvolvimento de software Doutorado Multi-Institucional em Ciência da Computação UFBA UNIFACS UEFS terceiro@dcc.ufba.br 8 de novembro de 2008

2 Termos de uso Introdução Este material pode ser usado segundo os termos da licença CreativeCommons Atribuição-Uso Não-Comercial-Compartilhamento pela mesma Licença 2.5 Brasil: Em resumo, é permitido: Copiar, distribuir, exibir e executar a obra Criar obras derivadas

3 Termos de uso condições Desde que: Atribuição. Você deve dar crédito ao autor original, da forma especificada pelo Autor ou licenciante. Uso Não-Comercial. Você não pode utilizar esta obra com finalidades comerciais. Compartilhamento pela mesma Licença. Se você alterar, transformar, ou criar Outra obra com base nesta, você somente poderá distribuir a obra resultante sob Uma licença idêntica a esta. Para cada novo uso ou distribuição, você deve deixar claro para outros os termos da licença desta obra. Qualquer uma destas condições podem ser renunciadas, desde que Você obtenha permissão do autor.

4 Resumo Introdução Será apresentado um breve histórico dos sistemas de controle de versão livres, tanto do ponto de vista tecnológico quanto do modelo de fluxo de trabalho pressuposto pelos mesmos. Será dada ênfase em sistemas de controle de versão distribuído, em especial ( e como eles podem suportar diferentes workflows em desenvolvimento de software.

5 Objetivos deste curso Motivar para o uso de sistemas de controle de versão. Aprender conceitos básicos sobre a utilização de sistemas de controle de versão em geral. Introduzir o uso de, um sistema de controle de versão distribuído. Discutir possíveis workflows em projetos de software, e como um sistema de controle de versão como pode suportá-los.

6 Roteiro Introdução 1 Introdução 2 Uma visão histórica dos sistemas de controle de versão 3 Controle de versão distribuído com 4 Fluxo de trabalho em projetos de desenvolvimento de software 5

7 Roteiro Introdução 1 Introdução 2 Uma visão histórica dos sistemas de controle de versão 3 Controle de versão distribuído com 4 Fluxo de trabalho em projetos de desenvolvimento de software 5

8 Motivação Introdução

9 Motivação Introdução Todo software útil passará por mudanças.

10 Motivação Introdução Todo software útil passará por mudanças. As mudanças pelas quais o software passa precisam ser documentadas.

11 Motivação Introdução Todo software útil passará por mudanças. As mudanças pelas quais o software passa precisam ser documentadas. As várias mudanças específicas necessárias durante o ciclo de vida de um software devem poder ser:

12 Motivação Introdução Todo software útil passará por mudanças. As mudanças pelas quais o software passa precisam ser documentadas. As várias mudanças específicas necessárias durante o ciclo de vida de um software devem poder ser: separadas uma da outra

13 Motivação Introdução Todo software útil passará por mudanças. As mudanças pelas quais o software passa precisam ser documentadas. As várias mudanças específicas necessárias durante o ciclo de vida de um software devem poder ser: separadas uma da outra delimitadas no tempo e ordenadas

14 Motivação Introdução Todo software útil passará por mudanças. As mudanças pelas quais o software passa precisam ser documentadas. As várias mudanças específicas necessárias durante o ciclo de vida de um software devem poder ser: separadas uma da outra delimitadas no tempo e ordenadas distribuídas por uma equipe

15 Sistemas de controle de versão São sistemas que permitem armazenar conteúdo de forma que é possível:

16 Sistemas de controle de versão São sistemas que permitem armazenar conteúdo de forma que é possível: Inspecionar o histórico de alterações a esse conteúdo;

17 Sistemas de controle de versão São sistemas que permitem armazenar conteúdo de forma que é possível: Inspecionar o histórico de alterações a esse conteúdo; Verificar o teor de uma alteração específica que pode ter acontecido num momento arbitrário do passado;

18 Sistemas de controle de versão São sistemas que permitem armazenar conteúdo de forma que é possível: Inspecionar o histórico de alterações a esse conteúdo; Verificar o teor de uma alteração específica que pode ter acontecido num momento arbitrário do passado; Gerenciar versões diferentes de conteúdo, e combiná-las de forma a gerar uma outra versão.

19 Sistemas de controle de versão São sistemas que permitem armazenar conteúdo de forma que é possível: Inspecionar o histórico de alterações a esse conteúdo; Verificar o teor de uma alteração específica que pode ter acontecido num momento arbitrário do passado; Gerenciar versões diferentes de conteúdo, e combiná-las de forma a gerar uma outra versão. No caso de desenvolvimento de software, esse conteúdo é o código-fonte.

20 Porquê você deve usar controle de versão

21 Porquê você deve usar controle de versão É possível determinar qual mudança introduziu um bug.

22 Porquê você deve usar controle de versão É possível determinar qual mudança introduziu um bug. Você consegue ter acesso fácil a diferentes versões do software (produção, desenvolvimento etc)

23 Porquê você deve usar controle de versão É possível determinar qual mudança introduziu um bug. Você consegue ter acesso fácil a diferentes versões do software (produção, desenvolvimento etc) É impossível desenvolver com equipes distribuídas sem usar controle de versão.

24 Porquê você deve usar controle de versão É possível determinar qual mudança introduziu um bug. Você consegue ter acesso fácil a diferentes versões do software (produção, desenvolvimento etc) É impossível desenvolver com equipes distribuídas sem usar controle de versão. É possível identificar as mudanças exatas que foram necessárias para introduzir uma nova funcionalidade.

25 Roteiro Introdução cp -r rcs CVS svn Controle de versão distribuído 1 Introdução 2 Uma visão histórica dos sistemas de controle de versão 3 Controle de versão distribuído com 4 Fluxo de trabalho em projetos de desenvolvimento de software 5

26 cp -r rcs CVS svn Controle de versão distribuído Uma visão histórica dos sistemas de controle de versão

27 cp -r rcs CVS svn Controle de versão distribuído Uma visão histórica dos sistemas de controle de versão Objetivo: mostrar o histórico das ferramentas de controle de versão do ponto de vista do usuário, sem ressaltar diferenças nas implementações das ferramentas.

28 cp -r rcs CVS svn Controle de versão distribuído Uma visão histórica dos sistemas de controle de versão Objetivo: mostrar o histórico das ferramentas de controle de versão do ponto de vista do usuário, sem ressaltar diferenças nas implementações das ferramentas. Reflete a minha experiência pessoal.

29 cp -r rcs CVS svn Controle de versão distribuído Uma visão histórica dos sistemas de controle de versão Objetivo: mostrar o histórico das ferramentas de controle de versão do ponto de vista do usuário, sem ressaltar diferenças nas implementações das ferramentas. Reflete a minha experiência pessoal. Provavelmente reflete a experiência pessoal de muitas outras pessoas que lidam com software livre há algum tempo.

30 cp -r Introdução cp -r rcs CVS svn Controle de versão distribuído Técnica mais primitiva e até intuitiva de controle de versão Bastante usada por quem tem costume de trocar documentos por . projeto-v1.odt, projeto-v2.odt, projeto-v3.odt... em projetos de software, vai-se guardando cópias de diretórios inteiros para manter o histórico.

31 cp -r: Vantagens e desvantagens cp -r rcs CVS svn Controle de versão distribuído Vantagens Não depende de nenhuma ferramenta Simples de fazer Desvantagens Não mantém o histórico de alterações individuais Difícil de analisar Difícil de trabalhar em equipe

32 rcs Introdução cp -r rcs CVS svn Controle de versão distribuído The Revision Control System (RCS) manages multiple revisions of files. RCS automates the storing, retrieval, logging, identification, and merging of revisions. RCS is useful for text that is revised frequently, including source code, programs, documentation, graphics, papers, and form letters.

33 cp -r rcs CVS svn Controle de versão distribuído rcs, começando a usar ferramentas para controle de versão Melhorias Já é possível trabalhar em equipe Dificuldades restantes Desenvolvedores precisam ter acesso ao mesmo sistema operacional. Ainda não é possível trabalhar em paralelo de verdade Controle de versão ainda individualizado por arquivo.

34 rcs: exemplo Introdução cp -r rcs CVS svn Controle de versão distribuído

35 rcs: exemplo Introdução cp -r rcs CVS svn Controle de versão distribuído

36 rcs: exemplo Introdução cp -r rcs CVS svn Controle de versão distribuído

37 rcs: exemplo Introdução cp -r rcs CVS svn Controle de versão distribuído

38 rcs: exemplo Introdução cp -r rcs CVS svn Controle de versão distribuído

39 CVS Introdução cp -r rcs CVS svn Controle de versão distribuído CVS is a version control system, an important component of Source Configuration Management (SCM). Using it, you can record the history of sources files, and documents. It fills a similar role to the free software RCS, PRCS, and Aegis packages. Concurrent Versions System

40 cp -r rcs CVS svn Controle de versão distribuído CVS, indo onde nenhum homem jamais esteve Avanços Possível trabalhar em equipe em computadores diferentes. Possível para duas pessoas trabalharem no mesmo arquivo. Pode-se fazer referência ao estado de determinados arquivos num momento do tempo (tags) Questões remanescentes Toda operação que envolve o histórico necessita que se esteja on-line. Depende um repositório central. Controle de versão ainda é individualizado por arquivo.

41 CVS: desenvolvimento distribuído cp -r rcs CVS svn Controle de versão distribuído

42 CVS: desenvolvimento distribuído cp -r rcs CVS svn Controle de versão distribuído

43 CVS: desenvolvimento distribuído cp -r rcs CVS svn Controle de versão distribuído

44 CVS: desenvolvimento distribuído cp -r rcs CVS svn Controle de versão distribuído

45 cp -r rcs CVS svn Controle de versão distribuído Interação de um desenvolvedor com repositório centralizado

46 cp -r rcs CVS svn Controle de versão distribuído Interação de um desenvolvedor com repositório centralizado

47 cp -r rcs CVS svn Controle de versão distribuído Interação de um desenvolvedor com repositório centralizado

48 cp -r rcs CVS svn Controle de versão distribuído Interação de um desenvolvedor com repositório centralizado

49 cp -r rcs CVS svn Controle de versão distribuído Interação de um desenvolvedor com repositório centralizado

50 cp -r rcs CVS svn Controle de versão distribuído Interação de um desenvolvedor com repositório centralizado

51 cp -r rcs CVS svn Controle de versão distribuído Interação de um desenvolvedor com repositório centralizado

52 cp -r rcs CVS svn Controle de versão distribuído Interação de um desenvolvedor com repositório centralizado

53 svn Introdução cp -r rcs CVS svn Controle de versão distribuído CVS done right

54 svn, um CVS melhorzinho cp -r rcs CVS svn Controle de versão distribuído Melhorou mesmo Commits atômicos: controle de versão da árvore inteira. Manteve Ainda depende-se de estar on-line para quase todas as operações. Ainda depende-se de um repositório centralizado.

55 svn: exemplo Introdução cp -r rcs CVS svn Controle de versão distribuído

56 svn: exemplo Introdução cp -r rcs CVS svn Controle de versão distribuído

57 svn: exemplo Introdução cp -r rcs CVS svn Controle de versão distribuído

58 svn: exemplo Introdução cp -r rcs CVS svn Controle de versão distribuído

59 cp -r rcs CVS svn Controle de versão distribuído Problemas com controle de versão centralizado

60 cp -r rcs CVS svn Controle de versão distribuído Problemas com controle de versão centralizado Necessidade de estar sempre conectado.

61 cp -r rcs CVS svn Controle de versão distribuído Problemas com controle de versão centralizado Necessidade de estar sempre conectado. Desenvolvedor é forçado a resolver conflitos imediatamente.

62 cp -r rcs CVS svn Controle de versão distribuído Problemas com controle de versão centralizado Necessidade de estar sempre conectado. Desenvolvedor é forçado a resolver conflitos imediatamente. Repositório central é um ponto central de falha.

63 cp -r rcs CVS svn Controle de versão distribuído Problemas com controle de versão centralizado Necessidade de estar sempre conectado. Desenvolvedor é forçado a resolver conflitos imediatamente. Repositório central é um ponto central de falha. Necessidade de conceder permissão de escrita explicitamente emperra a colaboração.

64 Controle de versão Distribuído cp -r rcs CVS svn Controle de versão distribuído Um sistema de controle de versão distribuído:

65 Controle de versão Distribuído cp -r rcs CVS svn Controle de versão distribuído Um sistema de controle de versão distribuído: não depende de um repositório central.

66 Controle de versão Distribuído cp -r rcs CVS svn Controle de versão distribuído Um sistema de controle de versão distribuído: não depende de um repositório central. permite que diferentes usuário evoluam em direções diferentes (branches) a partir de um mesmo ponto comum.

67 Controle de versão Distribuído cp -r rcs CVS svn Controle de versão distribuído Um sistema de controle de versão distribuído: não depende de um repositório central. permite que diferentes usuário evoluam em direções diferentes (branches) a partir de um mesmo ponto comum. oferece ferramentas para fazer merge de diferentes branches de volta ao branch principal.

68 Controle de versão Distribuído cp -r rcs CVS svn Controle de versão distribuído Um sistema de controle de versão distribuído: não depende de um repositório central. permite que diferentes usuário evoluam em direções diferentes (branches) a partir de um mesmo ponto comum. oferece ferramentas para fazer merge de diferentes branches de volta ao branch principal. (entre outras características)

69 Controle de versão distribuído cp -r rcs CVS svn Controle de versão distribuído

70 Controle de versão distribuído cp -r rcs CVS svn Controle de versão distribuído

71 Controle de versão distribuído cp -r rcs CVS svn Controle de versão distribuído

72 Controle de versão distribuído cp -r rcs CVS svn Controle de versão distribuído

73 Resumindo a história Introdução cp -r rcs CVS svn Controle de versão distribuído Figura: Evolução dos VCS, do ponto de vista do usuário

74 Roteiro Introdução Operação básica Branching e merging Repositórios remotos 1 Introdução 2 Uma visão histórica dos sistemas de controle de versão 3 Controle de versão distribuído com 4 Fluxo de trabalho em projetos de desenvolvimento de software 5

75 Sobre o Introdução Operação básica Branching e merging Repositórios remotos Pacotes disponíveis para diversos sistemas operacionais. Principal interface: programa (linha de comando).

76 Iniciando um repositório Operação básica Branching e merging Repositórios remotos init Inicializa o repositório, criando um diretório. na raiz do diretório atual.

77 Iniciando um repositório Operação básica Branching e merging Repositórios remotos init Inicializa o repositório, criando um diretório. na raiz do diretório atual. add [ ARQ1 ARQ2...] Informa ao sobre arquivos que devem ser mantidos sob controle de versão.

78 Iniciando um repositório Operação básica Branching e merging Repositórios remotos init Inicializa o repositório, criando um diretório. na raiz do diretório atual. add [ ARQ1 ARQ2...] Informa ao sobre arquivos que devem ser mantidos sob controle de versão. commit Confirma alterações nos arquivos mantidos sob controle de versão (ou que estão sendo incluídos).

79 init, add, commit Introdução Operação básica Branching e merging Repositórios remotos

80 Verificando trabalho realizado Operação básica Branching e merging Repositórios remotos diff Lista as diferenças entre o conteúdo atual do diretório e o último commit.

81 Verificando trabalho realizado Operação básica Branching e merging Repositórios remotos diff Lista as diferenças entre o conteúdo atual do diretório e o último commit. log Lista todos os commits realizados no branch atual.

82 Verificando trabalho realizado Operação básica Branching e merging Repositórios remotos diff Lista as diferenças entre o conteúdo atual do diretório e o último commit. log Lista todos os commits realizados no branch atual. show [COMMIT] Mostra o conteúdo de COMMIT, ou do topo do branch atual se COMMIT é omitido.

83 diff Introdução Operação básica Branching e merging Repositórios remotos

84 log Introdução Operação básica Branching e merging Repositórios remotos

85 show Introdução Operação básica Branching e merging Repositórios remotos

86 Ferramentas gráficas Introdução Operação básica Branching e merging Repositórios remotos k. giggle. outras?

87 Branches Introdução Operação básica Branching e merging Repositórios remotos branch [NOVOBRANCH BRANCHANTIGO] Cria um novo branch com nome NOVOBRANCH, a partir do ponto onde está BRANCHANTIGO.

88 Branches Introdução Operação básica Branching e merging Repositórios remotos branch [NOVOBRANCH BRANCHANTIGO] Cria um novo branch com nome NOVOBRANCH, a partir do ponto onde está BRANCHANTIGO. branch Lista os branches existentes.

89 Branches Introdução Operação básica Branching e merging Repositórios remotos branch [NOVOBRANCH BRANCHANTIGO] Cria um novo branch com nome NOVOBRANCH, a partir do ponto onde está BRANCHANTIGO. branch Lista os branches existentes. checkout [BRANCH] Muda para o branch BRANCH.

90 Branches Introdução Operação básica Branching e merging Repositórios remotos branch [NOVOBRANCH BRANCHANTIGO] Cria um novo branch com nome NOVOBRANCH, a partir do ponto onde está BRANCHANTIGO. branch Lista os branches existentes. checkout [BRANCH] Muda para o branch BRANCH. merge [BRANCH] Combina no branch atual as mudanças que estão no branch BRANCH e que não estão no branch atual.

91 branch, merge Introdução Operação básica Branching e merging Repositórios remotos

92 Operação básica Branching e merging Repositórios remotos Branching e merging, graficamente

93 Operação básica Branching e merging Repositórios remotos Branching e merging, graficamente

94 Operação básica Branching e merging Repositórios remotos Branching e merging, graficamente

95 Operação básica Branching e merging Repositórios remotos Branching e merging, graficamente

96 Operação básica Branching e merging Repositórios remotos Branching e merging, graficamente

97 Operação básica Branching e merging Repositórios remotos Branching e merging, graficamente

98 Operação básica Branching e merging Repositórios remotos Branching e merging, graficamente

99 Os dois tipos de merge Introdução Operação básica Branching e merging Repositórios remotos merge tradicional : quando os dois branches já divergiram um o outro. Acabamos de ver um desses. Commit de merge tem dois pais, o que faz o histórico deixar de ser linear.

100 Os dois tipos de merge Introdução Operação básica Branching e merging Repositórios remotos merge tradicional : quando os dois branches já divergiram um o outro. Acabamos de ver um desses. Commit de merge tem dois pais, o que faz o histórico deixar de ser linear. Fast forward: quando o branch principal não tem atualizações em relação ao ponto a partir do qual o branch do qual está se fazendo merge foi criado. Não é necessária a criação de outro commit. A ponta do branch principal simplesmente é movida para a ponta do novo branch. histórico de mantém linear.

101 Fast forward Introdução Operação básica Branching e merging Repositórios remotos

102 Fast forward Introdução Operação básica Branching e merging Repositórios remotos

103 Fast forward Introdução Operação básica Branching e merging Repositórios remotos

104 Fast forward Introdução Operação básica Branching e merging Repositórios remotos

105 Fast forward Introdução Operação básica Branching e merging Repositórios remotos

106 Rebase: reescrevendo o histórico Operação básica Branching e merging Repositórios remotos rebase BRANCH Reaplica as mudanças realizadas no branch atual a partir do ponto em que o branch BRANCH foi criado em relação ao estado atual do branch BRANCH, e move o branch atual para o último commit resultante.

107 Rebase: reescrevendo o histórico Operação básica Branching e merging Repositórios remotos rebase BRANCH Reaplica as mudanças realizadas no branch atual a partir do ponto em que o branch BRANCH foi criado em relação ao estado atual do branch BRANCH, e move o branch atual para o último commit resultante. Usado para linearizar o histórico.

108 Rebase: reescrevendo o histórico Operação básica Branching e merging Repositórios remotos rebase BRANCH Reaplica as mudanças realizadas no branch atual a partir do ponto em que o branch BRANCH foi criado em relação ao estado atual do branch BRANCH, e move o branch atual para o último commit resultante. Usado para linearizar o histórico. Não deve ser usado se o estado do branch atual já foi publicado.

109 rebase, graficamente Introdução Operação básica Branching e merging Repositórios remotos

110 rebase, graficamente Introdução Operação básica Branching e merging Repositórios remotos

111 rebase, graficamente Introdução Operação básica Branching e merging Repositórios remotos

112 rebase, graficamente Introdução Operação básica Branching e merging Repositórios remotos

113 rebase, graficamente Introdução Operação básica Branching e merging Repositórios remotos

114 rebase, graficamente Introdução Operação básica Branching e merging Repositórios remotos

115 rebase, graficamente Introdução Operação básica Branching e merging Repositórios remotos

116 Clonando um repositório Operação básica Branching e merging Repositórios remotos clone URL Faz um clone local de um repositório público localizado em URL.

117 Repositórios remotos em geral Operação básica Branching e merging Repositórios remotos remote add NAME URL Associa o nome NAME ao repositório remoto publicado em URL

118 Repositórios remotos em geral Operação básica Branching e merging Repositórios remotos remote add NAME URL Associa o nome NAME ao repositório remoto publicado em URL fetch NAME Faz download dos objetos que estão no repositório remoto NAME mas que não estão no repositório local.

119 Repositórios remotos em geral Operação básica Branching e merging Repositórios remotos remote add NAME URL Associa o nome NAME ao repositório remoto publicado em URL fetch NAME Faz download dos objetos que estão no repositório remoto NAME mas que não estão no repositório local. clone URL é mais ou menos equivalente a: init remote add origin URL fetch origin branch --track master origin/master

120 Operação básica Branching e merging Repositórios remotos Interagindo com repositórios remotos fetch de tempos em tempos merge origin/master para aplicar as mudanças no branch master remoto ( upstream ) ao branch (master?) local.

121 Operação básica Branching e merging Repositórios remotos Interagindo com repositórios remotos fetch de tempos em tempos merge origin/master para aplicar as mudanças no branch master remoto ( upstream ) ao branch (master?) local. pull faz as duas coisas automaticamente: baixa os objetos presentes no repositório remoto de onde o branch local atual foi derivado. Aplica as mudanças necessárias para fazer o branch local atual igual ao branch remoto original.

122 Operação básica Branching e merging Repositórios remotos Interagindo com repositórios remotos fetch de tempos em tempos merge origin/master para aplicar as mudanças no branch master remoto ( upstream ) ao branch (master?) local. pull faz as duas coisas automaticamente: baixa os objetos presentes no repositório remoto de onde o branch local atual foi derivado. Aplica as mudanças necessárias para fazer o branch local atual igual ao branch remoto original. É mais ou menos equivalente a: fetch origin merge origin/master

123 Publicando um repositório Operação básica Branching e merging Repositórios remotos

124 Publicando um repositório Operação básica Branching e merging Repositórios remotos remote add public [user@]server:/path/to/repo. Deve existir um repositório em /path/to/repo. no servidor remoto server, e user deve ter acesso ssh à máquina.

125 Publicando um repositório Operação básica Branching e merging Repositórios remotos remote add public [user@]server:/path/to/repo. Deve existir um repositório em /path/to/repo. no servidor remoto server, e user deve ter acesso ssh à máquina. push public [master BRANCH1 BRANCH all] Faz upload de todos os objetos presentes nos branches locais master BRANCH1 BRANCH2... que também não estejam no repositório public, e atualiza esses branches no repositório remoto para refletir seu estado no repositório local.

126 Publicando um repositório Operação básica Branching e merging Repositórios remotos remote add public [user@]server:/path/to/repo. Deve existir um repositório em /path/to/repo. no servidor remoto server, e user deve ter acesso ssh à máquina. push public [master BRANCH1 BRANCH all] Faz upload de todos os objetos presentes nos branches locais master BRANCH1 BRANCH2... que também não estejam no repositório public, e atualiza esses branches no repositório remoto para refletir seu estado no repositório local. push por default empurra para o repositório origin.

127 clone, pull Introdução Operação básica Branching e merging Repositórios remotos

128 push Introdução Operação básica Branching e merging Repositórios remotos

129 remote, fetch Introdução Operação básica Branching e merging Repositórios remotos

130 Roteiro Introdução Repositório central Gerente de Integração Ditador e Tenentes 1 Introdução 2 Uma visão histórica dos sistemas de controle de versão 3 Controle de versão distribuído com 4 Fluxo de trabalho em projetos de desenvolvimento de software 5

131 Objetivos Introdução Repositório central Gerente de Integração Ditador e Tenentes Apresentar fluxos de trabalho comumente utilizados com o auxílio de sistemas de controle de versão. Identificar quais desses fluxos podem ser implementados com sistemas de controle de versão centralizados. sistemas de controle de versão distribuídos. Discutir aplicabilidade desses fluxos a diferentes contextos, suas vantagens e desvantagens.

132 3 diferentes fluxos de trabalho Repositório central Gerente de Integração Ditador e Tenentes Repositório central Gerente de Integração Ditador e Tenentes

133 Repositório central Introdução Repositório central Gerente de Integração Ditador e Tenentes

134 Repositório central Introdução Repositório central Gerente de Integração Ditador e Tenentes

135 Repositório central Introdução Repositório central Gerente de Integração Ditador e Tenentes

136 Repositório central Introdução Repositório central Gerente de Integração Ditador e Tenentes

137 Repositório central Introdução Repositório central Gerente de Integração Ditador e Tenentes

138 Repositório central Introdução Repositório central Gerente de Integração Ditador e Tenentes

139 Repositório central discussão Repositório central Gerente de Integração Ditador e Tenentes Aplicável com controle de versão centralizado e distribuído Vantagens Desvantagens

140 Repositório central discussão Repositório central Gerente de Integração Ditador e Tenentes Aplicável com controle de versão centralizado e distribuído Vantagens Paralelismo. Desvantagens

141 Repositório central discussão Repositório central Gerente de Integração Ditador e Tenentes Aplicável com controle de versão centralizado e distribuído Vantagens Paralelismo. Simplicidade. Desvantagens

142 Repositório central discussão Repositório central Gerente de Integração Ditador e Tenentes Aplicável com controle de versão centralizado e distribuído Vantagens Paralelismo. Simplicidade. Desvantagens Contribuições diretas dependem de permissão expĺıcita de escrita no repositório.

143 Repositório central discussão Repositório central Gerente de Integração Ditador e Tenentes Aplicável com controle de versão centralizado e distribuído Vantagens Paralelismo. Simplicidade. Desvantagens Contribuições diretas dependem de permissão expĺıcita de escrita no repositório. Sem um sistema de controle de versão distribuído, os contribuidores têm dificuldades em trabalhar em mais de uma funcionalidade/bug.

144 Repositório central discussão Repositório central Gerente de Integração Ditador e Tenentes Aplicável com controle de versão centralizado e distribuído Vantagens Paralelismo. Simplicidade. Desvantagens Contribuições diretas dependem de permissão expĺıcita de escrita no repositório. Sem um sistema de controle de versão distribuído, os contribuidores têm dificuldades em trabalhar em mais de uma funcionalidade/bug. Repositório central é um ponto de falha.

145 Gerente de Integração Introdução Repositório central Gerente de Integração Ditador e Tenentes

146 Gerente de Integração Introdução Repositório central Gerente de Integração Ditador e Tenentes

147 Gerente de Integração Introdução Repositório central Gerente de Integração Ditador e Tenentes

148 Gerente de Integração discussão Repositório central Gerente de Integração Ditador e Tenentes Difícil de aplicar sem controle de versão distribuído. Mais interação social entre os desenvolvedores. A depender do contexto, o gerente de integração pode ser uma máquina. Vantagens Desvantagens

149 Gerente de Integração discussão Repositório central Gerente de Integração Ditador e Tenentes Difícil de aplicar sem controle de versão distribuído. Mais interação social entre os desenvolvedores. A depender do contexto, o gerente de integração pode ser uma máquina. Vantagens Atividade expĺıcita de inspeção/revisão/teste. Desvantagens

150 Gerente de Integração discussão Repositório central Gerente de Integração Ditador e Tenentes Difícil de aplicar sem controle de versão distribuído. Mais interação social entre os desenvolvedores. A depender do contexto, o gerente de integração pode ser uma máquina. Vantagens Atividade expĺıcita de inspeção/revisão/teste. Mais controle sobre a base de código e sobre a modelo conceitual do design. Desvantagens

151 Gerente de Integração discussão Repositório central Gerente de Integração Ditador e Tenentes Difícil de aplicar sem controle de versão distribuído. Mais interação social entre os desenvolvedores. A depender do contexto, o gerente de integração pode ser uma máquina. Vantagens Atividade expĺıcita de inspeção/revisão/teste. Mais controle sobre a base de código e sobre a modelo conceitual do design. Desvantagens Gerente de Integração é um ponto de falha.

152 Gerente de Integração discussão Repositório central Gerente de Integração Ditador e Tenentes Difícil de aplicar sem controle de versão distribuído. Mais interação social entre os desenvolvedores. A depender do contexto, o gerente de integração pode ser uma máquina. Vantagens Atividade expĺıcita de inspeção/revisão/teste. Mais controle sobre a base de código e sobre a modelo conceitual do design. Desvantagens Gerente de Integração é um ponto de falha. Problemas de escala se o gerente de integração for humano.

153 Gerente de Integração discussão Repositório central Gerente de Integração Ditador e Tenentes Difícil de aplicar sem controle de versão distribuído. Mais interação social entre os desenvolvedores. A depender do contexto, o gerente de integração pode ser uma máquina. Vantagens Atividade expĺıcita de inspeção/revisão/teste. Mais controle sobre a base de código e sobre a modelo conceitual do design. Desvantagens Gerente de Integração é um ponto de falha. Problemas de escala se o gerente de integração for humano. Pode ser difícil para equipes inexperientes.

154 Ditador e Tenentes Introdução Repositório central Gerente de Integração Ditador e Tenentes

155 Ditador e Tenentes Introdução Repositório central Gerente de Integração Ditador e Tenentes

156 Ditador e Tenentes Introdução Repositório central Gerente de Integração Ditador e Tenentes

157 Ditador e Tenentes Introdução Repositório central Gerente de Integração Ditador e Tenentes

158 Ditador e Tenentes discussão Repositório central Gerente de Integração Ditador e Tenentes Uma variação recursiva de Gerente de integração. Praticamente impossível sem um sistema de controle de versão distribuído. Vantagens Desvantagens

159 Ditador e Tenentes discussão Repositório central Gerente de Integração Ditador e Tenentes Uma variação recursiva de Gerente de integração. Praticamente impossível sem um sistema de controle de versão distribuído. Vantagens Melhor escalabilidade para projetos grandes. Desvantagens

160 Ditador e Tenentes discussão Repositório central Gerente de Integração Ditador e Tenentes Uma variação recursiva de Gerente de integração. Praticamente impossível sem um sistema de controle de versão distribuído. Vantagens Melhor escalabilidade para projetos grandes. Menos pontos de falha Desvantagens

161 Ditador e Tenentes discussão Repositório central Gerente de Integração Ditador e Tenentes Uma variação recursiva de Gerente de integração. Praticamente impossível sem um sistema de controle de versão distribuído. Vantagens Melhor escalabilidade para projetos grandes. Menos pontos de falha Desvantagens...

162 Roteiro Introdução 1 Introdução 2 Uma visão histórica dos sistemas de controle de versão 3 Controle de versão distribuído com 4 Fluxo de trabalho em projetos de desenvolvimento de software 5

163 Sistemas de controle de versão É fundamental ter o histórico do desenvolvimento de um projeto. Uso conjunto com outras ferramentas pode fornecer ainda mais informação útil: integração com ferramentas de gestão de projetos (bug trackers) ferramentas de integração contínua

164 Workflows em projetos de software Escolha depende de vários fatores

165 Workflows em projetos de software Escolha depende de vários fatores Cultura e contexto da organização.

166 Workflows em projetos de software Escolha depende de vários fatores Cultura e contexto da organização. Recursos.

167 Workflows em projetos de software Escolha depende de vários fatores Cultura e contexto da organização. Recursos. Demandas dos usuários.

168 Workflows em projetos de software Escolha depende de vários fatores Cultura e contexto da organização. Recursos. Demandas dos usuários. Demandas dos pares.

169 Para saber mais: manuais, tutoriais GitCasts: COMMMAND --help ou man -COMMAND

170 Hospedagem de repositórios Projetos de software livre: Projetos privados: planos por número de repositórios, número de colaboradores, espaço disponível etc.

171 Discussão Introdução Contato:

TUTORIAL PRÁTICO SOBRE Git. Versão 1.1

TUTORIAL PRÁTICO SOBRE Git. Versão 1.1 TUTORIAL PRÁTICO SOBRE Git por Djalma Oliveira Versão 1.1 "Git é um sistema de controle de revisão distribuida, rápido e escalável" (tradução rápida do manual). Basicamente é

Leia mais

Controle de Versão com CVS

Controle de Versão com CVS Controle de Versão com CVS Danilo Toshiaki Sato www.dtsato.com Treinamento ALESP SPL Agenda 1. Introdução 2. Conceitos Importantes 3. Operações mais comuns - Eclipse 4. Processo de Liberação SPL 5. Conclusão

Leia mais

Controle de Versão com GIT

Controle de Versão com GIT Controle de Versão com GIT Túlio Toffolo tulio@toffolo.com.br http://www.toffolo.com.br Conteúdo Extra Algoritmos e Estruturas de Dados História do GIT Linus usa BitKeeper para gerenciar o código de suas

Leia mais

Salvando modificações localmente (commit) Enviando modificações para o servidor (push) Sinalizando versão estável (tag)

Salvando modificações localmente (commit) Enviando modificações para o servidor (push) Sinalizando versão estável (tag) Salvando modificações localmente (commit) Enviando modificações para o servidor (push) Sinalizando versão estável (tag) Desfazendo modificações (reset) Verificar status de repositório 5 Não vamos fazer,

Leia mais

Versionamento de Código. Núcleo de Desenvolvimento de Software

Versionamento de Código. Núcleo de Desenvolvimento de Software Versionamento de Código Núcleo de Desenvolvimento de Software Por quê? Facilidades de utilizar um sistema de versionamento de código. Várias versões Quando se salva uma nova versão de um arquivo, a versão

Leia mais

Introdução ao Git. Laboratório de Programação. Luísa Lima, Pedro Vasconcelos, DCC/FCUP. Março 2015

Introdução ao Git. Laboratório de Programação. Luísa Lima, Pedro Vasconcelos, DCC/FCUP. Março 2015 Introdução ao Git Laboratório de Programação Luísa Lima, Pedro Vasconcelos, DCC/FCUP Março 2015 Porquê controlo de versões? Um sistema de controlo de versões (VCS) é um ferramenta integrada que possibilita

Leia mais

Introdução ao Git. Introdução ao GIT. Anderson Moreira. Baseado nos slides disponíveis em http//free electrons.com

Introdução ao Git. Introdução ao GIT. Anderson Moreira. Baseado nos slides disponíveis em http//free electrons.com Introdução ao GIT Introdução ao Git Anderson Moreira Copyright 2009, Free Electrons. Creative Commons BY SA 3.0 license Latest update: Aug 28, 2015, Document sources, updates and translations: http://free

Leia mais

Git e contribuição para projetos Open Source. Bruno Orlandi

Git e contribuição para projetos Open Source. Bruno Orlandi Git e contribuição para projetos Open Source Bruno Orlandi Bruno Orlandi 4º Ano Ciências de Computação ICMC USP PET Computação HTML5 Web e Mobile Gosta de compartilhar conhecimento @BrOrlandi Instalando

Leia mais

PLATAFORMA DE DESENVOLVIMENTO PINHÃO PARANÁ MANUAL DE UTILIZAÇÃO DO CVS NO ECLIPSE

PLATAFORMA DE DESENVOLVIMENTO PINHÃO PARANÁ MANUAL DE UTILIZAÇÃO DO CVS NO ECLIPSE PLATAFORMA DE DESENVOLVIMENTO PINHÃO PARANÁ MANUAL DE UTILIZAÇÃO DO CVS NO ECLIPSE Agosto 2007 Sumário de Informações do Documento Tipo do Documento: Manual Título do Documento: MANUAL DE UTILIZAÇÃO DO

Leia mais

Gerenciamento de configuração. Gerenciamento de Configuração. Gerenciamento de configuração. Gerenciamento de configuração. Famílias de sistemas

Gerenciamento de configuração. Gerenciamento de Configuração. Gerenciamento de configuração. Gerenciamento de configuração. Famílias de sistemas Gerenciamento de Gerenciamento de Configuração Novas versões de sistemas de software são criadas quando eles: Mudam para máquinas/os diferentes; Oferecem funcionalidade diferente; São configurados para

Leia mais

Sistema de Controle de Versão - CVS

Sistema de Controle de Versão - CVS - CVS Adailton Magalhães Lima adailton@webapsee.com Não há nada permanente exceto a modificação. Heráclitos 500 a.c. Adaptado de ESTUDO E PROPOSTA DE MODELOS DE PROCESSO DE SOFTWARE PARA O LABORATÓRIO

Leia mais

Versionamento Ágil com Git

Versionamento Ágil com Git Versionamento Ágil com Git Como paramos de nos preocupar e aprendemos a amar versionamento ágil Brazil Scrum Gathering São Paulo, 13 de Maio de 2009 Quem? Tiago M. Jorge Agile Coach, WebCo Internet Ronaldo

Leia mais

Agenda. Aprendendo Git/GitHub. Definições. Git. História 31/05/2012. Vantagem de usar controle de versão

Agenda. Aprendendo Git/GitHub. Definições. Git. História 31/05/2012. Vantagem de usar controle de versão Agenda Aprendendo Git/GitHub Luciana Balieiro Cosme IFNMG Montes Claros Sobre Git Instalação no Windows Comandos básicos Estrutura de um commit Branches GitHub Considerações finais Definições Git is an

Leia mais

ISO/IEC 12207: Gerência de Configuração

ISO/IEC 12207: Gerência de Configuração ISO/IEC 12207: Gerência de Configuração Durante o processo de desenvolvimento de um software, é produzida uma grande quantidade de itens de informação que podem ser alterados durante o processo Para que

Leia mais

Controle de Versão. Prof. Msc. Bruno Urbano Rodrigues. bruno@urbano.eti.br

Controle de Versão. Prof. Msc. Bruno Urbano Rodrigues. bruno@urbano.eti.br Controle de Versão Prof. Msc. Bruno Urbano Rodrigues bruno@urbano.eti.br Apresentação - Docente Mestre em Ciência da Computação na Universidade Federal de Goiás. Especialista em Gestão de Software pela

Leia mais

Padrões de configuração GIT

Padrões de configuração GIT UNIVERSIDADE CEUMA Padrões de configuração GIT Versão 1.2 12/12/2013 Este é um modelo de configuração para uso da ferramenta GIT adotada no Grupo Ceuma de Educação. Aqui encontram-se os padrões de configuração

Leia mais

Como contribuir com projetos de software livre

Como contribuir com projetos de software livre Como contribuir com projetos de software livre Luciana Fujii Pontello 1 / 29 Software livre? 2 / 29 Por que contribuir? Software livre Liberdade não preço Linux, Ubuntu? Sim, mas não só Quatro liberdades

Leia mais

ESTUDO DE CASO WINDOWS VISTA

ESTUDO DE CASO WINDOWS VISTA ESTUDO DE CASO WINDOWS VISTA História Os sistemas operacionais da Microsoft para PCs desktop e portáteis e para servidores podem ser divididos em 3 famílias: MS-DOS Windows baseado em MS-DOS Windows baseado

Leia mais

Controle de Versão de Software. Luiz Jácome Júnior

Controle de Versão de Software. Luiz Jácome Júnior Controle de Versão de Software Luiz Jácome Júnior Motivação Alguém já sobrescreveu o código de outra pessoa por acidente e acabou perdendo as alterações? Tem dificuldades em saber quais as alterações efetuadas

Leia mais

SAIBA MAIS SOBRE O LINUX E DESCUBRA QUAL DISTRIBUIÇÃO É MELHOR PARA VOCÊ! CURSO

SAIBA MAIS SOBRE O LINUX E DESCUBRA QUAL DISTRIBUIÇÃO É MELHOR PARA VOCÊ! CURSO 1 AULA SAIBA MAIS SOBRE O LINUX E DESCUBRA QUAL DISTRIBUIÇÃO É MELHOR PARA VOCÊ! ROTEIRO PRÉ-REQUISITOS 1 INTRODUÇÃO 2 DISTRIBUIÇÕES LINUX 3 AJUDA PARA ESCOLHER SUA DISTRIBUIÇÃO LINUX 4 DÚVIDAS FREQUENTES

Leia mais

Introdução ao Modelos de Duas Camadas Cliente Servidor

Introdução ao Modelos de Duas Camadas Cliente Servidor Introdução ao Modelos de Duas Camadas Cliente Servidor Desenvolvimento de Sistemas Cliente Servidor Prof. Esp. MBA Heuber G. F. Lima Aula 1 Ciclo de Vida Clássico Aonde estamos? Page 2 Análise O que fizemos

Leia mais

IBM SPSS Modeler - Princípios Básicos do R: Instruções de Instalação

IBM SPSS Modeler - Princípios Básicos do R: Instruções de Instalação IBM SPSS Modeler - Princípios Básicos do R: Instruções de Instalação Índice IBM SPSS Modeler - Essentials for R: Instruções de Instalação....... 1 IBM SPSS Modeler - Essentials for R: Instruções de Instalação...............

Leia mais

Gestão de Modificações. Fabrício de Sousa

Gestão de Modificações. Fabrício de Sousa Gestão de Modificações Fabrício de Sousa Introdução Inevitáveis quando o software é construído Confusão As modificações não são analisadas antes de serem feitas Não são registradas antes de serem feitas

Leia mais

Faculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira.

Faculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira. Período letivo: 4 Semestre. Quinzena: 5ª. Faculdades Santa Cruz - Inove Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira. Unidade Curricular Sistemas Distribuídos Processos

Leia mais

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido Arquitetura Roteiro Arquitetura Tipos de Arquitetura Centralizado Descentralizado Hibrido Questionário 2 Arquitetura Figura 1: Planta baixa de uma casa 3 Arquitetura Engenharia de Software A arquitetura

Leia mais

2. GERÊNCIA DE CONFIGURAÇÃO DE SOTWARE

2. GERÊNCIA DE CONFIGURAÇÃO DE SOTWARE 1. INTRODUÇÃO Constata se, atualmente, que organizações voltadas ao desenvolvimento de software, buscam alavancar seus níveis de competitividade, uma vez que o mercado de desenvolvimento de software apresenta

Leia mais

Gerência de Configuração de Software Funções

Gerência de Configuração de Software Funções Universidade Estadual de Maringá Departamento de Informática Ciência da Computação Processo de Engenharia de Software II Gerência de Configuração de Software Funções Rafael Leonardo Vivian {rlvivian.uem

Leia mais

Tutorial SVN Básico Engenharia de Software. Denise Notini Nogueira denotini@dcc.ufmg.br

Tutorial SVN Básico Engenharia de Software. Denise Notini Nogueira denotini@dcc.ufmg.br Tutorial SVN Básico Engenharia de Software Denise Notini Nogueira denotini@dcc.ufmg.br As vantagens do controle de Versão As principais vantagens de se utilizar um sistema de controle de versão para rastrear

Leia mais

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO 10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO UMA DAS GRANDES FUNÇÕES DA TECNOLOGIA É A DE FACILITAR A VIDA DO HOMEM, SEJA NA VIDA PESSOAL OU CORPORATIVA. ATRAVÉS DELA, ELE CONSEGUE

Leia mais

VisTrails. Fernando Seabra Chirigati Aluno de Engenharia de Computação e Informação COPPE/UFRJ Email: fernando_seabra@cos.ufrj.br

VisTrails. Fernando Seabra Chirigati Aluno de Engenharia de Computação e Informação COPPE/UFRJ Email: fernando_seabra@cos.ufrj.br VisTrails Fernando Seabra Chirigati Aluno de Engenharia de Computação e Informação COPPE/UFRJ Email: fernando_seabra@cos.ufrj.br Características SGWf - Sistema de Gerenciamento de Workflows; Desenvolvido

Leia mais

Guia do Administrador de Licenças de Usuários Autorizados do IBM SPSS Modeler

Guia do Administrador de Licenças de Usuários Autorizados do IBM SPSS Modeler Guia do Administrador de Licenças de Usuários Autorizados do IBM SPSS Modeler Índice Guia do Administrador........ 1 Antes de Iniciar............. 1 Serviços Citrix e Terminal......... 1 Instalação do

Leia mais

Gerência de Configuração. Professor: Dr. Eduardo Santana de Almeida Universidade Federal da Bahia esa@dcc.ufba.br

Gerência de Configuração. Professor: Dr. Eduardo Santana de Almeida Universidade Federal da Bahia esa@dcc.ufba.br Gerência de Configuração Professor: Dr. Eduardo Santana de Almeida Universidade Federal da Bahia esa@dcc.ufba.br Introdução Mudanças durante o desenvolvimento de software são inevitáveis: os interesses

Leia mais

Mapas e Localização. Programação de Dispositivos Móveis. Mauro Lopes Carvalho Silva

Mapas e Localização. Programação de Dispositivos Móveis. Mauro Lopes Carvalho Silva Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos

Leia mais

Instalação de Servidor de Impressão com quotas Pykota. Rogério Vinhal Nunes 25 de janeiro de 2007

Instalação de Servidor de Impressão com quotas Pykota. Rogério Vinhal Nunes 25 de janeiro de 2007 Instalação de Servidor de Impressão com quotas Pykota Rogério Vinhal Nunes 25 de janeiro de 2007 1 Sumário 1 O que é o Pykota? 3 2 Instalação do Pykota 3 3 Conguração 4 4 Utilização do banco de dados 4

Leia mais

Tópicos. Atualizações e segurança do sistema. Manutenção Preventiva e Corretiva de Software (utilizando o MS Windows XP)

Tópicos. Atualizações e segurança do sistema. Manutenção Preventiva e Corretiva de Software (utilizando o MS Windows XP) teste 1 Manutenção Preventiva e Corretiva de Software (utilizando o MS Windows XP) Rafael Fernando Diorio www.diorio.com.br Tópicos - Atualizações e segurança do sistema - Gerenciamento do computador -

Leia mais

CSAU 10.0. Guia: Manual do CSAU 10.0 como implementar e utilizar.

CSAU 10.0. Guia: Manual do CSAU 10.0 como implementar e utilizar. CSAU 10.0 Guia: Manual do CSAU 10.0 como implementar e utilizar. Data do Documento: Janeiro de 2012 Sumário 1. Sobre o manual do CSAU... 3 2. Interface do CSAU 10.0... 4 2.1. Início... 4 2.2. Update...

Leia mais

ADMINISTRAÇÃO DE SISTEMAS OPERACIONAIS SERVIÇO DE BACKUP. Professor Carlos Muniz

ADMINISTRAÇÃO DE SISTEMAS OPERACIONAIS SERVIÇO DE BACKUP. Professor Carlos Muniz ADMINISTRAÇÃO DE SISTEMAS OPERACIONAIS O que é o Backup do Windows Server? O recurso Backup do Windows Server no Windows Server 2008 consiste em um snap-in do Console de Gerenciamento Microsoft (MMC) e

Leia mais

Gerenciamento de Configuração de Software

Gerenciamento de Configuração de Software Gerenciamento de Configuração de Software Prof. Ricardo Argenton Ramos [Baseado na apresentação do prof. Masiero ICMC-USP] Contexto para Gerência de Configuração 2 Problema dos Dados Compartilhados Desenvolvedor

Leia mais

Git. Leonardo Gresta Paulino Murta

Git. Leonardo Gresta Paulino Murta Git Leonardo Gresta Paulino Murta leomurta@ic.uff.br O que é versionado? Elemento FS Diretório Arquivo Arquivo Binário Arquivo Texto Linha Leonardo Murta Git 2 Como é versionado? Commit Autor Committer

Leia mais

Web Design Aula 11: Site na Web

Web Design Aula 11: Site na Web Web Design Aula 11: Site na Web Professora: Priscilla Suene priscilla.silverio@ifrn.edu.br Motivação Criar o site em HTML é interessante Do que adianta se até agora só eu posso vê-lo? Hora de publicar

Leia mais

Roteiro 3: Sistemas Linux arquivos e diretórios

Roteiro 3: Sistemas Linux arquivos e diretórios Roteiro 3: Sistemas Linux arquivos e diretórios Objetivos Detalhar conceitos sobre o sistema operacional Linux; Operar comandos básicos de sistemas Linux em modo Texto; Realizar a manutenção de arquivos

Leia mais

Satélite. Manual de instalação e configuração. CENPECT Informática www.cenpect.com.br cenpect@cenpect.com.br

Satélite. Manual de instalação e configuração. CENPECT Informática www.cenpect.com.br cenpect@cenpect.com.br Satélite Manual de instalação e configuração CENPECT Informática www.cenpect.com.br cenpect@cenpect.com.br Índice Índice 1.Informações gerais 1.1.Sobre este manual 1.2.Visão geral do sistema 1.3.História

Leia mais

FileMaker Pro 13. Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 13

FileMaker Pro 13. Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 13 FileMaker Pro 13 Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 13 2007-2013 FileMaker Inc. Todos os direitos reservados. FileMaker Inc. 5201 Patrick Henry Drive Santa Clara,

Leia mais

IBM SPSS Modeler - Princípios Básicos do R: Instruções de Instalação

IBM SPSS Modeler - Princípios Básicos do R: Instruções de Instalação IBM SPSS Modeler - Princípios Básicos do R: Instruções de Instalação Índice IBM SPSS Modeler - Essentials for R: Instruções de Instalação....... 1 Visão Geral............... 1 Instalar o Aplicativo IBM

Leia mais

Introdução à Engenharia ENG1000

Introdução à Engenharia ENG1000 Introdução à Engenharia ENG1000 Aula Extra - Projetos e Controle de Versões 2016.1 Prof. Augusto Baffa Armazenando seu projeto Como armazenar versões? Não se preocupar Acumular

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Modelo Cliente-Servidor: Introdução aos tipos de servidores e clientes Prof. MSc. Hugo Souza Iniciando o módulo 03 da primeira unidade, iremos abordar sobre o Modelo Cliente-Servidor

Leia mais

J820. Integração Contínua. com CVS, CruiseControl, Cruise Control. argonavis.com.br. AntHill Gump e Helder da Rocha (helder@acm.

J820. Integração Contínua. com CVS, CruiseControl, Cruise Control. argonavis.com.br. AntHill Gump e Helder da Rocha (helder@acm. J820 Integração Contínua com CVS, CruiseControl, Cruise Control AntHill Gump e Helder da Rocha (helder@acm.org) Integração contínua Um dos requisitos para implementar a integração contínua é ter um sistema

Leia mais

FACULDADE DE TECNOLOGIA SENAC PELOTAS CURSO TÉCNICO EM INFORMÁTICA PRONATEC PROFESSOR: NATANIEL VIEIRA ALUNOS: ANA CAROLINA, ROMÁRIO, WAGNER.

FACULDADE DE TECNOLOGIA SENAC PELOTAS CURSO TÉCNICO EM INFORMÁTICA PRONATEC PROFESSOR: NATANIEL VIEIRA ALUNOS: ANA CAROLINA, ROMÁRIO, WAGNER. 1 FACULDADE DE TECNOLOGIA SENAC PELOTAS CURSO TÉCNICO EM INFORMÁTICA PRONATEC PROFESSOR: NATANIEL VIEIRA ALUNOS: ANA CAROLINA, ROMÁRIO, WAGNER. TURMA: 2 TERMOS TÉCNICOS PELOTAS, 2012 ANA CAROLINA, ROMÁRIO,

Leia mais

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com. http://www.tiagodemelo.info

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com. http://www.tiagodemelo.info Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com Última atualização: 20.03.2013 Conceitos Banco de dados distribuídos pode ser entendido como uma coleção de múltiplos bds

Leia mais

Professor: Macêdo Firmino Disciplina: Sistemas Operacionais de Rede

Professor: Macêdo Firmino Disciplina: Sistemas Operacionais de Rede Professor: Macêdo Firmino Disciplina: Sistemas Operacionais de Rede O sistema de nome de domínio (DNS) é um sistema que nomeia computadores e serviços de rede e é organizado em uma hierarquia de domínios.

Leia mais

Engenharia de Software I

Engenharia de Software I Engenharia de Software I Rogério Eduardo Garcia (rogerio@fct.unesp.br) Bacharelado em Ciência da Computação Aula 03 In a calm sea every man is a pilot. Engenharia de Software I Aula 3 Gerenciamento de

Leia mais

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS APLICATIVOS HÍBRIDOS. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS APLICATIVOS HÍBRIDOS. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS APLICATIVOS HÍBRIDOS Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza ROTEIRO Introdução PhoneGap PhoneGap Build GitHub INTRODUÇÃO Aplicativos nativos É

Leia mais

Profs. Deja e Andrei

Profs. Deja e Andrei Disciplina Sistemas Distribuídos e de Tempo Real Profs. Deja e Andrei Sistemas Distribuídos 1 Conceitos e Projetos de Sistemas Distribuídos Objetivos: Apresentar uma visão geral de processamento distribuído,

Leia mais

Engenharia de Software III

Engenharia de Software III Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf (flavio.ceci@unisul.br) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,

Leia mais

Channel. Visão Geral e Navegação. Tutorial. Atualizado com a versão 3.9

Channel. Visão Geral e Navegação. Tutorial. Atualizado com a versão 3.9 Channel Visão Geral e Navegação Tutorial Atualizado com a versão 3.9 Copyright 2009 por JExperts Tecnologia Ltda. todos direitos reservados. É proibida a reprodução deste manual sem autorização prévia

Leia mais

Oficina de ferramentas de Gerência para Redes em Linux. Prof. Jefferson Santiago

Oficina de ferramentas de Gerência para Redes em Linux. Prof. Jefferson Santiago Oficina de ferramentas de Gerência para Redes em Linux Prof. Jefferson Santiago Apresentação Qual seu nome? Já possui experiência na área? Questionário avaliativo Acesse: http://goo.gl/forms/4rfaomufim

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Processos- Clientes, Servidores, Migração Capítulo 3 Agenda Clientes Interfaces de usuário em rede Sistema X Window Software do lado cliente para

Leia mais

Como é o desenvolvimento de Software?

Como é o desenvolvimento de Software? Como é o desenvolvimento de Software? Fases do Desenvolvimento Modelo Cascata Define atividades seqüenciais Outras abordagens são baseadas nesta idéia Especificação de Requisitos Projeto Implementação

Leia mais

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS - APLICATIVOS HÍBRIDOS. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS - APLICATIVOS HÍBRIDOS. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS - APLICATIVOS HÍBRIDOS Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza ROTEIRO Introdução PhoneGap PhoneGap Build GitHub INTRODUÇÃO Aplicativos nativos

Leia mais

Google Drive. Passos. Configurando o Google Drive

Google Drive. Passos. Configurando o Google Drive Google Drive um sistema de armazenagem de arquivos ligado à sua conta Google e acessível via Internet, desta forma você pode acessar seus arquivos a partir de qualquer dispositivo que tenha acesso à Internet.

Leia mais

Capítulo X. Gerenciar Mudanças dos Requisitos. Aluizio Saiter, M. Sc.

Capítulo X. Gerenciar Mudanças dos Requisitos. Aluizio Saiter, M. Sc. Capítulo X Gerenciar Mudanças dos Requisitos., M. Sc. 2 1. Sobre a disciplina de gerência de requisitos. 2. Boas práticas em engenharia de software. 3. Introdução a gerência de requisitos. 4. Introdução

Leia mais

FTIN Formação Técnica em Informática Módulo Sistema Proprietário Windows AULA 04. Prof. André Lucio

FTIN Formação Técnica em Informática Módulo Sistema Proprietário Windows AULA 04. Prof. André Lucio FTIN Formação Técnica em Informática Módulo Sistema Proprietário Windows AULA 04 Prof. André Lucio Competências da aula 3 Servidor de DHCP. Servidor de Arquivos. Servidor de Impressão. Aula 04 CONCEITOS

Leia mais

Manual de Utilização do Tortoise SVN. Fábrica de Software. Algar Tecnologia Unidade BH

Manual de Utilização do Tortoise SVN. Fábrica de Software. Algar Tecnologia Unidade BH Manual de Utilização do Tortoise SVN Fábrica de Software Algar Tecnologia Unidade BH Revisão 1.2 Elaborado por Crhistian Souza EPG Sumário 1. Autenticando-se no SVN da Algar Tecnologia... 3 2. Trabalhando

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Software em Sistemas Distribuídos Aplicativo ou Sistema Operacional Sincronismo Interação Controles Um sistema operacional moderno provê dois serviços fundamentais para o usuário

Leia mais

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO Santa Maria, 01 de Novembro de 2013. Revisão aula passada Projeto de Arquitetura Decisões de projeto de Arquitetura

Leia mais

O primeiro passo é habilitar acesso externo através de web service a configuração é bem simples e não exige maiores explicações.

O primeiro passo é habilitar acesso externo através de web service a configuração é bem simples e não exige maiores explicações. Integração de Controle de versão com Redmine. A integração do controle de versão pode permitir uma interatividade bem interessante entre os tickets e projetos do redmine com o controle de versão segue

Leia mais

Projeto de Arquitetura

Projeto de Arquitetura Introdução Projeto de Arquitetura (Cap 11 - Sommerville) UNIVERSIDADE FEDERAL DE ALAGOAS Curso de Ciência da Computação Engenharia de Software I Prof. Rômulo Nunes de Oliveira Até agora, estudamos: Os

Leia mais

Disciplina de Banco de Dados Introdução

Disciplina de Banco de Dados Introdução Disciplina de Banco de Dados Introdução Prof. Elisa Maria Pivetta CAFW - UFSM Banco de Dados: Conceitos A empresa JJ. Gomes tem uma lista com mais ou menos 4.000 nomes de clientes bem como seus dados pessoais.

Leia mais

Aula 02. Introdução ao Linux

Aula 02. Introdução ao Linux Aula 02 Introdução ao Linux Arquivos Central de Programas do Ubuntu A Central de Programas do Ubuntu é uma loja de aplicativos integrada ao sistema que permite-lhe instalar e desinstalar programas com

Leia mais

Utilizando JMeter para realizar testes de carga em aplicações Web. Robinson Castilho castilho@bacarin.com.br Bacarin Software Ltda JUGMS

Utilizando JMeter para realizar testes de carga em aplicações Web. Robinson Castilho castilho@bacarin.com.br Bacarin Software Ltda JUGMS Utilizando JMeter para realizar testes de carga em aplicações Web Robinson Castilho castilho@bacarin.com.br Bacarin Software Ltda JUGMS Agenda Apresentação Motivação Visão Geral JMeter Principais elementos

Leia mais

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS -ARQUITETURAS DE APLICAÇÃO MÓVEL. Prof. Angelo Augusto Frozza, M.Sc. http://about.

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS -ARQUITETURAS DE APLICAÇÃO MÓVEL. Prof. Angelo Augusto Frozza, M.Sc. http://about. PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS -ARQUITETURAS DE APLICAÇÃO MÓVEL Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza ROTEIRO Introdução Cliente-Servidor Cliente Servidor Tipos de conexão

Leia mais

Manual do usuário. Mobile Auto Download

Manual do usuário. Mobile Auto Download Manual do usuário Mobile Auto Download Mobile Auto Download Parabéns, você acaba de adquirir um produto com a qualidade e segurança Intelbras. Este manual serve como referência para a sua instalação e

Leia mais

Introdução aos Projectos

Introdução aos Projectos Introdução aos Projectos Categoria Novos Usuários Tempo necessário 20 minutos Arquivo Tutorial Usado Iniciar um novo arquivo de projeto Este exercício explica a finalidade ea função do arquivo de projeto

Leia mais

Orientação a Objetos

Orientação a Objetos Orientação a Objetos 1. Sobrecarga (Overloading) Os clientes dos bancos costumam consultar periodicamente informações relativas às suas contas. Geralmente, essas informações são obtidas através de extratos.

Leia mais

Inicialização Rápida do Novell Vibe Mobile

Inicialização Rápida do Novell Vibe Mobile Inicialização Rápida do Novell Vibe Mobile Março de 2015 Introdução O acesso móvel ao site do Novell Vibe pode ser desativado por seu administrador do Vibe. Se não conseguir acessar a interface móvel do

Leia mais

ÍNDICE. 1. Introdução...2. 2. O que é o Sistema Mo Porã...2. 3. Como acessar o Site Mo Porã...3. 4. Cadastro do Sistema Mo Porã...

ÍNDICE. 1. Introdução...2. 2. O que é o Sistema Mo Porã...2. 3. Como acessar o Site Mo Porã...3. 4. Cadastro do Sistema Mo Porã... ÍNDICE 1. Introdução...2 2. O que é o Sistema Mo Porã...2 3. Como acessar o Site Mo Porã...3 4. Cadastro do Sistema Mo Porã...4 5. Navegando no Site Mo Porã...6 5. 1 Manual de ajuda do sistema Mo Porã...7

Leia mais

Crash recovery é similar ao instance recovery, onde o primeiro referencia ambientes de instância exclusiva e o segundo ambientes parallel server.

Crash recovery é similar ao instance recovery, onde o primeiro referencia ambientes de instância exclusiva e o segundo ambientes parallel server. Recover no Oracle O backup e recuperação de dados em um SGBD é de grande importância para a manutenção dos dados. Dando continuidade a nossos artigos, apresentamos abaixo formas diferentes de se fazer

Leia mais

Documento de Análise e Projeto VideoSystem

Documento de Análise e Projeto VideoSystem Documento de Análise e Projeto VideoSystem Versão Data Versão Descrição Autor 20/10/2009 1.0 21/10/2009 1.0 05/11/2009 1.1 Definição inicial do documento de análise e projeto Revisão do documento

Leia mais

Para funcionamento do Netz, alguns programas devem ser instalados e alguns procedimentos devem ser seguidos. São eles:

Para funcionamento do Netz, alguns programas devem ser instalados e alguns procedimentos devem ser seguidos. São eles: Instalação do Netz Para funcionamento do Netz, alguns programas devem ser instalados e alguns procedimentos devem ser seguidos. São eles: Instalação do Java SE 6, que pode ser instalado através da JDK.

Leia mais

Soluções de Gerenciamento de Clientes e de Impressão Universal

Soluções de Gerenciamento de Clientes e de Impressão Universal Soluções de Gerenciamento de Clientes e de Impressão Universal Guia do Usuário Copyright 2007 Hewlett-Packard Development Company, L.P. Windows é uma marca registrada nos Estados Unidos da Microsoft Corporation.

Leia mais

Índice. Manual Backup Online. 03 Capítulo 1: Visão Geral

Índice. Manual Backup Online. 03 Capítulo 1: Visão Geral Índice 03 Capítulo 1: Visão Geral 04 Capítulo 2: Conta de Usuário 04 Criação 08 Edição 09 Grupo de Usuários 10 Informações da Conta 12 Capítulo 3: Download do Backup Online Embratel 16 Capítulo 4: Cópia

Leia mais

WSUS. Windows Server Update Services

WSUS. Windows Server Update Services WSUS Windows Server Update Services WSUS Permite gerenciar de forma centralizada, ou distribuída as atualizações de software Atualizações de software automáticas oferecidas pelo windows update são importantes

Leia mais

Capítulo 25. Gerenciamento de Configuração. Engenharia de Software Prof. Flávio de Oliveira Silva, Ph.D.

Capítulo 25. Gerenciamento de Configuração. Engenharia de Software Prof. Flávio de Oliveira Silva, Ph.D. Capítulo 25 Gerenciamento de Configuração slide 624 2011 Pearson Prentice Hall. Todos os direitos reservados. Tópicos abordados Gerenciamento de mudanças Gerenciamento de versões Construção de sistemas

Leia mais

Desenvolvendo Websites com PHP

Desenvolvendo Websites com PHP Desenvolvendo Websites com PHP Aprenda a criar Websites dinâmicos e interativos com PHP e bancos de dados Juliano Niederauer 19 Capítulo 1 O que é o PHP? O PHP é uma das linguagens mais utilizadas na Web.

Leia mais

Permissões de compartilhamento e NTFS - Parte 1

Permissões de compartilhamento e NTFS - Parte 1 Permissões de compartilhamento e NTFS - Parte 1 Autor: Júlio Battisti - Site: www.juliobattisti.com.br Segurança, sem dúvidas, é um dos temas mais debatidos hoje, no mundo da informática. Nesse tutorial

Leia mais

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1. ARCO - Associação Recreativa dos Correios Sistema para Gerenciamento de Associações Recreativas Versão Histórico da Revisão Data Versão Descrição Autor Página

Leia mais

Especificações da oferta Gerenciamento de dispositivos distribuídos: Gerenciamento de ativos

Especificações da oferta Gerenciamento de dispositivos distribuídos: Gerenciamento de ativos Visão geral do Serviço Especificações da oferta Gerenciamento de dispositivos distribuídos: Gerenciamento de ativos Os Serviços de gerenciamento de dispositivos distribuídos ajudam você a controlar ativos

Leia mais

PROJETO CEMEA. Um trabalho educacional

PROJETO CEMEA. Um trabalho educacional PROJETO CEMEA Um trabalho educacional CEMEA: Objetivo geral A partir de um sistema já existente, temos como missão: Melhorar suas funcionalidades; Documentar tanto o código, quanto suas funções; Acrescentar

Leia mais

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING http://www.uniriotec.br/~tanaka/tin0036 tanaka@uniriotec.br Bancos de Dados Distribuídos Conceitos e Arquitetura Vantagens das Arquiteturas C/S (em relação

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS Comunicação coletiva Modelo Peer-to-Peer Slide 6 Nielsen C. Damasceno Introdução Os modelos anteriores eram realizado entre duas partes: Cliente e Servidor. Com RPC e RMI não é possível

Leia mais

Procedimentos para Instalação do Sisloc

Procedimentos para Instalação do Sisloc Procedimentos para Instalação do Sisloc Sumário: 1. Informações Gerais... 3 2. Instalação do Sisloc... 3 Passo a passo... 3 3. Instalação da base de dados Sisloc... 16 Passo a passo... 16 4. Instalação

Leia mais

LEIA ISTO PRIMEIRO. IBM Tivoli Configuration Manager, Versão 4.2.1

LEIA ISTO PRIMEIRO. IBM Tivoli Configuration Manager, Versão 4.2.1 LEIA ISTO PRIMEIRO IBM Tivoli, Versão 4.2.1 O IBM Tivoli, Versão 4.2.1, é uma solução para controlar a distribuição de software e o inventário de gerenciamento de recursos em um ambiente multiplataformas.

Leia mais

2.0.0.X. Storage Client. TecnoSpeed. Tecnologia da Informação. Manual do Storage Client

2.0.0.X. Storage Client. TecnoSpeed. Tecnologia da Informação. Manual do Storage Client 2.0.0.X TecnoSpeed Tecnologia da Informação Storage Client Manual do Storage Client 1 Conteúdo 1. Apresentação... 3 1.1. Apresentação do Produto... 3 1.2. Sobre este Manual... 3 2. Sobre o Storage Client...

Leia mais

Universidade Estadual de Campinas. CVS - Concurrent Version System

Universidade Estadual de Campinas. CVS - Concurrent Version System Universidade Estadual de Campinas CVS - Concurrent Version System Eduardo Robinson Paganeli Universidade Estadual de Campinas UNICAMP 1 Sumário Módulo 1 Introdução ao CVS...3 Visão geral...4 Vantagens...6

Leia mais

LOGs e ALERTAS de DESEMPENHO

LOGs e ALERTAS de DESEMPENHO LOGs e ALERTAS de DESEMPENHO Servem para Coletar automaticamente dados de desempenho de computadores locais ou remotos e ainda visualizar os dados de contador registrados em log usando o Monitor do sistema,

Leia mais