28
Gerência de Configuração e Mudança

Gerência de Configuração e Mudança - aeciocosta.com.brªncia-de... · Em projetos de software, a construção do software é feita pela recuperação da configuração correta

Embed Size (px)

Citation preview

Page 1: Gerência de Configuração e Mudança - aeciocosta.com.brªncia-de... · Em projetos de software, a construção do software é feita pela recuperação da configuração correta

Gerência de Configuração e Mudança

Page 2: Gerência de Configuração e Mudança - aeciocosta.com.brªncia-de... · Em projetos de software, a construção do software é feita pela recuperação da configuração correta

Problema

� Mudanças durante o desenvolvimento são inevitáveis;

� o entendimento dos usuários sobre suas necessidades muda;

� o ambiente no qual o sistema vai operar muda;

� a legislação muda, os requisitos mudam.

Page 3: Gerência de Configuração e Mudança - aeciocosta.com.brªncia-de... · Em projetos de software, a construção do software é feita pela recuperação da configuração correta

Gerência de Configuração de Software (GCS)

é 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.

Page 4: Gerência de Configuração e Mudança - aeciocosta.com.brªncia-de... · Em projetos de software, a construção do software é feita pela recuperação da configuração correta

Questões Básicas na GCS

�Quais mudanças aconteceram no sistema?

�Por que essas mudanças aconteceram?

�O sistema continua íntegro mesmo depois das mudanças?

Page 5: Gerência de Configuração e Mudança - aeciocosta.com.brªncia-de... · Em projetos de software, a construção do software é feita pela recuperação da configuração correta

Configuração

é 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.

Page 6: Gerência de Configuração e Mudança - aeciocosta.com.brªncia-de... · Em projetos de software, a construção do software é feita pela recuperação da configuração correta

Gerenciar Configuração

GCS é a disciplina de identificar a configuração de um sistema em diferentes pontos no tempo com a finalidade de controlar sistematicamente as mudan ç as realizadas, mantendo a integridade e rastreabilidade da configuração através do ciclo de vida do sistema.

Page 7: Gerência de Configuração e Mudança - aeciocosta.com.brªncia-de... · Em projetos de software, a construção do software é feita pela recuperação da configuração correta

Ferramentas de Apoio

Page 8: Gerência de Configuração e Mudança - aeciocosta.com.brªncia-de... · Em projetos de software, a construção do software é feita pela recuperação da configuração correta

Controle de Versão

O problema do compartilhamento de arquivo

� Programador sobrescrever o código de outro por acidente e acabar perdendo as alterações feitas por ele?

� Dificuldades em saber quais as alterações foram efetuadas em um programa, quando foram feitas e quem fez?

� Dificuldade em recuperar o código de uma versão anterior que está em produção?

� Ter problemas em manter variações do sistema ao mesmo tempo?

Page 9: Gerência de Configuração e Mudança - aeciocosta.com.brªncia-de... · Em projetos de software, a construção do software é feita pela recuperação da configuração correta

Controle de Versão - Um Exemplo

Como resolver esse problema?

Page 10: Gerência de Configuração e Mudança - aeciocosta.com.brªncia-de... · Em projetos de software, a construção do software é feita pela recuperação da configuração correta

Controle de Versão

Existem duas soluções para o problema:

� Alocar-Modificar-Desalocar

� Copiar-Modificar-Unificar

Page 11: Gerência de Configuração e Mudança - aeciocosta.com.brªncia-de... · Em projetos de software, a construção do software é feita pela recuperação da configuração correta

Controle de Versão - Alocar-Modificar-Desalocar

Page 12: Gerência de Configuração e Mudança - aeciocosta.com.brªncia-de... · Em projetos de software, a construção do software é feita pela recuperação da configuração correta

Controle de Versão - Copiar-Modificar-Unificar

Passo 1 Passo 2

Page 13: Gerência de Configuração e Mudança - aeciocosta.com.brªncia-de... · Em projetos de software, a construção do software é feita pela recuperação da configuração correta

Controle de Versão

É a espinha dorsal de toda a gerência de configuração, apoiando as atividades de controle de mudança e integração contínua. Fornece os seguintes 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.

Page 14: Gerência de Configuração e Mudança - aeciocosta.com.brªncia-de... · Em projetos de software, a construção do software é feita pela recuperação da configuração correta

Controle de Versão - Exemplos

• Subversion (SVN)• Mercurial• Git• CVS• StarTeam

Page 15: Gerência de Configuração e Mudança - aeciocosta.com.brªncia-de... · Em projetos de software, a construção do software é feita pela recuperação da configuração correta

Controle de Versão

• Subversion (SVN)

Subversion é um sistema centralizador de compartilhamento de informação.

� Modelo Centralizado� Guarda cada modificação feita em arquivos

http://subversion.tigris.org/

Page 16: Gerência de Configuração e Mudança - aeciocosta.com.brªncia-de... · Em projetos de software, a construção do software é feita pela recuperação da configuração correta

Controle de Versão

Vantagens de um controle de Versão

� Histórico

� Colaboração

� Variações no Projeto

Page 17: Gerência de Configuração e Mudança - aeciocosta.com.brªncia-de... · Em projetos de software, a construção do software é feita pela recuperação da configuração correta

Controle de Versão - Centralizado

Funcionamento do modelo centralizado

No controle de versão centralizado há um único repositório e várias cópias de trabalho que se comunicam apenas através do repositório central.

Page 18: Gerência de Configuração e Mudança - aeciocosta.com.brªncia-de... · Em projetos de software, a construção do software é feita pela recuperação da configuração correta

Controle de Versão - Distribuído

Funcionamento do Modelo Distribuído

No controle de versão distribuído cada desenvolvedor possui um repositório próprio acoplado a uma área de trabalho. A comunicação entre eles continua sendo através de commit e update.

Page 19: Gerência de Configuração e Mudança - aeciocosta.com.brªncia-de... · Em projetos de software, a construção do software é feita pela recuperação da configuração correta

Controle de Versão - GIT

� Rapidez� Autonomia� Facilidade de Mesclagem

Diversos serviços gratuitos� github� bitbucket

Page 20: Gerência de Configuração e Mudança - aeciocosta.com.brªncia-de... · Em projetos de software, a construção do software é feita pela recuperação da configuração correta

Controle de Mudança

� Servi ç o complementar ao oferecido pelo sistema de controle de vers ã o. O foco desse tipo de ferramenta é 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.

Page 21: Gerência de Configuração e Mudança - aeciocosta.com.brªncia-de... · Em projetos de software, a construção do software é feita pela recuperação da configuração correta

Controle de Mudança - Exemplos

�Trac�Redmine�Mantis�Bugzilla�JIRA

Page 22: Gerência de Configuração e Mudança - aeciocosta.com.brªncia-de... · Em projetos de software, a construção do software é feita pela recuperação da configuração correta

Controle de Mudança - JIRA

Page 23: Gerência de Configuração e Mudança - aeciocosta.com.brªncia-de... · Em projetos de software, a construção do software é feita pela recuperação da configuração correta

Controle de Mudança - JIRA

Page 24: Gerência de Configuração e Mudança - aeciocosta.com.brªncia-de... · Em projetos de software, a construção do software é feita pela recuperação da configuração correta

Integração Contínua

Garantir que as mudanças no projeto são construídas, testadas e relatadas t ã o logo quanto poss í vel depois de serem introduzidas.

Em projetos de software, a construção do software é feita pela recuperação da configuração correta no sistema de controle de vers ã o e a constru ç ã o dos arquivos executáveis e de instalação do produto.

Este processo é executado geralmente após cada mudança publicada no sistema de controle de versão ou em intervalos de tempo pré-definidos.

Page 25: Gerência de Configuração e Mudança - aeciocosta.com.brªncia-de... · Em projetos de software, a construção do software é feita pela recuperação da configuração correta

Integração Contínua - Exemplos

� Jenkins � Bitten� SCons� Ant� Maven� CruiseControl� Gump� TinderBox

Page 26: Gerência de Configuração e Mudança - aeciocosta.com.brªncia-de... · Em projetos de software, a construção do software é feita pela recuperação da configuração correta

Integração Contínua

� Gerenciar dependências� Build

Page 27: Gerência de Configuração e Mudança - aeciocosta.com.brªncia-de... · Em projetos de software, a construção do software é feita pela recuperação da configuração correta

Integração Contínua

� Bulid agendados� Extração de métricas� Gerência de itens de configuração

Page 28: Gerência de Configuração e Mudança - aeciocosta.com.brªncia-de... · Em projetos de software, a construção do software é feita pela recuperação da configuração correta

3 principais fatores para o Sucesso em um projeto de Software

�Entrega no prazo

�Dentro do orçamento

�Cliente satisfeito