![Page 1: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/1.jpg)
Repositórios de Componentes nas perspectivas de
Gerência de Configuração de Software e Reutilização de Software
Leonardo Gresta Paulino Murta
![Page 2: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/2.jpg)
Agenda
• Introdução
• Repositório na perspectiva de Gerência de Configuração
• Repositório na perspectiva de Reutilização
• Integração dos repositórios
• Conclusão
Leonardo Murta 2Repositórios de Componentes
![Page 3: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/3.jpg)
Introdução
• A Engenharia de Software...
– Abordagem disciplinada para o desenvolvimento de software
– Grande diversidade de metodologias
Leonardo Murta Repositórios de Componentes 3
![Page 4: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/4.jpg)
Introdução
• Ponto em comum nas metodologias:
– refinamentos sucessivos de artefatos
Leonardo Murta Repositórios de Componentes 4
http://www.colegiosaofrancisco.com.br
![Page 5: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/5.jpg)
Mas aonde ficam esses artefatos?
Leonardo Murta Repositórios de Componentes 5
Tarefas de Engenharia de
Software
Artefato novo
Repositório
Artefato modificado
Artefato
![Page 6: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/6.jpg)
O que são repositórios?
• Repositórios– Lugar seguro onde artefatos
são depositados
– Permitem armazenamento, busca, e recuperação de artefatos
– Servem como um ponto de referência
– Apóiam no aumento da memória organizacional
Leonardo Murta Repositórios de Componentes 6
![Page 7: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/7.jpg)
Características de repositórios
• Controle de acesso
• Auditoria
• Colaboração
• Catalogação
• Controle de solicitações
• Versionamento
• Busca
• Recuperação
• Controle de dependências
• Tarifação
• Medição
• Monitoramento
• Integridade
• Escalabilidade
• Interoperabilidade
Leonardo Murta Repositórios de Componentes 7
![Page 8: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/8.jpg)
Exemplos• Component Source (http://www.componentsource.com)• AquaLogic (http://www.bea.com)• WebSphere (http://www.ibm.com)• Rational Asset Manager (http://www.ibm.com)• Repository Manager (http://www.soa.com)• DA Manager (http://www.digitalassets.com.br)• Brechó (http://reuse.cos.ufrj.br)• CORE (http://www.rise.com.br)• X-CORE (http://www.compose.ufpb.br)• Debian (http://packages.debian.org)• Gentoo (http://packages.gentoo.org)• Ubuntu (http://packages.ubuntu.com)• Code Beach (http://www.codebeach.com)• Savannah (http://savannah.gnu.org)• SourceForge (http://sourceforge.net)• CVS (http://www.cvshome.org)• Subversion (http://subversion.tigris.org)
Leonardo Murta Repositórios de Componentes 8
Código
Componentes
BináriosServiços
Modelos
Processos
![Page 9: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/9.jpg)
Tipos de repositórios
Desenvolvimento Liberação Implantação Produção
Leonardo Murta Repositórios de Componentes 9
Gerência de Configuração
Reutilização
![Page 10: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/10.jpg)
Sob o ponto de vista do MPS.BR...Repositório deGerência de Configuração• Um Sistema de Gerência de
Configuração é estabelecido e mantido
• A situação dos itens de configuração e das baselines é registrada ao longo do tempo e disponibilizada
• Modificações em itens de configuração são controladas e disponibilizadas
• O armazenamento, o manuseio e a liberação de itens de configuração e baselines são controlados.
Repositório de Reutilização
• Um mecanismo de armazenamento e recuperação de ativos reutilizáveis é implantado
• Os dados de utilização dos ativos reutilizáveis são registrados
• Os usuários de ativos reutilizáveis são notificadossobre problemas detectados, modificações realizadas, novas versões disponibilizadas e descontinuidade de ativos.
Leonardo Murta Repositórios de Componentes 10
![Page 11: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/11.jpg)
Potenciais semelhanças
Leonardo Murta Repositórios de Componentes 11
Repositório de Gerência de
Configuração
Repositório de Reutilização
• Controle de acesso
• Auditoria
• Integridade
• Interoperabilidade
• Escalabilidade
• Versionamento
![Page 12: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/12.jpg)
Potenciais diferenças
Leonardo Murta Repositórios de Componentes 12
Repositório de Gerência de
Configuração
Repositório de Reutilização
G
R
A
N
U
L
A
R
I
D
A
D
E
Fina
Grossa
M
O
M
E
N
T
O
Desenvolvimento
Produção
A
C
E
S
S
O
Edição
Leitura
L
O
C
A
L
I
Z
A
Ç
Ã
O
Contexto
Busca
![Page 13: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/13.jpg)
Cenário de utilização
Leonardo Murta Repositórios de Componentes 13
Repositório de Gerência de
Configuração
Repositório de Reutilização
![Page 14: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/14.jpg)
Agenda
• Introdução
• Repositório na perspectiva de Gerência de Configuração
• Repositório na perspectiva de Reutilização
• Integração dos repositórios
• Conclusão
Leonardo Murta 14Repositórios de Componentes
Exemplos utilizados
![Page 15: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/15.jpg)
Gerência de Configuração
Leonardo Murta Repositórios de Componentes 15
Gerência de configuração de software é uma disciplina para o controle da evolução de sistemas de software
Susan Dart
• Principais sistemas
– Controle de versões
– Controle de modificações
– Gerenciamento de construção e release
![Page 16: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/16.jpg)
Item de configuração
• Agregação de hardware e/ou software que será passível de gerência de configuração e tratado como um elemento único
• Tipos de ICs
– Produtos de trabalho do projeto
– Produtos de trabalho de processos
• Exemplos: plano de GC, requisitos, modelos, código-fonte, etc.
Leonardo Murta Repositórios de Componentes 16
![Page 17: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/17.jpg)
Versão
• Instâncias de um mesmo item de configuração que diferem entre si em algo (sinônimo: revisões)
Leonardo Murta Repositórios de Componentes 17
IC
1.0
IC
1.1
IC
1.2
IC
1.1.1
IC
1.1.2
IC
1.3
IC
2.0
IC
1.4
IC
2.1
![Page 18: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/18.jpg)
Sistema de arquivo tradicional
Leonardo Murta Repositórios de Componentes 18
Dim
ensã
o E
SPA
ÇO
![Page 19: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/19.jpg)
Sistema de arquivo versionado
Leonardo Murta Repositórios de Componentes 19
Dim
ensã
o E
SPA
ÇO
Dimensão TEMPO
![Page 20: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/20.jpg)
Sistema de Gerência de Configuração
Leonardo Murta Repositórios de Componentes 20
Versão 1
Versão 2
Versão 3
Versão 5
Versão 5
![Page 21: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/21.jpg)
Configuração
• Um conjunto de versões de Itens de Configuração (IC), onde existe somente uma versão selecionada para cada IC do conjunto
• Uma configuração pode ser vista como um IC composto de outros ICs
• Exemplos– Configuração do sistema– Configuração do processo– Configuração do módulo X– Configuração dos requisitos do sistema– Configuração do código fonte
Leonardo Murta Repositórios de Componentes 21
![Page 22: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/22.jpg)
Configuração x versão
• Genericamente– O sistema S é composto pelos arquivos X, Y e Z
• Concretamente– A configuração 5 do sistema S é composta pela versão 2 do
arquivo X, versão 4 do arquivo Y e versão 6 do arquivo Z
Leonardo Murta Repositórios de Componentes 22
Configuração Versão
IC composto IC primitivo
IC
![Page 23: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/23.jpg)
Configuração x versão
Leonardo Murta Repositórios de Componentes 23
IC composto
Conf. 1
Conf. 2
Conf. 3
IC primitivo 1 IC primitivo 2 IC primitivo 3
V.1
V.2
V.3
V.4
V.1
V.2
V.1
V.2
V.3
![Page 24: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/24.jpg)
Controle de versões
Leonardo Murta Repositórios de Componentes 24
Repositório
Item de Configuração
Como armazenar?
Como permitir colaboração?
![Page 25: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/25.jpg)
O Repositório
• Local onde os ICs são armazenados– Armazena o histórico do projeto– Controle na entrada e saída de ICs– Poucos por projeto (normalmente, somente um)
• Utiliza diferentes mecanismos de armazenamento– Versionamento completo– Versionamento de diferenças (delta)
• Utiliza diferentes mecanismos de controle de concorrência– Pessimista– Otimista– Misto
• Permite a geração de diferentes relatórios– Por arquivo– Por check-in
Leonardo Murta Repositórios de Componentes 25
![Page 26: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/26.jpg)
Mecanismos de armazenamento
Leonardo Murta Repositórios de Componentes 26
v.3
v.2
v.1
Completo
delta 12
v.1
Forward
delta 23
delta 32
v.3
Reverse
delta 21
In-line
v.1 v.2/3
v.1/2 v.3
![Page 27: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/27.jpg)
Controle de concorrência
Leonardo Murta Repositórios de Componentes 27
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 28: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/28.jpg)
Relatórios
• É possível fornecer relatórios sob diferentes dimensões– Por arquivo
– Por check-in
• Informações a serem relatadas– Identificação (número da modificação)
– Quem (autor)
– Quando (data)
– Onde (caminhos)
– Como (ação nos caminhos)
– O que (mensagem)
– Por que (número da solicitação de modificação)
Leonardo Murta Repositórios de Componentes 28
![Page 29: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/29.jpg)
Exemplo (relatórios no Subversion)
Leonardo Murta Repositórios de Componentes 29
Repositório (versão 1)
Arquivo1 (versão 1)Arquivo2 (versão 1)Arquivo3 (versão 1)
Repositório (versão 2)
Arquivo1 (versão 2)Arquivo2 (versão 1)Arquivo3 (versão 1)
Repositório (versão 0)
1º commit
2º commit
Repositório (versão 3)
Arquivo1 (versão 2)Arquivo2 (versão 3)Arquivo3 (versão 1)Arquivo4 (versão 3)
Repositório (versão 4)
Arquivo1 (versão 4)Arquivo2 (versão 3)Arquivo3 (versão 4)Arquivo4 (versão 3)
4º commit3º commit
Arquivo1Versão 1Versão 2Versão 4
Arquivo2Versão 1Versão 3
Arquivo3Versão 1Versão 4
Arquivo4Versão 3
Relatório por arquivo
![Page 30: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/30.jpg)
Exemplo (relatórios no Subversion)
Leonardo Murta Repositórios de Componentes 30
Exemplo
Sintaxe
svn log [-q] [-v] [-r VERSÃO] [URL]
svn log -q https://reuse.cos.ufrj.br/svn/brecho/trunk/build.xml
r92 | ronaldo | 2007-04-01 17:28:55 -0300 (dom, 01 abr 2007)r91 | paulacibele | 2007-03-19 12:53:47 -0300 (seg, 19 mar 2007)r90 | paulacibele | 2007-03-19 12:44:20 -0300 (seg, 19 mar 2007)r51 | marinho | 2006-01-18 19:03:39 -0200 (qua, 18 jan 2006)r47 | alexrd | 2006-01-07 10:44:46 -0200 (sáb, 07 jan 2006)r37 | mlopes | 2005-09-27 00:46:04 -0300 (ter, 27 set 2005)r31 | alexrd | 2005-09-12 11:15:33 -0300 (seg, 12 set 2005)...
![Page 31: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/31.jpg)
Exemplo (relatórios no Subversion)
Leonardo Murta Repositórios de Componentes 31
Repositório (versão 1)
Arquivo1 (versão 1)Arquivo2 (versão 1)Arquivo3 (versão 1)
Repositório (versão 2)
Arquivo1 (versão 2)Arquivo2 (versão 1)Arquivo3 (versão 1)
Repositório (versão 0)
1º commit
2º commit
Repositório (versão 3)
Arquivo1 (versão 2)Arquivo2 (versão 3)Arquivo3 (versão 1)Arquivo4 (versão 3)
Repositório (versão 4)
Arquivo1 (versão 4)Arquivo2 (versão 3)Arquivo3 (versão 4)Arquivo4 (versão 3)
4º commit3º commit
1º commitArquivo1 adicionadoArquivo2 adicionadoArquivo3 adicionado
2º commitArquivo1 modificado
3º commitArquivo2 modificadoArquivo4 adicionado
Relatório por commit
4º commitArquivo1 modificadoArquivo3 modificado
![Page 32: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/32.jpg)
Exemplo (relatórios no Subversion)
Leonardo Murta Repositórios de Componentes 32
Exemplo
Sintaxe
svn log [-q] [-v] [-r VERSÃO] [URL]
svn log -v -r 92 https://reuse.cos.ufrj.br/svn/brecho
r92 | ronaldo | 2007-04-01 17:28:55 -0300 (dom, 01 abr 2007) | 1 lineCaminhos mudados:
M /trunk/build.xmlM /trunk/src/br/ufrj/cos/reuse/biblioteca/category/CategoryUtil.javaA /trunk/src/br/ufrj/cos/reuse/biblioteca/category/Suggestions.javaM /trunk/src/br/ufrj/cos/reuse/biblioteca/category/dao/HibernateCategoryDAO.java
Issue #234: Troca do algoritmo de sugestão de categorias
![Page 33: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/33.jpg)
Espaço de trabalho
• Local onde o usuário pode fazer seu trabalho de forma isolada
– Armazena um momento específico do projeto
– Controle sobre quando sincronizar com o repositório
– Muitos por projeto (normalmente, um ou mais por desenvolvedor)
– Sinônimo: caixa de areia (sandbox)
Leonardo Murta Repositórios de Componentes 33
![Page 34: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/34.jpg)
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 à linha principal de
desenvolvimento– A migração pode ser complicada no caso de isolamento longo
• Características dos ramos se comparados a espaços de trabalho– 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)– permanentes (espaços de trabalho temporários)
Leonardo Murta Repositórios de Componentes 34
![Page 35: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/35.jpg)
Junção
• Processo de migração de
– Espaços de trabalho
– Ramos
Leonardo Murta Repositórios de Componentes 35
Linha 1Linha 2Linha 3
Linha 1’Linha 2
<Linha 1> ou <Linha 1’>?Linha 2<Linha 3> ou nada?
Linha 1Linha 2Linha 3
Linha 1’Linha 2
Linha 1’Linha 2Linha 3
Linha 1Linha 2
2-way merge 3-way merge
![Page 36: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/36.jpg)
Exemplo de junção
• A junção é efetuada para cada artefato do ramo
• São levadas em consideração todas as modificações desde o ancestral em comum
Leonardo Murta Repositórios de Componentes 36
1.1 1.2 1.3 1.4 1.5BemVindo.java
1.2.2.1 1.2.2.2
2
1
1.6
1.6 = 1.2 + 1 + 2
![Page 37: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/37.jpg)
Repositórios de Componentes 37
Exemplo(junção no Eclipse)
Leonardo Murta
![Page 38: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/38.jpg)
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
• 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
Leonardo Murta Repositórios de Componentes 38
![Page 39: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/39.jpg)
Baseline (níveis de controle)
Leonardo Murta Repositórios de Componentes 39
Coordenação c/ auditoria
Controle
Informal:•Pré baseline•Sem requisição•Sem aprovação•Sem verificação•Ágil•Ad-hoc
Formal:•Pós baseline•Com requisição•Com aprovação•Com verificação•Burocrático•Planejado
Nível de controle
![Page 40: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/40.jpg)
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.
Leonardo Murta Repositórios de Componentes 40
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 41: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/41.jpg)
Controle de modificações
• 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
Leonardo Murta Repositórios de Componentes 41
![Page 42: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/42.jpg)
Controle de modificações
Leonardo Murta Repositórios de Componentes 42
[Leon, 2000] Solicitação de modificação
![Page 43: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/43.jpg)
Controle de modificações
• O critério de classificação da modificação deve ser explicitado no planejamento
• A classificação visa priorizar modificações mais importantes
– Críticas
– Fatais
– Não fatais
– Cosméticas
Leonardo Murta Repositórios de Componentes 43
![Page 44: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/44.jpg)
Controle de modificações
• A análise visa relatar os impactos da implementação da modificação
– Custo
– Cronograma
– Funcionalidades
• 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
Leonardo Murta Repositórios de Componentes 44
![Page 45: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/45.jpg)
Controle de modificações
Leonardo Murta Repositórios de Componentes 45
[Leon, 2000] Análise de impacto
![Page 46: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/46.jpg)
Controle de modificações
• A avaliação utilizará a solicitação de modificação e o laudo da análise para tomar a decisão– Aceitar
– Rejeitar
– Adiar
• Essa decisão é tomada pelo Comitê de Controle da Configuração (CCC)– Líder do projeto e de gerência de configuração
– Representantes da garantia de qualidade, marketing e cliente
Leonardo Murta Repositórios de Componentes 46
![Page 47: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/47.jpg)
Controle de modificações
• 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 pelo CCC se ela será considerada uma nova liberação
Leonardo Murta Repositórios de Componentes 47
![Page 48: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/48.jpg)
Controle de modificações
• 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!
Leonardo Murta Repositórios de Componentes 48
![Page 49: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/49.jpg)
Controle de modificações
• 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 (e.g. falta de treinamento, padrões inadequados, ferramentas inadequadas)
Leonardo Murta Repositórios de Componentes 49
![Page 50: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/50.jpg)
Agenda
• Introdução
• Repositório na perspectiva de Gerência de Configuração
• Repositório na perspectiva de Reutilização
• Integração dos repositórios
• Conclusão
Leonardo Murta 50Repositórios de Componentes
Exemplos utilizados
Biblioteca Brechó
![Page 51: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/51.jpg)
Reutilização de Software
Reutilização de Software é uma disciplinaresponsável pela criação de sistemas de software a partir de software preexistente
Krueger
• Principais processos (Jacobson, 1997):– Gerenciamento (programa de reutilização)
– Criação (engenharia de domínio)
– Apoio (repositório)
– Reutilização (engenharia de aplicação)
Leonardo Murta Repositórios de Componentes 51
![Page 52: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/52.jpg)
Ativo reutilizável
• Qualquer artefato relacionado a software que esteja preparado, isto é, empacotado de maneira própria a ser reutilizado pelos processos da organização
• Tipos de ativos– Horizontais (apoio)
– Verticais (domínios específicos)
• Exemplos: código, binários, modelos, processos, etc.
Leonardo Murta Repositórios de Componentes 52
![Page 53: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/53.jpg)
Tipos de repositório
• Repositório local– Guarda componentes de uso genérico
• Repositórios de domínio– Guarda componentes específicos de um determinado
domínio
• Repositórios de referência– Funciona como um catálogo
– Guarda as características dos componentes
– Referencia repositórios externos
Leonardo Murta Repositórios de Componentes 53
![Page 54: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/54.jpg)
Papéis envolvidos
• Produtor– Desenvolve artefatos para serem disponibilizados no
repositório
• Consumidor– Busca por artefatos no repositório
– Fornece feedback sobre os artefatos
• Gerente– Cataloga os artefatos do repositório
– Aplica os critérios definidos sobre os artefatos do repositório
Leonardo Murta Repositórios de Componentes 54
![Page 55: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/55.jpg)
Atividades em um repositório
• Gerenciamento– Como determinar o que deve ser aceito no repositório?
• Catalogação– Como organizar os ativos dentro do repositório?
• Busca– Como descobrir os ativos disponíveis?
• Recuperação– Como obter um empacotamento de determinados ativos?
• Análise– Como entender a dinâmica de utilização do repositório?
Leonardo Murta Repositórios de Componentes 55
![Page 56: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/56.jpg)
CertificaçãoCertificação
Gerenciamento de ativos
Leonardo Murta Repositórios de Componentes 56
Ativo
Certificação
Descontinuidade
Aceitação
versão 1, versão 2, ...
ClassificaçãoAvaliação
86
109
8
![Page 57: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/57.jpg)
Critérios de Aceitação
• Estabelecem os atributos que credenciam a existência de um ativo no repositório
• Atua no nível conceitual do ativo
– Propósito do ativo
• Ex.: Fazer parte de um domínio de interesse da organização
Leonardo Murta Repositórios de Componentes 57
![Page 58: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/58.jpg)
Critérios de Certificação
• Estabelecem os atributos que credenciam a inclusão de uma versão concreta do ativo no repositório
• Atua no nível físico do ativo
– Artefatos que compõem uma versão específica do ativo
– Deve ser repetido para cada nova verão do ativo
• Ex.: Aprovação nos testes antes de inclusão no repositório
Leonardo Murta Repositórios de Componentes 58
![Page 59: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/59.jpg)
Critérios de Classificação
• Estabelecem a organização dos ativos no repositório
• Fundamental para posterior busca do ativo
• Ex.: Classificação quanto ao tipo (código, modelo, processo, etc.) ou quanto ao domínio (agropecuária, telecomunicações, etc.) do ativo
Leonardo Murta Repositórios de Componentes 59
![Page 60: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/60.jpg)
Critérios de Descontinuidade
• Estabelecem quando os ativos devem ser removidos do repositório
• Ativos inúteis no repositório podem ser custosos
– Recursos consumidos pelo repositório
– Custos de manutenção dos ativos
– Diminuição da precisão das buscas
• Ex.: Ausência de ocorrências de uso por um determinado período
Leonardo Murta Repositórios de Componentes 60
![Page 61: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/61.jpg)
Critérios de Avaliação
• Estabelecem os atributos que definem o grau de qualidade de um ativo
• Podem ser utilizados
– Na certificação, pelo gerente do repositório
– Após a utilização, pelos consumidores
• Ex.: Grau de satisfação do uso de uma determinada versão de um ativo
Leonardo Murta Repositórios de Componentes 61
![Page 62: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/62.jpg)
Mecanismos de Catalogação
• Lista
• Palavras-chave
• Vocabulário controlado– Estruturas enumeradas
– Facetas
• Conhecimento– Redes semânticas
– Regras de produção
– Frames
• HipertextosLeonardo Murta Repositórios de Componentes 62
![Page 63: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/63.jpg)
Lista
• Não faz uso de nenhum mecanismo de catalogação
• Facilita a incorporação de ativos na repositório
• Dificulta a busca posterior por ativos em repositórios grandes
– Problema pode ser minimizado com o uso de mecanismos de busca aprimorados
Leonardo Murta Repositórios de Componentes 63
![Page 64: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/64.jpg)
Palavras-chave
• Classifica o ativo em termos de palavras-chave informadas
• Não restringe o vocabulário a ser utilizado
• Tem baixa precisão semântica
Leonardo Murta Repositórios de Componentes 64
![Page 65: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/65.jpg)
Vocabulário controlado
• Estruturas enumeradas
– Classificação do ativo em categorias exclusivas sob uma única dimensão
– Opções de classificação predefinidas
– Necessita alto conhecimento sobre o domínio
• Facetas
– Classificação do ativo sob múltiplas dimensões
– Dimensões possíveis são predefinidas
Leonardo Murta Repositórios de Componentes 65
![Page 66: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/66.jpg)
Conhecimento
• Redes semânticas– Expressam relações entre os ativos– Baixo suporte a heurísticas
• Regras de produção– Amplamente utilizado em sistemas
especialistas– Permite estabelecer regras para
inferência sobre ativos
• Frames– Ativos representados com relações
nome:valor– Uso de herança como mecanismo de
inferência
Leonardo Murta Repositórios de Componentes 66
Se
Então
![Page 67: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/67.jpg)
Hipertexto
• Ativos são relacionados sob diferentes dimensões– Ativos similares– Ativos complementares– Dependências entre ativos– Exclusões mutuas entre ativos– Relações todo-parte entre ativos– Etc.
• Normalmente complementa algum outro mecanismo de catalogação
Leonardo Murta Repositórios de Componentes 67
![Page 68: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/68.jpg)
Exemplo (cadastro de formulários)
Leonardo Murta Repositórios de Componentes 68
![Page 69: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/69.jpg)
Exemplo (cadastro de categorias)
Leonardo Murta Repositórios de Componentes 69
![Page 70: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/70.jpg)
Exemplo (catalogação do componente)
Leonardo Murta Repositórios de Componentes 70
![Page 71: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/71.jpg)
Mecanismos de Busca
• Navegação
• Recuperação da informação
• Palavras-chave
• Estrutural
• Semântica
– Dados
– Funcionalidades
• Baseado em conhecimento
Leonardo Murta Repositórios de Componentes 71
![Page 72: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/72.jpg)
Navegação
• Não faz uso de consultas
• Permite que se recupere ativos relacionados a partir de outros ativos
– Uso da organização usada na catalogação (e.g., hipertexto, estruturas enumeradas, facetas, etc.)
– Uso de navegação seqüencial (força bruta)
• Usualmente é um mecanismo de busca auxiliar
Leonardo Murta Repositórios de Componentes 72
![Page 73: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/73.jpg)
Recuperação da informação
• Usualmente se baseia em pré-análise dos ativos– Construção de base de conhecimento
• Consultas são tratadas e comparadas com a base de conhecimento– Uso de linguagem natural e operadores lógicos
• Resultados são ordenados em função da proximidade com a consulta– Precisão: Fração dos ativos recuperados que são relevantes
– Revocação: Fração dos ativos relevantes que foram recuperados
Leonardo Murta Repositórios de Componentes 73
![Page 74: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/74.jpg)
Palavras-chave
• Ativos foram previamente catalogados em termos de palavras-chave
• Consultas são feitas em termos de palavras-chave
• Ativos e consulta são relacionados em função do número de palavras chave em comum
• Necessita de mecanismos extras para unificar a terminologia usada na catalogação e consulta– Thesaurus
– Ontologias
• Amplamente utilizado devido a simplicidade
Leonardo Murta Repositórios de Componentes 74
![Page 75: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/75.jpg)
Estrutural
• Leva em consideração a estrutura interna do ativo
– Crença: estruturas parecidas levam a funcionalidades parecidas
– Demanda acesso à estrutura interna dos ativos
• Consulta consistem em uma breve especificação estrutural
• Resultado consiste nos ativos que necessitam de menos modificações estruturais para atenderem à consulta
Leonardo Murta Repositórios de Componentes 75
![Page 76: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/76.jpg)
Semântica (dados)
• Leva em consideração o aspecto executável do ativo
– Analisa os dados requeridos e providos
• Consultas consistem em exemplos de uso dos ativos desejados
• Resultados consistem em ativos que melhor atendem aos exemplos
Leonardo Murta Repositórios de Componentes 76
![Page 77: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/77.jpg)
Semântica (funcionalidades)
• Leva em consideração os serviços providos pelo ativo– Assinaturas de interfaces providas– Especificação formal do comportamento dessas interfaces
• Consultas consistem em assinaturas desejadas ou especificações algébricas do comportamento desejado
• Resultados consistem em ativos que melhor atendem aos critérios de consulta– Casamento de interfaces– Prova de teoremas
Leonardo Murta Repositórios de Componentes 77
(preconsulta preresultado) (preconsulta posresultado posconsulta)
![Page 78: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/78.jpg)
Baseado em conhecimento
• O sistema interage com o usuário fazendo perguntas
• Ao final, são sugeridos ativos ou informado que não existem ativos com aquele perfil
• Caso não existam ativos disponíveis, o gerente do repositório é notificado
Leonardo Murta Repositórios de Componentes 78
![Page 79: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/79.jpg)
Recuperação
• A partir dos resultados da busca, o ativo deve ser disponibilizado para o Cliente– Via referência– Via empacotamento– Via serviço
• Tarifação se torna mecanismo chave para recuperação de ativos em repositórios comerciais
Leonardo Murta Repositórios de Componentes 79
![Page 80: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/80.jpg)
Empacotamento
• Composição do ativo em função das demandas do cliente
• Empacotamento consiste na composição de ativos a partir de– Artefatos
– Licenças
– Descrição do empacotamento
• Mecanismo útil para equacionar relação custo/benefício
Leonardo Murta Repositórios de Componentes 80
Ativo
Artefato
Artefato
Artefato
![Page 81: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/81.jpg)
Exemplo (níveis de organização)
Leonardo Murta Repositórios de Componentes 81
![Page 82: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/82.jpg)
Exemplo (cadastro de release)
Leonardo Murta Repositórios de Componentes 82
![Page 83: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/83.jpg)
Exemplo(cadastro de pacote)
Leonardo Murta Repositórios de Componentes 83
![Page 84: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/84.jpg)
Serviços
• Passo no sentido de SaaS (Software as a Service)– Serviços externos podem ser catalogados no
repositório
– Ativos existentes no repositório podem ser transformados em serviços
Leonardo Murta Repositórios de Componentes 84
[Sun Microsystems]
![Page 85: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/85.jpg)
Exemplo (geração de serviços)
Leonardo Murta Repositórios de Componentes 85
![Page 86: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/86.jpg)
Tarifação
• Diferentes possíveis modelos para tarifação de ativos
• Pré-pago– paga e depois adquire os ativos
• Pós-pago– adquire os ativos e depois paga
• Bancário– Uso de créditos, limite e saldo
– Permite emular modelos pré-pago e pós-pago
Leonardo Murta Repositórios de Componentes 86
![Page 87: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/87.jpg)
Exemplo (tarifação no modelo bancário)
Leonardo Murta Repositórios de Componentes 87
![Page 88: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/88.jpg)
Análise
• O uso de um repositório gera grande quantidade de informações– Registros de utilização
– Feedbacks dos usuários
– Coleta de métricas em geral
• Essas informações são importantes para tomadas de decisões– Descontinuidade de ativos
– Notificação de problemas com ativos
– Notificação de novas versões de ativos
Leonardo Murta Repositórios de Componentes 88
![Page 89: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/89.jpg)
Exemplo (mapa de reutilização)
Leonardo Murta Repositórios de Componentes 89
![Page 90: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/90.jpg)
Exemplo (feedback dos usuários)
Leonardo Murta Repositórios de Componentes 90
![Page 91: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/91.jpg)
Agenda
• Introdução
• Repositório na perspectiva de Gerência de Configuração
• Repositório na perspectiva de Reutilização
• Integração dos repositórios
• Conclusão
Leonardo Murta 91Repositórios de Componentes
Exemplos utilizados
Biblioteca Brechó
![Page 92: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/92.jpg)
Integração dos repositórios
• Apesar das diferenças, os repositórios devem trabalhar de forma integrada– Lado a lado
– Um sobre o outro
• Elemento chave para integração– Rastreabilidade
• Funções principais da integração– Publicação de releases: Desenvolvimento Produção
– Notificação de defeitos: Produção Desenvolvimento
Leonardo Murta Repositórios de Componentes 92
![Page 93: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/93.jpg)
Leonardo Murta Repositórios de Componentes 93
Integração dos repositórios
Identificação Implementação Empacotamento
Repositório deReutilização
Recuperação Compreensão Adaptação
Desenvolvimento para reutilização
Desenvolvimento com reutilização
Necessidadede novos
componentesou modificações
em componentesexistentes
Repositório deGC
Rastros
Liberação
Check-outCheck-in
![Page 94: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/94.jpg)
Exemplo (Publicação via tarefas Ant)
• Projeto Brechó-Foundation
– Publicação no repositório Brechó releases feitas no Team Foundation Server
Leonardo Murta Repositórios de Componentes 94
TeamFoundation
ServerBrechó
ExportaCompila
EmpacotaPublica
Roteiro de construção
Ant
![Page 95: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/95.jpg)
Exemplo (Requisição de modificações)
• Projeto Brechó-Foundation
– Vinculação entre versões de produção (Brechó) e desenvolvimento (Team Foundation Server)
Leonardo Murta Repositórios de Componentes 95
TeamFoundation
ServerBrechó
![Page 96: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/96.jpg)
Agenda
• Introdução
• Repositório na perspectiva de Gerência de Configuração
• Repositório na perspectiva de Reutilização
• Integração dos repositórios
• Conclusão
Leonardo Murta 96Repositórios de Componentes
![Page 97: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/97.jpg)
Algumas pesquisas em andamento...(controle de versões de modelos)
Leonardo Murta Repositórios de Componentes 97
![Page 98: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/98.jpg)
Algumas pesquisas em andamento...(visualização do histórico)
Leonardo Murta Repositórios de Componentes 98
![Page 99: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/99.jpg)
Algumas pesquisas em andamento...(visualização do histórico)
Leonardo Murta Repositórios de Componentes 99
![Page 100: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/100.jpg)
Algumas pesquisas em andamento...(visualização do histórico)
Leonardo Murta Repositórios de Componentes 100
![Page 101: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/101.jpg)
Algumas pesquisas em andamento...(evolução de modelos no MDD)
Leonardo Murta Repositórios de Componentes 101
Odyssey-MEC
Mapas de
Transformação
Gerenciador de
Transformação
Máquina de Sincronização Rastros
Cliente
Odyssey-MEC
ModelMarker (Odyssey-MDA)
Modelo n
Modelo 2
Modelo 1
Hook pré-check-in
Hook pós-
merge
Hook pós-
check-in
Hook pós-
login
Odyssey-VCS
Odyssey-MDA
![Page 102: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/102.jpg)
Algumas pesquisas em andamento...(evolução de modelos no MDD)
Leonardo Murta Repositórios de Componentes 102
RT
<<entity>>
Student a1 : String a2 : String
A2
Version 1 Version 1 <<EJBean>>
Student a1 : String a2 : String
A2 getA1() : String getA2() : String setA1(a1 : String) setA2(a2 : String)
RT <<entity>>
Student a1 : Int a2 : String
A2
Version 2 Version 2 <<EJBean>>
Student a1 : Int a2 : String
A2 getA1() : Int getA2() : String setA1(a1 : Int)
setA2(a2 : String)
Prior Next Prior Next
PIM PSM
![Page 103: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/103.jpg)
Algumas pesquisas em andamento...(sugestão de políticas de concorrência)
Leonardo Murta Repositórios de Componentes 103
0
1
Pessimisticor optimistic Pessimistic
Optimistic Refactoring
Dificuldade de junçãoC
on
corr
ênci
a
Pessimistaou otimista Pessimista
Otimista Refatoração
![Page 104: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/104.jpg)
Algumas pesquisas em andamento...(reuso em tempo de execução)
Leonardo Murta Repositórios de Componentes 104
![Page 105: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/105.jpg)
Conclusão
• Repositórios de Gerência de Configuração e Reutilização são bastante diferentes
– Propósitos diferentes
– Funcionalidades diferentes
– Participantes diferentes
• Contudo, a combinação de ambos em um ambiente integrado caracteriza um cenário ideal para controle dos artefatos!
Leonardo Murta Repositórios de Componentes 105
![Page 106: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/106.jpg)
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.
• Sametinger, J., 1997, “Software Engineering with Reusable Components”, Springer-Verlag New York, Inc.
• Krueger, C.W., 1992, "Software Reuse", ACM Computing Surveys, v. 24, n. 2 (June), pp. 131-183.
Leonardo Murta Repositórios de Componentes 106
![Page 107: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/107.jpg)
Principais Referências Bibliográficas
• Mili, A., R. Mili, R. T. Mittermeir. 1998. “A survey of software reuse libraries”. Ann. Softw. Eng. 5: 349-414.
• Frakes, W. B., P. B. Gandel. 1989. “Representation methodsfor software reuse”. Proceedings of the conference on Tri-Ada '89: Ada technology in context: application, development, and deployment, 302-314. Pittsburgh, Pennsylvania, United States.
• MPS.BR – Melhoria de Processo do Software Brasileiro, Guia Geral (versão 1.2) e Guia de Implementação (versão 1.1)
• Pressman, R. S. (1997). “Software Engineering: A Practitioner's Approach”, McGraw-Hill.
• Biblioteca Brechó: http://reuse.cos.ufrj.br/brecho
Leonardo Murta Repositórios de Componentes 107
![Page 108: nas perspectivas de Gerência de Configuração de Software e ... · Item de configuração •Agregação de hardware e/ou software que será passível de gerência de configuração](https://reader036.vdocuments.mx/reader036/viewer/2022071214/6042ee9a1a6e54599a37454b/html5/thumbnails/108.jpg)
Repositórios de Componentes nas perspectivas de
Gerência de Configuração de Software e Reutilização de Software
Leonardo Gresta Paulino Murta