Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac...

59
Gerência de Configuração Leonardo Gresta Paulino Murta [email protected]ff.br

Transcript of Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac...

Page 1: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

GerênciadeConfiguração

[email protected]

Page 2: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

Introdução•  AEngenhariadeSoBware...

– AbordagemdisciplinadaparaodesenvolvimentodesoBware

– Grandediversidadedemetodologias

•  Pontoemcomumnasmetodologias:–  refinamentossucessivosdeartefatos

LeonardoMurta GerênciadeConfiguração 2

hIp://www.colegiosaofrancisco.com.br

Page 3: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

Masondeficamessesartefatos?

LeonardoMurta GerênciadeConfiguração 3

TarefasdeEngenhariade

SoBware

Artefatonovo

Repositório

Artefatomodificado

Artefato

Page 4: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

Oquesãorepositórios?•  Repositórios

– Lugarseguroondeversõesdeartefatossãodepositadas

– Permitemarmazenamento,buscaerecuperação

– Servemcomoumpontodereferência

– Apóiamnoaumentodamemóriaorganizacional

LeonardoMurta GerênciadeConfiguração 4

Page 5: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

GerênciadeConfiguração

Desenvolvimento Liberação Implantação Produção

LeonardoMurta GerênciadeConfiguração 5

GerênciadeConfiguração

GerênciadeconfiguraçãodesoBwareéumadisciplinaparaocontroledaevoluçãodesistemasdeso3ware(SusanDart,1991)

Page 6: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

LeonardoMurta GerênciadeConfiguração 6

Histórico•  Anos50

–  GCparaproduçãodeaviõesdeguerraenavesespaciais•  Anos60e70

–  SurgimentodeGCS(S=SoBware)–  Focoaindaemaplicaçõesmilitareseaeroespaciais

•  Anos80e90–  Mudançadefoco(MILàEIA,IEEE,ISO,etc.)–  Surgimentodasprimeirasnormasinternacionais–  Assimilaçãopororganizaçõesnãomilitares

Page 7: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

SistemadeGerênciadeConfiguração

LeonardoMurta GerênciadeConfiguração 7

Versão1

Versão2

Versão3

Versão4

Versão5

Page 8: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

SistemadeGerênciadeConfiguração

LeonardoMurta GerênciadeConfiguração 8

Versão1

Versão2

Versão3

Versão4

Versão5

Page 9: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

SistemadeGerênciadeConfiguração

LeonardoMurta GerênciadeConfiguração 9

Versão1

Versão2

Versão3

Versão4

Versão5

Page 10: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

SistemadeGerênciadeConfiguração

LeonardoMurta GerênciadeConfiguração 10

Artefatos

ControledeVersões

ConstruçãoeRelease

ControledeModificações

Solicitações

Page 11: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

LeonardoMurta GerênciadeConfiguração 11

SistemaxFunçõesdeGC

Ambiente de Desenvolvimento de Software

Identificação Controle Contabilização Avaliação Liberação

Controle de Modificações

Controle de Versões

Gerenciamento de Construção

Sistemas:

Processos:

Espaço de trabalho:

Perspectiva de integração

Perspectiva gerencial

Perspectiva de desenvolvimento

Page 12: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

Exercício1.  Descrevaas5funçõesdegerênciade

configuração,citandoexemplos

2.  Estudeumaferramentadegerenciamentodeconstruçãoerelease(make,ant,maven,etc.)

3.  Oqueéintegraçãoconhnua?Dêalgumexemplousandoumaferramenta(CruiseControl,ApacheConinuum,Hudson,etc.)

LeonardoMurta GerênciadeConfiguração 12

Page 13: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

SistemadeGerênciadeConfiguração

LeonardoMurta GerênciadeConfiguração 13

Artefatos

ControledeVersões

ConstruçãoeRelease

ControledeModificações

Solicitações

Page 14: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

TiposdeVersão

LeonardoMurta GerênciadeConfiguração 14

Versão

Revisão Variante Cooperação(Rascunho)

(Conradi and Westfechtel 1998)

Page 15: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

Revisões

LeonardoMurta GerênciadeConfiguração 15

Gerações do iMac (1998 – 2013)

Page 16: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

Variantes

LeonardoMurta GerênciadeConfiguração 16

Hatchback

Coupe

Sedan

Honda Civic

Page 17: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

Cooperação(versõesrascunho)

LeonardoMurta GerênciadeConfiguração 17

Espaço de trabalho do João

Espaço de trabalho da Maria

Espaço de trabalho do Pedro

Versão base

Page 18: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

Versõesderascunhopodemsercombinadas(operaçãodemerge)

LeonardoMurta GerênciadeConfiguração 18

João Maria Pedro

Revisões

Page 19: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

Conflitospodemocorrerduranteomerge

LeonardoMurta GerênciadeConfiguração 19

João Paulo

Revisões

Page 20: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

Outrasduasoperaçõesimportantes…

…paraguardar,transferirecompreenderversões.LeonardoMurta GerênciadeConfiguração 20

Diff =

Patch =

Page 21: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

Versõesnomundoreal•  Infinidadederevisõesevariantesjuntas(semcontarversõesrascunho)

LeonardoMurta GerênciadeConfiguração 21

Histórico do Git

Page 22: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

Masafinal,paraqueservemversões?

•  Sincronizarequipes•  Reproduzirconfiguraçõespassadas•  Explorarpossibilidades•  Segregardesenvolvedores•  Customizarprodutos(LPS)•  Rastrearaintroduçãodebugs(bisect)•  EntenderaevoluçãodesoBware(MSR)•  Auditarmudanças(annotate)•  Etc.

LeonardoMurta GerênciadeConfiguração 22

Page 23: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

Controledeversões

LeonardoMurta GerênciadeConfiguração 23

Armazenamento?Colaboração?Consulta?

Topologia?Artefato?

Page 24: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

Artefato

LeonardoMurta GerênciadeConfiguração 24

Diretório Arquivo

ElementoFS

ArquivoBinário ArquivoTexto Linha

Page 25: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

Topologia

LeonardoMurta GerênciadeConfiguração 25

Repositório

EspaçodeTrabalho

Centralizado Distribuído

chec

k-in

/ co

mm

it

check-out / update Repositório

EspaçodeTrabalhoch

eck-

in

check-out / update

Repositório

EspaçodeTrabalho

clone / pull

push

Page 26: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

Armazenamento

LeonardoMurta GerênciadeConfiguração 26

v.3

v.2

v.1

Completo

delta1à2

v.1

Forward

delta2à3

delta3à2

v.3

Reverse

delta2à1

In-line

v.1 v.2/3

v.1/2 v.3

Page 27: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

Colaboração

LeonardoMurta GerênciadeConfiguração 27

m.3

m.2

m.1

Pessimista

junção

m.1

Otimista Otimista com Percepção

m.2m.3

junção

m.1

m.2m.3

Page 28: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

Consulta

LeonardoMurta GerênciadeConfiguração 28

Repositório(versão1)Artefato1(versão1)Artefato2(versão1)Artefato3(versão1)

Repositório(versão2)Artefato1(versão2)Artefato2(versão1)Artefato3(versão1)

Repositório(versão0)Repositório(versão3)Artefato1(versão2)Artefato2(versão3)Artefato3(versão1)Artefato4(versão3)

Repositório(versão4)Artefato1(versão4)Artefato2(versão3)Artefato3(versão4)Artefato4(versão3)

Artefato1Versão1Versão2Versão4

Artefato2Versão1Versão3

Artefato3Versão1Versão4

Artefato4Versão3

Consultaporartefato1ªmodificação

2ªmodificação4ªmodificação3ªmodificação

Page 29: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

Consulta

LeonardoMurta GerênciadeConfiguração 29

Repositório(versão1)Artefato1(versão1)Artefato2(versão1)Artefato3(versão1)

Repositório(versão2)Artefato1(versão2)Artefato2(versão1)Artefato3(versão1)

Repositório(versão0)

1ªmodificação

2ªmodificação

Repositório(versão3)Artefato1(versão2)Artefato2(versão3)Artefato3(versão1)Artefato4(versão3)

Repositório(versão4)Artefato1(versão4)Artefato2(versão3)Artefato3(versão4)Artefato4(versão3)

4ªmodificação3ªmodificação

1ªmodificaçãoArtefato1adicionadoArtefato2adicionadoArtefato3adicionado

2ªmodificaçãoArtefato1modificado

3ªmodificaçãoArtefato2modificadoArtefato4adicionado

Consultapormodificação

4ªmodificaçãoArtefato1modificadoArtefato3modificado

Page 30: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

Tratamentodevariantesemramos(branches)

•  Versõesquenãoseguemalinhaprincipaldedesenvolvimento

•  Fornecemisolamentoparaoprocessodedesenvolvimento–  Ramosusualmentesãomigradosparaalinhaprincipaldedesenvolvimento

–  Amigraçãopodesercomplicadanocasodeisolamentolongo•  Caracterísicasdosramossecomparadosaespaçosdetrabalho–  Sãocomparilhadosporoutraspessoas(espaçosdetrabalhosãoisolados)

–  Residemnoservidor(espaçosdetrabalhoresidemnocliente)–  Sãohistóricos(espaçosdetrabalhosãomomentâneos)

LeonardoMurta GerênciadeConfiguração 30

Page 31: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

LeonardoMurta GerênciadeConfiguração 31

EstratégiabásicadeRamificação•  Manutençãoemsérie

–  Ramoprincipal:evolução–  Ramosauxiliares:correções

•  Foco–  Desenvolvimentoin-house–  Clienteúnico(e.g.:aplicaçõesWeb)

•  Dificuldadedemanutençãodeváriasliberaçõesemparalelo

Sistema

Rel. 1 1.0 1.1 1.2

Rel. 2 2.0 2.1

Verif. Verif.

1.0 RC 2.0 RC Evolução Evolução Desenv.

Correção Correção Correção

Page 32: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

Merge•  Espaçosdetrabalho•  Ramos

LeonardoMurta GerênciadeConfiguração 32

ABCDEFGHI

JKLDEF

ABCouJKL?DEFGHIounada?

2-waymerge

Page 33: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

Merge•  Espaçosdetrabalho•  Ramos

LeonardoMurta GerênciadeConfiguração 33

ABCDEFGHI

JKLDEF

ABCDEF

JKLDEFGHI

3-waymerge

Page 34: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

GerênciadeConfiguração 34

Exemplo(mergenoEclipse)

LeonardoMurta

Page 35: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

Principaissistemasdecontroledeversãoopen-source

LeonardoMurta GerênciadeConfiguração 35

Page 36: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

SistemadeGerênciadeConfiguração

LeonardoMurta GerênciadeConfiguração 36

Artefatos

ControledeVersões

ConstruçãoeRelease

ControledeModificações

Solicitações

Page 37: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

Baseline•  ConfiguraçãorevisadaeaprovadaqueservecomobaseparaumapróximaetapadedesenvolvimentoequesomentepodesermodificadaviaprocessoformaldeGCS

•  Sãoestabelecidasaofinaldecadafasededesenvolvimento– Análise(funcional)–  Projeto(allocated)–  Implementação(product)

•  Momentodecriar:balanceamentoentrecontroleeburocracia

LeonardoMurta GerênciadeConfiguração 37

Page 38: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

Baseline(níveisdecontrole)

LeonardoMurta GerênciadeConfiguração 38

Coordenaçãoc/auditoria Controle

Prébaseline:• Informal• Semrequisição• Semaprovação• Semverificação• Ágil• Ad-hoc

Pósbaseline:• Formal• Comrequisição• Comaprovação• Comverificação• Burocráico• PlanejadoeControlado

Níveldecontrole

Page 39: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

Baseline(níveisdecontrole)

Req. Análise Projeto Análise Projeto Análise Projeto 1 Inform. - Formal Inform. Formal Formal 2 - - Inform. - Formal Inform.

LeonardoMurta GerênciadeConfiguração 39

Requisito1 Análise ProjetoBaseline1:

• An.Req.1

Requisito2 Análise Projeto

Tempo

Baseline2:• An.Req.1• Pr.Req.1• An.Req.2

Page 40: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

Controledemodificações•  Tarefas

– Solicitaçãodemodificação– Classificaçãodamodificação– Análisedamodificação– Avaliaçãodamodificação–  Implementaçãodamodificação– Verificaçãodamodificação– Geraçãodebaseline

LeonardoMurta GerênciadeConfiguração 40

Page 41: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

LeonardoMurta GerênciadeConfiguração 41

Controledemodificações

[Leon,2000]Requisiçãodemodificação

Page 42: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

LeonardoMurta GerênciadeConfiguração 42

Controledemodificações

[White,2000]JaneladecriaçãodeformuláriosdoClearQuest

Page 43: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

LeonardoMurta GerênciadeConfiguração 43

Controledemodificações•  OcritériodeclassificaçãodamodificaçãodeveestarexplicitadonoplanodeGC

•  Aclassificaçãovisapriorizarmodificaçõesmaisimportantes(críicas,fatais,nãofatais,cosméicas)

•  Aanálisevisarelatarosimpactosemcusto,cronograma,funcionalidades,etc.daimplementaçãodamodificação

•  Casoaanáliseconcluaquenãoexistechancedeaprovaramodificação(casosextremos),podeocorrerrejeiçãoantesdaavaliaçãoparapouparcustosnoprocesso

Page 44: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

LeonardoMurta GerênciadeConfiguração 44

Controledemodificações

[Leon,2000]Análisedemodificação

Page 45: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

LeonardoMurta GerênciadeConfiguração 45

Controledemodificações•  Aavaliaçãouilizaráarequisiçãodemodificaçãoeolaudoda

análiseparatomaradecisão

–  Arequisiçãopodeseraceita,rejeitadaouadiada•  Aimplementaçãodeveserseguidaportestesdeunidade•  Duranteaverificação,devemseraplicadostestesdesistema•  Apósageraçãodanovabaseline,deveserdecididoseelaserá

consideradaumanovaliberação

Page 46: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

Controledemodificações•  Casoespecial:Correçõesemergenciais

– Nocasodecorreçõesemergenciais,podemsercriadosramossemanecessidadedoprocessoformal

– Emalgummomentoessesramosdeverãosofrerjunçãoparaalinhaprincipaldedesenvolvimento

– Esseprocedimentodeveestarexplicitadonoprocesso!

LeonardoMurta GerênciadeConfiguração 46

Page 47: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

Controledemodificações•  Casoespecial:Defeitos

– Algunssistemastratamdefeitosdeformadiferentedasdemaisrequisições

– Acorreçãodedefeitoséumtratamentosintomáico– Éimportantedescobrirorealmoivoparaoacontecimentododefeitoparapossibilitaraprevençãodedefeitosfuturos

– Aanálisedecausaéúilparadescobrirfalhasnoprocessodedesenvolvimento(e.g.faltadetreinamento,padrõesinadequados,ferramentasinadequadas)

LeonardoMurta GerênciadeConfiguração 47

Page 48: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

LeonardoMurta GerênciadeConfiguração 48

Contabilizaçãodasituação•  Tarefas

–  Armazenamentodasinformaçõesgeradas

–  Propagaçãodessasinformaçõesaosinteressadosatravésderelatórios

•  Metáforadecontabancáriaparaitemdeconfiguração

•  Permitequemétricassejamuilizadascomointuitodemelhoriadoprocessoeesimaivadecustosfuturos

•  Fornecerelatóriosgerenciaisad-hoc

Page 49: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

LeonardoMurta GerênciadeConfiguração 49

Contabilizaçãodasituação

Resultado do relatório no modo tabular no Bugzilla

Page 50: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

LeonardoMurta GerênciadeConfiguração 50

Contabilizaçãodasituação

Resultado da consulta sobre séries no Bugzilla

Page 51: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

LeonardoMurta GerênciadeConfiguração 51

Exemplodeferramentasdecontroledemodificações

•  Livre–  Bugzilla–  Manis–  Redmine–  Trac

•  Comercial–  ClearQuest(IBMRaional)–  JIRA(Atlassian)–  StarTeam(Borland)–  Synergy/Change(Telelogic)–  TeamTrack(Serena)–  TeamFoundaionServer(MicrosoB)

Page 52: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

SistemadeGerênciadeConfiguração

LeonardoMurta GerênciadeConfiguração 52

Artefatos

ControledeVersões

ConstruçãoeRelease

ControledeModificações

Solicitações

Page 53: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

LeonardoMurta GerênciadeConfiguração 53

Auditoriadaconfiguração

•  Deveocorreraomenosantesdeumaliberação(release)

•  Tarefas–  Verificaçãofuncional,assegurandoqueabaselinecumpreoquefoiespecificado

–  Verificação�sica,assegurandoqueabaselineécompleta(todosositensdeconfiguraçãoespecificados)

•  Auditoriasservemparagaranirqueosprocedimentosepadrõesforamaplicados

Page 54: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

LeonardoMurta GerênciadeConfiguração 54

Auditoriadaconfiguração•  Aauditoriafuncionalocorreatravésdarevisãodosplanos,dados,

metodologiaeresultadodosteste,paraverificarsesãosaisfatórios

•  AauditoriaAsicaexaminaaestruturadetodosositensdeconfiguraçãoquecompõemabaseline

•  Aauditoria�sicaéefetuadaapósaauditoriafuncional

•  PodemocorrerauditoriasnoprópriosistemadeGCpelosmantenedoresdoplanodeGC,paraverificarseaspolíicaseprocedimentosestãosendocumpridos

Page 55: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

LeonardoMurta GerênciadeConfiguração 55

Gerenciamentodereleases•  Descriçãodecomoconstruir,liberareentregarosistema

–  Linguagemnatural(conhecimento)

–  Linguagemcomputacional(automação)

–  Manterosdescritoresedocumentossobgerênciadeconfiguração!

•  Definiçãodassituaçõesondeoprocessopodesertemporariamentedesviado

•  Cuidado:Releasesmuitocurtaspodemlevaracírculo-viciosodedefeitos...

Page 56: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

Gerenciamentodereleases

Releases Curtas +

Testes manuais +

Equipe pequena Baixa cobertura

dos testes

Defeitos no produto final

Necessidade de novas releases

Solicitações de correção dos defeitos

LeonardoMurta GerênciadeConfiguração 56

Page 57: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

LeonardoMurta GerênciadeConfiguração 57

Exemplodeferramentasdecontroledeconstruçãoeliberação

•  Livre– Ant– NAnt– Make– Maven– Rake

•  Comercial– ClearMake(IBMRaional)– MSBuild(MicrosoB)– Synergy/CMObjectMake(Telelogic)

Page 58: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

PrincipaisReferênciasBibliográficas•  AlexisLeon,“AGuidetoSoBwareConfiguraionManagement”,ArtechHousePublishers,2000.

•  AnneHass,“ConfiguraionManagementPrinciplesandPracices”,Boston,MA,PearsonEducaion,Inc.

•  Conradi,R.andWes�echtel,B.VersionModelsforSoBwareConfiguraionManagement.ACMCompuingSurveys,v.30,n.2,p.232-282,1998.

•  Dart,S.,1991,“ConceptsinConfiguraionManagementSystems”,InternaionalWorkshoponSoBwareConfiguraionManagement(SCM),Trondheim,Norway(June),pp.1-18.

•  Pressman,R.S.(1997).“SoBwareEngineering:APraciioner'sApproach”,McGraw-Hill.

LeonardoMurta GerênciadeConfiguração 58

Page 59: Gerência de Configuraçãoleomurta/courses/es2/aula5.pdf · 2020-02-03 · – Redmine – Trac • Comercial – ClearQuest (IBM Raonal ) – JIRA (Atlassian) – StarTeam (Borland)

GerênciadeConfiguração

[email protected]