Versions management

18
ArCo VERSIONI / REVISIONI / RILASCI Definizioni Utilizzo di System Architect per la modellazione degli “stati” Tools

description

Presentazione in Italiano su Version / revision / release

Transcript of Versions management

Page 1: Versions management

ArCo

VERSIONI / REVISIONI /

RILASCI

• Definizioni

• Utilizzo di System Architect per la modellazione degli “stati”

• Tools

Page 2: Versions management

ArCo

• Versione - l’istanza di un prodotto che è in qualche

modo funzionalmente diversa da altre

• Variante - l’istanza di un prodotto che, pur essendo

funzionalmente identica ad altre, è diversa dal punto

di vista non-funzionale

• Release - L’istanza di un prodotto distribuita ad utenti

(interni o esterni) che siano al di fuori del gruppo di

sviluppo

DEFINIZIONI

Page 3: Versions management

ArCo Genesi delle Versioni

• Soddisfare le richieste/esigenze del

cliente/mercato

• Definire un nuovo stato del ciclo di vita del

prodotto

• Differenziare il prodotto dopo

l’implementazione di una modifica

È richiesta una nuova versione/revisione di un prodotto per:

Page 4: Versions management

ArCo

Esigenze del

Cliente/Mercato

• 2 body styles

• 2 engine variants

• 2 climate control

variants

• 2 wheel sizes

• Upgraded suspension

system

• Upgraded electronics

options

• Moon roof option

• Trim upgrade options

Options Variants X

= 256 Product Variations

Page 5: Versions management

ArCo STATI DEL CICLO DI VITA

Da Riesaminare

In Elaborazione

Rilasciato

Approvato

Riesaminato

Rilascio

Approvazione

Riesame

Redazione

Stato

Transition: definisce i tasks da

compiere per fare passare un

documento da uno stato all’altro

Page 6: Versions management

ArCo

STATI E VERSIONI

Versione

1

4. Approvato

3. Riesaminato

2. Da

riesaminare

1. In

elaborazione

Stato

5. Rilasciato

Versione

2

Versione

3

Versione

4

Riesame

negativo Riesame

negativo Approvaz.

rigettata

Page 7: Versions management

ArCo

PRV2.6.1.3

PRV2.7.1.1

Rel. 2.3.0Stable

IB V1.1

PRV2.7.2.2

PRV2.6.1.2

StableIC

V1.1.1.1

PR V2.6

IC V1.2

PR V2.7

Rel. 2.3.0PR

V2.6.1.1

Stable

PR V3.0

IA V2.0

PR V4.0

PRV2.7.2.1

Rel. 2.3.0IC V1.1

PR V3.1

IA V1.3IA V1.2

Time Now

Planned

ECO C

Planned

Planned

ECO B

ECO A

Planned

Richiesta di modifica

Item/

Rev

Release

2.3.0 Stable Latest

Product 2.6.1.1 3.0 3.1

Item

A 1.2 1.2 1.3

Item

B 1.1 1.1 1.1

Item

C 1.1 1.1.1.1 1.2

Richiesta di

modifica

Page 8: Versions management

ArCo

1. Definire uno schema di identificazione

delle versioni

2. Pianificare l’implementazione di nuove

versioni

3. Assicurarsi che le metodologie e gli

strumenti di controllo siano utilizzati

correttamente

4. Pianificare il rilascio (release) di nuove

versioni

PROCESSO DI GESTIONE

DELLE VERSIONI

Page 9: Versions management

ArCo

• Bisogna mettere a punto procedure che

consentano di identificare le versioni in

modo non ambiguo

• Ci sono tre tecniche di base:

– Numerazione delle versioni

– Identificazione mediante attributi

– Identificazione orientata alle modifiche

IDENTIFICAZIONE DELLE

VERSIONI

Page 10: Versions management

ArCo

• Si può usare un semplice schema di

enumerazione lineare

– V1, V1.1, V1.2, V2.1, V2.2, ecc.

• Oppure uno schema di derivazione ad

albero gerarchico

• I codici non sono “parlanti” (significativi)

• Per ridurre gli errori di identificazione

conviene usare schemi di tipo gerarchico

NUMERAZIONE DELLE

VERSIONI

Page 11: Versions management

ArCo

Ver.1.4.1.3

Ver.1.5.2.2

Ver.1.4.1.1

Ver.1.5.1.1

Ver.1.4.1.2

Rev. 2.0Rev. 1.4 Rev. 1.6

Ver.1.5.2.1

Rev.1.5

Rev.2.1

Temporary Branch A

Temporary Branch B

Variant A

Variant B

Permanent Branch

NETWORK DI DERIVAZIONE

GERARCHICA (Notazione “IDEF3 OST”)

Versions

Release

2.3

Release

2.4

Merging Merging

Page 12: Versions management

ArCo

Rel. 2.3IC V3.1

IA V2.2

Rel. 2.3

IA V2.1IA V2.0

Rel 2.3PR V2.8

IB V2.2

Rel. 2.2

IC V2.0 IC V3.0

Rel. 2.2

IA V1.9

Rel. 2.2Rel. 2.3

IB V2.1

PR V2.7

Build/Make Build/Make

BOUND CONFIGURATION

Item A

Item B

Item C

Product

Page 13: Versions management

ArCo

• Esempi di attributi utilizzabili: – Data, Sviluppatore, Cliente, Status, ecc.

• È più flessibile dello schema di identificazione esplicita per il rintracciamento delle versioni; tuttavia bisogna prestare molta attenzione alla scelta del set di attributi per garantire l’unicità del nome

• In pratica si usa anche un nome per facilitare il rintracciamento

IDENTIFICAZIONE BASATA

SUGLI ATTRIBUTI

Page 14: Versions management

ArCo

• Integra le versioni con le modifiche fatte per realizzarle

• È più usata per prodotti complessi che per i singoli

componenti

• Per ogni cambiamento proposto si identifica un set di

modifiche di riferimento tra quelle implementate per

realizzarlo

• I set di modifiche sono applicati in sequenza per

consentire, in linea di principio, la creazione di una

versione del prodotto che incorpori un set di modifiche

arbitrario

IDENTIFICAZIONE BASATA

SULLE MODIFICHE

Page 15: Versions management

ArCo Key features • Capability to define a single generic product structure from which an

entire range of product variants can be derived.

• Extend the generic product structure with variant conditions and enumerated constraints.

• Variant conditions enable you to define what components and subsystems can be configured in combination to create specific product variants. – You can use both simple and complex logical expressions to indicate

that a specific component (e.g., a particular model of a particular brand) should be configured in the product variant.

• Capability to establish both soft and hard constraints to reduce the number of variants that your platform can support on either temporary or permanent basis.

• Capability to establish an option compatibility constraint to specify that certain combinations of option values are not offered.

Page 16: Versions management

ArCo

Page 17: Versions management

ArCo

• Una “Release” comprende un certo numero di modifiche

al prodotto indotte da malfunzionamenti scoperti

dall’utente o resesi necessarie per cambiamenti nelle

tecnologie

• Può anche incorporare nuove funzionalità

• La pianificazione delle Releases consiste nel decidere

quando rilasciare una versione del prodotto come nuova

release tenendo conto di:

– Qualità tecnica del prodotto

– Concorrenza

– Forze di mercato

– Soddisfazione del cliente

RELEASE

MANAGEMENT

Page 18: Versions management

ArCo

• Version and release identification – Assegna automaticamente i codici di identificazione

• Storage management – Archivia le differenze (varianti) tra le versioni

• Change history recording – Registra le ragioni per cui viene creata una nuova versione

• Independent development – Consente di lavorare in parallelo su versioni diverse

• Project support – Consente di gestire “in gruppo” tutti i files associati ad un

progetto di modifica

VERSION MANAGEMENT

TOOLS