Buscar

Aula10 GerenciaConfiguracaoMudancas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 83 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 83 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 83 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Gerência de Projetos 
e Manutenção de Software 
Aula 10 – Gerência de Configuração e 
Mudanças
Andréa Magalhães Magdaleno
andrea@ic.uff.br
2016.02
2GPMS 2016.02
Agenda
• O Problema
• Gerência de Configuração
• Conceitos Básicos
• Processos
• Controle de Versões
• Gestão de Mudanças
• Construção e Release
O PROBLEMA 
4GPMS 2016.02
Problema da Quebra de Comunicação
• Falhas de comunicação em equipes 
• Ocorre pelas mais diversas razões:
• Vocabulários incompatíveis
• Culturas de desenvolvimento diferentes
• Distância geográfica
• Dificuldade de expressão
• Quando este problema acontece:
• Os sistemas produzidos não atendem aos requisitos
• Força de trabalho é desperdiçada
Desenvolvedor A Desenvolvedor B
Desenvolvedor C
Problema dos Dados Compartilhados
Componente
Compartilhado
Desenvolvedor A Desenvolvedor B
A1 A2 A3
Programa de A Programa de B
B1 B2 B3
6GPMS 2016.02
Problema dos Dados Compartilhados 
Cenário
• O desenvolvedor A modifica o componente 
compartilhado
• Mais tarde, o desenvolvedor B realiza algumas 
alterações no mesmo
• Ao tentar compilar o componente, erros são apontados 
pelo compilador, mas nenhum deles ocorre na parte que 
B alterou
• O desenvolvedor B não tem a menor ideia sobre a causa 
do problema
7GPMS 2016.02
Problema dos Dados Compartilhados 
Solução
• Cada desenvolvedor trabalha em uma cópia “local” do 
componente
• Resolve o Problema dos Dados Compartilhados, mas 
cria um novo problema...
Problema da Manutenção Múltipla
Componente
Compartilhado
Desenvolvedor A Desenvolvedor B
A1 A2 A3 B1 B2 B3
Programa de A Programa de BComponente
Compartilhado
Versão de A do 
Componente
Compartilhado
Componente
Compartilhado
Componente
Compartilhado
Versão de B do 
Componente
Compartilhado
9GPMS 2016.02
Problema da Manutenção Múltipla 
Cenário
• Ocorre quando cada desenvolvedor trabalha com uma 
cópia “local” do que seria o mesmo componente
• Dificuldade para saber:
• Qual a versão mais “atualizada” do componente?
• Que funcionalidades foram implementadas em quais 
versões do componente?
• Que defeitos foram corrigidos?
• Qual versão do componente deve ser utilizada? 
• A situação torna-se mais crítica, quão maior for o 
tamanho da equipe. 
10GPMS 2016.02
Problema da Manutenção Múltipla 
Solução
• Criação de uma biblioteca central de componentes 
compartilhados
• Nesse esquema, cada componente é copiado para a 
biblioteca sempre que alterado
• Nessa biblioteca deve sempre estar disponível a 
versão mais nova do componente. 
• Resolve o Problema da Manutenção Múltipla, mas...
Problema da Atualização Simultânea
Versão de A do 
Componente
Compartilhado
Desenvolvedor A Desenvolvedor B
A1 A2 A3 B1 B2 B3
Programa de A Programa de BVersão de B do 
Componente
Compartilhado
Biblioteca Central de 
Recursos Compartilhados
Componente
Compartilhado
12GPMS 2016.02
Problema da Atualização Simultânea 
Cenário 1
• O desenvolvedor A encontra e corrige um defeito em 
sua versão do componente compartilhado
• Uma vez corrigido, o componente modificado é copiado 
para a biblioteca central
• O desenvolvedor B encontra e corrige o mesmo defeito 
em sua versão do componente por não saber que A já 
tinha feito isso
• O trabalho de A é desperdiçado
13GPMS 2016.02
Problema da Atualização Simultânea 
Cenário 2
• O desenvolvedor A encontra e corrige um defeito em sua versão do 
componente compartilhado
• Uma vez corrigido, o componente modificado é copiado para a 
biblioteca central
• O desenvolvedor B encontra e corrige um outro defeito em sua 
versão do componente, sem saber do defeito corrigido por A
• O desenvolvedor B copia sua versão do componente para a 
biblioteca central
• Além de o trabalho de A ser desperdiçado, a versão do componente 
que se encontra na biblioteca central continua apresentando um 
defeito
• O desenvolvedor A julga o problema como resolvido
14GPMS 2016.02
Problema da Atualização Simultânea
Solução
• O problema da atualização simultânea não pode ser 
resolvido simplesmente copiando componentes 
compartilhados para uma biblioteca central
• Algum mecanismo de controle é necessário para 
gerenciar a entrada e saída dos componentes
GERÊNCIA DE CONFIGURAÇÃO
16GPMS 2016.02
Gerência de Configuração (GC)
Desenvolvimento Liberação Implantação Produção
Gerência de Configuração
Gerência de Configuração de Software (GCS) é uma disciplina
para o controle da evolução de sistemas de software
(Susan Dart, 1991)
17GPMS 2016.02
Gerência de Configuração (GC)
• Engenharia de Software envolve refinamentos 
sucessivos de artefatos
Tarefas de 
Engenharia de 
Software
Artefato 
novo
Repositório
Artefato 
modificado
Artefato
18GPMS 2016.02
Objetivos de GC
• Definir o ambiente de desenvolvimento
• Definir políticas para controle de versões, 
garantindo a consistência dos artefatos 
produzidos
• Definir procedimentos para solicitações de 
mudanças
• Administrar o ambiente e auditar mudanças
• Facilitar a integração das partes do sistema
19GPMS 2016.02
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
• Surgimento das primeiras normas internacionais
• Assimilação por organizações não militares
20GPMS 2016.02
Sistema de Gerência de Configuração
Artefatos
Controle de 
Versões
Construção 
e Release
Controle de 
Modificações
Solicitações
21GPMS 2016.02
Problemas pela falta de GC
• Perda de código-fonte
• Impossibilidade de determinar o que aconteceu com 
um programa, ou parte dele
• Impossibilidade de determinar quem, porque e 
quando foram efetuadas modificações
• Requisitos já documentados desaparecem
• Requisitos implementados desaparecem do código
• O programa em execução e o seu código fonte estão 
em diferentes versões
CONCEITOS BÁSICOS
23GPMS 2016.02
Conceitos Básicos
• Repositórios
– Lugar seguro onde versões 
de artefatos são 
depositadas
– Permitem armazenamento, 
busca e recuperação
– Servem como um ponto de 
referência
– Apoiam no aumento da 
memória organizacional
24GPMS 2016.02
Check-Out
• Processo de requisição de modificações, 
aprovação e cópia de um item de 
configuração do repositório
Check-out
RepositórioCliente
25GPMS 2016.02
Check-Out
• Recupera a (última) versão de um item de 
configuração guardada no repositório
• Escrita
• Verifica que ninguém detém o lock do item de 
configuração
• Obtém o lock do item
• Cria uma cópia, para edição, no cliente
• Leitura
• Verifica que alguém já detém o lock
• Cria uma cópia, apenas para leitura, no cliente
26GPMS 2016.02
Check-In
• Processo de revisão, aprovação e cópia 
de um item de configuração para o 
repositório
Check-in
RepositórioCliente
27GPMS 2016.02
Check-In 
• Ação de inserir/atualizar um item de 
configuração no repositório
• Verifica o lock do item de configuração, caso 
o mesmo já exista
• Verifica e incrementa a versão do item
• Registra informações das mudanças (autor, 
data, hora, comentários)
• Inclui/atualiza o item
CONTROLE DE VERSÃO
29GPMS 2016.02
Tipos de Versão
VersãoVersão
RevisãoRevisão VarianteVariante
Cooperação 
(Rascunho)
Cooperação 
(Rascunho)
(Conradi e Westfechtel 1998)
30GPMS 2016.02
Revisões
Gerações do iMac (1998 – 2013)
31GPMS 2016.02
Variantes
Hatchback
Coupe
Sedan
Honda Civic
32GPMS 2016.02
Cooperação (versões rascunho)Espaço de trabalho do João
Espaço de trabalho da Maria
Espaço de trabalho 
do Pedro
Versão base
33GPMS 2016.02
Versões de rascunho podem ser 
combinadas (operação de merge)
João Maria Pedro
Revisões
34GPMS 2016.02
Conflitos podem ocorrer durante o 
merge
João Paulo
Revisões
35GPMS 2016.02
Outras duas operações importantes…
… para guardar, transferir e compreender versões.
Diff =
Patch =
36GPMS 2016.02
Mas afinal, para que servem versões?
• Sincronizar equipes
• Reproduzir configurações passadas
• Explorar possibilidades
• Segregar desenvolvedores
• Customizar produtos (LPS)
• Rastrear a introdução de bugs
• Entender a evolução de software
• Auditar mudanças
37GPMS 2016.02
Tratamento de variantes em 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 para a 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)
38GPMS 2016.02
Tratamento de variantes em ramos 
(branches)
• Recurso muito poderoso
• Branches normalmente se originam de correções em versões 
anteriores
• Devem existir regras bem definidas para criação de branches
• Por que e quando devem ser criados?
• Em que circunstâncias é justificável criar um novo branch? Apenas para correção de 
bugs? Para realizar melhorias solicitadas pelos usuários?
• Quais os passos?
• Que procedimentos devem ser seguidos para criar um branch? Deve ser feita uma 
solicitação formal? Um backup do item de configuração deve ser realizado? Algum 
membro da equipe deve ser notificado?
• Quando retornar ao fluxo principal?
• Quando pode se considerar o branch como encerrado? 
• Se foi para remover defeitos, o branch deve acabar assim que esses defeitos tenham 
sido corrigidos, ou deve ser mantido para corrigir novos defeitos que foram 
descobertos?
39GPMS 2016.02
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
Rel. 1
1.0 1.1 1.2
Rel. 2
2.0 2.1
Verif. Verif.
1.0 RC 2.0 RCEvolução EvoluçãoDesenv.
Correção Correção Correção
40GPMS 2016.02
Merge
• Unificação de diferentes versões de um mesmo item de 
configuração
• Integração dos itens de configuração de um branch
com os itens de configuração do fluxo principal
• Checkout atualizando a área local
• Algumas ferramentas fornecem um mecanismo 
automático para realização de merges
• Mesmo com o uso de ferramentas, em vários casos há 
necessidade de intervenção humana
41GPMS 2016.02
Exemplo
(merge no Eclipse)
42GPMS 2016.02
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
• A atualização de uma baseline consiste em check-out 
seguido de modificações e check-in
• 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
43GPMS 2016.02
Baseline (níveis de controle)
Coordenação 
c/ auditoria
Controle
Pré baseline:
•Informal
•Sem requisição
•Sem aprovação
•Sem verificação
•Ágil
•Ad-hoc
Pós baseline:
•Formal
•Com requisição
•Com aprovação
•Com verificação
•Burocrático
•Planejado e Controlado
Nível de controle
44GPMS 2016.02
Baseline (níveis de controle)
Req. Análise Projeto Análise Projeto Análise Projeto
1 Inform. - Formal Inform. Formal Formal
2 - - Inform. - Formal Inform.
Requisito 1 Análise Projeto
Baseline 1:
•An. Req. 1
Requisito 2 Análise Projeto
Tempo
Baseline 2:
•An. Req. 1
•Pr. Req. 1
•An. Req. 2
45GPMS 2016.02
Plano de GC
• O plano de gerência de configuração de software é o 
documento utilizado para descrever como será utilizada 
a disciplina de gerencia de configuração no projeto em 
questão
• Pode ser definido um plano padrão para a organização
• Esse plano padrão deverá ser adaptado para cada novo 
projeto, levando em consideração as suas 
peculiaridades
46GPMS 2016.02
Plano de GC - Exemplo
 
BASELINES 
 BASELINE: 
Dt PREVISTA: 
Dt REAL: 
BASELINE: 
Dt PREVISTA: 
Dt REAL: 
BASELINE: 
Dt PREVISTA: 
Dt REAL: 
BASELINE: 
Dt PREVISTA: 
Dt REAL: 
Sist. ID Item Ext. Título Resp. Resp. 
Implantação 
Incluído Versão Incluído Versão Incluído Versão Incluído Versão 
 
 
 
 
 
 
 
 
 
47GPMS 2016.02
Principais sistemas de controle de 
versão open-source
GESTÃO DE MUDANÇAS
49GPMS 2016.02
Motivação
• Mudança é inevitável
• Mudar é fácil – controlar diversas mudanças 
simultâneas é difícil
• A gerência de mudanças introduz controle 
sobre as mudanças de maior relevância
• Todas as mudanças são analisadas
• Apenas as aprovadas são realizadas
• Sempre se sabe quem modificou o que, onde e 
quando
50GPMS 2016.02
Problemas
• Controle do escopo do projeto
• Modificações podem ampliar o leque de funcionalidades 
e aumentar significativamente o custo do projeto
• Atrasos em entregas planejadas
• Controle de consistência dos artefatos
• Uma mudança aparentemente localizada pode causar 
muito mais impacto do que o previsto
• Degradação da qualidade do software (ex: abandono dos 
testes automatizados devido à inconsistência dos dados 
de teste)
• Retrabalho
51GPMS 2016.02
O que é Gestão de Mudanças?
• Gestão de Mudanças é o processo de avaliar, coordenar 
e decidir sobre a realização de mudanças propostas a 
itens de configuração (ICs)
• Mudanças aprovadas são implementadas nos itens de 
configuração e nos dados e documentos relacionados
52GPMS 2016.02
Objetivos da Gestão de Mudanças
• Garantir que os artefatos do sistema alcançam e 
mantêm uma estrutura definida através do seu ciclo de 
vida
• Definir procedimentos e documentação necessários 
para realizar modificações nos itens de configuração
• Prover os mecanismos necessários para 
conduzir mudanças de uma maneira 
controlada
53GPMS 2016.02
Change Control Board (CCB)
• Analisar as solicitações de mudança
• Controlar o escopo do projeto
• Reuniões com frequência adequada ao ritmo das solicitações de 
mudança
• Envolver stakeholders no processo de priorização e de decisão
• Balanço entre o nível de controle desejado e overhead suportado
• Questões menores devem ser resolvidas pelo líder do projeto junto 
à equipe, reduzindo o overhead do CCB
• Composição multidisciplinar
• SQA, gerente, cliente, arquiteto
• Profissionais com grande capacidade de comunicação e 
negociação
54GPMS 2016.02
Análise de impacto
• Mudanças de grande impacto devem ser comunicadas 
aos stakeholders envolvidos
• Análises de custo x benefício produzidas pelos 
stakeholders
• Priorização de mudanças
• Mudança pode ser rejeitada se o CCB perceber que o 
custo será mais caro que o benefício percebido
• Por questões de eficiência, algumas solicitações de 
mudança podem ser agrupadas por tema, subsistema 
ou área de negócio
55GPMS 2016.02
Gestão de Mudanças
• Tarefas• 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
56GPMS 2016.02
Gestão de Mudanças
• Solicitação de Modificação
• Identificação única
• Solicitante
• Sistema/Projeto
• Item a ser modificado
• Classificação (melhoria, correção de defeito, outra)
• Prioridade
• Descrição
• Situação (nova, atribuída, finalizada, verificada, 
fechada)
57GPMS 2016.02
Gestão de Mudanças
• Solicitação de Modificação
58GPMS 2016.02
Gestão de Mudanças
• 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
59GPMS 2016.02
Gestão de Mudanças
• Análise de Modificação
(Leon, 2000)
60GPMS 2016.02
Gestão de Mudanças
• 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
61GPMS 2016.02
Gestão de Mudanças
• 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!
• Defeitos não são normalmente processados pelo 
CCB
• Mesmo nessas situações, porém, é muito importante 
que seja criada uma solicitação de mudança
62GPMS 2016.02
Gestão de Mudanças
• 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 
– Falta de treinamento, padrões inadequados, ferramentas 
inadequadas
63GPMS 2016.02
Gestão de Mudanças
• Acompanhamento - Tarefas
• Armazenamento das informações geradas
• Propagação dessas informações aos interessados 
através de relatórios
• Permite que métricas sejam utilizadas com o intuito de 
melhoria do processo e estimativa de custos futuros
• Fornece relatórios gerenciais ad-hoc
64GPMS 2016.02
Gestão de Mudanças
Resultado do relatório no modo tabular no Bugzilla
65GPMS 2016.02
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
66GPMS 2016.02
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
67GPMS 2016.02
Gestão de Mudanças
Ferramentas
• Livre
• Bugzilla
• Mantis
• Redmine
• Trac
• Comercial
• ClearQuest (IBM Rational)
• JIRA (Atlassian)
• StarTeam (Borland)
• Synergy/Change (Telelogic)
• TeamTrack (Serena)
• Team Foundation Server (Microsoft)
CONSTRUÇÃO E RELEASE
69GPMS 2016.02
Terminologia
• Construção (Building): processo de compilação 
do sistema a partir dos itens fonte para uma 
configuração alvo;
• Utiliza arquivo de comandos que descreve como 
deve ocorrer a construção
• Exemplo: makefile
• Os arquivos de comandos também devem ser 
considerados itens de configuração
70GPMS 2016.02
Terminologia
• Release: 
• Conjunto de produtos que deve ser entregue ao 
cliente
• Releases diferem de versões, pois versões podem 
ser somente para uso interno ao projeto
71GPMS 2016.02
Problemas na Geração de Builds
• Fazer os builds do sistema manualmente é muito demorado
• Pode ser difícil saber qual a versão “correta” de um arquivo
• Os pedaços do sistema podem estar em diversos locais 
diferentes
• Alguns arquivos podem ser esquecidos
• A integração das partes de um sistema em desenvolvimento 
normalmente é:
• Realizada poucas vezes, apenas perto de sua implantação
• Feita em frequência inversamente proporcional à complexidade do 
sistema
• Integrar as partes de um sistema é uma tarefa trabalhosa e 
sujeita a erros
• Quanto maior o sistema, mais difícil
72GPMS 2016.02
Problemas na Geração de Builds
• Consequência: problemas de integração 
tornam-se difíceis de detectar cedo no 
desenvolvimento
• Costumam ser encontrados muito depois de 
sua introdução
• É muito difícil rastrear suas causas
73GPMS 2016.02
Geração de Builds através da Integração 
Contínua
• Geração frequente (pelo menos diária) de builds do 
sistema
• As partes do sistema são integradas constantemente
• Problemas de integração passam a ser encontrados logo 
que introduzidos, na maioria dos casos
• Considerada uma das “melhores práticas” no 
desenvolvimento de software
• A geração de builds deve ser automatizada e 
realizada com frequência adequada
74GPMS 2016.02
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: Releasesmuito curtas podem levar a círculo-
vicioso de defeitos...
75GPMS 2016.02
Exemplo de ferramentas de build e release
• Livre
• Ant
• NAnt
• Make
• Maven
• Rake
• Comercial
• ClearMake (IBM Rational)
• MSBuild (Microsoft)
• Synergy/CM Object Make (Telelogic)
76GPMS 2016.02
Application Lifecycle Management
(ALM)
COS 823 - Aula 6 76Out 2013
77GPMS 2016.02
Collaborative Lifecycle Management
(CLM)
COS 823 - Aula 6 77Out 2013
78GPMS 2016.02
Collaborative Lifecycle Management
(CLM)
COS 823 - Aula 6 78Out 2013
Requisitos
Planejamento de Testes
Gerenciamento 
de Defeitos
Gerência de 
Configuração
79GPMS 2016.02
Exercício
• Elaborar o plano de configuração do 
projeto informando no mínimo:
• Quais artefatos serão colocados sob 
gerência de configuração?
• Quais baselines serão estabelecidas e quais 
os itens de configuração de cada uma dela?
• Como deve funcionar o processo de gestão 
de mudanças?
80GPMS 2016.02
Dúvidas?
81GPMS 2016.02
Principais Referências Bibliográficas
• Alexis Leon, “A Guide to Software Configuration Management”, 
Artech House Publishers, 2000.
• Anne Hass, “Configuration Management Principles and Practices”, 
Boston, MA, Pearson Education, Inc.
• Conradi, R. and Westfechtel, B. VersionModels for Software 
Configuration Management. ACM Computing Surveys, v.30, n.2, p. 
232-282, 1998.
• Dart, S., 1991, “Concepts in Configuration Management Systems”, 
International Workshop on Software Configuration Management 
(SCM), Trondheim, Norway (June), pp. 1-18.
• Pressman, R. S. (1997). “Software Engineering: A Practitioner's
Approach”, McGraw-Hill.
82GPMS 2016.02
Próxima Aula
Gerência de 
Configuração
Garantia de 
Qualidade
Verificação, 
Validação e Testes
Planejamento 
de Projetos
Gerência 
de Riscos
Monitoramento 
e Controle
Reutilização
Medição e 
Análise
Levantamento 
de Requisitos
Análise de 
Requisitos
Projeto Codificação
Comunicação
Atividades
Gerenciais
Atividades de 
Desenvolvimento
Atividades de 
Apoio
Aquisição
Gerência de Projetos 
e Manutenção de Software 
Aula 10 – Gerência de Configuração e 
Mudanças
Andréa Magalhães Magdaleno
andrea@ic.uff.br
2016.02

Continue navegando