Gestão da Configuração do Software Aula 17 Sumário Introdução – – – – – Conceitos – – ECS e Linhas Base Objectos da Configuração Processo de GCS Tarefas de GCS – – – 2 O quê é? Quem faz? Porquê é importante? Qual é o produto? Como saber se está bem feita? Controlo de versões Auditorias de configuração Geração de relatórios Introdução (I) O quê é? – Quem faz? – Todos os envolvidos no processo de desenvolvimento Porquê é importante? – 3 Conjunto de actividades para controlar as mudanças surgidas nos diversos produtos do processo de desenvolvimento de software Se não controlarmos as mudanças, elas que irão nos controlar… Introdução (II) Qual o produto? – Quando está bem feito? – 4 Plano de Gestão da Configuração Quando qualquer mudança puder ser monitorizada e analisada Configuração de software conceito: nome colectivo dado à informação derivada do processo de engenharia de software ECS - Elementos da Configuração de Software – – – 5 Programas (fonte e executáveis) Documentos que descrevem os programas (técnicos e de utilizador) Dados (dentro e fora do programa) o número de ECS cresce à medida que avança o processo de desenvolvimento o problema é que durante o processo ocorrem muitas mudanças em qualquer momento e por muitas causas Origem das mudanças Mudança nos requisitos devido a: – – – – 6 Novos negócios ou condições comerciais Novas necessidades do cliente Reorganização do negócio Restrições de planeamento Linhas Base Quando todas as partes de um ECS forem revistas, corrigidas e aprovadas – Assim, um ECS (especificação ou produto) revisto e aprovado serve como base para o desenvolvimento posterior – 7 o ECS converte-se numa linha base e só poderá ser modificado através de procedimentos formais de controlo das mudanças É o ponto de referência no desenvolvimento de software que fica marcado pelo envio e aprovação de um ou mais ECS em revisões técnicas formais Somente poder-se-ão fazer mudanças nos ECS depois que estas tenham sido avaliadas e aprovadas. ECS da Linhas Base aprovada modificada Tarefas de Engenharia de software Revisões técnicas formais Controlos GCS extraída 8 Base de dados do projecto armazenada Linhas base: Especificação do sistema Requisitos do software Especificações de desenho Código fonte Planos/Procedimentos Dados de teste Sistema de funcionamento Objectos da configuração Especificação de desenho Modelo de dados Desenho de dados Desenho arquitectónico Desenho de módulos Desenho de interfaces Especificação de teste Componente N Componente N Descrição da interface Descrição da interface Descrição do algoritmo Descrição do algoritmo Plano de testes Procedimento de testes Casos de teste 9 Código fonte Processo de GCS - questões fundamentais 10 Como identificar e gerir as diferentes versões existentes de um programa e a sua documentação de forma a introduzir mudanças eficientemente? Como controlar as mudanças antes e depois da entrega do produto ao cliente? Quem tem a responsabilidade de aprovar e atribuir prioridades às mudanças? Como garantir a apropriada realização das mudanças? Quais os mecanismos para avisar aos outros das mudanças? Tarefas da GCS - devem ser adicionadas ao Plano de Gantt… Identificação dos objectos da configuração – Básicos – Compostos 11 uma secção de uma especificação de requisitos, um código fonte de um módulo, um conjunto de casos teste usados para exercitar o código, etc Especificação de Desenho, Especificação de Testes.. Controlo de versões Auditorias de configuração Geração de relatórios Controlo de versões 1.0 12 1.1 Cada nó é um objecto composto: uma versão completa do software Cada versão do software é uma colecção de ECS Cada versão pode estar composta de variantes (cor, monocromático) 1.3 1.4 2.0 2.1 1.2 1.1.1 1.1.2 O controlo de versões combina procedimentos e ferramentas para gerir as versões dos objectos da configuração criados durante o processo de software Controlo das mudanças Reconhece-se a necessidade da mudança O utilizador subscreve o pedido O eng de software a avalia Gera-se um informe de mudanças ACM (Autoridade de Controlo de Mudanças) decide SIM NÂO Pedido de mudança é negado Informa-se ao utilizador 13 Gera-se a OME (Ordem de Mudança de Engenharia) Atribuição personalizada dos objectos da configuração Dar “baixa” aos objectos da configuração Realização e revisão da mudança Dar “alta” aos objectos mudados Estabelecimento de nova linha base para teste Realização de actividades de garantia da qualidade Inclusão das mudanças na próxima versão Distribuição da nova versão Controlo de acesso e sincronização - feito automaticamente, e sem bloqueio, em ferramentas de CVS (Concurrent Versions Systems) Elemento de Configuração modificado alta Informação de auditoria Elemento de Configuração (linha base) desbloqueio Engenheiro de software Controlo De acesso Elemento de Configuração extraído 14 Informação de pertinência bloqueio baixa Base de dados do projecto Elemento de Configuração (linha base) Auditoria da Configuração - como podemos saber se as mudanças foram feitas correctamente? Revisões técnicas formais – Correcção técnica do ECS Auditorias de configuração 1. 2. 3. 4. 5. 6. 7. 15 Foi realizado a mudança especificada pela OME? Houve modificações extras? Foi feita uma revisão técnica formal? Foi seguido o processo de software? Aplicaram-se os standards? Tem-se destacado as mudanças no ECS? Especificou-se o autor e a data da modificação? Seguiram-se os procedimentos de GCS para assinalar, registar e divulgar a mudança efectuada? Têm sido actualizados os ECS relacionados? Relatórios de estado - normalmente preenchidos em ferramentas CASE 16 O quê se passou? Quem o fez? Quando se passou? Quem foi afectado? Fim 17