Upload
marcelo-yamaguti
View
473
Download
1
Embed Size (px)
Citation preview
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
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
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”
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
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
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
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
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
PUCRS - FACIN
Prof. Marcelo H. Yamaguti (9)
Atividades
• Construção de sistema
– Build
– Integração contínua
Introdução à Engenharia de Software
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
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
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