SlideShare ist ein Scribd-Unternehmen logo
1 von 30
Gerência de
Configuração
Wagner Zaparoli
wzaparoli@gmail.com
Gerência de Configuração 2
Agenda
• Problemas de configuração
• Porque utilizar a gerência de configuração
• Conceitos
• Controle de Versão
• Sincronismo
Problemas de Configuração
Gerência de Configuração 3
Problemas de Configuração
Gerência de Configuração 4
Problemas de Configuração
Gerência de Configuração 5
Problemas de Configuração
Gerência de Configuração 6
Subscrição de códigos/documentos
Perda de alterações
Dificuldade em recuperar versão anterior ou em produção
Dificuldade em manter versões diferentes simultaneamente
Por que utilizar?
Gerência de Configuração 7
Para minimizar os problemas decorrentes do processo de
desenvolvimento, através de um controle sistemático sobre as
modificações.
1) Quais mudanças aconteceram no sistema?
2) Por que essas mudanças aconteceram?
3) O sistema continua íntegro mesmo depois das mudanças?
O que é?
Gerência de Configuração 8
Configuração de um sistema é uma coleção de versões
específicas de itens de configuração (hardware, firmware ou
software) que são combinados de acordo com procedimentos
específicos de construção para servir a uma finalidade particular
Item de configuração é cada um dos elementos de informação
que são criados durante o desenvolvimento de um produto de
software, identificados de maneira única e cuja evolução é
passível de rastreamento
O que é?
Gerência de Configuração 9
Gerência de configuração é um conjunto de atividades de apoio
que permite a absorção controlada das mudanças inerentes ao
desenvolvimento de software, mantendo a estabilidade na
evolução do projeto
É a disciplina que identifica a configuração de um sistema em
diferentes pontos no tempo, mantendo a integridade e
rastreabilidade da configuração através do ciclo de vida do
sistema
Visão
Gerência de Configuração 10
Visão
Gerência de Configuração 11
É a espinha dorsal de toda a gerência de configuração,
apoiando as atividades de controle de mudança e
integração contínua.
Alguns Serviços
• Identificação, armazenamento e
gerenciamento dos itens de configuração e
de suas versões durante todo o ciclo de
vida do software;
• Histórico de todas as alterações efetuadas
nos itens de configuração;
• Criação de rótulos e ramificações no
projeto;
• Recuperação de uma configuração em um
determinado momento desejado do tempo.
Visão
Gerência de Configuração 12
Fornece um serviço complementar ao oferecido pelo sistema de controle
de versão, cujo foco recai nos procedimentos pelos quais as mudanças
de um ou mais itens de configuração são propostas, avaliadas, aceitas e
aplicadas.
Oferece serviços para identificar, rastrear, analisar e controlar as
mudanças nos itens de configuração.
Visão
Gerência de Configuração 13
Tem por objetivo garantir que as mudanças no projeto sejam
construídas, testadas e relatadas tão logo quanto possível depois de
serem introduzidas.
A construção do software é feita pela
recuperação da configuração correta no
sistema de controle de. Esse processo é
executado geralmente após cada mudança
publicada no sistema de controle de versão
ou em intervalos de tempo pré-definidos.
O que é?
Gerência de Configuração 14
Baseline é uma configuração formalmente aprovada para servir
de referência para o desenvolvimento posterior do sistema.
Repositório é o local (físico ou lógico) onde são armazenados os
itens de um sistema.
Lock é a técnica que garante que apenas um usuário consiga
atualizar um determinado item no tempo.
Tag é um rótulo que associa um conjunto de itens.
Banch é um caminho alternativo que permite atualização de
versões de itens de configuração.
Merge é a técnica que unifica diferentes versões de um mesmo
item de configuração.
O que é?
Gerência de Configuração 15
Build é uma versão incompleta do sistema em desenvolvimento,
mas com certa estabilidade
Release produto de software supostamente sem erros entregue
ao cliente ou ao mercado
Merge
Branch
Tag
Exemplo
Gerência de Configuração 16
1.0 1.1 1.2 1.3
Release 1
1.2.1 1.2.2
Controle de Versão - Finalidades
Gerência de Configuração 17
Histórico: registra a evolução completa do projeto,
contemplando cada alteração sobre os arquivos. Com essas
informações sabe-se quem fez o que, quando e onde.
Colaboração: o controle de versão possibilita que vários
desenvolvedores trabalhem em paralelo sobre os mesmo
arquivos sem que um sobrescreva o código de outro.
Variações no Projeto: mantém linhas diferentes de evolução do
mesmo projeto. Por exemplo, é possível manter uma versão 1.0
enquanto a equipe prepara uma versão 2.0.
Controle de Versão - Operação
Gerência de Configuração 18
Repositório
Update
Commit
Gera uma nova revisão
no repositório
Disponibiliza uma revisão
na área de trabalho
Área de
Trabalho
Controle de Versão - Centralizado
Gerência de Configuração 19
Repositório
Área de TrabalhoÁrea de TrabalhoÁrea de Trabalho
Controle de Versão - Distribuído
Gerência de Configuração 20
Repositório
Área de
Trabalho
Estação
Sincronismo - Centralizado
Gerência de Configuração 21
Repositório
Estação A Estação B
C
heckout
Checkout
Sincronismo - Centralizado
Gerência de Configuração 22
Repositório
Estação A Estação B
C
om
m
it C
om
m
it√ X
Sincronismo - Centralizado
Gerência de Configuração 23
Repositório
Estação A Estação B
Update
Sincronismo - Centralizado
Gerência de Configuração 24
Repositório
Estação A Estação B
C
om
m
it√
Sincronismo - Distribuído
Gerência de Configuração 25
Estação B
Repositório
Área de
Trabalho
Estação A
Repositório
Área de
Trabalho
Clone
Sincronismo - Distribuído
Gerência de Configuração 26
Estação B
Repositório
Área de
Trabalho
Estação A
Repositório
Área de
Trabalho
Pull
Sincronismo - Distribuído
Gerência de Configuração 27
Estação B
Repositório
Área de
Trabalho
Estação A
Repositório
Área de
Trabalho
Push
Controle de Versões - Resumo
Gerência de Configuração 28
Centralizado Distribuído Descrição
Checkout Clone
Criação da cópia de
trabalho/repositório
Commit Commit
Envia alterações para o
repositório, criando uma
revisão
Update Update
Atualiza a cópia/área de
trabalho em uma revisão
Pull
Importa revisões feitas
em outro repositório
Push
Envia revisões locais para
outro repositório
Sugestões Bibliográficas
• W.A. Babich; Software Configuration Managemente; Adison-Wesley, 1986.
• Software Configuration Management Handbook, 2ª edition, Alexis Leon.
• Sanders, J.; Curran, E.; Software Quality; Addison-Wesley, 1994.
• Paulk M. et All; Techinical Report/CMU/SEI-93-TR-025; Key Pratices of the Capability Maturity
Model for Software, Version 1.1; Software Engineering Institute/CMU, 1993.
• Santos, A. D.; CMM – Capability Maturity Model; Apostila: Faculdade de Engenharia
Elétrica/UNICAMP, 2000.
• Paula Filho, W. P.; Engenharia de Software: Fundamentos, Métodos e Padrões; LTC Editora,
2001.
• Sommerville, I.; Software Engineering, 6th Edition, Adison-Wesley, 2001.
• Couto, A. B.; CMMI – Integração dos Modelos de Capacitação e Maturidade de Sistemas; Editora
Ciência Moderna, 2007.
• IEEE Computer Society; Swebok – Guide to the Software Engineering Body of Knowledge; USA,
2004.
• Project Management Institute; PMBOOK 2000 – Brazil Minas Gerais Chapter; 2002.
Gerência de Configuração 29
Gerência de
Configuração
Wagner Zaparoli
wzaparoli@gmail.com

Weitere ähnliche Inhalte

Was ist angesagt?

Introdução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem práticaIntrodução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem práticaFabrício Campos
 
Engenharia de requisitos
Engenharia de requisitosEngenharia de requisitos
Engenharia de requisitosMailson Queiroz
 
1 requisitos funcionais e não funcionais ok
1  requisitos funcionais e não funcionais ok1  requisitos funcionais e não funcionais ok
1 requisitos funcionais e não funcionais okMarcos Morais de Sousa
 
Metodologias ágeis de desenvolvimento de software por Givanaldo Rocha
Metodologias ágeis de desenvolvimento de software por Givanaldo RochaMetodologias ágeis de desenvolvimento de software por Givanaldo Rocha
Metodologias ágeis de desenvolvimento de software por Givanaldo RochaFernando Palma
 
Verificação, Validação e Teste de Software
Verificação, Validação e Teste de SoftwareVerificação, Validação e Teste de Software
Verificação, Validação e Teste de SoftwareCamilo Almendra
 
Introdução a Automação de Teste de Software
Introdução a Automação de Teste de SoftwareIntrodução a Automação de Teste de Software
Introdução a Automação de Teste de SoftwareCamilo Ribeiro
 
Validação e Testes de software
Validação e Testes de softwareValidação e Testes de software
Validação e Testes de softwareRondinelli Mesquita
 
Introdução a Gerência de Configuração de Software
Introdução a Gerência de Configuração de SoftwareIntrodução a Gerência de Configuração de Software
Introdução a Gerência de Configuração de SoftwareCamilo Almendra
 
Introdução à Qualidade e Testes Ágeis de Software
Introdução à Qualidade e Testes Ágeis de SoftwareIntrodução à Qualidade e Testes Ágeis de Software
Introdução à Qualidade e Testes Ágeis de SoftwareClaudia Melo
 
Processos de Desenvolvimento de Software - teoria e prática
Processos de Desenvolvimento de Software - teoria e práticaProcessos de Desenvolvimento de Software - teoria e prática
Processos de Desenvolvimento de Software - teoria e práticaRalph Rassweiler
 
Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade Camilo Ribeiro
 
Prototipação de software
Prototipação de softwarePrototipação de software
Prototipação de softwareleopp
 
Engenharia de Requisitos
Engenharia de RequisitosEngenharia de Requisitos
Engenharia de RequisitosCloves da Rocha
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven DevelopmentElias Nogueira
 

Was ist angesagt? (20)

Introdução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem práticaIntrodução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem prática
 
Eng.ª do Software - 2. Requisitos
Eng.ª do Software - 2. RequisitosEng.ª do Software - 2. Requisitos
Eng.ª do Software - 2. Requisitos
 
Integração Contínua
Integração ContínuaIntegração Contínua
Integração Contínua
 
Engenharia de requisitos
Engenharia de requisitosEngenharia de requisitos
Engenharia de requisitos
 
1 requisitos funcionais e não funcionais ok
1  requisitos funcionais e não funcionais ok1  requisitos funcionais e não funcionais ok
1 requisitos funcionais e não funcionais ok
 
Metodologias ágeis de desenvolvimento de software por Givanaldo Rocha
Metodologias ágeis de desenvolvimento de software por Givanaldo RochaMetodologias ágeis de desenvolvimento de software por Givanaldo Rocha
Metodologias ágeis de desenvolvimento de software por Givanaldo Rocha
 
Verificação, Validação e Teste de Software
Verificação, Validação e Teste de SoftwareVerificação, Validação e Teste de Software
Verificação, Validação e Teste de Software
 
Introdução a Automação de Teste de Software
Introdução a Automação de Teste de SoftwareIntrodução a Automação de Teste de Software
Introdução a Automação de Teste de Software
 
Diagrama de Casos de Uso
Diagrama de Casos de UsoDiagrama de Casos de Uso
Diagrama de Casos de Uso
 
Validação e Testes de software
Validação e Testes de softwareValidação e Testes de software
Validação e Testes de software
 
Introdução a Gerência de Configuração de Software
Introdução a Gerência de Configuração de SoftwareIntrodução a Gerência de Configuração de Software
Introdução a Gerência de Configuração de Software
 
Aula 2 - Processos de Software
Aula 2 - Processos de SoftwareAula 2 - Processos de Software
Aula 2 - Processos de Software
 
Introdução à Qualidade e Testes Ágeis de Software
Introdução à Qualidade e Testes Ágeis de SoftwareIntrodução à Qualidade e Testes Ágeis de Software
Introdução à Qualidade e Testes Ágeis de Software
 
Processos de Desenvolvimento de Software - teoria e prática
Processos de Desenvolvimento de Software - teoria e práticaProcessos de Desenvolvimento de Software - teoria e prática
Processos de Desenvolvimento de Software - teoria e prática
 
Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade
 
Prototipação de software
Prototipação de softwarePrototipação de software
Prototipação de software
 
Engenharia de Requisitos
Engenharia de RequisitosEngenharia de Requisitos
Engenharia de Requisitos
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven Development
 
Engenharia de Requisitos
Engenharia de RequisitosEngenharia de Requisitos
Engenharia de Requisitos
 
Teste de Software - Introdução
Teste de Software - IntroduçãoTeste de Software - Introdução
Teste de Software - Introdução
 

Ähnlich wie Gestão de configuração: controle de versão e sincronismo

Mini curso gerenciamento de configuração e mudança com GIT + Eclipse - I...
Mini curso gerenciamento de configuração e mudança com GIT + Eclipse  -  I...Mini curso gerenciamento de configuração e mudança com GIT + Eclipse  -  I...
Mini curso gerenciamento de configuração e mudança com GIT + Eclipse - I...Jadson Santos
 
Aula 4 gerência de configuração de software1
Aula 4   gerência de configuração de software1Aula 4   gerência de configuração de software1
Aula 4 gerência de configuração de software1Tiago Vizoto
 
Aula 2 - Gerencia De Configuração_definições e processos.pdf
Aula 2 - Gerencia De Configuração_definições e processos.pdfAula 2 - Gerencia De Configuração_definições e processos.pdf
Aula 2 - Gerencia De Configuração_definições e processos.pdfssuser4d4894
 
Aula9 TEES UFS Gestao de Configuração de SW
Aula9 TEES UFS  Gestao de Configuração de SWAula9 TEES UFS  Gestao de Configuração de SW
Aula9 TEES UFS Gestao de Configuração de SWRogerio P C do Nascimento
 
Gerencia de Configuracao de Software
Gerencia de Configuracao de SoftwareGerencia de Configuracao de Software
Gerencia de Configuracao de SoftwareRobson Silva Espig
 
GCS - Aula 02 - Conceitos Principais
GCS - Aula 02 - Conceitos PrincipaisGCS - Aula 02 - Conceitos Principais
GCS - Aula 02 - Conceitos PrincipaisMisael Santos
 
Lecture 6 :: Gestão de Configuração de Software
Lecture 6 :: Gestão de Configuração de SoftwareLecture 6 :: Gestão de Configuração de Software
Lecture 6 :: Gestão de Configuração de SoftwareRogerio P C do Nascimento
 
Git github tortoise git
Git github tortoise gitGit github tortoise git
Git github tortoise gitmaxrosan
 
GCS - Aula 07 - Sistemas de Controle de Versões
GCS - Aula 07 - Sistemas de Controle de VersõesGCS - Aula 07 - Sistemas de Controle de Versões
GCS - Aula 07 - Sistemas de Controle de VersõesMisael Santos
 
Implantação de sistemas web
Implantação de sistemas webImplantação de sistemas web
Implantação de sistemas webCleiton Vogel
 
CVS - Slides Parte 1 - Introdução
CVS - Slides Parte 1 - IntroduçãoCVS - Slides Parte 1 - Introdução
CVS - Slides Parte 1 - IntroduçãoMarden Neubert
 
SVN - Subversion: Guia de sobrevivência do usuário
SVN - Subversion: Guia de sobrevivência  do usuárioSVN - Subversion: Guia de sobrevivência  do usuário
SVN - Subversion: Guia de sobrevivência do usuárioFabrício Campos
 
Learn about Git - Git Tutorial
Learn about Git - Git TutorialLearn about Git - Git Tutorial
Learn about Git - Git TutorialLucas Brigida
 
Integração Contínua com CVS, CruiseControl, AntHill, Gump
Integração Contínua com CVS, CruiseControl, AntHill, GumpIntegração Contínua com CVS, CruiseControl, AntHill, Gump
Integração Contínua com CVS, CruiseControl, AntHill, GumpDenis L Presciliano
 

Ähnlich wie Gestão de configuração: controle de versão e sincronismo (20)

Mini curso gerenciamento de configuração e mudança com GIT + Eclipse - I...
Mini curso gerenciamento de configuração e mudança com GIT + Eclipse  -  I...Mini curso gerenciamento de configuração e mudança com GIT + Eclipse  -  I...
Mini curso gerenciamento de configuração e mudança com GIT + Eclipse - I...
 
Svn - grupo de estudos sol7
Svn - grupo de estudos sol7Svn - grupo de estudos sol7
Svn - grupo de estudos sol7
 
Aula 4 gerência de configuração de software1
Aula 4   gerência de configuração de software1Aula 4   gerência de configuração de software1
Aula 4 gerência de configuração de software1
 
Aula 2 - Gerencia De Configuração_definições e processos.pdf
Aula 2 - Gerencia De Configuração_definições e processos.pdfAula 2 - Gerencia De Configuração_definições e processos.pdf
Aula 2 - Gerencia De Configuração_definições e processos.pdf
 
Aula9 TEES UFS Gestao de Configuração de SW
Aula9 TEES UFS  Gestao de Configuração de SWAula9 TEES UFS  Gestao de Configuração de SW
Aula9 TEES UFS Gestao de Configuração de SW
 
Gestão de Configuração de Software
Gestão de Configuração de Software Gestão de Configuração de Software
Gestão de Configuração de Software
 
Gerencia de Configuracao de Software
Gerencia de Configuracao de SoftwareGerencia de Configuracao de Software
Gerencia de Configuracao de Software
 
Git + Github
Git + GithubGit + Github
Git + Github
 
GCS - Aula 02 - Conceitos Principais
GCS - Aula 02 - Conceitos PrincipaisGCS - Aula 02 - Conceitos Principais
GCS - Aula 02 - Conceitos Principais
 
Lecture 6 :: Gestão de Configuração de Software
Lecture 6 :: Gestão de Configuração de SoftwareLecture 6 :: Gestão de Configuração de Software
Lecture 6 :: Gestão de Configuração de Software
 
Git github tortoise git
Git github tortoise gitGit github tortoise git
Git github tortoise git
 
Introducao ao Git
Introducao ao GitIntroducao ao Git
Introducao ao Git
 
GCS - Aula 07 - Sistemas de Controle de Versões
GCS - Aula 07 - Sistemas de Controle de VersõesGCS - Aula 07 - Sistemas de Controle de Versões
GCS - Aula 07 - Sistemas de Controle de Versões
 
Implantação de sistemas web
Implantação de sistemas webImplantação de sistemas web
Implantação de sistemas web
 
Controle de versões com o Subversion
Controle de versões com o SubversionControle de versões com o Subversion
Controle de versões com o Subversion
 
CVS - Slides Parte 1 - Introdução
CVS - Slides Parte 1 - IntroduçãoCVS - Slides Parte 1 - Introdução
CVS - Slides Parte 1 - Introdução
 
SVN - Subversion: Guia de sobrevivência do usuário
SVN - Subversion: Guia de sobrevivência  do usuárioSVN - Subversion: Guia de sobrevivência  do usuário
SVN - Subversion: Guia de sobrevivência do usuário
 
Learn about Git - Git Tutorial
Learn about Git - Git TutorialLearn about Git - Git Tutorial
Learn about Git - Git Tutorial
 
Integração Contínua com CVS, CruiseControl, AntHill, Gump
Integração Contínua com CVS, CruiseControl, AntHill, GumpIntegração Contínua com CVS, CruiseControl, AntHill, Gump
Integração Contínua com CVS, CruiseControl, AntHill, Gump
 
Controle de versão com e git
Controle de versão com e gitControle de versão com e git
Controle de versão com e git
 

Mehr von Wagner Zaparoli

Early Warning Systems For Epidemic
Early Warning Systems For EpidemicEarly Warning Systems For Epidemic
Early Warning Systems For EpidemicWagner Zaparoli
 
Transformações_Corporativas
Transformações_CorporativasTransformações_Corporativas
Transformações_CorporativasWagner Zaparoli
 
Técnicas_Implementação
Técnicas_ImplementaçãoTécnicas_Implementação
Técnicas_ImplementaçãoWagner Zaparoli
 
Checklist para Avaliação da Documentação.PDF
Checklist para Avaliação da Documentação.PDFChecklist para Avaliação da Documentação.PDF
Checklist para Avaliação da Documentação.PDFWagner Zaparoli
 
Padrões_Desenvolvimento
Padrões_DesenvolvimentoPadrões_Desenvolvimento
Padrões_DesenvolvimentoWagner Zaparoli
 
Manutenção de Software
Manutenção de SoftwareManutenção de Software
Manutenção de SoftwareWagner Zaparoli
 

Mehr von Wagner Zaparoli (11)

Early Warning Systems For Epidemic
Early Warning Systems For EpidemicEarly Warning Systems For Epidemic
Early Warning Systems For Epidemic
 
Transformações_Corporativas
Transformações_CorporativasTransformações_Corporativas
Transformações_Corporativas
 
Técnicas_Implementação
Técnicas_ImplementaçãoTécnicas_Implementação
Técnicas_Implementação
 
Qualidade do Software
Qualidade do SoftwareQualidade do Software
Qualidade do Software
 
Checklist para Avaliação da Documentação.PDF
Checklist para Avaliação da Documentação.PDFChecklist para Avaliação da Documentação.PDF
Checklist para Avaliação da Documentação.PDF
 
Padrões_Desenvolvimento
Padrões_DesenvolvimentoPadrões_Desenvolvimento
Padrões_Desenvolvimento
 
Manutenção de Software
Manutenção de SoftwareManutenção de Software
Manutenção de Software
 
Teste de Software
Teste de SoftwareTeste de Software
Teste de Software
 
Ciclo de Vida
Ciclo de VidaCiclo de Vida
Ciclo de Vida
 
Projeto de Software
Projeto de SoftwareProjeto de Software
Projeto de Software
 
Gerenciamento_Projetos
Gerenciamento_ProjetosGerenciamento_Projetos
Gerenciamento_Projetos
 

Gestão de configuração: controle de versão e sincronismo

  • 2. Gerência de Configuração 2 Agenda • Problemas de configuração • Porque utilizar a gerência de configuração • Conceitos • Controle de Versão • Sincronismo
  • 6. Problemas de Configuração Gerência de Configuração 6 Subscrição de códigos/documentos Perda de alterações Dificuldade em recuperar versão anterior ou em produção Dificuldade em manter versões diferentes simultaneamente
  • 7. Por que utilizar? Gerência de Configuração 7 Para minimizar os problemas decorrentes do processo de desenvolvimento, através de um controle sistemático sobre as modificações. 1) Quais mudanças aconteceram no sistema? 2) Por que essas mudanças aconteceram? 3) O sistema continua íntegro mesmo depois das mudanças?
  • 8. O que é? Gerência de Configuração 8 Configuração de um sistema é uma coleção de versões específicas de itens de configuração (hardware, firmware ou software) que são combinados de acordo com procedimentos específicos de construção para servir a uma finalidade particular Item de configuração é cada um dos elementos de informação que são criados durante o desenvolvimento de um produto de software, identificados de maneira única e cuja evolução é passível de rastreamento
  • 9. O que é? Gerência de Configuração 9 Gerência de configuração é um conjunto de atividades de apoio que permite a absorção controlada das mudanças inerentes ao desenvolvimento de software, mantendo a estabilidade na evolução do projeto É a disciplina que identifica a configuração de um sistema em diferentes pontos no tempo, mantendo a integridade e rastreabilidade da configuração através do ciclo de vida do sistema
  • 11. Visão Gerência de Configuração 11 É a espinha dorsal de toda a gerência de configuração, apoiando as atividades de controle de mudança e integração contínua. Alguns Serviços • Identificação, armazenamento e gerenciamento dos itens de configuração e de suas versões durante todo o ciclo de vida do software; • Histórico de todas as alterações efetuadas nos itens de configuração; • Criação de rótulos e ramificações no projeto; • Recuperação de uma configuração em um determinado momento desejado do tempo.
  • 12. Visão Gerência de Configuração 12 Fornece um serviço complementar ao oferecido pelo sistema de controle de versão, cujo foco recai nos procedimentos pelos quais as mudanças de um ou mais itens de configuração são propostas, avaliadas, aceitas e aplicadas. Oferece serviços para identificar, rastrear, analisar e controlar as mudanças nos itens de configuração.
  • 13. Visão Gerência de Configuração 13 Tem por objetivo garantir que as mudanças no projeto sejam construídas, testadas e relatadas tão logo quanto possível depois de serem introduzidas. A construção do software é feita pela recuperação da configuração correta no sistema de controle de. Esse processo é executado geralmente após cada mudança publicada no sistema de controle de versão ou em intervalos de tempo pré-definidos.
  • 14. O que é? Gerência de Configuração 14 Baseline é uma configuração formalmente aprovada para servir de referência para o desenvolvimento posterior do sistema. Repositório é o local (físico ou lógico) onde são armazenados os itens de um sistema. Lock é a técnica que garante que apenas um usuário consiga atualizar um determinado item no tempo. Tag é um rótulo que associa um conjunto de itens. Banch é um caminho alternativo que permite atualização de versões de itens de configuração. Merge é a técnica que unifica diferentes versões de um mesmo item de configuração.
  • 15. O que é? Gerência de Configuração 15 Build é uma versão incompleta do sistema em desenvolvimento, mas com certa estabilidade Release produto de software supostamente sem erros entregue ao cliente ou ao mercado
  • 16. Merge Branch Tag Exemplo Gerência de Configuração 16 1.0 1.1 1.2 1.3 Release 1 1.2.1 1.2.2
  • 17. Controle de Versão - Finalidades Gerência de Configuração 17 Histórico: registra a evolução completa do projeto, contemplando cada alteração sobre os arquivos. Com essas informações sabe-se quem fez o que, quando e onde. Colaboração: o controle de versão possibilita que vários desenvolvedores trabalhem em paralelo sobre os mesmo arquivos sem que um sobrescreva o código de outro. Variações no Projeto: mantém linhas diferentes de evolução do mesmo projeto. Por exemplo, é possível manter uma versão 1.0 enquanto a equipe prepara uma versão 2.0.
  • 18. Controle de Versão - Operação Gerência de Configuração 18 Repositório Update Commit Gera uma nova revisão no repositório Disponibiliza uma revisão na área de trabalho Área de Trabalho
  • 19. Controle de Versão - Centralizado Gerência de Configuração 19 Repositório Área de TrabalhoÁrea de TrabalhoÁrea de Trabalho
  • 20. Controle de Versão - Distribuído Gerência de Configuração 20 Repositório Área de Trabalho Estação
  • 21. Sincronismo - Centralizado Gerência de Configuração 21 Repositório Estação A Estação B C heckout Checkout
  • 22. Sincronismo - Centralizado Gerência de Configuração 22 Repositório Estação A Estação B C om m it C om m it√ X
  • 23. Sincronismo - Centralizado Gerência de Configuração 23 Repositório Estação A Estação B Update
  • 24. Sincronismo - Centralizado Gerência de Configuração 24 Repositório Estação A Estação B C om m it√
  • 25. Sincronismo - Distribuído Gerência de Configuração 25 Estação B Repositório Área de Trabalho Estação A Repositório Área de Trabalho Clone
  • 26. Sincronismo - Distribuído Gerência de Configuração 26 Estação B Repositório Área de Trabalho Estação A Repositório Área de Trabalho Pull
  • 27. Sincronismo - Distribuído Gerência de Configuração 27 Estação B Repositório Área de Trabalho Estação A Repositório Área de Trabalho Push
  • 28. Controle de Versões - Resumo Gerência de Configuração 28 Centralizado Distribuído Descrição Checkout Clone Criação da cópia de trabalho/repositório Commit Commit Envia alterações para o repositório, criando uma revisão Update Update Atualiza a cópia/área de trabalho em uma revisão Pull Importa revisões feitas em outro repositório Push Envia revisões locais para outro repositório
  • 29. Sugestões Bibliográficas • W.A. Babich; Software Configuration Managemente; Adison-Wesley, 1986. • Software Configuration Management Handbook, 2ª edition, Alexis Leon. • Sanders, J.; Curran, E.; Software Quality; Addison-Wesley, 1994. • Paulk M. et All; Techinical Report/CMU/SEI-93-TR-025; Key Pratices of the Capability Maturity Model for Software, Version 1.1; Software Engineering Institute/CMU, 1993. • Santos, A. D.; CMM – Capability Maturity Model; Apostila: Faculdade de Engenharia Elétrica/UNICAMP, 2000. • Paula Filho, W. P.; Engenharia de Software: Fundamentos, Métodos e Padrões; LTC Editora, 2001. • Sommerville, I.; Software Engineering, 6th Edition, Adison-Wesley, 2001. • Couto, A. B.; CMMI – Integração dos Modelos de Capacitação e Maturidade de Sistemas; Editora Ciência Moderna, 2007. • IEEE Computer Society; Swebok – Guide to the Software Engineering Body of Knowledge; USA, 2004. • Project Management Institute; PMBOOK 2000 – Brazil Minas Gerais Chapter; 2002. Gerência de Configuração 29