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 leomurta@ic.uff.br"

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 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) Desenvolvimento Liberação Implantação Produção Gerência de Configuração Leonardo Murta Introdução à Gerência de Configuração 6

7 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) Foco ainda em aplicações militares e aeroespaciais Anos 80 e 90 Mudança de foco (MIL EIA, IEEE, ISO, etc.) Surgimento das primeiras normas internacionais Assimilação por organizações não militares Leonardo Murta Introdução à Gerência de Configuração 7

8 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 8

9 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 9

10 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 10

11 Sistema de Gerência de Configuração Solicitações Controle de Modificações Artefatos Controle de Versões Construção e Release Leonardo Murta Introdução à Gerência de Configuração 11

12 Sistema x Funções de GC 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 Este curso será guiado pelos sistemas de controle de modificações e versões! Leonardo Murta Introdução à Gerência de Configuração 12

13 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 13

14 Sistema de Gerência de Configuração Solicitações Controle de Modificações Artefatos Controle de Versões Construção e Release Leonardo Murta Introdução à Gerência de Configuração 14

15 Controle de versões Topologia? Armazenamento? Colaboração? Consulta? Leonardo Murta Introdução à Gerência de Configuração 15

16 check-in check-in / commit push Topologia Espaço de Trabalho Repositório Espaço de Trabalho check-out / update Repositório Repositório Espaço de Trabalho clone / pull check-out / update Centralizado Distribuído Leonardo Murta Introdução à Gerência de Configuração 16

17 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 17

18 Colaboração 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 18

19 Consulta Repositório (versão 0) 1ª modificação Repositório (versão 1) Artefato1 (versão 1) Artefato2 (versão 1) Artefato3 (versão 1) Repositório (versão 2) Artefato1 (versão 2) Artefato2 (versão 1) Artefato3 (versão 1) 2ª modificação Repositório (versão 3) Artefato1 (versão 2) Artefato2 (versão 3) Artefato3 (versão 1) Artefato4 (versão 3) 3ª modificação 4ª modificação Repositório (versão 4) Artefato1 (versão 4) Artefato2 (versão 3) Artefato3 (versão 4) Artefato4 (versão 3) Consulta por artefato Artefato1 Versão 1 Versão 2 Versão 4 Artefato2 Versão 1 Versão 3 Artefato3 Versão 1 Versão 4 Artefato4 Versão 3 Leonardo Murta Introdução à Gerência de Configuração 19

20 Consulta Repositório (versão 0) 1ª modificação Repositório (versão 1) Artefato1 (versão 1) Artefato2 (versão 1) Artefato3 (versão 1) Repositório (versão 2) Artefato1 (versão 2) Artefato2 (versão 1) Artefato3 (versão 1) 2ª modificação Repositório (versão 3) Artefato1 (versão 2) Artefato2 (versão 3) Artefato3 (versão 1) Artefato4 (versão 3) 3ª modificação 4ª modificação Repositório (versão 4) Artefato1 (versão 4) Artefato2 (versão 3) Artefato3 (versão 4) Artefato4 (versão 3) Consulta por modificação 1ª modificação Artefato1 adicionado Artefato2 adicionado Artefato3 adicionado 2ª modificação Artefato1 modificado 3ª modificação Artefato2 modificado Artefato4 adicionado 4ª modificação Artefato1 modificado Artefato3 modificado Leonardo Murta Introdução à Gerência de Configuração 20

21 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 21

22 Estratégia básica de Ramificação Manutenção em série Ramo principal: evolução Ramos auxiliares: correções Foco Desenvolvimento in-house Cliente único (e.g.: aplicações Web) Dificuldade de manutenção de várias liberações em paralelo Sistema Desenv. RC1 Evolução RC2 Evolução Rel. 1 Verif. Correção Correção Rel Verif. Correção Leonardo Murta Introdução à Gerência de Configuração 22

23 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 23

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

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

26 Sistema de Gerência de Configuração Solicitações Controle de Modificações Artefatos Controle de Versões Construção e Release Leonardo Murta Introdução à Gerência de Configuração 26

27 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 27

28 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 28

29 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 29

30 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 30

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

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

33 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 33

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

35 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 35

36 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 36

37 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 37

38 Contabilização da situação Tarefas Armazenamento das informações geradas Propagação dessas informações aos interessados através de relatórios Metáfora de conta bancária para item de configuração Permite que métricas sejam utilizadas com o intuito de melhoria do processo e estimativa de custos futuros Fornece relatórios gerenciais ad-hoc Leonardo Murta Introdução à Gerência de Configuração 38

39 Contabilização da situação Resultado do relatório no modo tabular no Bugzilla Leonardo Murta Introdução à Gerência de Configuração 39

40 Contabilização da situação Resultado do relatório no modo de gráfico de pizza no Bugzilla Leonardo Murta Introdução à Gerência de Configuração 40

41 Contabilização da situação Resultado da consulta sobre séries no Bugzilla Leonardo Murta Introdução à Gerência de Configuração 41

42 Exemplo de ferramentas de controle de modificações Livre Bugzilla Mantis Redmine 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 42

43 Sistema de Gerência de Configuração Solicitações Controle de Modificações Artefatos Controle de Versões Construção e Release Leonardo Murta Introdução à Gerência de Configuração 43

44 Auditoria da configuração Deve ocorrer ao menos antes de uma liberação (release) Tarefas Verificação funcional, assegurando que a baseline cumpre o que foi especificado Verificação física, assegurando que a baseline é completa (todos os itens de configuração especificados) Auditorias servem para garantir que os procedimentos e padrões foram aplicados Leonardo Murta Introdução à Gerência de Configuração 44

45 Auditoria da configuração A auditoria funcional ocorre através da revisão dos planos, dados, metodologia e resultado dos teste, para verificar se são satisfatórios A auditoria física examina a estrutura de todos os itens de configuração que compõem a baseline A auditoria física é efetuada após a auditoria funcional Podem ocorrer auditorias no próprio sistema de GC pelos mantenedores do plano de GC, para verificar se as políticas e procedimentos estão sendo cumpridos Leonardo Murta Introdução à Gerência de Configuração 45

46 Gerenciamento de releases Descrição de como construir, liberar e entregar o sistema Linguagem natural (conhecimento) Linguagem computacional (automação) Manter os descritores e documentos sob gerência de configuração! Definição das situações onde o processo pode ser temporariamente desviado Cuidado: Releases muito curtas podem levar a círculo-vicioso de defeitos... Leonardo Murta Introdução à Gerência de Configuração 46

47 Gerenciamento de releases Necessidade de novas releases Releases Curtas + Testes manuais + Equipe pequena Baixa cobertura dos testes Solicitações de correção dos defeitos Defeitos no produto final Leonardo Murta Introdução à Gerência de Configuração 47

48 Exemplo de ferramentas de controle de construção e liberação Livre Ant NAnt Make Maven Rake Comercial ClearMake (IBM Rational) MSBuild (Microsoft) Synergy/CM Object Make (Telelogic) Leonardo Murta Introdução à Gerência de Configuração 48

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

50 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 50

51 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 51

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

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

54 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 54

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

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

57 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 57

58 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 58

59 Dimensão ESPAÇO Sistema de arquivos tradicional Leonardo Murta Introdução à Gerência de Configuração 59

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

61 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 61

62 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 62

63 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 63

64 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 64

65 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 65

66 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 66

67 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 67

68 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 68

69 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 69

70 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 70

71 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 71

72 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 72

73 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 73

74 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 74

75 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 75

76 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 76

77 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 77

78 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 78

79 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 79

80 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 80

81 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 81

82 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 82

83 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 83

84 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 84

85 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 85

86 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 86

87 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 87

88 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 88

89 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 89

90 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 90

91 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 91

92 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 92

93 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 93

94 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 94

95 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 95

96 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 96

97 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 97

98 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 98

99 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 99

100 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 100

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

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

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

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

Introdução à Gerência de Configuração. Leonardo Gresta Paulino Murta 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. 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

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

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

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

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

Gerência de Configuração. Profº Rômulo César

Gerência de Configuração. Profº Rômulo César Gerência de Configuração Profº Rômulo César Gerência de Configuração Cenário Atual Projetos cada vez mais complexos em relação ao tamanho, sofisticação e tecnologias envolvidas Grandes equipes geograficamente

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

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

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

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

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

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

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

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

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

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl Ferramenta de apoio a gerência de configuração de software Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl Roteiro de apresentação Introdução Objetivos Fundamentação Teórica Gerência de Configuração

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

Gerência de Configuração de Software Introdução

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

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

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

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

Gerência de Configuração de Software

Gerência de Configuração de Software Gerência de Configuração de Software Desenvolvendo software de forma eficiente e disciplinada O Cristine Dantas É bacharel em Informática pela UFRJ e mestre em Engenharia de Sistemas e Computação pela

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

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

GARANTIA DA QUALIDADE DE SOFTWARE

GARANTIA DA QUALIDADE DE SOFTWARE GARANTIA DA QUALIDADE DE SOFTWARE Fonte: http://www.testexpert.com.br/?q=node/669 1 GARANTIA DA QUALIDADE DE SOFTWARE Segundo a NBR ISO 9000:2005, qualidade é o grau no qual um conjunto de características

Leia mais

Integração de Ferramentas de Apoio a Processos Outubro 2010 GUSTAVO VAZ NASCIMENTO

Integração de Ferramentas de Apoio a Processos Outubro 2010 GUSTAVO VAZ NASCIMENTO Integração de Ferramentas de Apoio a Processos Outubro 2010 GUSTAVO VAZ NASCIMENTO AGENDA AGENDA 1. Sobre a Shift 2. Integração de ferramentas de apoio 1. SCMBug Integração entre SCM Tools e ferramentas

Leia mais

Redmine. Simplificando a gestão de projetos 28-08-2014

Redmine. Simplificando a gestão de projetos 28-08-2014 Redmine Simplificando a gestão de projetos 28-08-2014 Sobre o palestrante Eliel Gonçalves Formação técnica em processamento de dados e graduação em tecnologia em processamento de dados. Possui 15 anos

Leia mais

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

Atividades da Engenharia de Software GERENCIAMENTO DA CONFIGURAÇÃO DE SOFTWARE. Atividades da Engenharia de Software. Processo de Desenvolvimento de SCE186-ENGENHARIA DE SOFTWARE Módulo 1 Atividades da Engenharia de GERENCIAMENTO DA CONFIGURAÇÃO DE SOFTWARE Profª Rosely Sanches rsanches@icmc.usp.br 2003 DEFINIÇÃO CONSTRUÇÃO SOFTWARE PRODUTO MANUTENÇÃO

Leia mais

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

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

Rational Quality Manager. Nome: Raphael Castellano Campus: AKXE Matrícula: 200601124831

Rational Quality Manager. Nome: Raphael Castellano Campus: AKXE Matrícula: 200601124831 Rational Quality Manager Nome: Raphael Castellano Campus: AKXE Matrícula: 200601124831 1 Informações Gerais Informações Gerais sobre o RQM http://www-01.ibm.com/software/awdtools/rqm/ Link para o RQM https://rqmtreina.mvrec.local:9443/jazz/web/console

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

MUDANÇAS NA ISO 9001: A VERSÃO 2015

MUDANÇAS NA ISO 9001: A VERSÃO 2015 MUDANÇAS NA ISO 9001: A VERSÃO 2015 Está em andamento o processo de revisão da Norma ISO 9001: 2015, que ao ser concluído resultará na mudança mais significativa já efetuada. A chamada família ISO 9000

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

ES06 Especialização em Engenharia de Software Prof.: Misael Santos (misael@gmail.com) Ago/2010

ES06 Especialização em Engenharia de Software Prof.: Misael Santos (misael@gmail.com) Ago/2010 Gestão de Configuração de Software - Conceitos Principais - ES06 Especialização em Engenharia de Software Prof.: Misael Santos (misael@gmail.com) Ago/2010 Agenda Configuração Itens de Configuração Versionamento

Leia mais

Universidade Paulista

Universidade Paulista Universidade Paulista Ciência da Computação Sistemas de Informação Gestão da Qualidade Principais pontos da NBR ISO/IEC 12207 - Tecnologia da Informação Processos de ciclo de vida de software Sergio Petersen

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

Redmine. Simplificando a gestão de projetos 28-08-2014

Redmine. Simplificando a gestão de projetos 28-08-2014 Redmine Simplificando a gestão de projetos 28-08-2014 Sobre o palestrante Eliel Gonçalves Formação técnica em processamento de dados e graduação em tecnologia em processamento de dados. Possui 15 anos

Leia mais

Projeto SCCM Implantação do ClearCase e ClearQuest UCM

Projeto SCCM Implantação do ClearCase e ClearQuest UCM Projeto SCCM Implantação do ClearCase e ClearQuest UCM Leonardo Ventura Nunes Unibanco leonardo.nunes@unibanco.com.br Wilson Roberto Melaré Unibanco wilson.melare@unibanco.com.br Introdução Desafios Visão

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

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

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

Instruções do Jogo INSTRUÇÕES DO JOGO

Instruções do Jogo INSTRUÇÕES DO JOGO INSTRUÇÕES DO JOGO Introdução Objetivo do jogo: concluir um projeto de software Número de jogadores (primeira versão): recomenda-se de 2 a 3 jogadores, mas poderia ser jogado individualmente. Composição

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

ADMINISTRAÇÃO DE ATIVOS DE TI GERENCIAMENTO DE LIBERAÇÃO

ADMINISTRAÇÃO DE ATIVOS DE TI GERENCIAMENTO DE LIBERAÇÃO 1 ADMINISTRAÇÃO DE ATIVOS DE TI GERENCIAMENTO DE LIBERAÇÃO 2 INTRODUÇÃO A cada dia que passa, cresce a pressão pela liberação para uso de novas tecnologias disponibilizadas pela área de TI, sob o argumento

Leia mais

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia. 1 Introdução aos Sistemas de Informação 2002 Aula 4 - Desenvolvimento de software e seus paradigmas Paradigmas de Desenvolvimento de Software Pode-se considerar 3 tipos de paradigmas que norteiam a atividade

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

ENGENHARIA DE SOFTWARE I

ENGENHARIA DE SOFTWARE I ENGENHARIA DE SOFTWARE I Prof. Cássio Huggentobler de Costa [cassio.costa@ulbra.br] Twitter: www.twitter.com/cassiocosta_ Agenda da Aula (002) Metodologias de Desenvolvimento de Softwares Métodos Ágeis

Leia mais

Integração Contínua com Rational Team Concert, Jenkins e SonarQube

Integração Contínua com Rational Team Concert, Jenkins e SonarQube Integração Contínua com Rational Team Concert, Jenkins e SonarQube Agenda 1. Introdução à Integração Contínua 2. Ferramentas 3. Solução de Integração Contínua em Furnas 4. Demonstração O que é a Integração

Leia mais

? O SQL SERVER é um sistema de gerenciamento de banco de dados relacional que foi desenvolvido inicialmente pela Microsoft em parceria com a Sybase.

? O SQL SERVER é um sistema de gerenciamento de banco de dados relacional que foi desenvolvido inicialmente pela Microsoft em parceria com a Sybase. ? O SQL SERVER é um sistema de gerenciamento de banco de dados relacional que foi desenvolvido inicialmente pela Microsoft em parceria com a Sybase.? Desde de 1994, a Microsoft lança versões do SQL SERVER

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

Fundamentos de Teste de Software

Fundamentos de Teste de Software Núcleo de Excelência em Testes de Sistemas Fundamentos de Teste de Software Módulo 2- Teste Estático e Teste Dinâmico Aula 3 Teste Estático SUMÁRIO INTRODUÇÃO... 3 1. Definição... 3 2. Custo Versus Benefício...

Leia mais

Gerenciamento de software como ativo de automação industrial

Gerenciamento de software como ativo de automação industrial Gerenciamento de software como ativo de automação industrial INTRODUÇÃO Quando falamos em gerenciamento de ativos na área de automação industrial, fica evidente a intenção de cuidar e manter bens materiais

Leia mais

Novell. Novell Teaming 1.0. novdocx (pt-br) 6 April 2007 EXPLORAR O PORTLET BEM-VINDO DESCUBRA SEU CAMINHO USANDO O NOVELL TEAMING NAVIGATOR

Novell. Novell Teaming 1.0. novdocx (pt-br) 6 April 2007 EXPLORAR O PORTLET BEM-VINDO DESCUBRA SEU CAMINHO USANDO O NOVELL TEAMING NAVIGATOR Novell Teaming - Guia de início rápido Novell Teaming 1.0 Julho de 2007 INTRODUÇÃO RÁPIDA www.novell.com Novell Teaming O termo Novell Teaming neste documento se aplica a todas as versões do Novell Teaming,

Leia mais

Referências internas são os artefatos usados para ajudar na elaboração do PT tais como:

Referências internas são os artefatos usados para ajudar na elaboração do PT tais como: Plano de Teste (resumo do documento) I Introdução Identificador do Plano de Teste Esse campo deve especificar um identificador único para reconhecimento do Plano de Teste. Pode ser inclusive um código

Leia mais

Diretrizes de Qualidade de Projetos

Diretrizes de Qualidade de Projetos Diretrizes de Qualidade de Projetos Versão 1.5 MAPA/SE/SPOA/CGTI, 2012 Página 1 Histórico de Revisão Data Versão Descrição Autor 15/01/2012 1.0 Criação do Artefato Pérsio Mairon 10/03/2012 1.1 Inclusão

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

Conceitos de Banco de Dados

Conceitos de Banco de Dados Conceitos de Banco de Dados Autor: Luiz Antonio Junior 1 INTRODUÇÃO Objetivos Introduzir conceitos básicos de Modelo de dados Introduzir conceitos básicos de Banco de dados Capacitar o aluno a construir

Leia mais

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart.

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart. Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart. Versão 1.6 15/08/2013 Visão Resumida Data Criação 15/08/2013 Versão Documento 1.6 Projeto Responsáveis

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

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

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

ESTUDO E IMPLEMENTAÇÃO DE UM SISTEMA PARA CONTROLE DE VERSÕES

ESTUDO E IMPLEMENTAÇÃO DE UM SISTEMA PARA CONTROLE DE VERSÕES ISBN 978-85-61091-05-7 Encontro Internacional de Produção Científica Cesumar 27 a 30 de outubro de 2009 ESTUDO E IMPLEMENTAÇÃO DE UM SISTEMA PARA CONTROLE DE VERSÕES Vilson Raphael Vello de Andrade 1 ;

Leia mais

Fundamentos de Gestão de TI

Fundamentos de Gestão de TI Fundamentos de Gestão de TI Tópico V Transição de Serviço (ITIL V3) José Teixeira de Carvalho Neto transição de serviço transição de serviço Objetivo: orientar e coordenar o desenvolvimento e a implantação

Leia mais

Diferenças da versão 6.3 para a 6.4

Diferenças da versão 6.3 para a 6.4 Release Notes Diferenças da versão 6.3 para a 6.4 Melhorias Comuns ao Sistema Help O Help Online foi remodelado e agora é possível acessar os manuais de cada módulo diretamente do sistema. Mapeamento de

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

AULA 1 INTRODUÇÃO - ENGENHARIA DE SOFTWARE. Prof. Msc. Hélio Esperidião

AULA 1 INTRODUÇÃO - ENGENHARIA DE SOFTWARE. Prof. Msc. Hélio Esperidião AULA 1 INTRODUÇÃO - ENGENHARIA DE SOFTWARE Prof. Msc. Hélio Esperidião O QUE É UM ALGORITMO? É qualquer procedimento computacional bem definido que informa algum valor ou conjunto de valores como entrada

Leia mais

Manual AGENDA DE BACKUP

Manual AGENDA DE BACKUP Gemelo Backup Online DESKTOP Manual AGENDA DE BACKUP Realiza seus backups de maneira automática. Você só programa os dias e horas em que serão efetuados. A única coisa que você deve fazer é manter seu

Leia mais

Perguntas para avaliar a efetividade do processo de segurança

Perguntas para avaliar a efetividade do processo de segurança Perguntas para avaliar a efetividade do processo de segurança Questionário básico de Segurança da Informação com o objetivo de ser um primeiro instrumento para você avaliar, em nível gerencial, a efetividade

Leia mais

Profa. Gislaine Stachissini. Unidade III GOVERNANÇA DE TI

Profa. Gislaine Stachissini. Unidade III GOVERNANÇA DE TI Profa. Gislaine Stachissini Unidade III GOVERNANÇA DE TI Information Technology Infrastructure Library ITIL Criado pelo governo do Reino Unido, tem como objetivo a criação de um guia com as melhores práticas

Leia mais

1 Inicie um novo. Guia de Referência Rápida de Gerenciamento de Projeto para o Project 2007. projeto

1 Inicie um novo. Guia de Referência Rápida de Gerenciamento de Projeto para o Project 2007. projeto Guia de Referência Rápida de Gerenciamento de Projeto para o Project 2007 1 Inicie um novo Antes de começar um novo, uma organização deve determinar se ele se enquadra em suas metas estratégicas. Os executivos

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

FANESE Faculdade de Administração e Negócios de Sergipe

FANESE Faculdade de Administração e Negócios de Sergipe I FANESE Faculdade de Administração e Negócios de Sergipe GERENCIAMENTO DE PATCHES Atualizações de segurança Aracaju, Agosto de 2009 DAYSE SOARES SANTOS LUCIELMO DE AQUINO SANTOS II GERENCIAMENTO DE PATCHES

Leia mais

Disciplina: Administração de Departamento de TI. Professor: Aldo Rocha. Aula XI - 15/09/2011

Disciplina: Administração de Departamento de TI. Professor: Aldo Rocha. Aula XI - 15/09/2011 Disciplina: Administração de Departamento de TI Professor: Aldo Rocha Aula XI - 15/09/2011 4 Gerenciamento de Liberação 4.1 Motivadores; 4.2 Relacionamentos Chave; 4.3 Objetivos; 4.4 Conceitos; 4.5 Processo;

Leia mais

Pós-Graduação em Gerenciamento de Projetos práticas do PMI

Pós-Graduação em Gerenciamento de Projetos práticas do PMI Pós-Graduação em Gerenciamento de Projetos práticas do PMI Planejamento do Gerenciamento das Comunicações (10) e das Partes Interessadas (13) PLANEJAMENTO 2 PLANEJAMENTO Sem 1 Sem 2 Sem 3 Sem 4 Sem 5 ABRIL

Leia mais

Processos e Threads (partes I e II)

Processos e Threads (partes I e II) Processos e Threads (partes I e II) 1) O que é um processo? É qualquer aplicação executada no processador. Exe: Bloco de notas, ler um dado de um disco, mostrar um texto na tela. Um processo é um programa

Leia mais

Despachante Express - Software para o despachante documentalista veicular DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1

Despachante Express - Software para o despachante documentalista veicular DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1 DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1 1 Sumário 1 - Instalação Normal do Despachante Express... 3 2 - Instalação do Despachante Express em Rede... 5 3 - Registrando o Despachante Express...

Leia mais

GTI2-Tecnologia. <Analisador de logs> Documento Visão. Versão <1.0>

GTI2-Tecnologia. <Analisador de logs> Documento Visão. Versão <1.0> GTI2-Tecnologia Documento Visão Versão Histórico de Revisões Data Versão Descrição Autor 02/06/2014 1.0 Desenvolvimento do documento Visão Eduardo, Fernando, Inácio e Hudson.

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

Empresa de Informática Infinity LTDA. Gerenciamento de Configuração. Sistema de Gerenciamento de Plano Corporativo de Celulares

Empresa de Informática Infinity LTDA. Gerenciamento de Configuração. Sistema de Gerenciamento de Plano Corporativo de Celulares Empresa de Informática Infinity LTDA Gerenciamento de Configuração Sistema de Gerenciamento de Plano Corporativo de Celulares 22/05/2012 Índice Analítico 1. Introdução 1.1 Finalidade 1.2 Escopo 1.3 Definições,

Leia mais

ADMINISTRAÇÃO DOS RECURSOS DE DADOS

ADMINISTRAÇÃO DOS RECURSOS DE DADOS 7 ADMINISTRAÇÃO DOS RECURSOS DE DADOS OBJETIVOS Por que as empresas sentem dificuldades para descobrir que tipo de informação precisam ter em seus sistemas de informação ão? Como um sistema de gerenciamento

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

Considerações no Projeto de Sistemas Cliente/Servidor

Considerações no Projeto de Sistemas Cliente/Servidor Cliente/Servidor Desenvolvimento de Sistemas Graça Bressan Graça Bressan/LARC 2000 1 Desenvolvimento de Sistemas Cliente/Servidor As metodologias clássicas, tradicional ou orientada a objeto, são aplicáveis

Leia mais

Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br

Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br Ementa Introdução a Banco de Dados (Conceito, propriedades), Arquivos de dados x Bancos de dados, Profissionais de Banco de dados,

Leia mais

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

Leia mais

MOD9 Processos de Transição de Serviços

MOD9 Processos de Transição de Serviços Curso ITIL Foundation MOD9 Processos de Transição de Serviços Service Transiction Professor: Fernando Palma fernando.palma@gmail.com http://gsti.blogspot.com 1 Curso ITIL Foundation Transição significa

Leia mais

15/03/2010. Análise por pontos de função. Análise por Pontos de Função. Componentes dos Pontos de Função. Componentes dos Pontos de Função

15/03/2010. Análise por pontos de função. Análise por Pontos de Função. Componentes dos Pontos de Função. Componentes dos Pontos de Função Análise por pontos de função Análise por Pontos de Função Referência: Manual de práticas de contagem IFPUG Versão 4.2.1 Técnica que permite medir a funcionalidade de um software ou aplicativo, sob a visão

Leia mais

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Introdução Modelos de Processo de Desenvolvimento de Software Os modelos de processos de desenvolvimento de software surgiram pela necessidade de dar resposta às

Leia mais

Arquitetura de Banco de Dados

Arquitetura de Banco de Dados Arquitetura de Banco de Dados Daniela Barreiro Claro MAT A60 DCC/IM/UFBA Arquitetura de Banco de dados Final de 1972, ANSI/X3/SPARC estabeleceram o relatório final do STUDY GROUP Objetivos do Study Group

Leia mais

Prof. Júlio Valente Agosto/2015. CV Resumido

Prof. Júlio Valente Agosto/2015. CV Resumido Gerenciamento de Configuração e Aquisição de Software Prof. Júlio Valente Agosto/2015 CV Resumido Autor do livro Prática de Análise e Projeto de Sistemas. Gerente do projeto de Totalização e Divulgação

Leia mais

Exame de Fundamentos da ITIL

Exame de Fundamentos da ITIL Exame de Fundamentos da ITIL Simulado A, versão 5.1 Múltipla escolha Instruções 1. Todas as 40 perguntas devem ser respondidas. 2. Todas as respostas devem ser assinaladas na grade de respostas fornecida.

Leia mais