Gerência da configuração de software - resumo PDF

Title Gerência da configuração de software - resumo
Author tatiana coelho
Course Gerência da Configuração de Software
Institution Universidade do Vale do Rio dos Sinos
Pages 4
File Size 111.4 KB
File Type PDF
Total Downloads 93
Total Views 125

Summary

Gerência da configuração de software - resumo...


Description

Item de configuração: São partes que constituem o produto de software, sejam elas hardware ou software. É todo produto de trabalho que deve ser controlado para garantir o controle da integridade do produto de software. Gerência da configuração: disciplinas e técnicas de iniciação, avaliação e controle de mudanças em produtos de software durante e depois do processo de desenvolvimento. A Gerência de Configuração é um processo de suporte aos demais processos que compõe o ciclo de desenvolvimento de software, e sendo assim permeia todas as fases com o foco de garantir a integridade do conjunto de artefatos que caracterizam o produto. Objetivo: estabelecer e manter a integridade de todos os produtos de trabalho de um processo ou projeto e disponibilizá-los a todos os envolvidos. Funções da gerência da configuração -Identificação da configuração: Determina qual conjunto de artefatos (arquivos) de código fonte você está trabalhando. Ato de identificar, nomear e descrever as características físicas e funcionais documentadas de um código, suas especificações, seu design e seus elementos de dados a serem controlados para/no projeto. -Controle de configuração: controla o release de um produto e mudanças a ele durante todo o ciclo de vida para assegurar a criação consistente de um produto de software da linha de base. Realiza o acompanhamento de mudanças por meio de requisições, avaliações, aprovações/desaprovações e da própria implementação da mudança. -Contabilização/acompanhamento de estado (status): registra estados específicos (relativos a evolução do artefato na sequência/fases do projeto) dos itens de configuração. -Revisões e auditorias: determinam/garantem em que extensão os itens de configuração (desenvolvidos) refletem as características físicas e funcionais requeridas. -Gerenciamento dos builds: gerencia quais processos e ferramentas os desenvolvedores usam para criar um release, de forma que se possa repetir. -Gerência do Processo: assegura-se de que os processos de desenvolvimento de organização sejam seguidos por aqueles que desenvolvem e liberam o software. -Teamwork: controla as interações de todos os desenvolvedores que trabalham junto em um produto de modo que as mudanças das pessoas sejam introduzidas no sistema em um momento oportuno. Principais papéis -Controlador/Gerente de Configuração: responsável pelo planejamento e execução das atividades de gerência de configuração relativas a um projeto ou produto de software. -Gerente de Projeto: gestor das atividades, recursos e custos de um projeto de desenvolvimento de software. No processo de gerência de configuração suporta o Controlador de Configuração em suas atividades, aprova baselines e solicitações de mudanças. -Time de Projeto: time de desenvolvedores responsável pelo desenvolvimento e/ou manutenção de um projeto ou produto de software. No processo de gerência de configuração serão responsáveis por manipular os artefatos de software segundo as definições do Plano de Gerência de Configuração. -Cliente: responsável/dono dos requisitos do produto, tem a função de validar o conjunto de artefatos desenvolvidos para atendimento dos requisitos. O Cliente em geral interage com o processo através de aprovações de liberações (releases) e de solicitações de mudança. -Auditor de Qualidade: responsável pela verificação da integridade do processo de gerência de configuração em sua instanciação dentro da execução de projetos de desenvolvimento de software. Em seu escopo se inclui a checagem de evidências de execuções de atividades e geração de artefatos mandatórios (entregáveis). -Grupo de Controle de Gerência de Configuração: composto em geral pelo Controlador de Configuração, Gerente de Projeto e Líder técnico do projeto. São responsáveis pela avaliação e aprovação de solicitações de mudança, bem como pela aprovação da criação de baselines. Benefícios da Gerência da configuração - Controle de versão: ajudam as pessoas a trabalharem nos mesmos componentes de forma paralela, sem que haja interferência no trabalho um do outro. - Acompanhamento de mudanças: garante que as alterações em artefatos sejam identificadas e, caso eles estejam em fases adiantadas do desenvolvimento (versões estáveis, como testes, instalação, manutenção), estas terão de ser avaliadas e formalmente aprovadas, garantindo que apenas modificações de interesse das principais partes interessadas (stakeholders) sejam incorporadas. Principais artefatos -Plano de Gerência ou de Controle de Configuração: artefato parte do grupo de planos que suportam o planejamento de projeto, e que tem como objetivo suportar a definição da instância do processo de gerência de configuração neste contexto (projeto). -Solicitação de Mudanças: artefato que suporta a documentação de mudanças de requisito (escopo) que afetam os componentes do produto e que deverá ser aprovado pelo comitê de gerência de configuração para que posteriormente (a mudança) possa ser implementada.

-Baseline: organização logica dos artefatos que compõe o produto de software e que tem como objetivo caracterizar um conjunto estável destes componentes relacionados com um determinado marco (milestone) do projeto. Também pode ser definida como uma versão formalmente aprovada de um item de configuração. -Plano de Comunicação: define o modelo de interação esperado entre os distintos papéis existentes no processo de Gerência de Configuração de Software. MPS.Br: É um programa para melhoria de processo do software brasileiro, dividido em três componentes: Modelo de referência (MR-MPS), Método de Avaliação (MA-MPS) e modelo de negócio (MN-MPS). Cada componente é descrito por meio de guias e/ou de documentos do MPS.Br. A gerência de configuração é um dos processos que integram o MR-MPS, implementado no nível F. CMMI: Similar às normas ISO, o CMMI é formado por modelos de referência de processos que possuem definições que guiam a avaliação de maturidade e capacidade. Os modelos de referência de processos são apresentados em três grupos: CMMI para o desenvolvimento (CMMI-DEV): foca-se em processo de desenvolvimento de software e serviços. CMMI para aquisição (CMMI-ACQ): foca-se na aquisição de produtos de software e serviços. CMMI para serviços (CMMI-SVC): voltado aos processos de prestação de serviços. O propósito da área de Gerência de Configuração é definido como: Estabelecer e manter a integridade dos produtos de trabalho utilizando identificação da configuração, controle da configuração, contabilização do status da configuração e auditorias da configuração. Implementada dentro da área de suporte. Tem como principais atividades: a identificação da configuração de produtos de trabalho selecionados que irão compor as baselines, controle das mudanças em itens de configuração, prover especificações para construir produtos de trabalho e também o estado preciso e os dados correntes de configuração para desenvolvedores e usuários. Componentes exigidos na definição de processo de software: nome, entrada, critérios de entrada, saída, critérios de saída e descrição. Planejando a Gerência da configuração: possui introdução; acrônimos e abreviações; descrição do ambiente (conjunto de softwares e hardwares requeridos para a produção dos produtos do projeto); papéis; padrões de identificação e desenvolvimento (padrões a serem aplicados aos itens de configuração); itens de configuração (critérios, descrição dos itens); produtos de trabalho (itens de projeto que serão submetidos a controle da configuração); definições do processo de configuração (estágios dos itens, estrutura física do projeto, área controlada); cronograma das atividades. Identificação da configuração: identificam-se os itens de configuração, os componentes e os produtos de trabalho (work products) relacionados que serão colocados sob a gerência da configuração. A função de identificação da configuração tem por objetivo possibilitar: - a seleção dos itens de configuração, que são os elementos passíveis de Gerência de Configuração; - a definição do esquema de nomes e números, que possibilite a identificação inequívoca dos itens de configuração no grafo de versões e variantes; - a descrição dos itens de configuração, tanto física quanto funcionalmente. - atribuir identificadores únicos aos itens de configuração (nomes de arquivos significativos/coerentes); - especificar quando cada item de configuração será colocado sob a gerência da configuração. Sistema de gerência da configuração (segundo ISSO 9001): Caracteriza-se pela soma de definições de estruturas físicas e logicas que suportarão o processo de Gerência de Configuração com a implementação das mesmas em uma ferramenta (software) que servirá como base para implementação do processo. a. identificar unicamente as versões de cada item de software; b. identificar unicamente as versões de cada item de software, as quais constituem conjuntamente uma versão específica de um produto; c. identificar os estados (de construção) do(s) produto(s) de software em desenvolvimento ou entregue ou instalado; d. controlar as atualizações simultâneas de um item de software por mais de uma pessoa; e. prover a coordenação para atualização de múltiplos produtos em uma ou mais localizações, se requeridos; f. identificar e acompanhar todas as ações e mudanças resultantes de uma solicitação de mudança (da iniciação a liberação – release). Passos para a definição do sistema de gerência de configuração: - Definição da estrutura de diretórios base para a gestão dos itens de configuração. Não há uma padronização, mas é comum terem pastas diferentes para desenvolvimento e produção. - Definição da identificação de estados do ciclo de vida dos itens de configuração. O controlador de configuração deverá definir quais serão os estados pelos quais os itens de configuração deverão fluir durante o processo e os critérios utilizados. - Definição do tipo de acesso de cada papel executado (gerente, líder) ao sistema. Necessário definir os níveis de acesso que cada papel presente no projeto poderá ter.

- Definição das áreas controladas (estados de acesso apenas pelo controlador de configuração). As áreas controladas são estabelecidas para que uma vez o artefato tendo atingido aquele estado específico e logo não mais passível de livre mudança.

Subsistemas do sistema de gerência da configuração - Sistema de controle de versões: deve garantir a identificação única a um grupo de itens de configuração os quais deverão ser base para que o gerenciamento de construção possa criar uma versão do produto para algum propósito específico. - Sistema de controle de modificações: deve garantir a identificação única de cada versão de item de configuração produzida. Em geral implementam um controle numérico, denominado revisão. - Sistema de gerenciamento de construção: deverá possibilitar que versões aprovadas do produto sejam incorporadas ao repositório principal de desenvolvimento bem como facilitar a geração do produto final. Repositório: estrutura hierárquica de arquivos no sistema operacional (árvore de diretórios). Não há redundância de fontes pois são armazenadas apenas as alterações. Não deve ser alterado diretamente. Diretório de trabalho: parte do repositório onde são efetuadas as alterações sobre os arquivos. Considerado o local de comunicação entre cliente – servidor. Módulos: subdivisões logicas/funcionais de um source code de determinado sistema/aplicação. Principais conceitos de manipulação -Revisão: designada automaticamente pelo SVN. É uma determinada versão de um arquivo. -Tag: é um rótulo simbólico designado pelo desenvolvedor. Utilizado para identificar patches, customizações e releases. -Versão: nomenclatura atribuída a um conjunto de arquivos. Principais funções de manipulação de arquivos -Import: utilizado para importar um source code para o repositório. -Checkout: cria o diretório de trabalho e busca os arquivos no repositório. Default é buscar a última revisão de cada arquivo. -Update: atualiza um diretório já existente. -Commit: devolve os arquivos alterados para o repositório e incrementa automaticamente o número da revisão. -Fluxo de trabalho: checkout/update dos arquivos no diretório de trabalho > verifica se o arquivo não está sendo editado por alguém > marca o arquivo como editado > faz as alterações necessárias > commit/checkin para o repositório > designação de tags (última revisão). -Branch: é uma linha de desenvolvimento paralela a linha principal. Utilizada como suporte a uma determinada versão enquanto a nova versão é desenvolvida. -Merge: é a aplicação das alterações feitas em um branch sobre a linha de desenvolvimento principal. Baselines: proporciona aumentar o nível de controle sobre os itens de configuração que necessitam de um controle formal à medida que evoluem e estabilizam nos estados do ciclo de desenvolvimento de software. - A baseline interna suporta a formalização do estado máximo de estabilidade do item de configuração e em geral está relacionada a um marco de mudança de fase. - A baseline externa por sua vez denota o estado máximo de estabilidade de conjunto de itens de configuração aprovadas para compor uma entrega do produto. Uma vez parte de uma baseline, os itens de configuração não poderão sofrer mudança a menos que aprovadas como parte do processo formal de solicitação de mudança do projeto. Para a implementação do conceito de baselines em sistemas automatizados de gerência de configuração, utiliza-se a funcionalidade de TAG ou LABEL, que são rótulos simbólicos designado controlador de configuração, o qual identificará um conjunto de itens de configuração. Geração de baselines - Solicitação de baseline: o controlador de configuração irá solicitar a aprovação do grupo de gestão de configuração quando da necessidade de geração de uma baseline. - Aprovação da baseline: o grupo de gestão de configuração deverá revisar a solicitação de aprovação de baseline identificando se a mesma possui identificação apropriada, se está sendo gerada conforme o plano e se os itens de configuração relativos à mesma estão corretamente descritos. - Criação da baseline: o controlador de configuração, uma vez tendo a aprovação, irá realizar a geração da baseline. Em ferramentas automatizadas de gerência da configuração, um conjunto de itens de configuração serão relacionados com parte da baseline em questão. - Comunicação da baseline: uma vez gerada a baseline o controlador de configuração deverá enviar uma comunicação formal ao time do projeto informando qual a identificação da baseline, a qual passará a ser base para a geração de uma determinada versão do produto para alguma finalidade específica.

Controle de mudanças aos itens de configuração: Este processo (controle de modificações) visa analisar o impacto das modificações e notificar aos afetados, evitando retrabalho e efeitos colaterais indesejados. O ciclo de vida das solicitações, assim como os critérios estabelecidos para a sua aprovação, devem estar previamente estabelecidos no plano de gerência de configuração. As solicitações de mudança deverão ser formalmente analisadas para determinar o impacto que a mudança terá no produto de trabalho, nos produtos relacionados, no orçamento e no cronograma. Este controle inclui acompanhar a configuração de cada um dos itens de configuração, aprovar uma configuração nova se necessário, e atualizar a linha de base. Caso uma mudança seja aprovada, um cronograma é identificado para incorporar a mudança no produto de trabalho e em outras áreas afetadas, se houver. Artefatos típicos: histórico de revisão de itens de configuração, arquivo de controle das baselines. Auditorias: A execução de auditorias faz parte do estabelecimento da integridade dos artefatos e é, em geral, realizada pelo papel responsável pela garantida da qualidade dos processos (analista de qualidade). As auditorias da configuração confirmam se as baselines e a documentação resultantes estão em conformidade com um padrão ou requisito especificado. Exemplos de auditoria - Auditorias funcionais da configuração (FCA): verifica se as características funcionais de um item de configuração atingiram os requisitos especificados em sua documentação funcional da linha de base e se a documentação operacional e de suporte é completa e satisfatória. - Auditorias físicas da configuração (PCA): verifica se o item de configuração, como construído, está em conformidade com a documentação técnica que o define. - Auditorias de Gerência da Configuração: auditorias conduzidas para confirmar se os registros de Gerência da Configuração e os itens de configuração estão completos, consistentes e exatos. Definição de políticas: geralmente referem-se a definições escritas de uma política organizacional, que garantem a implementação das práticas de processo definidas em cada projeto. Estabelecem as expectativas para a avaliação objetiva dos processos e dos produtos de trabalho associados, sendo utilizadas nos projetos em relação às definições aplicáveis de práticas, aos padrões e aos procedimentos, garantindo que as não conformidades sejam encaminhadas. Na implementação de processos, com base no modelo CMMI, aconselha-se que as políticas sejam criadas com base nas subpráticas de cada área de processo. Exemplos de política: - os compromissos de configuração de software são negociados previamente pelo controlador de configuração com o gerente de projeto e/ou comitê de controle de configuração da empresa e devem estar documentados no plano de Gerência de Configuração; - o controlador de configuração deve determinar responsáveis para a revisão do plano de Gerência de Configuração e para outros compromissos relacionados aos projetos de software; - o plano de Gerência de Configuração deve ser documentado, gerenciado e controlado e serve de base para o acompanhamento da configuração dos produtos dos projetos; - as alterações nos compromissos de configuração de software e o replanejamento são realizados com o envolvimento e a concordância de todos os envolvidos (equipe, gerente de projeto etc.);...


Similar Free PDFs