gerência de projetos e manutenção de software aula 10...
TRANSCRIPT
![Page 1: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/1.jpg)
Gerência de Projetos e Manutenção de Software
Aula 10 – Gerência de Configuração e Mudanças + ReutilizaçãoAndréa Magalhães Magdaleno
2018.01
![Page 2: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/2.jpg)
2GPMS 2018.01
Agenda
• Gerência de Configuração
• Processos• Controle de Versões
• Gestão de Mudanças
• Construção e Release
• Reutilização
• Exercícios
![Page 3: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/3.jpg)
O PROBLEMA
![Page 4: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/4.jpg)
Problema dos Dados Compartilhados
ComponenteCompartilhado
Desenvolvedor A Desenvolvedor B
A1 A2 A3
Programa de A Programa de B
B1 B2 B3
![Page 5: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/5.jpg)
5GPMS 2018.01
Problema dos Dados Compartilhados Cenário
• O desenvolvedor A modifica o componente compartilhado
• Mais tarde, o desenvolvedor B realiza algumas alterações no mesmo
• Ao tentar compilar o componente, erros são apontados pelo compilador, mas nenhum deles ocorre na parte que B alterou
• O desenvolvedor B não tem a menor ideia sobre a causa do problema
![Page 6: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/6.jpg)
6GPMS 2018.01
Problema dos Dados Compartilhados Solução
• Cada desenvolvedor trabalha em uma cópia “local” do componente
• Resolve o Problema dos Dados Compartilhados, mas cria um novo problema...
![Page 7: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/7.jpg)
Problema da Manutenção Múltipla
ComponenteCompartilhado
Desenvolvedor A Desenvolvedor B
A1 A2 A3 B1 B2 B3
Programa de A Programa de BComponenteCompartilhado
Versão de A do Componente
Compartilhado
ComponenteCompartilhado
ComponenteCompartilhado
Versão de B do Componente
Compartilhado
![Page 8: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/8.jpg)
8GPMS 2018.01
Problema da Manutenção Múltipla Cenário• Ocorre quando cada desenvolvedor trabalha com uma
cópia “local” do que seria o mesmo componente
• Dificuldade para saber:• Qual a versão mais “atualizada” do componente?• Que funcionalidades foram implementadas em quais
versões do componente?• Que defeitos foram corrigidos?• Qual versão do componente deve ser utilizada?
• A situação torna-se mais crítica, quão maior for o tamanho da equipe.
![Page 9: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/9.jpg)
9GPMS 2018.01
Problema da Manutenção Múltipla Solução
• Criação de uma biblioteca central de componentes compartilhados• Nesse esquema, cada componente é copiado para a
biblioteca sempre que alterado
• Nessa biblioteca deve sempre estar disponível a versão mais nova do componente.
• Resolve o Problema da Manutenção Múltipla, mas...
![Page 10: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/10.jpg)
Problema da Atualização Simultânea
Versão de A do Componente
Compartilhado
Desenvolvedor A Desenvolvedor B
A1 A2 A3 B1 B2 B3
Programa de A Programa de BVersão de B do Componente
Compartilhado
Biblioteca Central de Recursos Compartilhados
ComponenteCompartilhado
![Page 11: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/11.jpg)
11GPMS 2018.01
Problema da Atualização Simultânea Cenário 1
• O desenvolvedor A encontra e corrige um defeito em sua versão do componente compartilhado
• Uma vez corrigido, o componente modificado é copiado para a biblioteca central
• O desenvolvedor B encontra e corrige o mesmo defeito em sua versão do componente por não saber que A já tinha feito isso
• O trabalho de A é desperdiçado
![Page 12: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/12.jpg)
12GPMS 2018.01
Problema da Atualização Simultânea Cenário 2• O desenvolvedor A encontra e corrige um defeito em sua versão do
componente compartilhado
• Uma vez corrigido, o componente modificado é copiado para a biblioteca central
• O desenvolvedor B encontra e corrige um outro defeito em sua versão do componente, sem saber do defeito corrigido por A
• O desenvolvedor B copia sua versão do componente para a biblioteca central
• Além de o trabalho de A ser desperdiçado, a versão do componente que se encontra na biblioteca central continua apresentando um defeito
• O desenvolvedor A julga o problema como resolvido
![Page 13: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/13.jpg)
13GPMS 2018.01
Problema da Atualização SimultâneaSolução
• O problema da atualização simultânea não pode ser resolvido simplesmente copiando componentes compartilhados para uma biblioteca central
• Algum mecanismo de controle é necessário para gerenciar a entrada e saída dos componentes
![Page 14: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/14.jpg)
GERÊNCIA DE CONFIGURAÇÃO
![Page 15: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/15.jpg)
15GPMS 2018.01
Gerência de Configuração (GC)
• Engenharia de Software envolve refinamentos sucessivos de artefatos
Tarefas de Engenharia de
Software
Artefato novo
Repositório
Artefato modificado
Artefato
![Page 16: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/16.jpg)
16GPMS 2018.01
Gerência de Configuração (GC)
Desenvolvimento Liberação Implantação Produção
Gerência de Configuração
Gerência de Configuração de Software (GCS) é uma disciplinapara o controle da evolução de sistemas de software
(Susan Dart, 1991)
![Page 17: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/17.jpg)
17GPMS 2018.01
Objetivos de GC
• Definir o ambiente de desenvolvimento
• Definir políticas para controle de versões, garantindo a consistência dos artefatos produzidos
• Definir procedimentos para solicitações de mudanças
• Administrar o ambiente e auditar mudanças
• Facilitar a integração das partes do sistema
![Page 18: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/18.jpg)
18GPMS 2018.01
Histórico
• Anos 50• GC para produção de aviões de guerra e naves espaciais
• Anos 60 e 70• Surgimento de GCS (S = Software)• Foco ainda em aplicações militares e aeroespaciais
• Anos 80 e 90• Mudança de foco• Surgimento das primeiras normas internacionais• Assimilação por organizações não militares
![Page 19: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/19.jpg)
19GPMS 2018.01
Problemas pela falta de GC
• Perda de código-fonte
• Impossibilidade de determinar o que aconteceu com um programa, ou parte dele
• Impossibilidade de determinar quem, porque e quando foram efetuadas modificações
• Requisitos já documentados desaparecem
• Requisitos implementados desaparecem do código
• O programa em execução e o seu código fonte estão em diferentes versões
![Page 20: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/20.jpg)
CONCEITOS BÁSICOS
![Page 21: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/21.jpg)
21GPMS 2018.01
Conceitos Básicos
• Repositórios– Lugar seguro onde versões
de artefatos são depositadas
– Permitem armazenamento, busca e recuperação
– Servem como um ponto de referência
– Apoiam no aumento da memória organizacional
![Page 22: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/22.jpg)
22GPMS 2018.01
Check-Out
• Processo de requisição de modificações, aprovação e cópia de um item de configuração do repositório
Check-out
RepositórioCliente
![Page 23: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/23.jpg)
23GPMS 2018.01
Check-Out
• Recupera a (última) versão de um item de configuração guardada no repositório• Escrita
• Verifica que ninguém detém o lock do item de configuração
• Obtém o lock do item• Cria uma cópia, para edição, no cliente
• Leitura• Verifica que alguém já detém o lock• Cria uma cópia, apenas para leitura, no cliente
![Page 24: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/24.jpg)
24GPMS 2018.01
Check-In
• Processo de revisão, aprovação e cópia de um item de configuração para o repositório
Check-in
RepositórioCliente
![Page 25: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/25.jpg)
25GPMS 2018.01
Check-In
• Ação de inserir/atualizar um item de configuração no repositório• Verifica o lock do item de configuração, caso
o mesmo já exista
• Verifica e incrementa a versão do item
• Registra informações das mudanças (autor, data, hora, comentários)
• Inclui/atualiza o item
![Page 26: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/26.jpg)
SISTEMA DE GERÊNCIA DE CONFIGURAÇÃO
![Page 27: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/27.jpg)
27GPMS 2018.01
Sistema de Gerência de Configuração
Artefatos
Controle de Versões
Construção e Release
Controle de Modificações
Solicitações
![Page 28: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/28.jpg)
28GPMS 2018.01
Sistema de Gerência de Configuração
Versão 1
Versão 2
Versão 3
Versão 4
Versão 5
![Page 29: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/29.jpg)
29GPMS 2018.01
Sistema de Gerência de Configuração
Versão 1
Versão 2
Versão 3
Versão 4
Versão 5
![Page 30: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/30.jpg)
CONTROLE DE VERSÃO
![Page 31: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/31.jpg)
31GPMS 2018.01
Sistema de Gerência de Configuração
Construção e Release
Controle de Modificações
Solicitações
Artefatos
Controle de Versões
![Page 32: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/32.jpg)
32GPMS 2018.01
Tipos de Versão
VersãoVersão
RevisãoRevisão VarianteVarianteCooperação (Rascunho)Cooperação (Rascunho)
(Conradi e Westfechtel 1998)
![Page 33: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/33.jpg)
33GPMS 2018.01
Revisões
Gerações do iMac (1998 – 2013)
![Page 34: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/34.jpg)
34GPMS 2018.01
Variantes
Hatchback
Coupe
Sedan
Honda Civic
![Page 35: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/35.jpg)
35GPMS 2018.01
Cooperação (versões rascunho)
Espaço de trabalho do João
Espaço de trabalho da Maria
Espaço de trabalho do Pedro
Versão base
![Page 36: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/36.jpg)
36GPMS 2018.01
Versões de rascunho podem ser combinadas (operação de merge)
João Maria Pedro
Revisões
![Page 37: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/37.jpg)
37GPMS 2018.01
Conflitos podem ocorrer durante o merge
João Paulo
Revisões
![Page 38: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/38.jpg)
38GPMS 2018.01
Outras duas operações importantes…
… para guardar, transferir e compreender versões.
Diff =
Patch =
![Page 39: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/39.jpg)
39GPMS 2018.01
Mas afinal, para que servem versões?
• Sincronizar equipes• Reproduzir configurações passadas• Explorar possibilidades• Segregar desenvolvedores• Customizar produtos (LPS)• Rastrear a introdução de bugs• Entender a evolução de software• Auditar mudanças
![Page 40: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/40.jpg)
40GPMS 2018.01
Topologia
Repositório
Espaço deTrabalho
Centralizado Distribuído
chec
k-in
/ co
mm
it
check-o
ut
/ up
date
Repositório
Espaço deTrabalhoch
eck-
in
check-o
ut
/ up
date
Repositório
Espaço deTrabalho
clon
e / pu
ll
pu
sh
![Page 41: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/41.jpg)
41GPMS 2018.01
Armazenamento
v.3
v.2
v.1
Completo
delta 1�2
v.1
Forward
delta 2�3
delta 3�2
v.3
Reverse
delta 2�1
![Page 42: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/42.jpg)
42GPMS 2018.01
Colaboração
m.3
m.2
m.1
Pessimista
junção
m.1
Otimista Misto
m.2 m.3
junção
m.1 m.2 m.3
![Page 43: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/43.jpg)
43GPMS 2018.01
Consulta
Repositório (versão 1)
Artefato1 (versão 1)Artefato2 (versão 1)Artefato3 (versão 1)
Repositório (versão 2)
Artefato1 (versão 2)Artefato2 (versão 1)Artefato3 (versão 1)
Repositório (versão 0)
Repositório (versão 3)
Artefato1 (versão 2)Artefato2 (versão 3)Artefato3 (versão 1)Artefato4 (versão 3)
Repositório (versão 4)
Artefato1 (versão 4)Artefato2 (versão 3)Artefato3 (versão 4)Artefato4 (versão 3)
Artefato1Versão 1Versão 2Versão 4
Artefato2Versão 1Versão 3
Artefato3Versão 1Versão 4
Artefato4Versão 3
Consulta por artefato
1ª modificação
2ª modificação
4ª modificação3ª modificação
![Page 44: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/44.jpg)
44GPMS 2018.01
Consulta
Repositório (versão 1)
Artefato1 (versão 1)Artefato2 (versão 1)Artefato3 (versão 1)
Repositório (versão 2)
Artefato1 (versão 2)Artefato2 (versão 1)Artefato3 (versão 1)
Repositório (versão 0)
1ª modificação
2ª modificação
Repositório (versão 3)
Artefato1 (versão 2)Artefato2 (versão 3)Artefato3 (versão 1)Artefato4 (versão 3)
Repositório (versão 4)
Artefato1 (versão 4)Artefato2 (versão 3)Artefato3 (versão 4)Artefato4 (versão 3)
4ª modificação3ª modificação
1ª modificaçãoArtefato1 adicionadoArtefato2 adicionadoArtefato3 adicionado
2ª modificaçãoArtefato1 modificado
3ª modificaçãoArtefato2 modificadoArtefato4 adicionado
Consulta por modificação
4ª modificaçãoArtefato1 modificadoArtefato3 modificado
![Page 45: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/45.jpg)
45GPMS 2018.01
Tratamento de variantes em ramos (branches)• Versões que não seguem a linha principal de
desenvolvimento
• Fornecem isolamento para o processo de desenvolvimento– Ramos usualmente são migrados para a linha principal de
desenvolvimento– A migração pode ser complicada no caso de isolamento longo
• Características dos ramos se comparados a espaços detrabalho– compartilhados por outras pessoas (espaços de trabalho são
isolados)– residem no servidor (espaços de trabalho residem no cliente)– históricos (espaços de trabalho são momentâneos)
![Page 46: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/46.jpg)
46GPMS 2018.01
Tratamento de variantes em ramos (branches)• Recurso muito poderoso
• Devem existir regras bem definidas para criação de branches• Por que e quando devem ser criados?
• Em que circunstâncias é justificável criar um novo branch? Apenas para correção de
bugs? Para realizar melhorias solicitadas pelos usuários?
• Quais os passos?
• Que procedimentos devem ser seguidos para criar um branch? Deve ser feita uma
solicitação formal? Um backup do item de configuração deve ser realizado? Algum
membro da equipe deve ser notificado?
• Quando retornar ao fluxo principal?
• Quando pode se considerar o branch como encerrado?
• Se foi para remover defeitos, o branch deve acabar assim que esses defeitos tenham
sido corrigidos, ou deve ser mantido para corrigir novos defeitos que foram
descobertos?
![Page 47: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/47.jpg)
47GPMS 2018.01
Estratégia básica de Ramificação
• Manutenção em série• Ramo principal: evolução• Ramos auxiliares: correções
• Foco• Desenvolvimento in-house• Cliente único (e.g.: aplicações Web)
• Dificuldade de manutenção de várias liberações em paralelo
Sistema
Rel. 11.0 1.1 1.2
Rel. 22.0 2.1
Verif. Verif.
1.0 RC 2.0 RCEvolução EvoluçãoDesenv.
Correção Correção Correção
![Page 48: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/48.jpg)
48GPMS 2018.01
Merge• Unificação de diferentes versões de um mesmo item de
configuração
• Integração dos itens de configuração de um branch com os itens de configuração do fluxo principal
• Checkout atualizando a área local
• Algumas ferramentas fornecem um mecanismo automático para realização de merges
• Mesmo com o uso de ferramentas, em vários casos há necessidade de intervenção humana
ABCDEFGHI
JKLDEF
ABC ou JKL?DEFGHI ou nada?
![Page 49: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/49.jpg)
49GPMS 2018.01
Exemplo(merge no Eclipse)
![Page 50: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/50.jpg)
50GPMS 2018.01
Plano de GC
• O plano de gerência de configuração de software é o documento utilizado para descrever como será utilizada a disciplina de gerencia de configuração no projeto em questão
• Pode ser definido um plano padrão para a organização
• Esse plano padrão deverá ser adaptado para cada novo projeto, levando em consideração as suas peculiaridades
![Page 51: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/51.jpg)
51GPMS 2018.01
Principais sistemas de controle de versão open-source
![Page 52: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/52.jpg)
52GPMS 2018.01
Exercício
• Definir um template e elaborar o plano de configuração do projeto informando no mínimo:• Quais artefatos serão colocados sob
gerência de configuração?
• Quais baselines serão estabelecidas e quais os itens de configuração de cada uma dela?
• Como deve funcionar as criações e junções de branches?
![Page 53: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/53.jpg)
GESTÃO DE MUDANÇAS
![Page 54: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/54.jpg)
54GPMS 2018.01
Motivação
• Mudança é inevitável
• Mudar é fácil – controlar diversas mudanças simultâneas é difícil
• A gerência de mudanças introduz controle sobre as mudanças de maior relevância• Todas as mudanças são analisadas• Apenas as aprovadas são realizadas• Sempre se sabe quem modificou o que, onde e
quando
![Page 55: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/55.jpg)
55GPMS 2018.01
Problemas
• Controle do escopo do projeto• Modificações podem ampliar o leque de funcionalidades
e aumentar significativamente o custo do projeto• Atrasos em entregas planejadas
• Controle de consistência dos artefatos• Uma mudança aparentemente localizada pode causar
muito mais impacto do que o previsto• Degradação da qualidade do software (ex: abandono dos
testes automatizados devido à inconsistência dos dados de teste)
• Retrabalho
![Page 56: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/56.jpg)
56GPMS 2018.01
O que é Gestão de Mudanças?
• Gestão de Mudanças é o processo de avaliar, coordenar e decidir sobre a realização de mudanças propostas a itens de configuração (ICs)
• Mudanças aprovadas são implementadas nos itens de configuração e nos dados e documentos relacionados
![Page 57: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/57.jpg)
57GPMS 2018.01
Objetivos da Gestão de Mudanças
• Garantir que os artefatos do sistema alcançam emantêm uma estrutura definida através do seu ciclo devida
• Definir procedimentos e documentação necessáriospara realizar modificações nos itens de configuração
• Prover os mecanismos necessários para conduzirmudanças de uma maneira controlada
![Page 58: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/58.jpg)
58GPMS 2018.01
Sistema de Gerência de Configuração
Construção e Release
Artefatos
Controle de Versões
Controle de Modificações
Solicitações
![Page 59: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/59.jpg)
59GPMS 2018.01
Baseline• Configuração revisada e aprovada que serve como base para
uma próxima etapa de desenvolvimento e que somente pode ser modificada via processo formal de GCS
• A atualização de uma baseline consiste em check-out seguido de modificações e check-in
• São estabelecidas ao final de cada fase de desenvolvimento– Análise (functional)– Projeto (allocated)– Implementação (product)
• Momento de criar: • Balanceamento entre controle e burocracia
![Page 60: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/60.jpg)
60GPMS 2018.01
Baseline (níveis de controle)
Coordenação c/ auditoria
Controle
Pré baseline:
•Informal•Sem requisição•Sem aprovação•Sem verificação•Ágil•Ad-hoc
Pós baseline:
•Formal•Com requisição•Com aprovação•Com verificação•Burocrático•Planejado e Controlado
Nível de controle
![Page 61: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/61.jpg)
61GPMS 2018.01
Baseline (níveis de controle)
Req. Análise Projeto Análise Projeto Análise Projeto
1 Inform. - Formal Inform. Formal Formal
2 - - Inform. - Formal Inform.
Requisito 1 Análise ProjetoBaseline 1:
•An. Req. 1
Requisito 2 Análise Projeto
Tempo
Baseline 2:
•An. Req. 1•Pr. Req. 1•An. Req. 2
![Page 62: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/62.jpg)
62GPMS 2018.01
Change Control Board (CCB)• Analisar as solicitações de mudança
• Controlar o escopo do projeto
• Reuniões com frequência adequada ao ritmo das solicitações de mudança
• Envolver stakeholders no processo de priorização e de decisão
• Balanço entre o nível de controle desejado e overhead suportado• Questões menores devem ser resolvidas pelo líder do projeto junto
à equipe, reduzindo o overhead do CCB
• Composição multidisciplinar• SQA, gerente, cliente, arquiteto
• Profissionais com grande capacidade de comunicação e negociação
![Page 63: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/63.jpg)
63GPMS 2018.01
Análise de impacto
• Mudanças de grande impacto devem ser comunicadas aos stakeholders envolvidos
• Análises de custo x benefício produzidas pelos stakeholders
• Priorização de mudanças
• Mudança pode ser rejeitada se o CCB perceber que o custo será mais caro que o benefício percebido
• Por questões de eficiência, algumas solicitações de mudança podem ser agrupadas por tema, subsistema ou área de negócio
![Page 64: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/64.jpg)
64GPMS 2018.01
Gestão de Mudanças
• Tarefas• Solicitação de modificação
• Classificação da modificação
• Análise da modificação
• Avaliação da modificação
• Implementação da modificação
• Verificação da modificação
• Geração de baseline
![Page 65: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/65.jpg)
65GPMS 2018.01
Gestão de Mudanças
• Solicitação de Modificação• Identificação única
• Solicitante
• Sistema/Projeto
• Item a ser modificado
• Classificação (melhoria, correção de defeito, outra)
• Prioridade
• Descrição
• Situação (nova, atribuída, finalizada, verificada, fechada)
![Page 66: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/66.jpg)
66GPMS 2018.01
Gestão de Mudanças
• Solicitação de Modificação
![Page 67: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/67.jpg)
67GPMS 2018.01
Gestão de Mudanças
• O critério de classificação da modificação deve estar explicitado
no plano de GC
• A classificação visa priorizar modificações mais importantes
(críticas, fatais, não fatais, cosméticas)
• A análise visa relatar os impactos em custo, cronograma,
funcionalidades, etc. da implementação da modificação
• Caso a análise conclua que não existe chance de aprovar a
modificação (casos extremos), pode ocorrer rejeição antes da
avaliação para poupar custos no processo
![Page 68: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/68.jpg)
68GPMS 2018.01
Gestão de Mudanças
• Análise de Modificação
(Leon, 2000)
![Page 69: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/69.jpg)
69GPMS 2018.01
Gestão de Mudanças
• A avaliação utilizará a requisição de modificação e o
laudo da análise para tomar a decisão
• A requisição pode ser aceita, rejeitada ou adiada
• A implementação deve ser seguida por testes de unidade
• Durante a verificação, devem ser aplicados testes de sistema
• Após a geração da nova baseline, deve ser decidido se ela será considerada uma nova liberação
![Page 70: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/70.jpg)
70GPMS 2018.01
Gestão de Mudanças
• Caso especial: Correções emergenciais• No caso de correções emergenciais, podem ser
criados ramos sem a necessidade do processo formal
• Em algum momento esses ramos deverão sofrer junção para a linha principal de desenvolvimento
• Esse procedimento deve estar explicitado no processo!
• Defeitos não são normalmente processados pelo CCB
• Mesmo nessas situações, porém, é muito importante que seja criada uma solicitação de mudança
![Page 71: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/71.jpg)
71GPMS 2018.01
Gestão de Mudanças
• Caso especial: Defeitos– Alguns sistemas tratam defeitos de forma diferente
das demais requisições
– A correção de defeitos é um tratamento sintomático
– É importante descobrir o real motivo para o acontecimento do defeito para possibilitar a prevenção de defeitos futuros
– A análise de causa é útil para descobrir falhas no processo de desenvolvimento
– Falta de treinamento, padrões inadequados, ferramentas inadequadas
![Page 72: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/72.jpg)
72GPMS 2018.01
Gestão de Mudanças
• Acompanhamento - Tarefas
• Armazenamento das informações geradas
• Propagação dessas informações aos interessados
através de relatórios
• Permite que métricas sejam utilizadas com o intuito de
melhoria do processo e estimativa de custos futuros
• Fornece relatórios gerenciais ad-hoc
![Page 73: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/73.jpg)
73GPMS 2018.01
Gestão de Mudanças
Resultado do relatório no modo tabular no Bugzilla
![Page 74: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/74.jpg)
74GPMS 2018.01
Auditoria da configuração
• Deve ocorrer ao menos antes de uma liberação
(release)
• Tarefas
• Verificação funcional, assegurando que a baselinecumpre o que foi especificado
• Verificação física, assegurando que a baseline é completa
(todos os itens de configuração especificados)
• Auditorias servem para garantir que os
procedimentos e padrões foram aplicados
![Page 75: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/75.jpg)
75GPMS 2018.01
Auditoria da configuração
• A auditoria funcional ocorre através da revisão dos planos,
dados, metodologia e resultado dos teste, para verificar se
são satisfatórios
• A auditoria física examina a estrutura de todos os itens de
configuração que compõem a baseline
• A auditoria física é efetuada após a auditoria funcional
• Podem ocorrer auditorias no próprio sistema de GC pelos
mantenedores do plano de GC, para verificar se as políticas e
procedimentos estão sendo cumpridos
![Page 76: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/76.jpg)
76GPMS 2018.01
Gestão de MudançasFerramentas• Livre
• Bugzilla• Mantis• Redmine• Trac
• Comercial• ClearQuest (IBM Rational)• JIRA (Atlassian)• StarTeam (Borland)• Synergy/Change (Telelogic)• TeamTrack (Serena)• Team Foundation Server (Microsoft)
![Page 77: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/77.jpg)
CONSTRUÇÃO E RELEASE
![Page 78: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/78.jpg)
78GPMS 2018.01
Sistema de Gerência de Configuração
Artefatos
Controle de Versões
Controle de Modificações
Solicitações
Construção e Release
![Page 79: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/79.jpg)
79GPMS 2018.01
Terminologia
• Construção (Building): processo de compilação do sistema a partir dos itens fonte para uma configuração alvo;• Utiliza arquivo de comandos que descreve como
deve ocorrer a construção
• Exemplo: makefile• Os arquivos de comandos também devem ser
considerados itens de configuração
![Page 80: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/80.jpg)
80GPMS 2018.01
Terminologia
• Release: • Conjunto de produtos que deve ser entregue ao
cliente
• Releases diferem de versões, pois versões podemser somente para uso interno ao projeto
![Page 81: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/81.jpg)
81GPMS 2018.01
Problemas na Geração de Builds• Fazer os builds do sistema manualmente é muito demorado• Pode ser difícil saber qual a versão “correta” de um arquivo• Os pedaços do sistema podem estar em diversos locais
diferentes• Alguns arquivos podem ser esquecidos
• A integração das partes de um sistema em desenvolvimento normalmente é:• Realizada poucas vezes, apenas perto de sua implantação• Feita em frequência inversamente proporcional à complexidade do
sistema
• Integrar as partes de um sistema é uma tarefa trabalhosa e sujeita a erros• Quanto maior o sistema, mais difícil
![Page 82: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/82.jpg)
82GPMS 2018.01
Problemas na Geração de Builds
• Consequência: problemas de integração tornam-se difíceis de detectar cedo no desenvolvimento• Costumam ser encontrados muito depois de sua introdução
• É muito difícil rastrear suas causas
![Page 83: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/83.jpg)
83GPMS 2018.01
Geração de Builds através da Integração Contínua• Geração frequente de builds do sistema
• As partes do sistema são integradas constantemente• Problemas de integração passam a ser encontrados logo que
introduzidos, na maioria dos casos
• Considerada uma das “melhores práticas” nodesenvolvimento de software
• A geração de builds deve ser automatizada e realizada comfrequência adequada
• DevOps x NoOps
![Page 84: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/84.jpg)
84GPMS 2018.01
Gerenciamento de releases
• Descrição de como construir, liberar e entregar o sistema
• Linguagem natural (conhecimento)
• Linguagem computacional (automação)
• Manter os descritores e documentos sob gerência de
configuração!
• Definição das situações onde o processo pode ser
temporariamente desviado
• Cuidado: Releases muito curtas podem levar a círculo-vicioso de
defeitos...
![Page 85: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/85.jpg)
85GPMS 2018.01
Exemplo de ferramentas de build e release
• Livre• Ant• NAnt• Make• Maven• Rake
• Comercial• ClearMake (IBM Rational)• MSBuild (Microsoft)• Synergy/CM Object Make (Telelogic)
![Page 86: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/86.jpg)
86GPMS 2018.01
Application Lifecycle Management(ALM)
COS 823 - Aula 6 86Out 2013
![Page 87: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/87.jpg)
87GPMS 2018.01
Collaborative Lifecycle Management(CLM)
COS 823 - Aula 6 87Out 2013
![Page 88: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/88.jpg)
88GPMS 2018.01
Collaborative Lifecycle Management(CLM)
COS 823 - Aula 6 88Out 2013
RequisitosPlanejamento de Testes
Gerenciamento de Defeitos
Gerência de Configuração
![Page 89: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/89.jpg)
89GPMS 2018.01
Exercício
• Como deve funcionar o processo degestão de mudanças?• Descrever o passo-a-passo
• Detalhar as principais atividades,responsáveis e artefatos
![Page 90: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/90.jpg)
REUTILIZAÇÃO DE SOFTWARE
Curso de Reutilização 9001/04/2011
![Page 91: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/91.jpg)
91GPMS 2018.01
Motivação
• A Reutilização é inerente ao processo de solução deproblemas utilizado pelos seres humanos
• A medida em que soluções são encontradas, estassão utilizadas em problemas similares
• Nossa capacidade de abstração garante a adaptaçãonecessária ao novo contexto
• O problema, portanto, não é a falta de reutilização naEngenharia de Software, mas a falta de umasistemática ampla e formal para realizá-la
![Page 92: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/92.jpg)
92GPMS 2018.01
Motivação
• Como?• Aplicando técnicas de engenharia de domínio para
definir o escopo, especificar a estrutura e construir
ativos reutilizáveis para uma classe de sistemas,
subsistemas ou aplicações
A Reutilização de Software visa sistematizar e difundir práticas de reutilização na organização
![Page 93: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/93.jpg)
93GPMS 2018.01
Reutilização de Software
• A Reutilização de Software é a disciplina responsável
pela criação de sistemas de software a partir de
software preexistente [KRUEGER, 1992]
• Consiste na incorporação de software existente ou
conhecimento referente a esse software para construir
um novo
![Page 94: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/94.jpg)
94GPMS 2018.01
Benefícios
• Melhores índices de produtividade
• Produtos de melhor qualidade, mais confiáveis, consistentes
e padronizados
• Redução dos custos e tempo envolvidos no desenvolvimento
de software
• Maior flexibilidade na estrutura do software produzido,
facilitando sua manutenção e evolução
![Page 95: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/95.jpg)
95GPMS 2018.01
Desafios
• Identificação, recuperação e modificação de artefatos
reutilizáveis
• Compreensão dos artefatos recuperados
• Qualidade de artefatos reutilizáveis
• Composição de aplicações a partir de componentes
• Barreiras psicológicas, legais e econômicas
• Necessidade da criação de incentivos à reutilização
![Page 96: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/96.jpg)
96GPMS 2018.01
Desenvolvimento baseado em reutilização• O processo de Reutilização de Software é composto por
dois processos principais
• Desenvolvimento para Reutilização
• Produção de ativos reutilizáveis para um domínio específico
através de técnicas de Engenharia de Domínio (ED)
• Desenvolvimento com Reutilização
• Construção de aplicações com base na instanciação dos
artefatos gerados através de técnicas de Engenharia de
Aplicação (EA)
![Page 97: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/97.jpg)
ENGENHARIA DE DOMÍNIO
Curso de Reutilização 9701/04/2011
![Page 98: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/98.jpg)
98GPMS 2018.01
� Domínio:
� Área de conhecimento ou atividade caracterizada por um conjunto de conceitos conhecidos dos profissionais dessa área (RUP, 1998).
� Exemplos:
Engenharia de Domínio
01/04/2011 98Curso de Reutilização
Óleo e Gás Seguros Telefonia móvel
![Page 99: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/99.jpg)
99GPMS 2018.01
� Componentes? Arquitetura? Reuso?
Engenharia de Domínio
01/04/2011 99Curso de Reutilização
![Page 100: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/100.jpg)
100GPMS 2018.01
� Uma abordagem baseada em reutilização paradefinição do escopo, especificação da estrutura, econstrução de recursos para uma classe desistemas, subsistemas ou aplicações (ISO/IEC12207).
� Processo de identificação e organização doconhecimento sobre uma classe de problemas, odomínio do problema, para suportar sua descriçãoe solução (ARANGO, PRIETO-DIAZ, 1991)
Engenharia de Domínio
01/04/2011 100Curso de Reutilização
![Page 101: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/101.jpg)
101GPMS 2018.01
� Objetivos:
� Originar meta-sistemas, ou seja, sistemas que sãoreutilizados na construção de aplicações específicas
� Descobrir e definir modelos de domínio e arquiteturascomuns às famílias de aplicações para suportar reutilizaçãopré-planejada
� Tornar explícito e formalizar as teorias específicas aodomínio que permitem aos projetistas e especialistas dodomínio raciocinar sobre problemas e sistemas no domínioda aplicação
Engenharia de Domínio
01/04/2011 101Curso de Reutilização
![Page 102: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/102.jpg)
102GPMS 2018.01
� Etapas:
� Análise de Domínio: o conhecimento existente sobre odomínio é estudado e formalizado através de um modelo dedomínio
� Projeto de Domínio: arquiteturas de software sãoconstruídas para atender aos requisitos identificados nomodelo de domínio
� Implementação do Domínio: artefatos reutilizáveis são implementados para compor as arquiteturas
Engenharia de Domínio
01/04/2011 102Curso de Reutilização
![Page 103: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/103.jpg)
103GPMS 2018.01
� Profissionais envolvidos:
� Fontes: usuários finais que utilizam aplicações no domínio e especialistas de domínio que provêm informações a respeito de conceitos e funcionalidades relevantes no domínio
� Produtores: analistas e projetistas do domínio que capturam as informações do domínio das fontes e aplicações existentes e realizam a análise, projeto e implementação dos artefatos reutilizáveis (i.e. Engenheiros de Domínio)
� Consumidores: desenvolvedores de aplicações e interessados no entendimento do domínio
Engenharia de Domínio
01/04/2011 103Curso de Reutilização(SIMOS, 1996; WERNER e BRAGA, 2005)
![Page 104: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/104.jpg)
104GPMS 2018.01
� Produtos:
� Modelos conceituais que capturam os principais conceitos e funcionalidades do domínio
� Estrutura arquitetural a ser seguida pelas aplicações� Artefatos implementacionais� Documentação associada
Obs. Servem como fonte unificada de referência (repositório de conhecimento)
Engenharia de Domínio
01/04/2011 104Curso de Reutilização
![Page 105: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/105.jpg)
105GPMS 2018.01
Modelagem de características
• Característica
• Um aspecto, uma qualidade, ou uma característica visível ao
usuário, proeminente ou distinta, de um sistema de software
(KANG et al., 1990)
• Objetivo: capturar e gerenciar as similaridades e diferenças, deforma a facilitar o entendimento de clientes e desenvolvedores noque se refere às capacidades gerais de um domínio, que sãoexpressas através de características (KANG et al., 1990)
Curso de Reutilização 10501/04/2011
![Page 106: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/106.jpg)
106GPMS 2018.01
Modelagem de características
• Variabilidade:• Habilidade que um sistema ou artefato de software possui de ser
alterado, customizado, ou configurado para um contexto em particular(BOSCH, 2004).
• Ponto de variação: característica que reflete a parametrização nodomínio de uma maneira abstrata. Um ponto de variação é configurávelatravés das variantes
• Variantes: características que atuam como alternativas para seconfigurar um ponto de variação
• Invariantes: características fixas, que representam elementos nãoconfiguráveis em um domínio
Curso de Reutilização 10601/04/2011
![Page 107: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/107.jpg)
107GPMS 2018.01
Modelagem de características
• Opcionalidade:• Elementos opcionais: podem ou não estar presentes nos produtos
derivados a partir da linha de produtos
• Elementos mandatórios: devem obrigatoriamente estar presentesem todos os produtos derivados a partir da linha de produtos
• Relações:• Dependência: relação que representa a necessidade de seleção de
elementos em conjunto
• Mútua exclusividade: relação que representa a incompatibilidadeda seleção conjunto de determinados elementos
Curso de Reutilização 10701/04/2011
![Page 108: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/108.jpg)
108GPMS 2018.01
� Primeiras abordagens:
� Draco (NEIGHBORS, 1989)� FODA (Feature Oriented Domain Analysis) (KANG et al., 1990)� Facetas (PRIETO, 1991)� EDLC (Evolutionary Domain Life Cycle) (GOMMA, 1992)� ODM (Organization Domain Modeling) (SIMOS, 1996)� FODACom (GRISS, 1998)
� Abordagens mais recentes:
� FORM (Feature-Oriented Reuse Method) (KANG, 2002)� Odyssey-FEX (OLIVEIRA, 2006)� ...
� Abordagens que mesclam outras técnicas:
� DBC, ontologias, CSCW, gestão do conhecimento, agentes, aspectos, etc
Abordagens Existentes
Curso de Reutilização 10801/04/2011
(WERNER e BRAGA, 2005)
![Page 109: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/109.jpg)
109GPMS 2018.01
� Exemplo Notação FODA:
Abordagens Existentes
Curso de Reutilização 10901/04/2011
(KANG et al., 1990; OLIVEIRA, 2006)
![Page 110: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/110.jpg)
110GPMS 2018.01
� Exemplo Notação Czarnecki:
Abordagens Existentes
Curso de Reutilização 11001/04/2011
![Page 111: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/111.jpg)
111GPMS 2018.01
Abordagens Existentes
• Exemplo Notação Odyssey-FEX:
Curso de Reutilização 11101/04/2011
(OLIVEIRA, 2006)
![Page 112: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/112.jpg)
ENGENHARIA DE APLICAÇÃO
Curso de Reutilização 11201/04/2011
![Page 113: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/113.jpg)
113GPMS 2018.01
Engenharia de Aplicação
• Estudo e uso de técnicas, processos e métodos para a produção de aplicações baseadas em reutilização (SIMOS, 1998)
• Desenvolve produtos de software baseado nos artefatos gerados pelo processo de Engenharia de Domínio (SEI, 2005)
Curso de Reutilização 11301/04/2011
![Page 114: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/114.jpg)
114GPMS 2018.01
Engenharia de Aplicação
• Atividade de “recorte”
• Seleção dos componentes necessários à aplicação em um alto
nível de abstração, por meio do modelo do domínio, descendo
gradualmente em níveis de abstração até conseguir atingir os
componentes implementados ou semidesenvolvidos do
domínio (MILER, 2000)
• Fortemente influenciada pela variabilidade modelada no
domínio
• Características variáveis em artefatos do domínio determinam o
tipo de aplicação que será instanciada
![Page 115: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/115.jpg)
115GPMS 2018.01
Engenharia de Aplicação
• Possibilidade de utilização de um método dedesenvolvimento conhecido pela organização, porémincorporando atividades de reutilização.• Ex.:
• Desenvolvimento baseado em componentes (DIGRE, 1998)• Arquitetura de Software (ARPA, 1994)
• Na EA os componentes são efetivamente reutilizados ecombinados entre si para a construção de aplicaçõesreais.
Curso de Reutilização 11501/04/2011(MILER, 2000)
![Page 116: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/116.jpg)
116GPMS 2018.01
Engenharia de Aplicação
• Etapas:• Análise da Aplicação: seleção do conhecimento e artefatos do
domínio que são necessários para construir uma aplicação a partir de requisitos iniciais.
• Projeto da Aplicação: identificação na arquitetura de software dos artefatos que serão combinados na construção da aplicação.
• Implementação da Aplicação: os artefatos reutilizáveis selecionados são implementados para compor a aplicação.
Curso de Reutilização 11601/04/2011
![Page 117: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/117.jpg)
LINHA DE PRODUTOS
Curso de Reutilização 11701/04/2011
![Page 118: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/118.jpg)
118GPMS 2018.01
Linha de Produtos
• Definição• Conjunto de sistemas de software que compartilham
um conjunto de características comuns econtroladas, que satisfazem necessidades de umsegmento de mercado em particular, e sãodesenvolvidas a partir de artefatos (core assets), deforma predefinida (NORTHROP, 2002).
Curso de Reutilização 11801/04/2011
![Page 119: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/119.jpg)
119GPMS 2018.01
Linha de Produtos
• Etapas (NORTHROP, 2002)
Curso de Reutilização 11901/04/2011
![Page 120: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/120.jpg)
120GPMS 2018.01
Linha de Produtos
• Desenvolvimento de núcleo de artefatos• Escopo da linha de produtos• Artefatos do núcleo• Plano de Produção
Curso de Reutilização 12001/04/2011
![Page 121: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/121.jpg)
121GPMS 2018.01
Linha de Produtos
• Desenvolvimento do Produto
• Análise do domínio da aplicação
• Possibilidade de evolução da LP !
• Instanciação da arquitetura do produto
• Povoamento da arquitetura
Curso de Reutilização 12101/04/2011
![Page 122: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/122.jpg)
122GPMS 2018.01
Dúvidas?
![Page 123: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/123.jpg)
123GPMS 2018.01
Principais Referências Bibliográficas
• Alexis Leon, “A Guide to Software Configuration Management”, Artech House Publishers, 2000.
• Anne Hass, “Configuration Management Principles and Practices”, Boston, MA, Pearson Education, Inc.
• Conradi, R. and Westfechtel, B. Version Models for Software Configuration Management. ACM Computing Surveys, v.30, n.2, p. 232-282, 1998.
• Dart, S., 1991, “Concepts in Configuration Management Systems”, International Workshop on Software Configuration Management (SCM), Trondheim, Norway (June), pp. 1-18.
• Pressman, R. S. (1997). “Software Engineering: A Practitioner'sApproach”, McGraw-Hill.
![Page 124: Gerência de Projetos e Manutenção de Software Aula 10 ...andrea/teaching/201801/gpms/GPMS-Aula10... · • O plano de gerência de configuração de software é o documento utilizado](https://reader031.vdocuments.com.br/reader031/viewer/2022022714/5c0a175a09d3f2641a8b5231/html5/thumbnails/124.jpg)
Gerência de Projetos e Manutenção de Software
Aula 10 – Gerência de Configuração e Mudanças + ReutilizaçãoAndréa Magalhães Magdaleno
2018.01