Você está na página 1de 5

lOMoARcPSD|7679431

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

Gerência da Configuração de Software (Universidade do Vale do Rio dos Sinos)

A StuDocu não é patrocinada ou endossada por nenhuma faculdade ou universidade


Baixado por Lucas Zang (lucaszang@gmail.com)
lOMoARcPSD|7679431

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.

Baixado por Lucas Zang (lucaszang@gmail.com)


lOMoARcPSD|7679431

-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.

Baixado por Lucas Zang (lucaszang@gmail.com)


lOMoARcPSD|7679431

- 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.

Baixado por Lucas Zang (lucaszang@gmail.com)


lOMoARcPSD|7679431

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.);

Baixado por Lucas Zang (lucaszang@gmail.com)

Você também pode gostar