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:
- os pedidos de alteração possam ser considerados em conjunto com outros pedidos.
- os pedidos similares possam ser agrupados.
- os pedidos incompatíveis entre si ou com os objetivos do sistema possam ser identificados
- 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

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