SlideShare uma empresa Scribd logo
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

Mais conteúdo relacionado

Mais procurados

Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
Aricelio Souza
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
elliando dias
 
Ferramenta de apoio a gerência de configuração de software
Ferramenta de apoio a gerência de configuração de softwareFerramenta de apoio a gerência de configuração de software
Ferramenta de apoio a gerência de configuração de software
elliando dias
 
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
Camilo Almendra
 
Es capítulo 5 - modelagem de sistemas
Es   capítulo 5  - modelagem de sistemasEs   capítulo 5  - modelagem de sistemas
Es capítulo 5 - modelagem de sistemas
Felipe Oliveira
 
Arquitetura orientada a serviços (SOA)
Arquitetura orientada a serviços (SOA)Arquitetura orientada a serviços (SOA)
Arquitetura orientada a serviços (SOA)
Helio Henrique L. C. Monte-Alto
 
design patterns - introdução
design patterns - introduçãodesign patterns - introdução
design patterns - introdução
elliando dias
 
Aula 2 - Processos de Software
Aula 2 - Processos de SoftwareAula 2 - Processos de Software
Aula 2 - Processos de Software
Rudson Kiyoshi Souza Carvalho
 
Analise de Requisitos
Analise de RequisitosAnalise de Requisitos
Analise de Requisitos
elliando dias
 
As aula 1 - introdução a análise de sistemas
As   aula 1 - introdução a análise de sistemasAs   aula 1 - introdução a análise de sistemas
As aula 1 - introdução a análise de sistemas
tontotsilva
 
Padrões Arquiteturais de Sistemas
Padrões Arquiteturais de SistemasPadrões Arquiteturais de Sistemas
Padrões Arquiteturais de Sistemas
Vagner Santana
 
GCS - Aula 01 - Introdução
GCS - Aula 01 - IntroduçãoGCS - Aula 01 - Introdução
GCS - Aula 01 - Introdução
Misael Santos
 
Introdução à Análise de Sistemas
Introdução à Análise de SistemasIntrodução à Análise de Sistemas
Introdução à Análise de Sistemas
Nécio de Lima Veras
 
Apresentação da UML
Apresentação da UMLApresentação da UML
Apresentação da UML
Eliseu Castelo
 
Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER
Vitor Hugo Melo Araújo
 
Introducao a Arquitetura de Software
Introducao a Arquitetura de SoftwareIntroducao a Arquitetura de Software
Introducao a Arquitetura de Software
UFPA
 
Arquitetura de Software EXPLICADA
Arquitetura de Software EXPLICADAArquitetura de Software EXPLICADA
Arquitetura de Software EXPLICADA
Fábio Nogueira de Lucena
 
Aula01 Gerência de Projetos - Conceitos e áreas de conhecimento do PMBOK
Aula01 Gerência de Projetos - Conceitos e áreas de conhecimento do PMBOKAula01 Gerência de Projetos - Conceitos e áreas de conhecimento do PMBOK
Aula01 Gerência de Projetos - Conceitos e áreas de conhecimento do PMBOK
Daniela Brauner
 
Arquitetura de Software Visão Geral
Arquitetura de Software Visão GeralArquitetura de Software Visão Geral
Arquitetura de Software Visão Geral
sergiocrespo
 
ISO/IEC 12207
ISO/IEC 12207ISO/IEC 12207
ISO/IEC 12207
Elaine Cecília Gatto
 

Mais procurados (20)

Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Ferramenta de apoio a gerência de configuração de software
Ferramenta de apoio a gerência de configuração de softwareFerramenta de apoio a gerência de configuração de software
Ferramenta de apoio a gerência de configuração 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
 
Es capítulo 5 - modelagem de sistemas
Es   capítulo 5  - modelagem de sistemasEs   capítulo 5  - modelagem de sistemas
Es capítulo 5 - modelagem de sistemas
 
Arquitetura orientada a serviços (SOA)
Arquitetura orientada a serviços (SOA)Arquitetura orientada a serviços (SOA)
Arquitetura orientada a serviços (SOA)
 
design patterns - introdução
design patterns - introduçãodesign patterns - introdução
design patterns - introdução
 
Aula 2 - Processos de Software
Aula 2 - Processos de SoftwareAula 2 - Processos de Software
Aula 2 - Processos de Software
 
Analise de Requisitos
Analise de RequisitosAnalise de Requisitos
Analise de Requisitos
 
As aula 1 - introdução a análise de sistemas
As   aula 1 - introdução a análise de sistemasAs   aula 1 - introdução a análise de sistemas
As aula 1 - introdução a análise de sistemas
 
Padrões Arquiteturais de Sistemas
Padrões Arquiteturais de SistemasPadrões Arquiteturais de Sistemas
Padrões Arquiteturais de Sistemas
 
GCS - Aula 01 - Introdução
GCS - Aula 01 - IntroduçãoGCS - Aula 01 - Introdução
GCS - Aula 01 - Introdução
 
Introdução à Análise de Sistemas
Introdução à Análise de SistemasIntrodução à Análise de Sistemas
Introdução à Análise de Sistemas
 
Apresentação da UML
Apresentação da UMLApresentação da UML
Apresentação da UML
 
Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER
 
Introducao a Arquitetura de Software
Introducao a Arquitetura de SoftwareIntroducao a Arquitetura de Software
Introducao a Arquitetura de Software
 
Arquitetura de Software EXPLICADA
Arquitetura de Software EXPLICADAArquitetura de Software EXPLICADA
Arquitetura de Software EXPLICADA
 
Aula01 Gerência de Projetos - Conceitos e áreas de conhecimento do PMBOK
Aula01 Gerência de Projetos - Conceitos e áreas de conhecimento do PMBOKAula01 Gerência de Projetos - Conceitos e áreas de conhecimento do PMBOK
Aula01 Gerência de Projetos - Conceitos e áreas de conhecimento do PMBOK
 
Arquitetura de Software Visão Geral
Arquitetura de Software Visão GeralArquitetura de Software Visão Geral
Arquitetura de Software Visão Geral
 
ISO/IEC 12207
ISO/IEC 12207ISO/IEC 12207
ISO/IEC 12207
 

Semelhante a Gerência de Configuração

Gerência de configuração ágil
Gerência de configuração ágilGerência de configuração ágil
Gerência de configuração ágil
Claudia Melo
 
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
 
Svn - grupo de estudos sol7
Svn - grupo de estudos sol7Svn - grupo de estudos sol7
Svn - grupo de estudos sol7
SOL7 - Tecnologia de Decisão
 
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
Tiago Vizoto
 
Sistemas de controle de versão
Sistemas de controle de versãoSistemas de controle de versão
Sistemas de controle de versão
Marcos Pessoa
 
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
ssuser4d4894
 
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
Rogerio P C do Nascimento
 
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
Rogerio P C do Nascimento
 
Gerencia de Configuracao de Software
Gerencia de Configuracao de SoftwareGerencia de Configuracao de Software
Gerencia de Configuracao de Software
Robson Silva Espig
 
Git + Github
Git + GithubGit + Github
Git + Github
praticasdesoftware
 
GCS - Aula 02 - Conceitos Principais
GCS - Aula 02 - Conceitos PrincipaisGCS - Aula 02 - Conceitos Principais
GCS - Aula 02 - Conceitos Principais
Misael 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 Software
Rogerio P C do Nascimento
 
Git github tortoise git
Git github tortoise gitGit github tortoise git
Git github tortoise git
maxrosan
 
Introducao ao Git
Introducao ao GitIntroducao ao Git
Introducao ao Git
Claudinei Brito Junior
 
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
Misael Santos
 
Implantação de sistemas web
Implantação de sistemas webImplantação de sistemas web
Implantação de sistemas web
Cleiton Vogel
 
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
Frederico de Figueiredo Siena
 
CVS - Slides Parte 1 - Introdução
CVS - Slides Parte 1 - IntroduçãoCVS - Slides Parte 1 - Introdução
CVS - Slides Parte 1 - Introdução
Marden 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ário
Fabrício Campos
 
Learn about Git - Git Tutorial
Learn about Git - Git TutorialLearn about Git - Git Tutorial
Learn about Git - Git Tutorial
Lucas Brigida
 

Semelhante a Gerência de Configuração (20)

Gerência de configuração ágil
Gerência de configuração ágilGerência de configuração ágil
Gerência de configuração ágil
 
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
 
Sistemas de controle de versão
Sistemas de controle de versãoSistemas de controle de versão
Sistemas de controle de versão
 
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
 

Mais de Wagner Zaparoli

Early Warning Systems For Epidemic
Early Warning Systems For EpidemicEarly Warning Systems For Epidemic
Early Warning Systems For Epidemic
Wagner Zaparoli
 
Transformações_Corporativas
Transformações_CorporativasTransformações_Corporativas
Transformações_Corporativas
Wagner Zaparoli
 
Técnicas_Implementação
Técnicas_ImplementaçãoTécnicas_Implementação
Técnicas_Implementação
Wagner Zaparoli
 
Qualidade do Software
Qualidade do SoftwareQualidade do Software
Qualidade do Software
Wagner 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.PDF
Wagner Zaparoli
 
Padrões_Desenvolvimento
Padrões_DesenvolvimentoPadrões_Desenvolvimento
Padrões_Desenvolvimento
Wagner Zaparoli
 
Manutenção de Software
Manutenção de SoftwareManutenção de Software
Manutenção de Software
Wagner Zaparoli
 
Teste de Software
Teste de SoftwareTeste de Software
Teste de Software
Wagner Zaparoli
 
Ciclo de Vida
Ciclo de VidaCiclo de Vida
Ciclo de Vida
Wagner Zaparoli
 
Projeto de Software
Projeto de SoftwareProjeto de Software
Projeto de Software
Wagner Zaparoli
 
Gerenciamento_Projetos
Gerenciamento_ProjetosGerenciamento_Projetos
Gerenciamento_Projetos
Wagner Zaparoli
 

Mais de 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
 

Gerência de Configuração

  • 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