ANÁLISE DO PARADIGMA HÍBRIDO NA INDÚSTRIA DE SOFTWARE
Gerenciamento de Configuração
1. Prof. Marcelo H. Yamaguti (1)
Pontifícia Universidade Católica do Rio Grande do Sul
Faculdade de Informática
Prof. Marcelo H. Yamaguti
Introdução à Engenharia de
Software
DESENVOLVIMENTO DE SOFTWARE
Gerenciamento de Configuração
2. PUCRS - FACIN
Prof. Marcelo H. Yamaguti (2)
Referências
• Estude para aprofundamento no conteúdo:
– SOMMERVILLE, Ian. Engenharia de Software. 9ª ed. São
Paulo: Pearson, 2011. – Capítulo 25.
– IEEE. Guide to the Software Engineering Body of Knowledge.
SWEBOK. Version 3. IEEE Computer Society. 2014. –
Chapter 6.
– WAZLAWICK, R. S. Engenharia de Software: conceitos e
práticas. Rio de Janeiro: Elsevier, 2013. – Capítulo 10.
Introdução à Engenharia de Software
3. PUCRS - FACIN
Prof. Marcelo H. Yamaguti (3)Qualidade de Processo de Software
Definição
• Gerenciamento de Configuração:
– (Sommerville): “está relacionado com as políticas, processos e
ferramentas para o gerenciamento de mudanças dos sistemas
de software”.
– (PMBOK): “é a disciplina que identifica a configuração de um
sistema em pontos distintos do tempo com o propósito de
sistematicamente controlar mudanças na configuração e
manter a integridade e rastreabilidade da configuração durante
o ciclo de vida do sistema”
4. PUCRS - FACIN
Prof. Marcelo H. Yamaguti (4)
Terminologia
• Item de configuração: qualquer item (código,
documento, dados, etc.) que estará sob o controle de
configuração.
• Versão: instância de um item de configuração que
difere de outras instâncias deste item.
• Baseline (linha de base): coleção de versões de
componentes que compõe um sistema, estas versões
não podem ser alteradas.
• Release: uma versão de um sistema que foi liberada
para uso pelos clientes.
Introdução à Engenharia de Software
5. PUCRS - FACIN
Prof. Marcelo H. Yamaguti (5)
Terminologia
• Workspace (Espaço de trabalho): área de trabalho
privado.
• Build (Construção do sistema): criação de uma
versão de sistema executável pela compilação e
ligação de versões adequadas de componentes e
bibliotecas.
• Branch: criação de uma versão de um item de
configuração que pode ser trabalhada/modificada em
paralelo à versão original.
• Merge: criação de uma versão de um item de
configuração pela junção de versões que estavam
sendo trabalhadas em paralelo.
Introdução à Engenharia de Software
6. PUCRS - FACIN
Prof. Marcelo H. Yamaguti (6)
Atividades
• Atividades relacionadas no Gerenciamento de
Configuração:
– Planejamento do processo
– Identificação de configuração
– Controle de configuração/mudança
– Auditoria de configuração
– Gerenciamento de entrega
Introdução à Engenharia de Software
7. PUCRS - FACIN
Prof. Marcelo H. Yamaguti (7)
Atividades
• Gerenciamento de versões
– Versão
– Baseline
– Check-in/Check-out entre workspace e sistema de
gerenciamento de versões (repositório)
– Branch/Merge
Introdução à Engenharia de Software
8. PUCRS - FACIN
Prof. Marcelo H. Yamaguti (8)
Atividades
• Gerenciamento de mudanças
– Solicitação de mudança
– CCB (Change Control Board) – Comitê de Controle de
Mudança
Introdução à Engenharia de Software
9. PUCRS - FACIN
Prof. Marcelo H. Yamaguti (9)
Atividades
• Construção de sistema
– Build
– Integração contínua
Introdução à Engenharia de Software
10. PUCRS - FACIN
Prof. Marcelo H. Yamaguti (10)
Atividades
• Gerenciamento de release
– Release:
• Código executável do sistema
• Programa de instalação
• Arquivos de configuração para instalação
• Documentação externa (manuais) do sistema
• ...
Introdução à Engenharia de Software
11. PUCRS - FACIN
Prof. Marcelo H. Yamaguti (11)
Atividades
• Auditoria de configuração
– Verificação se os itens de configuração de uma versão ou
baseline do sistema são realmente os que deveriam estar
presentes.
Introdução à Engenharia de Software
12. Prof. Marcelo H. Yamaguti (12)
Pontifícia Universidade Católica do Rio Grande do Sul
Faculdade de Informática
Prof. Marcelo H. Yamaguti
Introdução à Engenharia de
Software
DESENVOLVIMENTO DE SOFTWARE
Gerenciamento de Configuração