Gerencia da Configuração de Software

Prof. Me. Samuel Rodrigues

Revisando Conceitos

Atividades da GCS

Pergunta

Por que o sistema mudou?

Quais forma as mudanças?

O sistema continua funcionando depois das mudanças?

Atividade

Controle de Mudança

Controle de Versão

Integração Contínua

Fluxo de trabalho Integrado

Tipos de Versão

=

Revisão

Release

Pode se tornar uma

Configuração

Pode se tornar uma

Gerenciamento de Mudanças de Software

Gestão de Mudanças

  • Organizational needs and requirements change during the lifetime of a system
    • bugs have to be repaired
    • and systems have to adapt to changes in their environment.
  • The change management process is concerned with
    • analyzing the costs and benefits of proposed changes,
    • approving those changes that are worthwhile and
    • tracking which components in the system have been changed.

Ian Sommerville

"

"

Gestão de Mudanças

O processo de controle de mudanças deve ser implementado depois que uma baseline for fixada - antes disso, somente um controle de mudanças informal precisa ser aplicado

Roger Pressman

"

"

Processo?

Nããããããoooooo!

Pra quê processo?

 Processos permitem que:

  1. os pedidos de alteração possam ser considerados em conjunto com outros pedidos.
  2. os pedidos similares possam ser agrupados.
  3. os pedidos incompatíveis entre si ou com os objetivos do sistema possam ser identificados
  4. possam ser atribuídas prioridades aos pedidos e, de acordo com essas prioridades, possam ser gerados cronogramas.

Processo de Gestão de Mudanças

Ian Sommerville

Fatores de Análise de mudanças

  • O ciclo de release do produto
  • Os custos de fazer uma mudança
  • O número de usuários afetados pela mudança
  • As consequencias de não realizar a mudança

Formulário de Solicitação de Mudanças (a)

Formulário de Solicitação de Mudanças (b)

Estados de uma solicitação de mudanças

Gestão de Mudanças e Métodos Ágeis

  • O cliente geralmente está diretamento envolvido na gestão de mudanças

  • Ele propõe a mudança dos requisitos e trabalha com o time para avaliar o impacto e decidir a prioridade da mudança em relação aos demais requisitos

  • Alterações para melhoria do software são decididas pelos programadores que trabalham no sistema

  • A refatoração, onde o software é aprimorado continuamente, não é vista como uma sobrecarga, mas como uma parte necessária do processo de desenvolvimento.

GitHub

Para gerenciamento de Mudanças

Gestão de mudanças no Github?

  • Issues
  • Projects
  • Pull requests

Exercício

  1. Após clonar o projeto, crie seu projeto vazio no github e modifique o remoto para seu projeto.
    1. registre sua equipe
    2. pelo menos um integrante deve realizar o fork do projeto
  2. crie um seu processo de mudanças com os estados da issues (bugs e melhorias)
  3. Elabore um template baseado no seu processo
  4. Use github projects para representar o processo nos quadros
  5. Teste o processo implementando as funcionalidades do tutorial
    1. Abra uma issue para cada feature e  divida o trabalho para equipe, atribuindo a issue para cada responsável.
    2. para cada feature, deve ser utilizada uma feature branch.
  6. Pelo menos um integrante deve realizar um pull request, e os demais integrantes devem fazer a revisão desse código
  7. Fechem as issues a partir dos commits.

Para o execício utilize o projeto tutorial disponível aqui.

Gerência de Configuração de Software - Parte 2

By Samuel Rodrigues

Gerência de Configuração de Software - Parte 2

  • 309