Gerenciamento de configuração de software em engenharia de software
⚡ Resumo Inteligente
O Gerenciamento de Configuração de Software (SCM, na sigla em inglês) é um processo para gerenciar, organizar e controlar sistematicamente as alterações em documentos, código e outros itens ao longo do Ciclo de Vida de Desenvolvimento de Software. Seu principal objetivo é aumentar a produtividade, mantendo a qualidade e a consistência dos processos.ping minimizar os erros.
O que é gerenciamento de configuração de software?
Em Engenharia de Software, Gerenciamento de Configuração de Software (SCM) O Gerenciamento de Configuração de Software (SCM) é um processo para gerenciar, organizar e controlar sistematicamente as alterações em documentos, códigos e outras entidades durante o Ciclo de Vida de Desenvolvimento de Software. O objetivo principal é aumentar a produtividade com o mínimo de erros. O SCM faz parte do campo interdisciplinar de gerenciamento de configuração e pode determinar com precisão quem fez qual revisão.
Por que precisamos do gerenciamento de configuração?
Os principais motivos para implementar um Sistema de Gerenciamento de Configuração de Software Técnico são:
- Há várias pessoas trabalhando em um software que está em constante atualização.
- Pode ser um caso em que várias versões, ramificações e autores estejam envolvidos em um projeto de configuração de software, e a equipe esteja geograficamente distribuída e trabalhe simultaneamente.
- É necessário levar em consideração as mudanças nos requisitos do usuário, nas políticas, no orçamento e no cronograma.
- O software deve ser capaz de ser executado em diversas máquinas e OperaSistemas de gerenciamento.
- Auxilia no desenvolvimento da coordenação entre as partes interessadas.
- O processo de SCM também é benéfico para controlar os custos envolvidos na implementação de mudanças em um sistema.
Qualquer alteração nos itens de configuração do software afetará o produto final. Portanto, as alterações nos itens de configuração precisam ser controladas e gerenciadas.
Tarefas no processo SCM
- Identificação da configuração
- Linhas de base
- Controle de Mudança
- Contabilidade do estado da configuração
- Auditorias de configuração e Revvisualizações
Identificação da configuração
A identificação de configuração é um método para determinar o escopo do sistema de software. Com a ajuda desta etapa, você pode gerenciar ou controlar algo mesmo sem saber o que é. Trata-se de uma descrição que contém o tipo CSCI (Item de Configuração de Software de Computador), um identificador de projeto e informações de versão.
Atividades durante este processo:
- Identificação de itens de configuração como módulos de código-fonte, caso de testee especificação de requisitos.
- Identificação de cada CSCI no repositório SCM, utilizando uma abordagem orientada a objetos.
- O processo começa com objetos básicos que são agrupados em objetos agregados. Detalhes sobre o que, por que, quando e por quem as alterações são feitas no teste.
- Cada objeto possui características próprias que identificam seu nome, sendo este nome explícito para todos os outros objetos.
- Lista de recursos necessários, como o documento, o arquivo, as ferramentas, etc.
Exemplo:
Em vez de nomear um arquivo como login.php, ele deve ser nomeado como login_v1.2.php, onde v1.2 representa o número da versão do arquivo.
Em vez de nomear uma pasta “Code”, deveria se chamar “Code_D”, onde D representa que o código deve ser copiado diariamente.
Linha de Base
Uma linha de base é uma versão formalmente aceita de um item de configuração de software. Ele é designado e fixado em um horário específico durante a condução do processo de SCM. Só pode ser alterado através de procedimentos formais de controle de alterações.
Atividades durante este processo:
- Facilitar a construção de diversas versões de um aplicativo.
- Definir e determinar mecanismos para gerenciar as diversas versões desses produtos de trabalho.
- A linha de base funcional corresponde aos requisitos do sistema analisados.
- As linhas de base mais utilizadas incluem linhas de base funcionais, de desenvolvimento e de produto.
Em palavras simples, linha de base significa pronto para lançamento.
Controle de Mudança
O controle de alterações é um método processual que garante qualidade e consistência quando mudanças são feitas no objeto de configuração. Nesta etapa, a solicitação de alteração é submetida ao gerenciador de configuração de software.
Atividades durante este processo:
- Controle de alterações pontuais para construir um ambiente de desenvolvimento de software estável. As alterações são registradas no repositório.
- A solicitação será analisada com base no mérito técnico, nos possíveis efeitos colaterais e no impacto geral em outros objetos de configuração.
- Ele gerencia as alterações e disponibiliza os itens de configuração durante o ciclo de vida do software.
Contabilidade do estado da configuração
contabilização do estado de configuração tracks cada lançamento durante o processo SCM. Esta etapa envolve tracO que cada versão apresenta e as mudanças que levaram a esta versão.
Atividades durante este processo:
- Mantém um registro de todas as alterações feitas na linha de base anterior para atingir uma nova linha de base.
- Identifique todos os itens para definir a configuração do software.
- Monitorar o status das solicitações de alteração.
- Lista completa de todas as alterações desde a última linha de base.
- Permite tracrei do progresso para a próxima linha de base.
- Permite que versões/lançamentos anteriores sejam executados.tracpreparado para testes.
Auditorias de configuração e Revvisualizações
As auditorias de configuração de software verificam se todo o produto de software satisfaz as necessidades básicas. Garante que o que é construído é o que é entregue.
Atividades durante este processo:
- A auditoria de configuração é conduzida por auditores, verificando se os processos definidos estão sendo seguidos e garantindo que os objetivos do SCM sejam atendidos.
- Para verificar a conformidade com os padrões de controle de configuração, auditar e relatar as alterações realizadas.
- As auditorias da SCM também garantem que tracA capacidade é mantida durante o processo.
- Garante que as alterações feitas em uma linha de base estejam em conformidade com os relatórios de status da configuração.
- Validação da integridade e consistência.
Participante do processo SCM
A seguir, apresentamos os principais participantes na gestão da cadeia de suprimentos (SCM):
1. Gerenciador de configuração
- O Gerente de Configuração é o responsável por identificar os itens de configuração.
- O CM garante que a equipe siga o processo SCM.
- Ele/Ela precisa aprovar ou rejeitar as solicitações de alteração.
2. Desenvolvedor
- O desenvolvedor precisa alterar o código conforme as atividades padrão de desenvolvimento ou solicitações de alteração. Ele é responsável por manter a configuração do código.
- O desenvolvedor deve verificar as alterações e resolver os conflitos.
3. Auditor
- O auditor é responsável pelas auditorias e revisões do SCM.
- Necessário garantir a consistência e a integridade da versão.
4. Gerente de Projeto:
- Garantir que o produto seja desenvolvido dentro de um determinado prazo.
- Monitora o progresso do desenvolvimento e identifica problemas no processo de SCM (Gestão da Cadeia de Suprimentos).
- Gere relatórios sobre o estado do sistema de software.
- Assegure-se de que os processos e políticas sejam seguidos para criação, alteração e teste.
5 Do utilizador
O usuário final deve compreender os principais termos de SCM para garantir que possui a versão mais recente do software.
Plano de gerenciamento de configuração de software
O processo de SCMP (Planejamento de Gerenciamento de Configuração de Software) começa nas fases iniciais de codificação de um projeto. O resultado da fase de planejamento é o plano de SCM (Gerenciamento de Configuração de Software), que pode ser ampliado ou revisado durante o projeto.
- O SCMP pode seguir um padrão público como o IEEE 828 ou um padrão específico da organização.
- Define os tipos de documentos a serem gerenciados e uma convenção de nomenclatura para os documentos. Exemplo: Test_v1.
- O SCMP define a pessoa que será responsável por todo o processo de SCM e criação de linhas de base.
- Corrigir políticas para gerenciamento de versões e controle de alterações.
- Defina as ferramentas que podem ser utilizadas durante o processo de SCM (Gestão da Cadeia de Suprimentos).
- Banco de dados de gerenciamento de configuração para registrar informações de configuração.
Ferramentas de gerenciamento de configuração de software
Qualquer software de gestão de mudanças deve possuir as seguintes 3 funcionalidades principais:
Gerenciamento de simultaneidade:
Quando duas ou mais tarefas ocorrem simultaneamente, isso é conhecido como operação concorrente. No contexto de SCM (Sistema de Controle de Arquivos), concorrência significa que o mesmo arquivo está sendo editado por várias pessoas ao mesmo tempo.
Se a simultaneidade não for gerenciada corretamente com ferramentas SCM, isso poderá criar muitos problemas urgentes.
Controle de versão:
O SCM utiliza um método de arquivamento, ou seja, salva todas as alterações feitas em um arquivo. Com a ajuda do recurso de arquivamento ou salvamento, é possível reverter para a versão anterior em caso de problemas.
Synchronização:
Os usuários podem selecionar mais de um arquivo ou uma cópia completa do repositório. Em seguida, o usuário trabalha no arquivo necessário e envia as alterações de volta para o repositório. Eles podem sincronizar sua cópia local para se manterem atualizados com as alterações feitas por outros membros da equipe.
A seguir, algumas ferramentas populares:
1.Git: Git é uma ferramenta gratuita e de código aberto que auxilia no controle de versão. Ele foi projetado para lidar com todos os tipos de projetos com rapidez e eficiência.
Link para download: https://git-scm.com/
2. equipe Foundation Servidor: Time Foundation é um grupo de ferramentas e tecnologias que permitem à equipe colaborar e coordenar para a construção de um produto.
Link para download: https://azure.microsoft.com/en-us/services/devops/server/
3. Ansible: É uma ferramenta de gerenciamento de configuração de software de código aberto. Além do gerenciamento de configuração, também oferece implantação de aplicativos e automação de tarefas.
Link para download: https://www.ansible.com/



