A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Engenharia de Software

Apresentações semelhantes


Apresentação em tema: "Engenharia de Software"— Transcrição da apresentação:

1 Engenharia de Software
Gerência de Configuração e Mudanças Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

2 Isso acontece? Como assim? Você não tem como recuperar aquela versão do sistema do mês passado? Onde está aquele relatório que eu criei ontem? Quem foi que mudou essa tela? Ei, aquele defeito que a gente tinha consertado apareceu de novo!! Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

3 Isso acontece? A funcionalidade mudou? Quem mandou mudar? Ah, o cliente... Por que ninguém me avisou? Mas vai dar um trabalhão pra mudar esse negócio!! Não, não, não salva agora não!!! Vai sobrescrever meu arquivo! Ops, a mudança não deu certo. Como é que isso estava antes mesmo? Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

4 Isso acontece? - Já fiz aquela mudança que você pediu.
- Mas eu não pedi mudança nenhuma. - Bem, alguém deve ter pedido Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

5 Definições Gerência de Configuração é a disciplina que trata
da realização de mudanças de forma planejada e sistemática do controle formal da integridade de artefatos e atividades Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

6 Benefícios Estabilidade Confiabilidade Tomada de decisões mais seguras
Padronização Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

7 Mitos GC é reativo GC é um gargalo GC é custoso
GC atrasa a resolução de problemas (liberação de patches) Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

8 Sem Gerência de Configuração
Atrasos no projeto Falta de visibilidade das mudanças Altos custos de manutenção Surpresas desagradáveis Falta de qualidade nos serviços Eterna dependência dos “donos” do sistema Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

9 Gerenciamento de Mudanças Conceitos
Baseline Uma versão estável e aprovada do sistema Change Request (CR) / Requisição de Mudanças Um pedido formal para que uma mudança em uma baseline seja realizada Configuration Control Board (CCB) Grupo que analisa a viabilidade, prioridade e necessidade das mudanças solicitadas, autoriza a criação de baselines etc. Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

10 Processo de Mudanças Pergunta fundamental: a mudança afeta baselines?
Sim: tratamento formal Não: tratamento informal (não é sinônimo de bagunça!!) Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

11 Requisição informal de mudança
Alteração em baseline Requisição informal de mudança Sem alteração em baseline Requisição formal de mudança Análise formal de impacto Análise informal de impacto Aprovação do CCB Realização da mudança Comunicação formal da mudança Comunicação informal da mudança Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

12 Ferramentas para gerenciamento de mudanças
Bugzilla Mantis Request Tracker Clear Quest Jira EasyTrack Planilha eletrônica Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

13 Problemas tratados pelo Controle de Versões
Atualizações simultâneas Várias pessoas atualizando os mesmos artefatos Notificações limitadas Modificações são realizadas, mas as pessoas afetadas não são comunicadas Múltiplas versões Lidar com várias versões de artefatos e do próprio sistema Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

14 Controle de versões Item de configuração: produto ou conjunto de produtos de trabalho gerenciado pelo processo de Gerência de Configuração Repositório central: repositório, normalmente localizado em um servidor, onde as mudanças efetuadas nos repositórios locais são consolidadas Repositório local: repositório, normalmente localizado nos clientes, onde as mudanças são realizadas antes de serem enviadas ao repositório central Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

15 Controle de versões Módulo: conjunto de itens de configuração. Em geral, corresponde ao diretório mais externo da “árvore” de diretórios do projeto e possui submódulos que correspondem aos subdiretórios Import: adição de um módulo ao repositório central Checkout: fazer o “download” de um módulo do repositório central para o repositório local Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

16 Controle de versões Commit: atualizar o repositório central com os arquivos modificados no repositório local Update: atualizar o repositório local com a versão mais recente do repositório central Tag: um “label” que identifica um conjunto de itens de configuração com suas respectivas versões. Uma “fotografia” do repositório em um dado momento Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

17 Controle de versões Tronco, tronco principal: principal “galho” da “árvore” de versões., principal linha de desenvolvimento Branch: um “galho”, uma linha alternativa de desenvolvimento Merge: consolidação de duas versões diferentes do mesmo arquivo, preservando as alterações feitas em cada uma das versões Conflito: possível conseqüência de um merge, quando não é possível preservar as alterações feitas em ambos os arquivos Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

18 Controle de versões Consolidação Centralizada
Modificações Distribuídas Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

19 Controle de Versões Novo item Cliente Servidor (Repositório Central)
Import Cliente Servidor (Repositório Central) Cliente (Repositório Local) Checkout Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

20 Controle de Versões Atualização de item Servidor (Repositório Central)
Cliente (Repositório Local) Update Commit Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

21 Aplicação dos conceitos
tag 1.1 branch Versao_4_0 1.2 1.2.1 1.2.2 1.3 1.2.3 Atenção: Não confundir versão do item com versão do produto conflito? 1.4 merge 1.5 Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

22 Dicas Updates e commits constantes. Cópias locais muito desatualizadas causam um número grande de conflitos. Resolver conflitos com a participação de todos os interessados. Não criar muitos branches. Em especial, não criar muitos níveis de branches. Não “comitar” código instável. Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

23 Ferramentas de controle de versões
CVS VSS PVCS SubVersion ClearCase Confusão de diretórios, backups... Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

24 Responsabilidades do Gerente de Configuração
Configurar, manter e dar suporte ao uso de ferramentas de configuração Criar e manter estrutura de diretórios e controle de acesso Criar e manter um processo de “build”, de preferência automatizado Criar e manter branches e tags Estabelecer baselines Preparar e liberar releases Fazer auditorias de configuração Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho


Carregar ppt "Engenharia de Software"

Apresentações semelhantes


Anúncios Google