Baixe o app para aproveitar ainda mais
Prévia do material em texto
RESUMO SWEBOK - GERÊNCIA DE CONFIGURAÇÃO DISCENTE: Gabriel Ramos Nascimento MATRÍCULA: 21752156 Um sistema é um conjunto de elementos interativos que são elencados para alcançar um objetivo especificado por seus usuários. A configuração do sistema são as características físicas e funcionais do hardware e software de acordo com a documentação técnica do produto, isto é, são os requisitos necessários para a execução plena do sistema. O gerenciamento de configuração (GC), é a área responsável por dirigir e identificar a configuração de um sistema em diferentes momentos por meio de técnicas com a finalidade de controlar as mudanças na configuração. Além de manter a integridade e rastreabilidade da configuração ao longo do ciclo de vida do software. O Gerenciamento de Configuração de Software é um processo do ciclo de vida do software de suporte que está diretamente ligado à gestão de projetos, desenvolvimento e atividades de manutenção, garantia de qualidade e stackholders. Os conceitos de gerenciamento de configuração se aplicam a todos os itens a serem controlados, embora haja algumas diferenças na implementação entre hardware GC e software GC. O Gerenciamento de Configuração de Software (GCS) está relacionado com a garantia de qualidade do software (GQS). Sendo definido que os processos de qualidade de software fornecem garantia de que o software e processos no ciclo de vida do projeto estejam em conformidade com seus requisitos, planejando, implementando e executando um conjunto de atividades para que a qualidade do produto seja garantida. As atividades de GCS auxiliam no cumprimento das metas de GQS, muitas vezes estando incorporado nos projetos, alguns requisitos específicos de GCS estão dentro das atividades de GQS. As atividades do Gerenciamento de Configuração de Software (GCS) são divididas nos seguintes tópicos: ● Gestão do Processo GCS ● Identificação de Configuração de Software ● Controle de Configuração de Software ● Contabilidade de Status de Configuração de Software ● Auditoria de Configuração de Software ● Gerenciamento e Entrega de Versões de Software ● Ferramentas de Gerenciamento de Configuração de Software GESTÃO DO PROCESSO GCS O GCS controla a evolução e integridade de um produto identificando seus elementos; gerenciamento e controle de mudanças; e verificar a gravação e relatar as informações de configuração. Do ponto de vista do engenheiro de software, o GSC facilita o desenvolvimento e as atividades de implementação de mudanças. Uma implementação de GCS bem-sucedida requer planejamento e gerenciamento meticuloso. Para planejar um processo de GCS para um projeto, é necessário entender o contexto organizacional e as relações entre os elementos organizacionais. Os elementos organizacionais responsáveis pelos processos de suporte da engenharia de software podem ser estruturados de várias maneiras. Contudo, a responsabilidade geral da GCS geralmente recai sobre um elemento organizacional distinto ou indivíduo designado. As restrições que afetam e orientam o processo de GCS vêm de várias fontes. Políticas e procedimentos estabelecidos em níveis corporativos ou em outros níveis organizacionais podem influenciar ou prescrever o desenho e a implementação do processo de GCS para um determinado projeto. lém disso, o contrato entre o adquirente e o fornecedor pode conter cláusulas que afetam o processo de GCS. . As principais atividades do planejamento de um projeto de GCS são identificação de configuração de software, controle de configuração de software, contabilidade de status de configuração de software, auditoria de configuração de software e gerenciamento e entrega de lançamento de software. Além disso, questões como organização e responsabilidades, recursos e cronogramas, seleção e implementação de ferramentas, controle de fornecedor e subcontratado e controle de interface são normalmente considerados. O GCS normalmente requer um conjunto de ferramentas, ao invés de uma única ferramenta. Esses conjuntos de ferramentas são algumas vezes chamados de bancadas de trabalho. Nesse contexto, outra consideração importante no planejamento para a seleção de ferramentas é determinar se a bancada de GCS será aberta (em outras palavras, ferramentas de diferentes fornecedores serão usadas em diferentes atividades do processo de GCS) ou integrado (onde os elementos da bancada de trabalho são projetados para funcionar juntos). IDENTIFICAÇÃO DE CONFIGURAÇÃO DE SOFTWARE A identificação da configuração do software identifica itens a serem controlados, estabelece esquemas de identificação para os itens e suas versões e estabelece as ferramentas e técnicas a serem usadas na aquisição e gerenciamento de itens controlados. Essas atividades fornecem a base para as outras atividades de GCS. Uma das primeiras etapas para controlar a mudança é identificar os itens de software a serem controlados. Isso envolve a compreensão da configuração do software dentro do contexto da configuração do sistema, seleção de itens de configuração de software, desenvolvimento de uma estratégia para rotular itens de software e descrever seus relacionamentos, e identificar as linhas de base a serem usadas e o procedimento para a aquisição de uma linha de base dos itens. Os itens de configuração do software são colocados sob o controle do GCS em momentos diferentes; ou seja, eles são incorporados a uma linha de base específica em um ponto específico do ciclo de vida do software. O evento desencadeador é a conclusão de alguma forma de tarefa de aceitação formal, como uma revisão formal. CONTROLE DE CONFIGURAÇÃO DE SOFTWARE O controle de configuração de software se preocupa com o gerenciamento de mudanças durante o ciclo de vida do software. Abrange o processo para determinar quais mudanças fazer, a autoridade para aprovar certas mudanças, suporte para a implementação dessas mudanças e o conceito de desvios formais dos requisitos do projeto, bem como isenções deles. As informações derivadas dessas atividades são úteis para medir o tráfego de mudanças e as quebras, bem como os aspectos de retrabalho. A primeira etapa no gerenciamento de mudanças em itens controlados é determinar quais mudanças fazer. O processo de solicitação de mudança de software fornece procedimentos formais para enviar e registrar solicitações de mudança, avaliar o custo potencial e o impacto de uma mudança proposta e aceitar, modificar, adiar ou rejeitar o mudança proposta. Uma solicitação de mudança (GC) é uma solicitação para expandir ou reduzir o escopo do projeto; modificar políticas, processos, planos ou procedimentos; modificar custos ou orçamentos; ou revisar cronogramas. Um processo de solicitação de mudança de software (SCR) requer o uso de ferramentas e procedimentos de suporte para originar solicitações de mudança, reforçando o fluxo do processo de mudança, capturando as decisões da placa de controle de configuração e relatando as informações do processo de mudança. Um link entre a capacidade desta ferramenta e o sistema de relatório de problemas pode facilitar o rastreamento de soluções para problemas relatados. CONTABILIDADE DE STATUS DE CONFIGURAÇÃO DE SOFTWARE Contabilidade de status de configuração de software (SCSA) é um elemento de gerenciamento de configuração que consiste no registro e relatório de informações necessárias para gerenciar uma configuração de forma eficaz. A atividade SCSA projeta e opera um sistema para a captura e relato das informações necessárias à medida que o ciclo de vida prossegue. Como em qualquer sistema de informações, as informações de status de configuração a serem gerenciadas para as configurações em evolução devem ser identificadas, coletadas e mantidas. Várias informações e medições são necessárias para dar suporte ao processo de SCM e atender às necessidades de relatórios de status de configuração de gerenciamento, engenharia de software e outras atividades relacionadas. Os tipos de informações disponíveis incluem a identificação da configuração aprovada, bem como a identificaçãoe o status de implementação atual de mudanças, desvios e isenções. Além de relatar o status atual da configuração, as informações obtidas pelo SCSA podem servir como base para várias medições. Os exemplos incluem o número de solicitações de mudança por SCI e o tempo médio necessário para implementar uma solicitação de mudança. AUDITORIA DE CONFIGURAÇÃO DE SOFTWARE Uma auditoria de software é um exame independente de um produto de trabalho ou conjunto de produtos de trabalho para avaliar a conformidade com especificações, padrões, acordos contratuais ou outros critérios. As auditorias são conduzidas de acordo com um processo bem definido que consiste em várias funções e responsabilidades do auditor. A auditoria de configuração de software determina até que ponto um item satisfaz as características funcionais e físicas exigidas. Auditorias informais desse tipo podem ser realizadas em pontos-chave do ciclo de vida. Dois tipos de auditorias formais podem ser exigidos pelo contrato regulador (por exemplo, em contratos que cobrem software crítico): a Auditoria de Configuração Funcional (FCA) e a Auditoria de Configuração Física (PCA). A conclusão bem-sucedida dessas auditorias pode ser um pré-requisito para o estabelecimento da linha de base do produto. Uma auditoria pode ser aplicada a itens de linha de base amostrados para garantir que o desempenho seja consistente com as especificações ou para garantir que a documentação em evolução continue a ser consistente com o item de linha de base em desenvolvimento. GERENCIAMENTO E ENTREGA DE VERSÕES DE SOFTWARE A construção de software é a atividade de combinar as versões corretas dos itens de configuração de software, usando os dados de configuração apropriados, em um programa executável para entrega a um cliente ou outro destinatário, como a atividade de teste. Para sistemas com hardware ou firmware, o programa executável é entregue à atividade de construção do sistema. As instruções de construção garantem que as etapas de construção adequadas sejam realizadas na sequência correta. Além de criar software para novas versões, geralmente também é necessário que o GCS tenha a capacidade de reproduzir versões anteriores para fins de recuperação, teste, manutenção ou versão adicional. Um recurso de ferramenta é útil para selecionar as versões corretas dos itens de software para um determinado ambiente de destino e para automatizar o processo de construção do software a partir das versões selecionadas e dados de configuração apropriados. Para projetos com ambientes de desenvolvimento paralelos ou distribuídos, esse recurso de ferramenta é necessário. A maioria dos ambientes de engenharia de software oferece esse recurso. Essas ferramentas variam em complexidade, desde exigir que o engenheiro de software aprenda uma linguagem de script especializada até abordagens orientadas a gráficos que escondem grande parte da complexidade de uma instalação "inteligente" de construção. O gerenciamento de versão de software abrange a identificação, empacotamento e entrega dos elementos de um produto, por exemplo, um programa executável, documentação, notas de versão e dados de configuração. Visto que as mudanças no produto podem ocorrer continuamente, uma preocupação para o gerenciamento de versões é determinar quando emitir uma versão. As informações que documentam o conteúdo físico de uma liberação são conhecidas como um documento de descrição de versão. As notas de versão geralmente descrevem novos recursos, problemas conhecidos e requisitos de plataforma necessários para a operação adequada do produto. O pacote a ser lançado também contém instruções de instalação ou atualização. O último pode ser complicado pelo fato de que alguns usuários atuais podem ter versões com vários releases anteriores. FERRAMENTAS DE GERENCIAMENTO DE CONFIGURAÇÃO DE SOFTWARE As ferramentas de GCS podem ser divididas em três classes de acordo com o escopo ao qual fornecem suporte: suporte individual, suporte relacionado a projetos e suporte a processos em toda a empresa. As ferramentas de suporte individuais são apropriadas e normalmente suficientes para pequenas organizações ou grupos de desenvolvimento sem variantes de seus produtos de software ou outros requisitos complexos de SCM. Eles incluem: • Ferramentas de controle de versão: rastreie, documente e armazene itens de configuração individuais, como código-fonte e documentação externa. • Ferramentas de manuseio de construção: em sua forma mais simples, essas ferramentas compilam e vinculam uma versão executável do software. Ferramentas de construção mais avançadas extraem a versão mais recente do software de controle de versão, realizam verificações de qualidade, executam testes de regressão e produzem vários formatos de relatórios, entre outras tarefas. • Ferramentas de controle de mudanças: apoiam principalmente o controle de solicitações de mudança e notificação de eventos (por exemplo, mudanças de status de solicitação de mudança, marcos alcançados).
Compartilhar