Configurao 2/113 Gerncia de Configurao e mudana Objetivo
Compreender a importncia do uso de mecanismos de gerncia de configurao e de mudana, seus mtodos, processos e ferramentas. Fornecer os principais conceitos relacionados a GC. Criar uma viso geral de como GC pode ser aplicada a um projeto de software. 3/113 Problema da Quebra de Comunicao Desenvolvedor A Desenvolvedor B Desenvolvedor C 4/113 Problema da Quebra de Comunicao (continuao) Falhas de comunicao em equipes Ocorre pelas mais diversas razes: Vocabulrios incompatveis Culturas de desenvolvimento diferentes Distncia geogrfica Dificuldade de expresso Quando este problema acontece: Os sistemas produzidos no atendem aos requisitos Fora de trabalho desperdiada 5/113 Problema dos Dados Compartilhados Componente Compartilhado Desenvolvedor A Desenvolvedor B A1 A2 A3 Programa de A Programa de B B1 B2 B3 6/113 Problema dos Dados Compartilhados - Cenrio O desenvolvedor A modifica o componente compartilhado Mais tarde, o desenvolvedor B realiza algumas alteraes no mesmo Ao tentar compilar o componente, erros so apontados pelo compilador, mas nenhum deles ocorre na parte que B alterou O desenvolvedor B no tem a menor idia sobre a causa do problema
7/113 Problema dos Dados Compartilhados - Soluo simplista Soluo simplista: cada desenvolvedor trabalha em uma cpia local do componente resolve o Problema dos Dados Compartilhados, mas cria um novo problema 8/113 Problema da Manuteno Mltipla Componente Compartilhado Desenvolvedor A Desenvolvedor B A1 A2 A3 B1 B2 B3 Programa de A Programa de B Componente Compartilhado Verso de A do Componente Compartilhado Componente Compartilhado Componente Compartilhado Verso de B do Componente Compartilhado 9/113 Problema da Manuteno Mltipla (continuao) Ocorre quando cada desenvolvedor trabalha com uma cpia local do que seria o mesmo componente Dificuldade para saber: Que funcionalidades foram implementadas em quais verses do componente Que defeitos foram corrigidos Evitado atravs de uma biblioteca central de componentes compartilhados Nesse esquema, cada componente copiado para a biblioteca sempre que alterado Resolve o Problema da Manuteno Mltipla, mas... 10/113 Problema da Atualizao Simultnea Verso de A do Componente Compartilhado Desenvolvedor A Desenvolvedor B A1 A2 A3 B1 B2 B3 Programa de A Programa de B Verso de B do Componente Compartilhado Biblioteca Central de Recursos Compartilhados Componente Compartilhado 11/113 Problema da Atualizao Simultnea Cenrio 1 O desenvolvedor A encontra e corrige um defeito em sua verso 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 verso do componente por no saber que A j tinha feito isso O trabalho de A desperdiado 12/113 Problema da Atualizao Simultnea Cenrio 2 O desenvolvedor A encontra e corrige um defeito em sua verso 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 verso do componente, sem saber do defeito corrigido por A O desenvolvedor B copia sua verso do componente para a biblioteca central Alm de o trabalho de A ser desperdiado, a verso do componente que se encontra na biblioteca central continua apresentando um defeito O desenvolvedor A julga o problema como resolvido 13/113 Como Resolver? O problema da atualizao simultnea no pode ser resolvido simplesmente copiando componentes compartilhados para uma biblioteca central Algum mecanismo de controle necessrio para gerenciar a entrada e sada dos componentes
14/113 O que Gerncia de Configurao? Gerncia de configurao (GC) o processo de identificar, organizar e controlar modificaes ao software sendo construdo A idia maximizar a produtividade minimizando os enganos 15/113 Objetivos de GC Definir o ambiente de desenvolvimento Definir polticas para controle de verses, garantindo a consistncia dos artefatos produzidos Definir procedimentos para solicitaes de mudanas Administrar o ambiente e auditar mudanas Facilitar a integrao das partes do sistema 16/113 Benefcios Aumento de produtividade no desenvolvimento Menores Custos de Manuteno Reduo de defeitos Maior rapidez na identificao e correo de problemas 17/113 Conceitos Bsicos 18/113 Configurao Um projeto de desenvolvimento de software produz os seguintes itens: Programas (cdigo fonte, programas executveis, bibliotecas de componentes, etc.) Documentao (manuais do usurio, documento de requisitos, modelo de anlise e projeto, etc.) Dados (dados de teste e do projeto) Esses conjuntos de itens so chamados, coletivamente, de configurao do software 19/113 Item de Configurao Um conjunto de itens de hardware e/ou software vistos como uma entidade nica para fins de gerncia de configurao Um item de configurao est sujeito a mudanas e essas devem obedecer s polticas estabelecidas Normalmente, um item de configurao estabelecido para cada pedao de software que pode ser projetado, implementado e testado de forma independente
20/113 Configurao de Software item tempo fluxo de desenvolvimento 21/113 Baseline Uma especificao ou produto que foi formalmente revisado e aceito Serve como base para os passos posteriores do desenvolvimento A configurao do software em um ponto discreto no tempo S pode ser modificado atravs de procedimentos formais (solicitaes de mudana) Um artefato ou conjunto de artefatos s se torna um item de configurao depois que um baseline estabelecido 22/113 Baseline item tempo fluxo de desenvolvimento 23/113 Razes para Criar um Baseline
Reproducibilidade a habilidade de reproduzir uma verso anterior do sistema Rastreabilidade Estabelece uma relao predecessor-sucessor entre artefatos do projeto (projeto satisfaz requisitos, cdigo implementa projeto, etc.) Gerao de Relatrios A comparao dos contedos de dois baselines ajuda na depurao e criao de documentao Controle de Mudanas referencial para comparaes, discusses e negociaes 24/113 Baselines importantes Baselines so considerados marcos no processo de desenvolvimento: Funcional : requisitos De Produto : releases, iteraes 25/113 Repositrio Local (fsico e lgico) onde os itens de um sistema so guardados Pode conter diversas verses do sistema Utiliza mecanismos de controle de acesso Repositrio Desenvolvedor 26/113 Lock Resolve a Atualizao Simultnea Garante que apenas o usurio que detm o lock pode alterar o arquivo Problema: serializa o trabalho dos desenvolvedores 27/113 Check-Out Check-out Repositrio cliente 28/113 Check-Out (continuao) Recupera a (ltima) verso de um item de configurao guardada no repositrio Escrita Verifica que ningum detm o lock do item de configurao Obtm o lock do item Cria uma cpia, para edio, no cliente Leitura Verifica que algum j detm o lock Cria uma cpia, apenas para leitura, no cliente 29/113 Check-In Check-in Repositrio cliente 30/113 Check-In (continuao) Ao de inserir/atualizar um item de configurao no repositrio Verifica o lock do item de configurao, caso o mesmo j exista Verifica e incrementa a verso do item Registra informaes das mudanas (autor, data, hora, comentrios) Inclui/atualiza o item 31/113 Build Representa uma verso ainda incompleta do sistema em desenvolvimento, mas com certa estabilidade Costuma apresentar limitaes conhecidas Espao para integrao de funcionalidades Inclue no s cdigo fonte, mas documentao, arquivos de configurao, base de dados, etc. A poltica de gerao dos builds deve ser bem definida na estruturao do ambiente 32/113 Os Problemas na Gerao de Builds Fazer os builds do sistema manualmente muito demorado Pode ser difcil saber qual a verso correta de um arquivo Os pedaos do sistema podem estar em diversos locais diferentes Alguns arquivos podem ser esquecidos 33/113 Os Problemas na Gerao de Builds A integrao das partes de um sistema em desenvolvimento normalmente : Realizada poucas vezes, apenas perto de sua implantao Feita em freqncia inversamente proporcional complexidade do sistema Integrar as partes de um sistema uma tarefa trabalhosa e sujeita a erros Quanto maior o sistema, mais difcil 34/113 Os Problemas na Gerao de Builds Consequncia: problemas de integrao tornam-se difceis de detectar cedo no desenvolvimento Costumam ser encontrados muito depois de sua introduo muito difcil rastrear suas causas
35/113 Gerao de Buils atravs da Integrao Contnua Gerao freqente (pelo menos diria) de builds do sistema As partes do sistema so integradas constantemente Problemas de integrao passam a ser encontrados logo que introduzidos, na maioria dos casos Considerada uma das melhores prticas no desenvolvimento de software A gerao de builds deve ser automatizada e realizada com freqncia adequada 36/113 Release Identificao e empacotamento de artefatos entregues ao cliente (interno ou externo) ou ao mercado Um release implica no estabelecimento de um novo baseline, de produto Produto de software supostamente sem erros Verso do sistema validada aps os diversos tipos de teste Garantia de que todos os itens de configurao foram devidamente testados, avalidos, aceitos e esto disponveis no novo baseline Processo iterativo/incremental produz, em geral, mais de um release 37/113 Tipos de release Normalmente, releases esto associados aos milestones do plano de projeto Internos Controle de qualidade, acompanhamento de projeto, controle de riscos, aceitao, aquisio de conhecimento atravs da coleta de feedbacks, desenho da estratgia de implantao Externos Implantado e utilizado pelo cliente 38/113 Tags Rtulos que so associados a conjuntos de arquivos Um tag referencia um ou mais arquivos em um ou mais diretrios Costuma-se usar tags para: Denominar projeto rotulando todos os arquivos associados ao projeto Denominar uma verso do projeto (um build ou release) rotulando todos os arquivos associados ao build ou release
39/113 Tags Cenrio 1 file2 raiz subdir1 subdir2 file1 file3 file4 file5 file6 file7 file8 file9 tag1 tag2 40/113 Tags Cenrio 2 1.1 1.2 1.3 1.4 release_1 tag Histrico de um arquivo release_2 41/113 Branch Criao de um fluxo alternativo para atualizao de verses de itens de configurao Recurso muito poderoso Devem existir regras bem definidas para criao de branches Por que e quando devem ser criados? Quais os passos? Quando retornar ao fluxo principal? 42/113 Branch (continuao) Uso de lock inviabiliza a criao de branches Branches normalmente se originam de correes em verses anteriores 43/113 Branch (exemplo) 4 3 5 6 4 3.j.1 3.j.2 3.j.3 2.j.1 2.j.2 3.m.1 3.m.2 3.m.3 2.m.1 1 hello.c 2 3 1 hello.h 2 hello.c hello.h Jos Maria hello.c hello.h 2.m.2
44/113 Merge Unificao de diferentes verses de um mesmo item de configurao Integrao dos itens de configurao de um branch com os itens de configurao do fluxo principal Check-out atualizando a rea local Algumas ferramentas fornecem um mecanismo automtico para realizao de merges Mesmo com o uso de ferramentas, em vrios casos h necessidade de interveno humana 45/113 Merge (exemplo) 3 hello.c 4 2 hello.h 3 5 4 3.j.1 hello.c 3.j.2 3.j.3 2.j.1 hello.h 2.j.2 Jos Maria 3.m.1 hello.c 3.m.2 3.m.3 2.m.1 hello.h 2.m.2 3.j.4 2.j.3
46/113 Branching e Merging: esquema grfico 1.1 1.2 1.3 1.4 release_2 1.2.2.2 1.2.2.1 Tronco principal de desenvolvimento Branch release_1 tag patch tag Merge 47/113 Oportunidades criadas com GC Reuso de itens de software Artefatos Componentes Automao de processo Construo de builds Gerao de releases Testes Integrao Aumento da produtividade das equipes Reduo de re-trabalho Melhoria do acompanhamento do projeto 48/113 Controle de Mudanas 49/113 Contexto Desenvolvimento iterativo/incremental Novos conjuntos de requisitos, detalhados a cada iterao Mudanas em estratgias de negcio motivadas pelas mais diversas fontes: mercado, cultura, leis, etc 50/113 Problemas Controle do escopo do projeto Modificaes podem ampliar o leque de funcionalidades e aumentar significativamente o custo do projeto Atrasos em entregas planejadas Controle de consistncia dos artefatos Uma mudana aparentemente localizada pode causar muito mais impacto do que o previsto Degradao da qualidade do software (ex: abandono dos testes automatizados devido inconsistncia dos dados de teste) Retrabalho 51/113 O que Gerncia de Mudanas? Gerncia de Mudanas o processo de avaliar, coordenar e decidir sobre a realizao de mudanas propostas a itens de configurao (ICs) Mudanas aprovadas so implementadas nos itens de configurao e nos dados e documentos relacionados 52/113 Objetivos da Gerncia de Mudanas Garantir que os artefatos do sistema alcanam e mantm uma estrutura definida atravs do seu ciclo de vida Definir procedimentos e documentao necessrios para realizar modificaes a ICs Prover os mecanismos necessrios para conduzir mudanas de uma maneira controlada 53/113 Benefcios Controle sobre o escopo do projeto Mais produtividade cada solicitao ser tratada de forma coordenada Reduo dos problemas de comunicao entre membros da equipe Mais qualidade, uma vez que cada mudana, antes de ser realizada, tem seu impacto avaliado Gerao de dados para o acompanhamento (tracking) do projeto 54/113 Controle do caos Organizao Projeto Controle de mudanas Solicitao de mudana 55/113 Ciclo de vida de um artefato 56/113 Ciclo de vida de um artefato Draft Aceito Manuteno Concepo do artefato Mudanas feitas de forma informal Reviso/aceitao (baseline) Mudanas via controle formal (CCB) Mudanas em manuteno Release 57/113 Artefato Draft Mudanas freqentes e rpidas Demanda por agilidade Controle formal dificulta a criao do artefato Artefatos apenas gerenciados e controlados Uso de controle de verso (CVS, Clear Case, entre outras ferramentas)
58/113 Artefato Aceito Artefato seguiu um processo de reviso, testes (se aplicvel) e aceitao Inserido dentro do processo de controle de mudanas, tornando-se de fato item de configurao Mudanas via solicitao formal Presena do grupo gestor de mudanas (CCB) para avaliar e priorizar mudanas
59/113 Artefato em Manuteno Aps a entrega de uma verso do produto, os artefatos passam para a fase de manuteno Controle de mudanas permanece formal para os artefatos de um baseline Novas artefatos podem ser desenvolvidos usando o mesmo modelo de ciclo de vida Sistema pode ser descontinuado ou removido do ambiente de produo 60/113 Processo de Gerncia de Mudanas
61/113 Motivao Mudana inevitvel Mudar fcil controlar diversas mudanas simultneas difcil A gerncia de mudanas introduz controle sobre as mudanas de maior relevncia Todas as mudanas so analisadas Apenas as aprovadas so realizadas Sempre se sabe quem modificou o que, onde e quando 62/113 Responsabilidades do CCB Analisar as solicitaes de mudana Controlar o escopo do projeto Reunies com freqncia adequada ao ritmo das solicitaes de mudana Envolver stakeholders no processo de priorizao no processo de deciso Balano entre o nvel de controle desejado e overhead suportado Questes menores devem ser resolvidas pelo lder do projeto junto equipe, reduzindo o overhead do CCB 63/113 Caractersticas do CCB Composio multidisciplinar SQA, gerente, cliente, arquiteto Profissionais com grande capacidade de comunicao e negociao Pode apresentar uma estrutura hierarquica dependendo do tamanho e da quantidade de stakeholders e sistemas envolvidos (integraes)
64/113 Anlise de impacto Mudanas de grande impacto devem ser comunicadas aos stakeholders envolvidos Anlises de custo x benefcio produzidas pelos stakeholders Priorizao de mudanas Mudana pode ser rejeitada se o CCB perceber que o custo ser mais caro que o benefcio percebido Por questes de eficincia, algumas solicitaes de mudana podem ser agrupadas por tema, subsistema ou rea de negcio 65/113 Importncia da anlise de impacto Dentro do projeto Anlises inter-sistemas tambm devem ser consideradas Exemplo: frameworks, componentes ou bancos de dados compartilhados Requisitos A&P Componentes 66/113 Sobre o Processo de Gerncia de Mudanas Deve ser definido um documento padro para que mudanas possam ser solicitadas Esse documento normalmente se chama Solicitao de Mudana (SM, Em ingls CR) A um conjunto de pessoas (CCB), deve ser dada a autoridade para decidir se uma mudana ser ou no implementada O processo necessrio para garantir que apenas mudanas avaliadas e aprovadas so realizadas em ICs 67/113 Solicitaes de Mudana Algumas informaes que podem estar includas em uma SM: Identificao nica Solicitante Sistema/Projeto Item a ser modificado Classificao (melhoria, correo de defeito, outra) Prioridade Descrio Situao (nova, atribuda, finalizada, verificada, fechada) 68/113 Estrutura de um registro de solicitao de mudana 1. IDENTIFICADOR DA SOLICITAO <Um cdigo (normalmente numrico) que identifica unicamente a solicitao de mudana.> 2. IDENTIFICAO DO SOLICITANTE <O nome do indivduo que solicitou a mudana, possivelmente incluindo informao adicional como posio, matrcula, etc.> 3. SISTEMA DESENVOLVIDO 3.1. NOME DO SISTEMA <O nome do sistema no qual est sendo solicitada a mudana.> 3.2. NOME DO MDULO <O nome do mdulo no qual a mudana est sendo solicitada.> 3.3. NOME DA FUNCIONALIDADE <O nome da funcionalidade na qual a mudana ser efetuada.> 69/113 Estrutura de um registro de solicitao de mudana 4. CLASSIFICAO <O tipo de mudana que est sendo solicitada. Normalmente trs tipos de mudana so realizados: adio de nova funcionalidade, melhoria de funcionalidade j existente e correo de defeitos. Tambm comum que a classificao seja feita com relao natureza da mudana. Por exemplo: mudana de requisitos, de projeto, de implementao, etc.> 5. DESCRIO <Uma descrio da mudana que est sendo solicitada. A descrio deve ser o mais no-ambgua e objetiva possvel. Ao mesmo tempo, deve incluir toda informao necessria para implantar a mudana.> 6. STATUS <A situao atual da mudana. Por exemplo: aprovada, rejeitada, em implantao, postergada, etc. Essa informao deve ser mantida sempre atualizada.> 7. OBSERVAES GERAIS <Informaes adicionais sobre a solicitao de mudana. Por exemplo: se o solicitante j souber de mdulos que sero afetados pela implantao da mudana, pode enumer-los nesta seo.> 70/113 Etapas do Processo de Gerncia de Mudanas Genrico 1. Requisio da mudana 2. Classificao da mudana 3. Avaliao da mudana 4.Negociao sobre a realizao da mudana 5. Implementao da mudana 6. Verificao da mudana 7. Promoo dos itens modificados para um novo baseline (mudana aceita) CCB 71/113 Correes Emergenciais Em algumas situaes, no h tempo para seguir os procedimentos padro para a realizao de mudanas Defeitos no so normalmente processados pelo CCB, salvo se envolverem algum questionamento relativo ao escopo do projeto Mesmo nessas situaes, porm, muito importante que seja criada uma solicitao de mudana O objetivo garantir um mnimo de ordem, mesmo em uma situao catica
72/113 Correes Emergenciais Mudanas realizadas nessas circunstncias podem comprometer a arquitetura ou inserir bugs Deciso: Desfazer correo ou Transformar a correo: refactoring, acrscimo de novos casos de teste 73/113 Exemplos de Status dos Defeitos Estados Abertos Prximos Estados NEW Bug inserido por algum (automtico) Aceito a ASSIGNED Reatribudo a NEW Resolvido a RESOLVED ASSIGNED Atribudo pessoa apropriada Reatribudo a NEW Resolvido a RESOLVED REOPENED Reaberto: foi constatado que ainda no tinha sido resolvido Aceito a ASSIGNED Reatribudo a NEW Resolvido a RESOLVED
UNCONFIRMED No confirmado que existe Confirmado a NEW Resolvido a RESOLVED 74/113 Exemplos de Status dos Defeitos Estados Fechados Prximos Estados RESOLVED Foi resolvido (s est esperando a homologao) No foi resolvido a REOPENED Est ok a VERIFIED Est ok e pode ser fechado a CLOSED VERIFIED A correo foi homologada Defeito fechado a CLOSED CLOSED O bug tido como resolvido No foi resolvido a REOPENED 75/113 Release notes Id Descrio 1 Problema de performance na validao de pedido 2 Nova rotina de validao de crdito conforme normas de dezembro de 2002
Relao de solicitaes de mudanas implementadas e testadas Pode ser parcialmente automatizado Comentrios adicionais Limitaes atuais, problemas no resolvidos 76/113 Desafios Cultura organizacional Agrupamento de solicitaes em releases bem definidos e estabelecidos deve ser negociado com os stakeholders do projeto Releases internos utilizados de forma efetiva como ferramenta de gesto de projeto Integrao entre sistemas de controle de verso e mudanas
77/113 Ferramentas de Apoio Gerncia de Configurao
Manter todos os arquivos em um repositrio central Controlar o acesso a esse repositrio, de modo a garantir a consistncia dos artefatos
Automatizar o processo de gerao de builds
Automatizar o processo de submisso e gesto de SMs Ferramenta de Controle de Verses (CVS, por exemplo) Ferramentas de Gerao de Builds (Ant, por exemplo) Ferramentas de Gesto de Solicitaes de Mudanas (Bugzilla, por exemplo) 78/113 Gerncia de Configurao no Desenvolvimento Iterativo - Relao com as Fases e Disciplinas de Desenvolvimento do RUP 79/113 Concepo Elaborao Construo Transio Iterao Preliminar Iter. #1 Iter. #2 Iter. #i Iter. #i+1 Iter. #i+2 Iter. #n Iter. #n+1 Requisitos....................................... Anlise e Projeto............................ Implementao............................... Testes............................................. Implantao................................... Planejamento e Gerenciamento..... Fluxos de Atividades Fluxos de Suporte Fases Iteraes Fases, iteraes e disciplinas Gerncia de Configurao e Mudanas 80/113 Relao com as Fases de Desenvolvimento e com as Outras Disciplinas Tem uma maior concentrao na fase de concepo Nas iteraes das fases seguintes, o nvel de esforo mantido constante Acontece em paralelo e com uma forte integrao com a disciplina de planejamento e gerenciamento Algumas atividades relacionadas com a gerncia da configurao ocorrem em outras disciplinas como a implementao e a implantao
81/113 Atividades, Artefatos e Responsabilidades da Disciplina Gerncia de Configurao 82/113 Objetivos deste mdulo Apresentar atividades da Disciplina de Gerrncia de Configurao Discutir os artefatos e responsveis envolvidos na realizao das atividades da disciplina 83/113 Fluxo de Atividades Gerente de Configurao e Ambiente Definir ferramentas e equipamentos Implantar e administrar ambiente Estruturar ambiente Planejar gerncia de configurao Solicitante Submeter solicitaes de mudanas CCB Analisar solicitaes de mudanas 84/113 Objetivos do Fluxo Definir Recursos de hardware e software Poltica de atualizao destes recursos Estruturao de diretrios e repositrios Plataforma de desenvolvimento Poltica de utilizao do ambiente As atividades de Gerncia de Configurao que devero ser realizadas e em que momentos do desenvolvimento
85/113 Responsveis e Artefatos Gerente de Configurao Plano de Gerncia de Configurao de Software Documento de Definio de Ambiente Registro de Solicitao de Mudanas Solicitante Registro de Solicitao de Mudanas CCB 86/113 Gerente de Configurao Responsvel pela definio dos equipamentos e softwares utilizados e suas configuraes Define o ambiente, regras de uso do mesmo e poltica de mudanas Define os papis dos membros da equipe responsveis pelas atividades de gerncia de configurao Estabelece as atividades de gerncia de configurao que sero realizadas
87/113 Solicitante Qualquer pessoa que possa fazer uma solicitao de Mudanas 88/113 CCB Grupo Responsvel por analisar e autorizar uma solicitao de mudanas 89/113 Artefato Documento de Definio de Ambiente 1. INTRODUO <Descreva os objetivos do documento> 2. INFRA-ESTRUTURA 2.1. FERRAMENTAS <Descreva que ferramentas sero usadas por todos os envolvidos no projeto durante o seu desenvolvimento, fornecendo uma breve descrio de cada uma e a quantidade de licenas disponveis> 2.2. EQUIPAMENTOS <Descreva que equipamentos sero usadas durante o desenvolvimento do sistema, detalhando suas configuraes> 3. ORGANIZAO FSICA <Fornea uma breve descrio da estrutura fsica do local onde o sistema ser desenvolvido>
90/113 Artefato Documento de Definio de Ambiente 4. PADRO DE NOMENCLATURA DE ARTEFATOS <Descreva qual ser a conveno utilizada para nomear os artefatos, em ingls ou portugus> 5. AMBIENTE LOCAL 5.1. ESTRUTURA DE DIRETRIOS 5.2. INFORMAES ADICIONAIS 6. AMBIENTE DE HOMOLOGAO E TESTES 6.1. ESTRUTURA DE DIRETRIOS 6.2. INFORMAES ADICIONAIS 7. AMBIENTE DE PRODUO 7.1. ESTRUTURA DE DIRETRIOS 7.2. INFORMAES ADICIONAIS 8. ARQUIVOS DE CONFIGURAO <Descreva os arquivos utilizados para configurao e uso do sistema> 91/113 Artefato Documento de Definio de Ambiente 9. PROMOO ENTRE AMBIENTES E BACKUPS <Defina a poltica para promoo dos artefatos entre os ambientes e realizao de backups> 9.1. AMBIENTE LOCAL AMBIENTE DE HOMOLOGAO E TESTES <Descreva o procedimento que deve ser usado para transferir arquivos do ambiente local para o de homologao e testes 9.2. AMBIENTE LOCAL AMBIENTE DE PRODUO <Descreva o procedimento que deve ser usado para realizar a transferncia de arquivos entre o ambiente de homologao e testes e o ambiente de produo> 10. POLTICA DE BACKUP <Descreva o procedimento que deve ser usado para realizao de backups em cada um dos ambientes> 11. AVALIAO E REVISO DO AMBIENTE <Descreva as modificaes que sero necessrias no ambiente para o desenvolvimento do projeto> 12. REFERNCIAS
92/113 Artefato Plano de Gerncia de Configurao de Software 1. INTRODUO <Descreva os objetivos do documento, fornea definies de termos necessrios para o entendimento do mesmo e liste algumas referncias interessantes.> 2. GERENCIAMENTO DA GERNCIA DE CONFIGURAO DE SOFTWARE 2.1. ORGANIZAO <Deve ser descrita nesta seo a estrutura da equipe de GCS e como ela se encaixa na estrutura da organizao com relao a outras equipes> 2.2. RESPONSABILIDADES <Defina nesta seo os deveres e responsabilidades daqueles que estiverem envolvidos com as atividades de GCS.> 2.3. RELAO COM AS FASES DO DESENVOLVIMENTO E OUTROS FLUXOS DE ATIVIDADES <Nesta seo so relacionadas as atividades de GCS com as diferentes etapas do ciclo de vida do desenvolvimento de software.>
93/113 Artefato Plano de Gerncia de Configurao de Software 3. ATIVIDADES DA GERNCIA DE CONFIGURAO DE SOFTWARE 3.1. IDENTIFICAO DA CONFIGURAO <Esta seo descreve como identificar, nomear e adquirir os itens de configurao do sistema.> 3.1.1. Identificao de itens de configurao 3.1.2. Nomeao dos itens de configurao 3.1.3. Aquisio e armazenamento de itens de configurao 3.1.4. Gerenciamento de baselines 3.2. CONTROLE DA CONFIGURAO <Nesta seo deve ser descrito o processo de gerncia de mudanas. Normalmente, essa informao colocada em um documento a parte chamado Documento de Polticas de Mudanas. Aqui deve apenas ser includo um apontador para esse documento.>
94/113 Artefato Plano de Gerncia de Configurao de Software 3.3. REGISTRO DO STATUS DA CONFIGURAO <Esta seo lida com os detalhes de registrar o status de cada item de configurao e apresentar essa informao aos indivduos que precisam saber sobre ela.> 3.1.1. Identificao das necessidades de informao 3.1.2. Mecanismos de coleta de informaes 3.1.3. Relatrios, seus contedos e frequncias 3.1.4. Acesso a dados de registro de status 3.4. AUDITORIA DA CONFIGURAO <Esta seo descreve os tipos de auditoria que sero realizados, o procedimento de auditoria, a freqncia e qualquer outra informao relevante.> 3.1.1. Auditorias que devem ser realizadas 3.1.2. Procedimentos de auditoria
95/113 Artefato Plano de Gerncia de Configurao de Software 4. AGENDA DA GERNCIA DE CONFIGURAO <Esta seo descreve a seqncia de atividades de GCS, suas interdependncias e a relao com o ciclo de vida do projeto.> 5. RECURSOS DE GERNCIA DE CONFIGURAO <Indique nesta seo as ferramentas de software, tcnicas, equipamentos, pessoas e treinamentos necessrios para a implementao das atividades de gerncia de configurao especificadas.> 6. MANUTENO DO PLANO DE GERNCIA DE CONFIGURAO DE SOFTWARE <Esta seo descreve as atividades que so necessrias para manter o plano atualizado durante o ciclo de vida do projeto.> 96/113 Definir Ferramentas e Equipamentos Gerente de Configurao e Ambiente Definir ferramentas e equipamentos Implantar e administrar ambiente Estruturar ambiente Planejar gerncia de configurao Solicitante Submeter solicitaes de mudanas CCB Analisar solicitaes de mudanas 97/113 Definir Ferramentas e Equipamentos(continuao) Objetivos Definir ferramentas de suporte ao desenvolvimento, controle de verses e softwares em geral Definir hardwares e suas configuraes Definir regras para atualizaes de hardware e software Responsvel Gerente de configurao
98/113 Definir Ferramentas e Equipamentos(continuao) Entradas Documento de requisitos Lista de riscos Estudo de viabilidade Sadas Documento de definio de ambiente Plano de gerncia de configurao de software 99/113 Passos para Definir Ferramentas e Equipamentos Definir plataformas de desenvolvimento Definir ferramentas Definir equipamentos e suas configuraes
100/113 Estruturar Ambiente Gerente de Configurao e Ambiente Definir ferramentas e equipamentos Implantar e administrar ambiente Estruturar ambiente Planejar gerncia de configurao Solicitante Submeter solicitaes de mudanas CCB Analisar solicitaes de mudanas 101/113 Estruturar Ambiente(continuao) Objetivos Determinar a estrutura de diretrios que ser adotada para o projeto Definir os diferentes ambientes (desenvolvimento, integrao, testes, produo) Definir a poltica de uso do ambiente Responsvel Gerente de configurao 102/113 Estruturar Ambiente(continuao) Entradas Documento de definio de ambiente Plano de gerncia de configurao de software Sadas Documento de definio de ambiente (atualizado) Plano de gerncia de configurao de software (atualizado) 103/113 Passos para Estruturar Ambiente Definir estrutura de diretrios, repositrios e reas de backup Definir poltica para utilizao do ambiente
104/113 Planejar Gerncia de Configurao Gerente de Configurao e Ambiente Definir ferramentas e equipamentos Implantar e administrar ambiente Estruturar ambiente Planejar gerncia de configurao Solicitante Submeter solicitaes de mudanas CCB Analisar solicitaes de mudanas 105/113 Planejar Gerncia de Configurao (continuao) Objetivos Definir os papis e responsabilidades dos membros da equipe responsvel pelas atividades de gerncia de configurao (GC) Definir os baselines que devero ser estabelecidos Definir o cronograma das atividades de GC Definir as polticas, procedimentos e padres que guiaro essas atividades Identificar os itens de configurao Responsvel Gerente de configurao
106/113 Planejar Gerncia de Configurao (continuao) Entradas Plano de gerncia de configurao de software Sadas Plano de gerncia de configurao de software (atualizado) 107/113 Passos para Planejar Gerncia de Configurao
Definir organizao, papis e responsabilidades Definir polticas e procedimentos para registro do status da configurao Definir esquema de nomeao para itens de configurao Identificar e registrar itens de configurao Planejar auditorias Definir baselines Definir cronograma de gerncia de configurao 108/113 Implantar e Administrar Ambiente Gerente de Configurao e Ambiente Definir ferramentas e equipamentos Implantar e administrar ambiente Estruturar ambiente Planejar gerncia de configurao Solicitante Submeter solicitaes de mudanas CCB Analisar solicitaes de mudanas 109/113 Implantar e Administrar Ambiente (continuao) Objetivos Implantar o ambiente com base na estrutura definida na atividade anterior Gerenciar a utilizao do ambiente de acordo com as normas propostas (atravs de auditorias) Avaliar e revisar o ambiente Responsvel Gerente de configurao
110/113 Implantar e Administrar Ambiente (continuao) Entradas Documento de definio de ambiente Plano de gerncia de configurao de software Sadas Documento de definio de ambiente (atualizado) Plano de gerncia de configurao de software (atualizado)
111/113 Passos para Implantar e Administrar Ambiente Instalar mquinas e criar diretrios Disseminar poltica de utilizao do ambiente Gerenciar e avaliar ambiente 112/113 Concluses GC um fluxo de apoio ao projeto como um todo Requer uma certa disciplina na manipulao de itens de configurao e apoio de ferramentas sempre que possvel 113/113 Referncias Descrio do workflow de gerncia de configurao e mudanas do RUP Configuration Management Today - http://cmtoday.com Software Release Methodology, M.E.Bays, Prentice Hall, 1999.