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
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1126028/images/6520430/ferramentas_x_areas.png)
Fluxo de trabalho Integrado
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1126028/images/6520034/workflow_gcs_simplificado.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1126028/images/6783864/cheched.png)
Tipos de Versão
=
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1126028/images/6530481/pngkey.com-curly-bracket-png-5189986.png)
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!
![](https://media1.giphy.com/media/l1KVaj5UcbHwrBMqI/giphy.gif)
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.
![](https://media1.giphy.com/media/Q1D2YJnWHX20w/giphy.gif)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1126028/images/6783914/pasted-from-clipboard.png)
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)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1126028/images/6784385/pasted-from-clipboard.png)
Formulário de Solicitação de Mudanças (b)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1126028/images/6784387/pasted-from-clipboard.png)
Estados de uma solicitação de mudanças
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1126028/images/6784438/pasted-from-clipboard.png)
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
![](https://media0.giphy.com/media/du3J3cXyzhj75IOgvA/giphy.gif)
Gestão de mudanças no Github?
- Issues
- Projects
- Pull requests
![](https://media3.giphy.com/media/26BoDGStUAafwdZII/giphy.gif)
Exercício
![](https://media0.giphy.com/media/4KkSbPnZ5Skec/giphy.gif)
-
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
- 315