Introdução à Gerência de Configuração. Leonardo Gresta Paulino Murta

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

Download "Introdução à Gerência de Configuração. Leonardo Gresta Paulino Murta"

Transcrição

1 Introdução à Gerência de Configuração Leonardo Gresta Paulino Murta

2 Introdução A Engenharia de Software... Abordagem disciplinada para o desenvolvimento de software Grande diversidade de metodologias Leonardo Murta Introdução à Gerência de Configuração 2

3 Introdução Ponto em comum nas metodologias: refinamentos sucessivos de artefatos Leonardo Murta Introdução à Gerência de Configuração 3

4 Mas aonde ficam esses artefatos? Tarefas de Engenharia de Software Artefato Artefato novo Artefato modificado Repositório Leonardo Murta Introdução à Gerência de Configuração 4

5 O que são repositórios? Repositórios Lugar seguro onde artefatos são depositados Permitem armazenamento, busca e recuperação de artefatos Servem como um ponto de referência Apóiam no aumento da memória organizacional Leonardo Murta Introdução à Gerência de Configuração 5

6 Tipos de repositórios Desenvolvimento Liberação Implantação Produção Repositório de fontes Repositório de executáveis Leonardo Murta Introdução à Gerência de Configuração 6

7 Potenciais diferenças Repositório de fontes Repositório de executáveis Desenvolvimento M O M E N T O Produção Fina G R A N U L A R I D A D E Grossa Edição A C E S S O Leitura Contexto L O C A L I Z A Ç Ã O Busca Leonardo Murta Introdução à Gerência de Configuração 7

8 Cenário de utilização Repositório de fontes Repositório de executáveis Leonardo Murta Introdução à Gerência de Configuração 8

9 Principais sistemas de Gerência de Configuração Gerência de configuração de software é uma disciplina para o controle da evolução de sistemas de software (Susan Dart, 1991) Espaço de trabalho: Processos: Sistemas: Ambiente de Desenvolvimento de Software Identificação Controle Contabilização Avaliação Liberação Controle de Modificações Controle de Versões Gerenciamento de Construção Perspectiva de integração Perspectiva gerencial Perspectiva de desenvolvimento Leonardo Murta Introdução à Gerência de Configuração 9

10 Principais sistemas de Gerência de Configuração Gerência de configuração de software é uma disciplina para o controle da evolução de sistemas de software (Susan Dart, 1991) Espaço de trabalho: Processos: Sistemas: Ambiente de Desenvolvimento de Software Identificação Controle Contabilização Avaliação Liberação Controle de Modificações Controle de Versões Gerenciamento de Construção Nosso foco aqui no curso... Perspectiva de integração Perspectiva gerencial Perspectiva de desenvolvimento Leonardo Murta Introdução à Gerência de Configuração 10

11 Exercício 1. Apresentar, na próxima aula, as 5 funções de gerência de configuração, citando exemplos 2. Apresentar, na próxima aula, o sistema de gerenciamento de construção e release, dando algum exemplo usando uma ferramenta (make, ant, maven, etc.) 3. Apresentar, na próxima aula, o que é integração contínua, dando algum exemplo usando uma ferramenta (Cruise Control, Apache Continuum, Hudson, etc.) Leonardo Murta Introdução à Gerência de Configuração 11

12 Item de configuração Agregação de hardware e/ou software que será passível de gerência de configuração e tratado como um elemento único Tipos de ICs Produtos de trabalho do projeto Produtos de trabalho de processos Exemplos: plano de GC, requisitos, modelos, código-fonte, etc. Leonardo Murta Introdução à Gerência de Configuração 12

13 Versão Instâncias de um mesmo item de configuração que diferem entre si em algo (sinônimo: revisões) IC 1.0 IC 1.1 IC 1.2 IC 1.3 IC 2.0 IC 1.4 IC 2.1 IC IC Leonardo Murta Introdução à Gerência de Configuração 13

14 Sistema de Gerência de Configuração Versão 1 Versão 2 Versão 3 Versão 4 Versão 5 Leonardo Murta Introdução à Gerência de Configuração 14

15 Sistema de Gerência de Configuração Versão 1 Versão 2 Versão 3 Versão 4 Versão 5 Leonardo Murta Introdução à Gerência de Configuração 15

16 Sistema de Gerência de Configuração Versão 1 Versão 2 Versão 3 Versão 4 Versão 5 Leonardo Murta Introdução à Gerência de Configuração 16

17 Configuração Um conjunto de versões de Itens de Configuração (IC), onde existe somente uma versão selecionada para cada IC do conjunto Uma configuração pode ser vista como um IC composto de outros ICs Exemplos Configuração do sistema Configuração do processo Configuração do módulo X Configuração dos requisitos do sistema Configuração do código fonte Leonardo Murta Introdução à Gerência de Configuração 17

18 Configuração x versão IC IC composto IC primitivo Configuração Versão Genericamente O sistema S é composto pelos arquivos X, Y e Z Concretamente A configuração 5 do sistema S é composta pela versão 2 do arquivo X, versão 4 do arquivo Y e versão 6 do arquivo Z Leonardo Murta Introdução à Gerência de Configuração 18

19 Configuração x versão IC composto IC primitivo 1 IC primitivo 2 IC primitivo 3 Conf. 1 V.1 V.1 V.1 Conf. 2 V.2 V.2 V.2 V.3 V.3 Conf. 3 V.4 Leonardo Murta Introdução à Gerência de Configuração 19

20 Controle de versões Item de Configuração Como armazenar? Como permitir colaboração? Repositório Leonardo Murta Introdução à Gerência de Configuração 20

21 Mecanismos de armazenamento v.3 v.2 delta 2 3 delta 1 2 v.3 v.1 v.2/3 v.1 v.1 delta 3 2 delta 2 1 v.1/2 v.3 Completo Forward Reverse In-line Leonardo Murta Introdução à Gerência de Configuração 21

22 Controle de concorrência m.3 m.2 m.1 m.1 junção m.2 m.3 junção m.1 m.2 m.3 Pessimista Otimista Misto Leonardo Murta Introdução à Gerência de Configuração 22

23 Ramos (branches) Versões que não seguem a linha principal de desenvolvimento Fornecem isolamento para o processo de desenvolvimento Ramos usualmente são migrados à linha principal de desenvolvimento A migração pode ser complicada no caso de isolamento longo Características dos ramos se comparados a espaços de trabalho compartilhados por outras pessoas (espaços de trabalho são isolados) residem no servidor (espaços de trabalho residem no cliente) históricos (espaços de trabalho são momentâneos) permanentes (espaços de trabalho temporários) Leonardo Murta Introdução à Gerência de Configuração 23

24 Junção Processo de migração de Espaços de trabalho Ramos Linha 1 Linha 2 Linha 1 Linha 2 Linha 3 Linha 1 Linha 2 Linha 1 Linha 2 Linha 3 Linha 1 Linha 2 <Linha 1> ou <Linha 1 >? Linha 2 <Linha 3> ou nada? 2-way merge Linha 1 Linha 2 Linha 3 3-way merge Leonardo Murta Introdução à Gerência de Configuração 24

25 Exemplo (junção no Eclipse) Leonardo Murta Introdução à Gerência de Configuração 25

26 Baseline Configuração revisada e aprovada que serve como base para uma próxima etapa de desenvolvimento e que somente pode ser modificada via processo formal de GCS São estabelecidas ao final de cada fase de desenvolvimento Análise (functional) Projeto (allocated) Implementação (product) Momento de criar: balanceamento entre controle e burocracia Leonardo Murta Introdução à Gerência de Configuração 26

27 Baseline (níveis de controle) Coordenação c/ auditoria Nível de controle Controle Informal: Pré baseline Sem requisição Sem aprovação Sem verificação Ágil Ad-hoc Formal: Pós baseline Com requisição Com aprovação Com verificação Burocrático Planejado Leonardo Murta Introdução à Gerência de Configuração 27

28 Baseline (níveis de controle) Baseline 1: Requisito 1 Análise Projeto An. Req. 1 Baseline 2: An. Req. 1 Pr. Req. 1 An. Req. 2 Requisito 2 Análise Projeto Tempo Req. Análise Projeto Análise Projeto Análise Projeto 1 Inform. - Formal Inform. Formal Formal Inform. - Formal Inform. Leonardo Murta Introdução à Gerência de Configuração 28

29 Tarefas Controle de modificações Solicitação de modificação Classificação da modificação Análise da modificação Avaliação da modificação Implementação da modificação Verificação da modificação Geração de baseline Leonardo Murta Introdução à Gerência de Configuração 29

30 Controle de modificações [Leon, 2000] Requisição de modificação Leonardo Murta Introdução à Gerência de Configuração 30

31 Controle de modificações [White, 2000] Janela de criação de formulários do ClearQuest Leonardo Murta Introdução à Gerência de Configuração 31

32 Controle de modificações O critério de classificação da modificação deve estar explicitado no plano de GC A classificação visa priorizar modificações mais importantes (críticas, fatais, não fatais, cosméticas) A análise visa relatar os impactos em custo, cronograma, funcionalidades, etc. da implementação da modificação Caso a análise conclua que não existe chance de aprovar a modificação (casos extremos), pode ocorrer rejeição antes da avaliação para poupar custos no processo Leonardo Murta Introdução à Gerência de Configuração 32

33 Controle de modificações [Leon, 2000] Análise de modificação Leonardo Murta Introdução à Gerência de Configuração 33

34 Controle de modificações A avaliação utilizará a requisição de modificação e o laudo da análise para tomar a decisão A requisição pode ser aceita, rejeitada ou adiada A implementação deve ser seguida por testes de unidade Durante a verificação, devem ser aplicados testes de sistema Após a geração da nova baseline, deve ser decidido se ela será considerada uma nova liberação Leonardo Murta Introdução à Gerência de Configuração 34

35 Controle de modificações Caso especial: Correções emergenciais No caso de correções emergenciais, podem ser criados ramos sem a necessidade do processo formal Em algum momento esses ramos deverão sofrer junção para a linha principal de desenvolvimento Esse procedimento deve estar explicitado no processo! Leonardo Murta Introdução à Gerência de Configuração 35

36 Controle de modificações Caso especial: Defeitos Alguns sistemas tratam defeitos de forma diferente das demais requisições A correção de defeitos é um tratamento sintomático É importante descobrir o real motivo para o acontecimento do defeito para possibilitar a prevenção de defeitos futuros A análise de causa é útil para descobrir falhas no processo de desenvolvimento (e.g. falta de treinamento, padrões inadequados, ferramentas inadequadas) Leonardo Murta Introdução à Gerência de Configuração 36

37 Exemplo de ferramentas de controle de versões Livre Aegis Bazaar CVS Git Mercurial Subversion Comercial BitKeeper (BitMover) ClearCase (IBM Rational) Perforce PVCS (Serena) StarTeam (Borland) Synergy/CM (Telelogic) Visual SourceSafe (Microsoft) Team Foundation Server (Microsoft) Leonardo Murta Introdução à Gerência de Configuração 37

38 Exemplo de ferramentas de controle de modificações Livre Bugzilla Mantis Roundup Scarab Trac Comercial ClearQuest (IBM Rational) JIRA (Atlassian) StarTeam (Borland) Synergy/Change (Telelogic) TeamTrack (Serena) Team Foundation Server (Microsoft) Leonardo Murta Introdução à Gerência de Configuração 38

39 Analisando mais a fundo uma ferramenta popular... Leonardo Murta Introdução à Gerência de Configuração 39

40 Histórico Projeto iniciado em 2000 Iniciativa da CollabNet Open-Source Intuito de substituir o CVS Similar no uso Melhor na implementação Auto controlado desde agosto de 2001 Leonardo Murta Introdução à Gerência de Configuração 40

41 Características Versionamento de diretórios Copia, renomeação e movimentação com histórico Check-ins atômicos Versionamento de meta-dados Acesso via http/https Uso extensivo de deltas Delta de binários Delta bidirecional na comunicação cliente/servidor Leonardo Murta Introdução à Gerência de Configuração 41

42 Problema da concorrência Leonardo Murta Introdução à Gerência de Configuração 42

43 Política pessimista Leonardo Murta Introdução à Gerência de Configuração 43

44 Política pessimista Problemas administrativos Bloqueios esquecidos podem atrasar o andamento do projeto Problemas de serialização desnecessária Em alguns casos, as modificações atuam sobre partes independentes dos arquivos bloqueados Falsa sensação de segurança Dependências semânticas podem cruzar a fronteira de arquivos Bloqueios são necessários Quando se trata de arquivos que não podem ser combinados Leonardo Murta Introdução à Gerência de Configuração 44

45 Política otimista (1/2) Leonardo Murta Introdução à Gerência de Configuração 45

46 Política otimista (2/2) Leonardo Murta Introdução à Gerência de Configuração 46

47 Controle de concorrência no Subversion Política pessimista e otimista em conjunto Qualquer artefato pode ser sujeito a bloqueio Artefatos podem ser demarcados com necessita de bloqueio Artefatos bloqueados por um desenvolvedor podem ser editados por outros O commit dos outros somente ocorrerá depois do término do bloqueio Os outros deverão fazer merge Artefatos bloqueados podem ser roubados Bloqueio apoia à comunicação Bloqueio não engessa o processo Leonardo Murta Introdução à Gerência de Configuração 47

48 Repositório Sistema de arquivos versionado Check-in equivale a uma foto do sistema de arquivos num dado momento Versionamento global Número de versão dado por commit Identificador implícito de conjunto de modificações Algoritmo Bubble up Economia de espaço Velocidade na atualização Controle do histórico Leonardo Murta Introdução à Gerência de Configuração 48

49 Dimensão ESPAÇO Sistema de arquivo convencional Leonardo Murta Introdução à Gerência de Configuração 49

50 Dimensão ESPAÇO Sistema de arquivo versionado Dimensão TEMPO Leonardo Murta Introdução à Gerência de Configuração 50

51 Versionamento global O repositório é mais que um conjunto de arquivos independentes Mudança de versionamento de arquivos para versionamento do repositório Versão N é o estado do repositório depois do commit N Versão 5 do arquivo X passa a ser lido como arquivo X na versão 5 do repositório Leonardo Murta Introdução à Gerência de Configuração 51

52 Versionamento global Repositório (versão 0) 1º commit Repositório (versão 1) Arquivo1 (versão 1) Arquivo2 (versão 1) Arquivo3 (versão 1) 2º commit Repositório (versão 2) Arquivo1 (versão 2) Arquivo2 (versão 1) Arquivo3 (versão 1) Repositório (versão 3) Arquivo1 (versão 2) Arquivo2 (versão 3) Arquivo3 (versão 1) Arquivo4 (versão 3) 3º commit 4º commit Repositório (versão 4) Arquivo1 (versão 4) Arquivo2 (versão 3) Arquivo3 (versão 4) Arquivo4 (versão 3) Relatório por arquivo Arquivo1 Versão 1 Versão 2 Versão 4 Arquivo2 Versão 1 Versão 3 Arquivo3 Versão 1 Versão 4 Arquivo4 Versão 3 Leonardo Murta Introdução à Gerência de Configuração 52

53 Versionamento global Repositório (versão 0) 1º commit Repositório (versão 1) Arquivo1 (versão 1) Arquivo2 (versão 1) Arquivo3 (versão 1) 2º commit Repositório (versão 2) Arquivo1 (versão 2) Arquivo2 (versão 1) Arquivo3 (versão 1) Repositório (versão 3) Arquivo1 (versão 2) Arquivo2 (versão 3) Arquivo3 (versão 1) Arquivo4 (versão 3) 3º commit 4º commit Repositório (versão 4) Arquivo1 (versão 4) Arquivo2 (versão 3) Arquivo3 (versão 4) Arquivo4 (versão 3) Relatório por commit 1º commit Arquivo1 adicionado Arquivo2 adicionado Arquivo3 adicionado 2º commit Arquivo1 modificado 3º commit Arquivo2 modificado Arquivo4 adicionado 4º commit Arquivo1 modificado Arquivo3 modificado Leonardo Murta Introdução à Gerência de Configuração 53

54 Comando log Fornece um relatório sobre as versões do repositório Por arquivo Por commit Exibe, para cada versão Identificação (número da modificação) Quem (autor) Quando (data) Onde (caminhos) Como (ação nos caminhos) O que (mensagem) Por que (número da solicitação de modificação) Leonardo Murta Introdução à Gerência de Configuração 54

55 Comando log Sintaxe svn log [-q] [-v] [-r VERSÃO] [URL] Exemplo svn log -q r92 ronaldo :28: (dom, 01 abr 2007) r91 paulacibele :53: (seg, 19 mar 2007) r90 paulacibele :44: (seg, 19 mar 2007) r51 marinho :03: (qua, 18 jan 2006) r47 alexrd :44: (sáb, 07 jan 2006) r37 mlopes :46: (ter, 27 set 2005) r31 alexrd :15: (seg, 12 set 2005)... Leonardo Murta Introdução à Gerência de Configuração 55

56 Comando log Sintaxe svn log [-q] [-v] [-r VERSÃO] [URL] Exemplo svn log -v -r 92 r92 ronaldo :28: (dom, 01 abr 2007) 1 line Caminhos mudados: M /trunk/build.xml M /trunk/src/br/ufrj/cos/reuse/biblioteca/category/categoryutil.java A /trunk/src/br/ufrj/cos/reuse/biblioteca/category/suggestions.java M /trunk/src/br/ufrj/cos/reuse/biblioteca/category/dao/hibernatecategorydao.java Issue #234: Troca do algoritmo de sugestão de categorias Leonardo Murta Introdução à Gerência de Configuração 56

57 Algoritmo Bubble up Mecanismo interno do Subversion para controle do repositório Entender esse mecanismo ajuda a entender o funcionamento do Subversion Para um dado commit as ações são Aplicadas nas folhas Propagadas para os diretórios pais Arquivos e diretórios não afetados pelas modificações são preservados Algoritmo utilizado para armazenamento Reverse delta Leonardo Murta Introdução à Gerência de Configuração 57

58 Repositório inicial 1 Repositório Diretório 1 Arquivo 1 Diretório 2 Arquivo 2 Arquivo 3 Leonardo Murta Introdução à Gerência de Configuração 58

59 Commit: modificação em um único arquivo 1 Repositório Diretório 1 Arquivo 1 Diretório 2 Arquivo 2 Arquivo 3 Arquivo 3 Leonardo Murta Introdução à Gerência de Configuração 59

60 Propagação para o diretório pai 1 Repositório Diretório 1 Arquivo 1 Diretório 2 Diretório 2 Arquivo 2 Arquivo 3 Arquivo 3 Leonardo Murta Introdução à Gerência de Configuração 60

61 Criação da nova versão 1 2 Repositório Diretório 1 Arquivo 1 Diretório 2 Diretório 2 Arquivo 2 Arquivo 3 Arquivo 3 Leonardo Murta Introdução à Gerência de Configuração 61

62 Commit: adição de um novo arquivo 1 2 Repositório Diretório 1 Arquivo 1 Arquivo 4 Diretório 2 Diretório 2 Arquivo 2 Arquivo 3 Arquivo 3 Leonardo Murta Introdução à Gerência de Configuração 62

63 Propagação para o diretório pai 1 2 Repositório Diretório 1 Arquivo 1 Diretório 1 Arquivo 4 Diretório 2 Diretório 2 Arquivo 2 Arquivo 3 Arquivo 3 Leonardo Murta Introdução à Gerência de Configuração 63

64 Criação da nova versão 1 2 Repositório 3 Diretório 1 Arquivo 1 Diretório 1 Arquivo 4 Diretório 2 Diretório 2 Arquivo 2 Arquivo 3 Arquivo 3 Leonardo Murta Introdução à Gerência de Configuração 64

65 Cópia barata O projeto interno do Subversion visa prover cópias baratas de diretório Os dados não são duplicados Conceito semelhante a hard-link do unix Somente quando há mudanças, o link é quebrado Tempo constante gasto para cópias Mecanismo utilizado para Etiquetas (tags) Ramos (branches) Leonardo Murta Introdução à Gerência de Configuração 65

66 Versão atual do repositório 5 Repositório Diretório 1 Arquivo 1 Diretório 2 Arquivo 2 Arquivo 3 Diretório 3 Arquivo 4 Leonardo Murta Introdução à Gerência de Configuração 66

67 Diretório 2 copiado para dentro do Diretório 1 com outro nome 5 Repositório Diretório 1 Arquivo 1 Diretório 2 Diretório 2 Arquivo 2 Arquivo 3 Diretório 3 Arquivo 4 Leonardo Murta Introdução à Gerência de Configuração 67

68 Conteúdo idêntico ao original 5 Repositório Diretório 1 Arquivo 1 Diretório 2 Diretório 2 Arquivo 2 Arquivo 3 Diretório 3 Arquivo 4 Leonardo Murta Introdução à Gerência de Configuração 68

69 Propagação para o diretório pai 5 Repositório Diretório 1 Diretório 1 Arquivo 1 Diretório 2 Diretório 2 Arquivo 2 Arquivo 3 Diretório 3 Arquivo 4 Leonardo Murta Introdução à Gerência de Configuração 69

70 Criação da nova versão 5 6 Diretório 1 Repositório Diretório 1 Arquivo 1 Diretório 2 Diretório 2 Arquivo 2 Arquivo 3 Diretório 3 Arquivo 4 Leonardo Murta Introdução à Gerência de Configuração 70

71 Layout do repositório Layout é uma convenção Permite mais de um projeto por repositório Ajuda a organizar cada projeto Layout sugerido Um diretório por projeto na raiz do repositório Layout para cada projeto Um diretório para o ramo principal: trunk Um diretório para os ramos: branches Um diretório para as etiquetas: tags Leonardo Murta Introdução à Gerência de Configuração 71

72 Layout do repositório proj1/ trunk/ branches/ tags/ dissertacoes/ fulano/ trunk/ branches/ tags/ beltrano/ trunk/ branches/ tags/... Leonardo Murta Introdução à Gerência de Configuração 72

73 Etiquetas e Ramos Etiquetas (tags) Cópias baratas do trunk para o diretório tags Troca de nome pelo nome da etiqueta Por convenção, nenhuma edição é feita sobre esse diretório copiado Ramos (branches) Cópias baratas do trunk para o diretório branches Troca de nome pelo nome do ramo Edição no diretório copiado Leonardo Murta Introdução à Gerência de Configuração 73

74 Comando copy Copia um arquivo ou diretório com histórico entre caminhos no repositório ou espaço de trabalho Casos típicos URL URL: cópia executada atomicamente no servidor, utilizada usualmente para criar etiquetas e ramos Diretório local diretório local: cópia feita no cliente e adição (com histórico) agendada para o próximo commit Leonardo Murta Introdução à Gerência de Configuração 74

75 Comando copy Sintaxe svn copy ORIGEM DESTINO [-m MENSAGEM] Exemplo svn copy dir1 dir2/novo_dir_1 svn copy -m Criação do ramo 1.0.x svn copy -m Criação da etiqueta Leonardo Murta Introdução à Gerência de Configuração 75

76 Espaço de trabalho Diretório comum no sistema de arquivos local Guarda uma cópia limpa do checkout (.svn) Permite algumas operações off-line Permite transmissão de diffs para o servidor Área isolada das modificações de outros desenvolvedores Suas modificações podem ser publicadas com commit Modificações de outros podem ser incorporadas com update Um usuário pode ter vários espaços de trabalho para um mesmo projeto Leonardo Murta Introdução à Gerência de Configuração 76

77 Comando check-out Constrói um espaço de trabalho a partir de uma versão do repositório (ou parte dela) Leonardo Murta Introdução à Gerência de Configuração 77

78 Comando check-out Sintaxe svn checkout [-r VERSÃO] URL [CAMINHO] Exemplo svn checkout svn checkout -r 15 svn checkout rel1.0.3 Leonardo Murta Introdução à Gerência de Configuração 78

79 Comando commit Envia modificações do espaço de trabalho para o repositório Detecta automaticamente o que mudou Libera todos os bloqueios Aplica a modificação de forma atômica no repositório Pode não conseguir enviar caso algum outro usuário tenha dado commit Necessário um update Leonardo Murta Introdução à Gerência de Configuração 79

80 Comando commit Sintaxe svn commit [-m MENSAGEM] [CAMINHO] Exemplo svn commit -m Adição da versão do modelo svn commit -m Issue #34: Correção de erro de digitação src Leonardo Murta Introdução à Gerência de Configuração 80

81 Comando update Atualiza o espaço de trabalho com as últimas modificações existentes no repositório Pode encontrar conflitos durante a atualização É importante verificar cada um dos arquivos atualizados Ações sobre o espaço de trabalho Adição de arquivos (A) Remoção de arquivos (D) Atualização de arquivos (U) Arquivos com conflito (C) Arquivos combinados (G) Leonardo Murta Introdução à Gerência de Configuração 81

82 Comando update Sintaxe svn update [-r VERSÃO] [CAMINHO] Exemplo svn update svn update -r 12 svn update dir1 Leonardo Murta Introdução à Gerência de Configuração 82

83 Comportamento dos comandos Arquivo modificado localmente Arquivo modificado no repositório Comando commit Não Não Nenhuma ação Não Sim Nenhuma ação Sim Não Publica a versão local no repositório Sim Sim Falha, avisando que o arquivo está desatualizado Commando update Nenhuma ação Versão local substituída pela versão do repositório Nenhuma ação Versão local combinada com a versão do repositório Leonardo Murta Introdução à Gerência de Configuração 83

84 Ciclo básico de trabalho Implementação Construção do espaço de trabalho svn checkout svn update svn switch svn add svn delete svn copy svn move svn lock svn blame svn log Verificação svn status svn diff svn revert Integração svn update svn resolved svn commit Leonardo Murta Introdução à Gerência de Configuração 84

85 Junção de ramos Deve ser feita em um espaço de trabalho limpo Check-out do destino da junção Deve ser entendida como diff & apply Diff é dependente de ordem Diff(A, B): ações necessárias para transformar o caminho A no caminho B O diff pode atuar tanto no espaço quanto no tempo Espaço: diff entre dois diretórios (copiados de um lugar comum) Tempo: diff entre duas versões de um mesmo diretório Leonardo Murta Introdução à Gerência de Configuração 85

86 Merge no tempo Normalmente usado para ramos trunk branches/1.0.x 3 1 = diff(v4, v10) apply: 1 Espaço de trabalho Leonardo Murta Introdução à Gerência de Configuração 86

87 Merge no espaço Normalmente usado para etiquetas trunk branches/1.0.x tags = diff(1.0.0, 1.0.1) apply: 1 Espaço de trabalho Leonardo Murta Introdução à Gerência de Configuração 87

88 Comando merge Aplica a diferença entre dois caminhos no espaço de trabalho svn merge A B Calcula as ações que precisam ser feitas para transformar o caminho A no B Aplica essas ações no espaço de trabalho Leonardo Murta Introdução à Gerência de Configuração 88

89 Sintaxe Exemplo Comando merge svn merge [-c VERSÃO -r VERSÃO1:VERSÃO2] CAMINHO svn merge CAMINHO1 CAMINHO2 svn merge -c 23 svn merge -c svn merge -r 23:29 svn merge Leonardo Murta Introdução à Gerência de Configuração 89

90 Ciclo básico de junção Construção do espaço de trabalho svn checkout svn update svn switch Junção svn merge svn blame svn log Verificação svn status svn diff svn revert Integração svn update svn resolved svn commit Leonardo Murta Introdução à Gerência de Configuração 90

91 Propriedades Cada diretório ou arquivo pode ter metadados anexados a ele Tuplas <nome, valor> Versionados Algumas propriedades built-in svn:mime-type: tipo do arquivo svn:ignore: elementos que não devem ser versionados em um diretório svn:needs-lock: indica que o arquivo precisa de política de controle de concorrência pessimista Leonardo Murta Introdução à Gerência de Configuração 91

92 Principais Referências Bibliográficas Alexis Leon, A Guide to Software Configuration Management, Artech House Publishers, Anne Hass, Configuration Management Principles and Practices, Boston, MA, Pearson Education, Inc. Dart, S., 1991, Concepts in Configuration Management Systems, International Workshop on Software Configuration Management (SCM), Trondheim, Norway (June), pp Pressman, R. S. (1997). Software Engineering: A Practitioner's Approach, McGraw-Hill. Leonardo Murta Introdução à Gerência de Configuração 92

93 Introdução à Gerência de Configuração Leonardo Gresta Paulino Murta

Gerência de Configuração: Terminologia. Leonardo Gresta Paulino Murta

Gerência de Configuração: Terminologia. Leonardo Gresta Paulino Murta Gerência de Configuração: Terminologia Leonardo Gresta Paulino Murta leomurta@ic.uff.br Item de configuração Agregação de hardware e/ou software que será passível de gerência de configuração e tratado

Leia mais

Gerência de Configuração: Terminologia. Leonardo Gresta Paulino Murta

Gerência de Configuração: Terminologia. Leonardo Gresta Paulino Murta Gerência de Configuração: Terminologia Leonardo Gresta Paulino Murta leomurta@ic.uff.br Item de configuração Agregação de hardware e/ou software que será passível de gerência de configuração e tratado

Leia mais

Gerência de Configuração. Leonardo Gresta Paulino Murta

Gerência de Configuração. Leonardo Gresta Paulino Murta Gerência de Configuração Leonardo Gresta Paulino Murta leomurta@ic.uff.br Introdução A Engenharia de SoBware... Abordagem disciplinada para o desenvolvimento de sobware Grande diversidade de metodologias

Leia mais

Gerência de Configuração: Processos e Ferramentas. Leonardo Gresta Paulino Murta

Gerência de Configuração: Processos e Ferramentas. Leonardo Gresta Paulino Murta Gerência de Configuração: Processos e Leonardo Gresta Paulino Murta leomurta@ic.uff.br GC no processo de desenvolvimento O processo de gerência de configuração acontece em paralelo com o processo de desenvolvimento

Leia mais

Introdução à Gerência de Configuração. Leonardo Gresta Paulino Murta leomurta@ic.uff.br

Introdução à Gerência de Configuração. Leonardo Gresta Paulino Murta leomurta@ic.uff.br Introdução à Gerência de Configuração Leonardo Gresta Paulino Murta leomurta@ic.uff.br Introdução A Engenharia de Software... Abordagem disciplinada para o desenvolvimento de software Grande diversidade

Leia mais

Gerência de Configuração: Funções. Leonardo Gresta Paulino Murta

Gerência de Configuração: Funções. Leonardo Gresta Paulino Murta Gerência de Configuração: Funções Leonardo Gresta Paulino Murta leomurta@ic.uff.br IEEE Std 828 e ISO 10007 dividem as funções de gerência de configuração nas seguintes atividades Identificação da configuração

Leia mais

Gerência de Projetos e Manutenção de Software Aula 10 Gerência de Configuração e Mudanças Andréa Magalhães Magdaleno 2017.

Gerência de Projetos e Manutenção de Software Aula 10 Gerência de Configuração e Mudanças Andréa Magalhães Magdaleno 2017. Gerência de Projetos e Manutenção de Software Aula 10 Gerência de Configuração e Mudanças Andréa Magalhães Magdaleno andrea@ic.uff.br 2017.02 Agenda O Problema Gerência de Configuração Conceitos Básicos

Leia mais

Git. Bruno de Pinho Sche.no

Git. Bruno de Pinho Sche.no Git Bruno de Pinho Sche.no bsche.no@id.uff.br Histórico Desenvolvido para apoiar o projeto do kernel do Linux De 1991 até 2002 as mudanças no código eram passadas através de troca de arquivos De 2002 a

Leia mais

Gerência de Projetos e Manutenção de Software Aula 9 Gerência de Configuração e Mudanças Andréa Magalhães Magdaleno 2017.

Gerência de Projetos e Manutenção de Software Aula 9 Gerência de Configuração e Mudanças Andréa Magalhães Magdaleno 2017. Gerência de Projetos e Manutenção de Software Aula 9 Gerência de Configuração e Mudanças Andréa Magalhães Magdaleno andrea@ic.uff.br 2017.01 Agenda O Problema Gerência de Configuração Conceitos Básicos

Leia mais

Instituto Federal da Bahia Análise e Desenvolvimento de Sistemas INF022 Tópicos Avançados Gerencia de Configuração

Instituto Federal da Bahia Análise e Desenvolvimento de Sistemas INF022 Tópicos Avançados Gerencia de Configuração Instituto Federal da Bahia Análise e Desenvolvimento de Sistemas INF022 Tópicos Avançados Gerencia de Configuração Prof. Dr. Renato L. Novais renato@ifba.edu.br Gerência de Configuração e mudança Objetivo

Leia mais

Introdução ao Controle de Versões. Leonardo Murta (leomurta@ic.uff.br)

Introdução ao Controle de Versões. Leonardo Murta (leomurta@ic.uff.br) Introdução ao Controle de Versões Leonardo Murta (leomurta@ic.uff.br) Introdução A Engenharia de Software... Abordagem disciplinada para o desenvolvimento de software Grande diversidade de metodologias

Leia mais

Repositórios de Componentes nas perspectivas de Gerência de Configuração de Software e Reutilização de Software

Repositórios de Componentes nas perspectivas de Gerência de Configuração de Software e Reutilização de Software Repositórios de Componentes nas perspectivas de Gerência de Configuração de Software e Reutilização de Software Leonardo Gresta Paulino Murta leomurta@ic.uff.br Introdução Agenda Repositório na perspectiva

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ - UFPR Bacharelado em Ciência da Computação

UNIVERSIDADE FEDERAL DO PARANÁ - UFPR Bacharelado em Ciência da Computação SOFT DISCIPLINA: Engenharia de Software AULA NÚMERO: 20 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir conceitos relacionados a Gestão de configuração e Engenharia

Leia mais

Gerência de Configuração. Leonardo Gresta Paulino Murta leomurta@ic.uff.br

Gerência de Configuração. Leonardo Gresta Paulino Murta leomurta@ic.uff.br Gerência de Configuração Leonardo Gresta Paulino Murta leomurta@ic.uff.br Introdução A Engenharia de SoBware... Abordagem disciplinada para o desenvolvimento de sobware Grande diversidade de metodologias

Leia mais

Gerência de Configuração: Ramificação e Integração. Leonardo Gresta Paulino Murta

Gerência de Configuração: Ramificação e Integração. Leonardo Gresta Paulino Murta Gerência de Configuração: Ramificação e Leonardo Gresta Paulino Murta leomurta@ic.uff.br Existem diferentes estratégias de criação de ramos, que podem ser combinadas A seleção correta de estratégias possibilita

Leia mais

Um sistema de controle de versão tem a finalidade de gerenciar diferentes versões de um artefato.

Um sistema de controle de versão tem a finalidade de gerenciar diferentes versões de um artefato. O que é? Um sistema de controle de versão tem a finalidade de gerenciar diferentes versões de um artefato. Com isso ele oferece uma maneira muito mais inteligente e eficaz de organizar projetos, pois é

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

Repositórios 2. Sistemas de controle de versionamento. Allan C. Trevisan PET-COCE

Repositórios 2. Sistemas de controle de versionamento. Allan C. Trevisan PET-COCE Repositórios 2 Sistemas de controle de versionamento Allan C. Trevisan PET-COCE Introdução Muitos problemas de desenvolvimento de software são causados por falta de controle de versão. Algumas questões

Leia mais

Gerência de Configuração: Planejamento. Leonardo Gresta Paulino Murta

Gerência de Configuração: Planejamento. Leonardo Gresta Paulino Murta Gerência de Configuração: Planejamento Leonardo Gresta Paulino Murta leomurta@ic.uff.br Fases preparatórias para a implementação de GC Preparação do plano de GC Organização da equipe de GC Organização

Leia mais

CVS Concurrent Versions System

CVS Concurrent Versions System Universidade Federal do Pará Centro de Ciências Exatas e Naturais Departamento de Informática Laboratório de Engenharia de Software Projeto LABES PROINT Coordenador: Prof. Rodrigo Quites Reis Bolsista:

Leia mais

Gerência de Projetos e Manutenção de Software Aula 10 Gerência de Configuração e Mudanças + Reutilização Andréa Magalhães Magdaleno

Gerência de Projetos e Manutenção de Software Aula 10 Gerência de Configuração e Mudanças + Reutilização Andréa Magalhães Magdaleno Gerência de Projetos e Manutenção de Software Aula 10 Gerência de Configuração e Mudanças + Reutilização Andréa Magalhães Magdaleno andrea@ic.uff.br 2018.01 Agenda Gerência de Configuração Processos Controle

Leia mais

Garantia da Qualidade, Medição e Melhoria. Leonardo Gresta Paulino Murta

Garantia da Qualidade, Medição e Melhoria. Leonardo Gresta Paulino Murta Garantia da Qualidade, Medição e Melhoria Leonardo Gresta Paulino Murta leomurta@ic.uff.br Exercício motivacional Leonardo Murta Garantia da Qualidade, Medição e Melhoria 2 Qualidade depende da perspectiva...

Leia mais

Engenharia de Software. Prof. Raquel Silveira

Engenharia de Software. Prof. Raquel Silveira Engenharia de Software Prof. Raquel Silveira MOTIVAÇÃO Você já perdeu alguma versão anterior do arquivo do projeto? Já teve problemas em manter diferentes versões do sistema rodando ao mesmo tempo? Alguém

Leia mais

Gerência de Configuração

Gerência de Configuração Gerência de Configuração Ewelton Yoshio Chiba Yoshidome Alguns problemas Duas pessoas resolveram o mesmo bug; Por que/quando parou de funcionar? versão estável final ou versão integrada ultimate? Hd de

Leia mais

Uma Introdução aos Sistemas de Controle de Versão Distribuídos. Leonardo Gresta Paulino Murta

Uma Introdução aos Sistemas de Controle de Versão Distribuídos. Leonardo Gresta Paulino Murta Uma Introdução aos Sistemas de Controle de Versão Distribuídos Leonardo Gresta Paulino Murta leomurta@ic.uff.br Versionamento Agenda Sistemas de Controle de Versão Formas de adoção de Sistemas de Controle

Leia mais

Objetivo. Introdução; História; Conceito; SVN; Instalação; Prática através de exercícios.

Objetivo. Introdução; História; Conceito; SVN; Instalação; Prática através de exercícios. Tema Subversion Objetivo Introdução; História; Conceito; SVN; Instalação; Prática através de exercícios. Introdução É um sistema de controle de versão e revisão, distribuído entre os que utilizam desta

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

Desenvolvimento de so-ware com Git. Leonardo Gresta Paulino Murta

Desenvolvimento de so-ware com Git. Leonardo Gresta Paulino Murta Desenvolvimento de so-ware com Git Leonardo Gresta Paulino Murta leomurta@ic.uff.br Versionamento Agenda Sistemas de Controle de Versão Formas de adoção de Sistemas de Controle de Versão Distribuídos Git

Leia mais

Garantia da Qualidade, Medição e Melhoria. Leonardo Gresta Paulino Murta

Garantia da Qualidade, Medição e Melhoria. Leonardo Gresta Paulino Murta Garantia da Qualidade, Medição e Melhoria Leonardo Gresta Paulino Murta leomurta@ic.uff.br Exercício motivacional Leonardo Murta Garantia da Qualidade, Medição e Melhoria 2 Qualidade depende da perspectiva...

Leia mais

Gerência de Configuração de Software Conceitos

Gerência de Configuração de Software Conceitos 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 Conceitos Rafael Leonardo Vivian {rlvivian.uem

Leia mais

Gerenciamento de configuração e mudança

Gerenciamento de configuração e mudança Gerenciamento de configuração e mudança Centro de Informática - Universidade Federal de Pernambuco Kiev Gama kiev@cin.ufpe.br Slides originais elaborados por Ian Sommerville e adaptado pelos professores

Leia mais

Gerência de Configuração: Introdução. Leonardo Gresta Paulino Murta

Gerência de Configuração: Introdução. Leonardo Gresta Paulino Murta Gerência de Configuração: Introdução Leonardo Gresta Paulino Murta leomurta@ic.uff.br Histórico Anos 50 GC para produção de aviões de guerra e naves espaciais Anos 60 e 70 Surgimento de GCS (S = Software)

Leia mais

Gerência de Projetos e Manutenção de Software Aula 9 Gerência de Configuração e Mudanças Andréa Magalhães Magdaleno andrea@ic.uff.

Gerência de Projetos e Manutenção de Software Aula 9 Gerência de Configuração e Mudanças Andréa Magalhães Magdaleno andrea@ic.uff. Gerência de Projetos e Manutenção de Software Aula 9 Gerência de Configuração e Mudanças Andréa Magalhães Magdaleno andrea@ic.uff.br Agenda Rebobinando... Análise de Valor Agregado Gerência de Configuração

Leia mais

Tarefas de Gerenciamento de Configuração

Tarefas de Gerenciamento de Configuração Tarefas de Gerenciamento de Configuração 1- Tarefas Preliminares 2- Identificação 3- Controle de Mudanças 4- Controle de Versão 5- Auditoria de Configuração 6- Relato de Situação 7- Controle de Interface

Leia mais

Material cedido por André Santos. Objetivo

Material cedido por André Santos. Objetivo Material cedido por André Santos Objetivo Compreender a importância do uso de mecanismos de gerência de configuração (GC) e de mudança (GM), seus métodos, processos e ferramentas. Fornecer os principais

Leia mais

- 6ª Lista de Exercícios -

- 6ª Lista de Exercícios - - 6ª Lista de Exercícios - Gerência de Configuração Questão 1) (CESPE, 2013, TCE-RO - Analista de Informática). Com relação à gerência de configuração de software, julgue os itens que se seguem: Quando

Leia mais

Agenda. Gerência de Configuração de Software. Atividade Sala. Quais os problemas? P1) Duplicidade de Trabalho. P2) Trabalhos Sobrepostos

Agenda. Gerência de Configuração de Software. Atividade Sala. Quais os problemas? P1) Duplicidade de Trabalho. P2) Trabalhos Sobrepostos Agenda Gerência de Configuração de Software Vamos entender o Problema? Quais os problemas? Gerência de Configuração Marcos Dósea dosea@ufs.br Entender os problemas... Quais os problemas? Problema 1) Duplicidade

Leia mais

Sistemas de Controlo de Versões

Sistemas de Controlo de Versões Sistemas de Controlo de Versões Laboratórios de Informática I MIEI O desenvolvimento de software é cada vez mais complexo, e obriga a que uma equipa de programadores possa desenvolver uma mesma aplicação

Leia mais

Plano de Gerenciamento de Configuração

Plano de Gerenciamento de Configuração Plano de Gerenciamento de Configuração Controle de Versões Versão Data Autor Notas da Revisão 0.1 29/11/2016 Deborah Araujo Denis Ferreira Ezio Mendonça - Plano de gerenciamento de Configuração Página

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. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

GERÊNCIA DE CONFIGURAÇÃO. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com GERÊNCIA DE CONFIGURAÇÃO Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com Objetivo Apresentar a GC (Gerencia de Configuração) no contexto da Engenharia de Software Mostrar a importância da GC no controle

Leia mais

Daves Marcio Silva Martins Mestre em Computação de Alto Desempenho - UFRJ.

Daves Marcio Silva Martins Mestre em Computação de Alto Desempenho - UFRJ. Daves Marcio Silva Martins Mestre em Computação de Alto Desempenho - UFRJ davesmartins@yahoo.com.br Conteúdo Introdução Conceitos do Controle de Versão Trabalhando com Subversion Prática Introdução Motivação

Leia mais

Gerência da Configuração de Software. Teresa Maciel DEINFO/UFRPE

Gerência da Configuração de Software. Teresa Maciel DEINFO/UFRPE Gerência da Configuração de Software Teresa Maciel DEINFO/UFRPE 1 Propósito Garantir a integridade dos itens que compõem uma versão do produtos de software, através do controle de versões e mudanças dos

Leia mais

Integração da Gerência de Configuração com a Gerência de Projetos e de Requisitos em um Ambiente

Integração da Gerência de Configuração com a Gerência de Projetos e de Requisitos em um Ambiente Integração da Gerência de Configuração com a Gerência de Projetos e de Requisitos em um Ambiente Colaborativo Jonnathan Carvalho, Mario Amaral, Mara Barcelos, Simone Vasconcelos, Aline Vasconcelos Projeto

Leia mais

Gerenciamento de Configuração de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1 o semestre de 2015

Gerenciamento de Configuração de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1 o semestre de 2015 Gerenciamento de Configuração de Software Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1 o semestre de 2015 Contextualizando 2 ISO 12207: Estrutura Processos Fundamentais Aquisição Processos

Leia mais

Gerenciamento de Configuração

Gerenciamento de Configuração Gerenciamento de Configuração WAZLAWICK, Raul S. Engenharia de Software: Conceitos e Práticas.1 ed. Rio de Janeiro: Elsevier, 2013. PRESSMAN, Roger S. Engenharia de Software. 6 ed.são Paulo: McGraw-Hill,

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

Repositórios de Componentes nas perspectivas de Gerência de Configuração de Software e Reutilização de Software

Repositórios de Componentes nas perspectivas de Gerência de Configuração de Software e Reutilização de Software Repositórios de Componentes nas perspectivas de Gerência de Configuração de Software e Reutilização de Software Leonardo Gresta Paulino Murta leomurta@ic.uff.br Introdução Agenda Repositório na perspectiva

Leia mais

GIT Controlo de versões

GIT Controlo de versões Universidade Portucalense Engenharia de Software ES01 2013-2014 1 Universidade Portucalense Engenharia de Software ES01 2013-2014 1 GIT Controlo de versões O GIT tem duas vantagens essenciais: Faz o controlo

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

Aula 03. Evandro Deliberal

Aula 03. Evandro Deliberal Aula 03 Evandro Deliberal evandro@deljoe.com.br https://www.linkedin.com/in/evandrodeliberal Concorrência Método Sincronização Problemas: Perda de consistência Acesso a dados inconsistentes Perda de atualizações

Leia mais

Apresentação do Curso de Gerência de Configuração 2009/2

Apresentação do Curso de Gerência de Configuração 2009/2 Apresentação do Curso de Gerência de Configuração 2009/2 Leonardo Gresta Paulino Murta leomurta@ic.uff.br Apresentações Quem sou eu? Leonardo Murta http://www.ic.uff.br/~leomurta Quem são vocês? Nome?

Leia mais

Análise de Ferramentas para Controle de Versões de Software no Contexto do MPS.BR

Análise de Ferramentas para Controle de Versões de Software no Contexto do MPS.BR Análise de Ferramentas para Controle de Versões de Software no Contexto do MPS.BR Danne da Silva Oliveira 1, Heitor Costa 2, Paulo Afonso Parreira Júnior 2 1 Instituto de Ciências Exatas - Universidade

Leia mais

INTRODUÇÃO À INTEGRAÇÃO CONTÍNUA. Jadson Santos Software Engineer Informatic Superintendence (SINFO) - UFRN

INTRODUÇÃO À INTEGRAÇÃO CONTÍNUA. Jadson Santos Software Engineer Informatic Superintendence (SINFO) - UFRN INTRODUÇÃO À INTEGRAÇÃO CONTÍNUA Jadson Santos Software Engineer Informatic Superintendence (SINFO) - UFRN 2 Introdução à Integração Contínua Integração Contínua é uma pratica de desenvolvimento de software

Leia mais

Apresentação do Curso de Laboratório de Gerência de Configuração

Apresentação do Curso de Laboratório de Gerência de Configuração Apresentação do Curso de Laboratório de Gerência de Configuração Leonardo Gresta Paulino Murta leomurta@ic.uff.br Apresentações Quem sou eu? Leonardo Murta http://www.ic.uff.br/~leomurta Quem são vocês?

Leia mais

Uma ferramenta para controle de modificação de software : DiSE -ChanCo

Uma ferramenta para controle de modificação de software : DiSE -ChanCo Uma ferramenta para controle de modificação de software : DiSE -ChanCo Gustavo Yuji Sato, Gislaine Camila Lapasini Leal, Ana Paula Chaves, Elisa Hatsue Moriya Huzita Departamento de Informática Universidade

Leia mais

Atividades da Engenharia de Software GERENCIAMENTO DA CONFIGURAÇÃO DE SOFTWARE. Processo de Desenvolvimento de Software

Atividades da Engenharia de Software GERENCIAMENTO DA CONFIGURAÇÃO DE SOFTWARE. Processo de Desenvolvimento de Software GERENCIAMENTO DA CONFIGURAÇÃO DE SOFTWARE SCE186-ENGENHARIA DE SOFTWARE Profs. José Carlos Maldonado e Elisa Yumi Nakagawa Atividades da Engenharia de DEFINIÇÃO SOFTWARE PRODUTO MANUTENÇÃO Análise de Sistema

Leia mais

Gerenciamento de Projetos com o Redmine

Gerenciamento de Projetos com o Redmine Gerenciamento de Projeto com o Redmine Marcello Moura, Hugo do Nascimento {marcello,diretor}@cercomp.ufg.br Centro de Recursos Computacionais Universidade Federal de Goiás Goiânia, 28 de Abril 2009 Esta

Leia mais

Controlo de versões com GIT

Controlo de versões com GIT Controlo de versões com GIT Controlo de versões é um sistema que grava mudanças a um ficheiro ou conjunto de ficheiros, ao longo do tempo, de modo a que possam ser invocadas versões específicas mais tarde.

Leia mais

Aplicando Técnicas de Visualização de Software para Apoiar a Escolha de Políticas de Controle de Concorrência

Aplicando Técnicas de Visualização de Software para Apoiar a Escolha de Políticas de Controle de Concorrência Aplicando Técnicas de Visualização de Software para Apoiar a Escolha de Políticas de Controle de Concorrência João Gustavo Gomes Prudêncio Orientadores: Cláudia Maria Lima Werner Leonardo Gresta Paulino

Leia mais

Versão: 1.0 Doc Manager

Versão: 1.0 Doc Manager Plano de Gerenciamento de Configuração versão 1.0 Desenvolvimento do Sistema de Gestão de Documentos Doc Manager Cliente: São José Agroindustrial Representante do cliente: Paulo José de Souza 1 Data: 10/04/2016

Leia mais

Aderência do IBM Rational Team Concert ao MR- MPS Uma análise com ênfase em gerência de configuração

Aderência do IBM Rational Team Concert ao MR- MPS Uma análise com ênfase em gerência de configuração Aderência do IBM Rational Team Concert ao MR- MPS Uma análise com ênfase em gerência de configuração João Condack PrimeUp Instituição Implementadora MPS.Br Rio de Janeiro RJ Brasil condack@primeup.com.br

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

Banco de Dados I 6 Transações e Controle de Concorrência

Banco de Dados I 6 Transações e Controle de Concorrência Banco de Dados I 6 Transações e Controle de Concorrência Grinaldo Lopes de Oliveira (grinaldo( grinaldo@gmail.com) Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas * Material com créditos

Leia mais

GIT. Prof. Rafael Sandim

GIT. Prof. Rafael Sandim GIT Prof. Rafael Sandim Controle de Versões Temos um projeto onde temos vários arquivos e vários desenvolvedores trabalhando no mesmo projeto Como realizar alterações? Como sincronizar as alterações dos

Leia mais

Apresentação do Curso de Laboratório de Gerência de Configuração

Apresentação do Curso de Laboratório de Gerência de Configuração Apresentação do Curso de Laboratório de Gerência de Configuração Leonardo Gresta Paulino Murta leomurta@ic.uff.br Apresentações Quem sou eu? Leonardo Murta http://www.ic.uff.br/~leomurta Quem são vocês?

Leia mais

Apresentação do Curso de Laboratório de Gerência de Configuração

Apresentação do Curso de Laboratório de Gerência de Configuração Apresentação do Curso de Laboratório de Gerência de Configuração Leonardo Gresta Paulino Murta leomurta@ic.uff.br Apresentações Quem sou eu? Leonardo Murta http://www.ic.uff.br/~leomurta Quem são vocês?

Leia mais

ISO/IEC 12207: Manutenção

ISO/IEC 12207: Manutenção ISO/IEC 12207: Manutenção O desenvolvimento de um sistema termina quando o produto é liberado para o cliente e o software é instalado para uso operacional Daí em diante, deve-se garantir que esse sistema

Leia mais

Processo de Gerência de Configuração. Maurício Ronny de Almeida Souza

Processo de Gerência de Configuração. Maurício Ronny de Almeida Souza Processo de Gerência de Maurício Ronny de Almeida Souza Agenda Motivação O que é Gerência de Histórico GCS e Normas/Modelos de Qualidade de Software Nível F do MR-MPS O processo GCO do MR-MPS Resultados

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

Gerência de Projetos e Manutenção de Software Aula 12 Medição / Manutenção / Encerramento Andréa Magalhães Magdaleno 2017.

Gerência de Projetos e Manutenção de Software Aula 12 Medição / Manutenção / Encerramento Andréa Magalhães Magdaleno 2017. Gerência de Projetos e Manutenção de Software Aula 12 Medição / Manutenção / Encerramento Andréa Magalhães Magdaleno andrea@ic.uff.br 2017.02 Agenda Medição Manutenção Encerramento do Projeto Próximos

Leia mais

Gestão de Desenvolvimento de Sistemas por Controle de Versão Utilizando SVN. Software para Controle de Versão SVN/Subversion

Gestão de Desenvolvimento de Sistemas por Controle de Versão Utilizando SVN. Software para Controle de Versão SVN/Subversion Gestão de Desenvolvimento de Sistemas por Controle de Versão Utilizando SVN Software para Controle de Versão SVN/Subversion Subversion é uma solução opensource Interação com o desenvolvedor Projetos que

Leia mais

Curso de git. Aula de outubro de 2018

Curso de git. Aula de outubro de 2018 Curso de git Aula 1 Pet Computação 22 de outubro de 2018 1 / 43 Conteúdo Aula 2 Aula 1 Controle de versão Git conceitual Git prático com: git add, commit git checkout, branch, log Ramificações remotas

Leia mais

SISTEMA DISTRIBUÍDO PARA GERENCIAMENTO DE LIBERAÇÃO DE RELEASES DE SOFTWARE

SISTEMA DISTRIBUÍDO PARA GERENCIAMENTO DE LIBERAÇÃO DE RELEASES DE SOFTWARE SISTEMA DISTRIBUÍDO PARA GERENCIAMENTO DE LIBERAÇÃO DE RELEASES DE SOFTWARE 12/2013 Acadêmico: Rogério Mello Vanti Orientador: Paulo Fernando da Silva Roteiro Introdução Fundamentação teórica Resultados

Leia mais

Apresentação do Curso de Gerência de Configuração

Apresentação do Curso de Gerência de Configuração Apresentação do Curso de Gerência de Configuração Leonardo Gresta Paulino Murta leomurta@ic.uff.br Apresentações Quem sou eu? Leonardo Murta http://www.ic.uff.br/~leomurta Quem são vocês? Nome? Período?

Leia mais

IMPLANTAÇÃO DA SOLUÇÃO DA MICROSOFT EPM

IMPLANTAÇÃO DA SOLUÇÃO DA MICROSOFT EPM IMPLANTAÇÃO DA SOLUÇÃO DA MICROSOFT EPM Marcia Carvalho de Almeida, André Lucio de Oliveira Leonardo Soares Vianna Rodrigo de Paula Cordeiro RESUMO Este artigo tem por objetivo apresentar um problema na

Leia mais

Engenharia de Software II

Engenharia de Software II Engenharia de Software II Aula 26 http://www.ic.uff.br/~bianca/engsoft2/ Aula 26-21/07/2006 1 Ementa Processos de desenvolvimento de software Estratégias e técnicas de teste de software Métricas para software

Leia mais

Modulo I Introdução ao XP

Modulo I Introdução ao XP Modulo I Introdução ao XP Prof. Ismael H F Santos April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Ementa Modulo VI Xtreme Programming Valores e Princípios do XP Desenvolvimento centrado

Leia mais

Guia de função do exame médico completo do base de dados UCSM DME

Guia de função do exame médico completo do base de dados UCSM DME Guia de função do exame médico completo do base de dados UCSM DME Índice Introdução Pré-requisitos Requisitos Componentes Utilizados Informações de Apoio Características do exame médico completo do base

Leia mais

Visões Arquiteturais. Visões Arquiteturais

Visões Arquiteturais. Visões Arquiteturais Visões Arquiteturais Separar diferentes aspectos em visões separadas com o objetivo de gerenciar complexidade. Cada visão descreve diferentes conceitos da Engenharia. Visões permitem reduzir a quantidade

Leia mais

Engenharia de Software II

Engenharia de Software II Engenharia de Software II Aula 7 http://www.ic.uff.br/~bianca/engsoft2/ Aula 7-12/05/2006 1 Ementa Processos de desenvolvimento de software Estratégias e técnicas de teste de software (Caps. 13 e 14 do

Leia mais

SUPORTE ATLASSIAN 2017 SUPORTE ATLASSIAN

SUPORTE ATLASSIAN 2017 SUPORTE ATLASSIAN SUPORTE ATLASSIAN 2017 1 Se as ferramentas Atlassian são de alto nível de importância dentro da sua organização, considere nosso Suporte Platinum. Mantenha sua equipe focada no que realmente interessa

Leia mais

Julio Cezar Fialho Freire de Carvalho 1, Aline Maria Malachini Miotto Amaral 2 1 INTRODUÇÃO

Julio Cezar Fialho Freire de Carvalho 1, Aline Maria Malachini Miotto Amaral 2 1 INTRODUÇÃO 26 a 29 de outubro de 2010 ISBN 978-85-61091-69-9 ESTUDO E DEFINIÇÃO DA APLICAÇÃO PARA CONTROLE DE VERSÕES DOS ARTEFATOS GERENCIADOS PELA FERRAMENTA S.A.Do.M (SOFTWARE ARTIFACTS DOCUMENTATION AND MANAGEMENT)

Leia mais

Formação de DBAs SQL Server 2008

Formação de DBAs SQL Server 2008 Formação de DBAs SQL Server 2008 Parte 8: Banco de Dados Distribuído Computação Distribuída Um grupo de elementos autônomos de processamento (não necessariamente homogêneos) que estão interconectados por

Leia mais

Análise e projeto de sistemas

Análise e projeto de sistemas Análise e projeto de sistemas Conteúdo: UML O processo de desenvolvimento de software Prof. Patrícia Lucas A linguagem de modelagem unificada (UML) A UML teve origem em uma tentativa de se unificar os

Leia mais

Gerência de Configuração de Software. Msc. Ernani Sales Implementador Oficial MPS.BR ernani@webapsee.com

Gerência de Configuração de Software. Msc. Ernani Sales Implementador Oficial MPS.BR ernani@webapsee.com Gerência de Configuração de Software Msc. Ernani Sales Implementador Oficial MPS.BR ernani@webapsee.com Introdução O que é GCS? Terminologia Agenda Modelos, Padrões e Normas Processo de GCS Padrão IEEE

Leia mais

ÍNDICE. Redes de Computadores - 1º Período de Cap 12 - Fls. 1

ÍNDICE. Redes de Computadores - 1º Período de Cap 12 - Fls. 1 ÍNDICE 12. Sistemas Operacionais de Redes 2 12.1. Conceito 2 12.2. Redirecionador 3 12.3. Arquiteturas 3 12.4. Par a Par 4 12.5. Cliente-Servidor 4 12.6. Os Sistemas Operacionais de Redes e as Arquiteturas

Leia mais

Odyssey-VCS: Um Sistema de Controle de Versões Para Modelos Baseados no MOF

Odyssey-VCS: Um Sistema de Controle de Versões Para Modelos Baseados no MOF Odyssey-VCS: Um Sistema de Controle de Versões Para Modelos Baseados no MOF Hamilton Oliveira, Leonardo Murta, Claudia Werner COPPE/UFRJ Programa de Engenharia de Sistemas e Computação Caixa Postal 68511

Leia mais

Capítulo 25. Gerenciamento de Configuração Pearson PrenticeHall. Todos os direitos reservados. slide 1

Capítulo 25. Gerenciamento de Configuração Pearson PrenticeHall. Todos os direitos reservados. slide 1 Capítulo 25 Gerenciamento de Configuração slide 1 Tópicos abordados Gerenciamento de mudanças Gerenciamento de versões Construção de sistemas Gerenciamento de releases slide 2 Gerenciamento de configuração

Leia mais

BANCO DE DADOS 2 TRANSAÇÃO

BANCO DE DADOS 2 TRANSAÇÃO BANCO DE DADOS 2 TRANSAÇÃO Prof. Edson Thizon Reconstrução ( recovery ) Idéia básica Em algum momento no tempo, todo sistema computacional apresentará uma falha. O SGBD deve incorporar mecanismos de proteção

Leia mais

Apresentação da Disciplina de Engenharia de Software II

Apresentação da Disciplina de Engenharia de Software II Apresentação da Disciplina de Engenharia de Software II Leonardo Gresta Paulino Murta leomurta@ic.uff.br Quem sou eu? Apresentações Leonardo Murta http://www.ic.uff.br/~leomurta Quem são vocês? Nome? Estágio?

Leia mais

git git Utilização básica no controle de versão de pacotes João Eriberto Mota Filho Utilização básica no controle de versão de pacotes

git git Utilização básica no controle de versão de pacotes João Eriberto Mota Filho Utilização básica no controle de versão de pacotes Utilização básica no controle de versão de pacotes Mini DebConf Curitiba 2016 João Eriberto Mota Filho C u r i t i b a, P R, 0 6 d e meriberto a r ç o d e Mar. 2 0 1 62016 Sumário O que é o? Utilização

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

Manual de instalação, configuração e utilização do Enviador XML

Manual de instalação, configuração e utilização do Enviador XML Manual de instalação, configuração e utilização do Enviador XML 1 Manual de instalação, configuração e utilização do Enviador XML 1. Conceitos e termos importantes XML Empresarial: é um sistema web (roda

Leia mais

ICET CURSO: Ciência da Computação e Sistemas de Informação (Engenharia de Software) Campus: Data: / / Nome:

ICET CURSO: Ciência da Computação e Sistemas de Informação (Engenharia de Software) Campus: Data: / / Nome: ICET CURSO: Ciência da Computação e Sistemas de Informação (Engenharia de Software) Estudos Disciplinares Campus: Data: / / Nome: RA: Turma: Questão 1: Assinale a função correta de engenharia de requisitos:

Leia mais

ITIL v3 Transição de Serviço Parte 1

ITIL v3 Transição de Serviço Parte 1 ITIL v3 Transição de Serviço Parte 1 A Transição de Serviço é composto por um conjunto de processos e atividades para a transição de serviços no ambiente de produção. Aqui, deve-se encarar como um projeto

Leia mais

Odyssey-VCS. Introdução Motivação. Introdução Contexto. Agenda. Uma Abordagem de Controle de Versões para Elementos da UML

Odyssey-VCS. Introdução Motivação. Introdução Contexto. Agenda. Uma Abordagem de Controle de Versões para Elementos da UML Odyssey-CS Uma de Controle de ersões para Elementos da UML Hamilton Luiz Rodrigues de Oliveira hamilton@cos.ufrj.br Orientação: Claudia Maria Lima Werner werner@cos.ufrj.br! proposta! 2 Introdução Contexto

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