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