Gerenciamento de versões, mudanças, lançamentos e construção de sistemas em Engenharia de Software

 Autoria de Joel Guerreiro Borghi Filho

CONTEÚDO:

  1. INTRODUÇÃO
  2. GERENCIAMENTO DE VERSÕES
  3. CONSTRUÇÃO DE SISTEMAS
  4. GERENCIAMENTO DE MUDANÇAS
  5. GERENCIAMENTO DE LANÇAMENTOS

 

  1. INTRODUÇÃO

 palavras-chave: desenvolvimento de software, engenharia de software, metodologia ágil, versionamento;

Num contexto de desenvolvimento de software a mudança, seja de requisitos, ou após a construção ou em seu uso, é considerado um denominador comum. Problemas no software vão surgir ao longo do processo, e precisam ser consertados, assim também são os requisitos que também sofrem mudanças  no decorrer do desenvolvimento, e adaptação é a palavra-chave.

Neste processo dinâmico de mudanças constantes que é muito comum, e ocorre sempre que uma alteração é feita, é o surgimento de um novo software a partir daquilo que era anteriormente. E a cada versão nova deste software gerada ao longo das mudanças precisa ser gerenciado de maneira adequada para que não haja desperdício de esforço. As versões de um mesmo software podem ter múltiplas versões coexistindo por isso a necessidade de gerenciamento destas versões, principalmente em projetos em equipe em que outros desenvolvedores trabalham simultaneamente no desenvolvimento da aplicação.

Um sistema de gerenciamento de versões é extremamente útil e necessário neste ambiente para que a equipe possa trabalhar harmoniosamente no mesmo projeto, mesmo estando fisicamente distante, o que é cada vez mais comum. É essencial para que cada membro fique ciente das alterações feitas no código durante o desenvolvimento.

Outro elemento de grande importância e que não pode ser menosprezado é o gerenciamento de configurações que comporta 4 elementos que se comunicam.

  • Controle de versão – deve garantir que as alterações feitas nos componentes do sistema não sobrescrevam umas às outras.
  • Construção do sistema – corresponde à reunião dos componentes da aplicação para gerar um executável.
  • Gerenciamento de mudanças – diz respeito ao controle e decisão de implementação sobre os novos requisitos gerados pelo cliente analisando os impactos das novas mudanças.
  • Gerenciamento de lançamentos – refere-se ao lançamento externo de software feito para o uso do cliente.

 

Na abordagem de ágil de desenvolvimento de software as mudanças são mais recorrentes do que métodos mais tradicionais fazendo com que gerenciar a configuração se torne algo crucial. Os desenvolvedores mantém as partes definitivas do sistema em um repositório de código compartilhado para que possam clonar o código para sua área de trabalho local criando novas versões em suas máquinas para que possam testá-las sem afetar o código principal que está no repositório. Nesta área local de trabalho o desenvolvedor pode realizar modificações, e testá-las até chegar num ponto em que decide que as alterações feitas estão prontas para retornar ao repositório deixando este novo sistema disponível para os outros membros da equipe.

 

 

  1. GERENCIAMENTO DE VERSÕES

Gerenciar versões faz parte de um processo de controle de versões dos componentes do sistema de software garantindo que as modificações realizadas nas respectivas versões de membros diferentes da equipe não interfiram entre si, que se sejam de certa forma independentes. Basicamente é a atividade de gestão do código compartilhado pela equipe de desenvolvimento que fica num repositório em que todos podem acessar, clonar e subir uma nova versão após modificar em seu ambiente de trabalho particular.

 

  1. CONSTRUÇÃO DE SISTEMAS

 

A atividade de construção de sistema refere-se a criação de uma versão executável com todos componentes necessários extraída para uma área particular de trabalho do desenvolvedor, integrando o controle de versão que se comunica com o repositório do projeto. Este processo pode envolver uma quantidade  grande de informações e geralmente é feita por um processo automatizado que deve ser realizado sem muito esforço.

Na abordagem ágil é comum realizar a construção do sistema com frequência para encontrar problemas.

 

 

  1. GERENCIAMENTO DE MUDANÇAS

Fator comum no desenvolvimento de grandes sistemas, a mudança é uma realidade. Os requisitos são dinâmicos e podem mudar bastante durante o processo. Portanto é verificado se as alterações realmente terão um impacto positivo, podendo ser acompanhadas por uma ferramenta simples que possa buscar possíveis problemas decorrentes dessas alterações.

 

  1. GERENCIAMENTO DE LANÇAMENTOS

A versão de lançamento é a versão que o cliente recebe, existem os “grandes” e “pequenos” lançamentos e os lançamentos “principais”. Os principais podem trazer novidades nas funcionalidades, os pequenos trazem reparos em defeitos e soluções de problemas resultantes de resposta dos clientes. Estas versões incluem não somente um executável, mas uma série de arquivos de configuração e documentação, manual específico que descreve o sistema, tudo isso é documentado e preparado com datas de lançamento pré-definidas.

referência bibliográfica: SOMMERVILLEIan, Engenharia de Software, 10ed, Pearson, 2019, cap25.

Comentários

Postagens mais visitadas deste blog

Resenha de Artigo - Avaliação de Interfaces de Usuário – Conceitos e Métodos

Listagem de Serviços de FTP e Modos de Operação ( passivo e ativo ) - Comparativos

Explicação básica do que é uma API - Interface de Programação da Aplicação ( Application Programming Interface )