Gerência da Configuração de
Software
GCS (SCM) é a arte de identificar,
organizar e controlar as
modificações em um software
sendo desenvolvido por uma
equipe de programadores.
gerência de configuração de
software
1
Atividades da Gerência de
Configuração:
Identificar as mudanças
Controlar as mudanças
Garantir que as mudanças estão sendo
adequadamente implementadas
Relatar as mudanças a outras pessoas
envolvidas no processo
gerência de configuração de
software
2
Manutenção x
Gerência de Configuração
“Manutenção de Software ocorre depois
da entrega do software aos usuários e de
colocado em operação”
“GCS começa quando o projeto de
software inicia e só termina quando o
software é retirado de operação”
gerência de configuração de
software
3
Ger de Configuração de Software:
O resultado do processo de software é um
conjunto de informações divididas em:
programas de computador (fontes e
executáveis)
documentos que descrevem os programas
(para os usuários e técnicos)
dados (internos ou externos aos programas)
Os itens resultantes de todo o processo
constituem a ‘configuração do software’
gerência de configuração de
software
4
Itens de GCS
Testes
.....
Implementação
Projeto
Hardware
Especificação do sistema
gerência de configuração de
software
5
1ª Lei da Engenharia de
Sistemas:
“Não importa onde você está no ciclo de
vida, o sistema irá mudar, e o desejo de
mudança irá persistir ao longo do ciclo de
vida” [BERSOFF80]
gerência de configuração de
software
6
Fontes de mudanças:
novos condições dos negócios ou mercado
novas necessidades dos usuários
reorganização e/ou mudanças no
tamanho do negócio
restrições de orçamento ou prazos
gerência de configuração de
software
7
‘baselines’
“uma especificação ou produto que foi
formalmente revisto e aceito, que a partir
de então serve como base para outros
desenvolvimentos, e que só pode ser
mudado através de um procedimento
formal de controle de mudança”
gerência de configuração de
software
8
Analogia para um ‘baseline’
gerência de configuração de
software
9
Conjunto de ‘baselines’:
especificação do
sistema
plano do projeto
especificação dos
requisitos do software
manual preliminar
especificação do
projeto
Listagens dos
programas fontes
especificação dos
testes
manuais de instalação
e operação
programas
executáveis
descrição do BD
manual ‘as-built’
doctos manutenção
padrões e proc.
gerência de configuração de
software
10
Controle de Versões
Principais objetivos:
Armazenamento do documentos do
produto (e do projeto)
Check in / check out dos documentos
(trabalho em grupo)
Histórico do projeto (recuperação de erros
cometidos)
Controle de versões e ramos de versões
gerência de configuração de
software
11
Componentes do controle de versões:
O repositório dos documentos
Arquivos fontes
Arquivos binários
Os espaços individuais de trabalho
gerência de configuração de
software
12
Componentes (cont.)
As versões dos projetos e documentos:
Lançamentos (releases) de produtos
Revisões (revisions) de componentes
gerência de configuração de
software
13
(( Ramos de projeto ))
1.1
1.2
1.2.2.1
1.3
1.4
1.2.2.2
Junção (merge)!
gerência de configuração de
software
14
Componentes (cont.)
A comunicação entre o repositório e os
diretórios de trabalho
Checkin / Checkout
Administração do sistema
Rede
gerência de configuração de
software
15
Componentes (cont.)
Reconciliação de documentos
diff - Diferenças entre documentos no
checkin de usuários diferentes ou revisões
diferentes do mesmo usuário
gerência de configuração de
software
16
Controle de versões
CVS - Concurrent Versions System -gnu.org / Cyclic / SourceGear
RCS - ?
Visual SourceSafe - MicroSoft
PVCS
Delta - MicroSoft
Code Co-op - Reliable Software
(( Xerox - Seagate
gerência de))
configuração de
software
17
Download

Garantia da Qualidade de Software