Synchronizační model - Synchronization model

v správa konfigurace (CM), je třeba kontrolovat (mimo jiné) změny provedené v softwaru a dokumentaci. Tomu se říká kontrola revizí, který spravuje více verzí stejné informační jednotky. Ačkoli je kontrola revizí pro CM důležitá, nerovná se jí.

Synchronizační modely, známé také jako Configuration Management Models (Feiler, 1991), popisují metody umožňující kontrolu revizí umožněním simultánních a souběžných změn jednotlivých souborů.

Synchronizační modely

Feiler (1991) referuje o čtyřech různých synchronizačních modelech, krátce popsaných níže.

Odhlášení / odhlášení

V modelu odhlášení / odhlášení jsou soubory ukládány jednotlivě do a úložiště ze kterého jsou vydány při každém přístupu k souborům, a odevzdány při změně. Toto úložiště může ukládat více verzí souborů. Protože tyto soubory mohou být dokumentace nebo zdrojový kód, ale může to být také soubor souborů, termín Položka konfigurace (CI) bude od nynějška používán. Základní mechanismus používaný k prevenci konfliktů simultánními úpravami je mechanismus zamykání.

Složení

Složený model je rozšířením modelu odhlášení / odhlášení. Tento model umožňuje vývojářům přemýšlet konfigurace místo jednotlivých souborů. Přestože je model kompletního odbavení / odbavení zastoupen v modelu složení, umožňuje použití různých strategií pro aktualizaci pomocí vylepšené podpory pro správu konfigurací. Konfigurace je definována jako sestavená z modelu systému a pravidel výběru verze. Model systému určuje, které soubory se použijí, zatímco pravidla výběru verze určují, která verze souborů (např. Nejnovější verze nebo určitá verze) stav vývoje ).

Dlouhé transakce

Model dlouhých transakcí zaujímá širší přístup, protože předpokládá, že systém je vytvořen z logických změn. Zaměřuje se na koordinaci a integraci těchto změn. V zásadě používá verze konfigurací a verze souborů. Konfigurace je vytvořena na základě a změnit požadavek který je uložen samostatně. Soubory v této konfiguraci lze synchronizovat pomocí modelu odhlášení / odhlášení. Po dokončení změny je kompletní konfigurace uložena zpět do úložiště a integrována s dalšími změnami.

Změnit sadu

Model sady změn funguje také na základě požadavků na změnu a má mnoho společného s modelem dlouhých transakcí. Začíná to však určitou konfigurací jako základem pro změny. To se poté změní podle nezávislých požadavků na změnu, které přicházejí. Nové konfigurace produktu se poté vytvoří použitím sad nezávisle uložených změn na základní linie verze.

Tato položka zahrnuje model synchronizace odhlášení / odbavení, včetně a meta-model (A diagram procesních dat ). Protože model odhlášení / odbavení je také součástí jiných výše diskutovaných modelů, je proto dále rozpracován. Problémy, které nejsou podrobně popsány, jsou tři zbývající modely synchronizace a vlastní úpravy CI společně s metodami, které s tím souvisejí.

Slovní zásoba

PojemDefinice
VerzeVerze je stav objektu nebo konceptu, který se liší od jeho předchozího stavu nebo stavu.
Položka konfiguracePrvek softwaru nebo dokument pod kontrolou verzí. Skupinu CI lze také definovat jako CI (Crnkovic et al., 2003).
Historie položky konfiguraceKoncept usnadňující razítko verze. Rozdělí atributy specifické pro verzi od atributů společných pro všechny verze (Van de Weerd, 2005)
DokumentMnoho druhů dokumentace jsou součástí softwarového inženýrství. Zvažte dokumenty, které popisují architekturu softwaru, technickou dokumentaci, uživatelské příručky atd.
Zdrojový kód souborSoubor zdrojového kódu obsahuje libovolnou řadu příkazů napsaných v nějakém člověku čitelném počítačovém programovacím jazyce. Zdrojovým kódem počítačového programu je soubor souborů, které lze převést z formy čitelné člověkem do ekvivalentní formy spustitelné počítačem.
ÚložištěÚložiště se také nazývá úložiště. Úložiště obsahuje pouze jednu úplnou verzi konfigurační položky. Rozdíly mezi verzemi se obvykle ukládají pomocí delta algoritmu (Crnkovic, Asklund & Persson-Dahlqvist, 2003).
Organizace správy verzíVerze CI mohou být organizovány mnoha různými způsoby. Toto je nadřazený pojem pro koncepty, které popisují organizaci verzí (Crnkovic et al., 2003).
VětevVerze uspořádané jako paralelní vývojové linie (Crnkovic et al., 2003).
RevizeVerze uspořádané v sekvenci (Crnkovic et al., 2003).
Stav vývojeVyjadřuje, jak vývoj kusu softwaru pokročil a kolik dalšího vývoje může vyžadovat. Každá hlavní verze produktu obvykle prochází fází, kdy jsou přidány nové funkce (alfa fáze / stav), dále fází, kdy je aktivně laděn (beta fáze / stav), a nakonec fází, kdy jsou odstraněny všechny důležité chyby ( stabilní fáze / stav).

Vypracování modelu odhlášení / odhlášení

Tato část obsahuje podrobné informace o modelu synchronizace odhlášení / odbavení.

Diagram procesních dat

Obrázek 1.png

Výše uvedený diagram procesních dat popisuje různé koncepty, které jsou použitelné v modelu synchronizace check-out / check-in, a jejich vztah k činnostem, které probíhají. Středem meta-datového modelu (pravá strana obrázku) je položka konfigurace. To je uloženo v jednom nebo více úložištích a může to být například soubor zdrojového kódu nebo kolekce dalších CI. Úložiště může obsahovat více větví a revizí souborů. Ty se zase skládají z položek konfigurace.

Model metaprocesu (levá strana obrázku) popisuje proces odbavení a odbavovacích aktivit. Aktivity jsou vysvětleny v tabulce aktivit níže.

AktivitaDílčí aktivitaDefinice
PřekontrolovatSoubory se nečtou ani nezmění přímo z úložiště. Pokladna popisuje tyto činnosti.
Kopírovat CIKonkrétní verze CI je zkopírována z úložiště.
Lock CIJe-li vyžadován přístup pro zápis a pokud CI již není uzamčen někým jiným, je CI uzamčen. Jinak nelze CI zapsat zpět do úložiště (přístup jen pro čtení).
Upravit CIOsoba upravující CI v ní provádí změny. To je mimo rozsah aktuálního meta-modelu týkajícího se správy verzí.
PřihlášeníKI je třeba umístit zpět do úložiště. Přihlášení popisuje tyto činnosti.
Vyberte strategii správy verzíNový CI musí být umístěn zpět do úložiště pomocí strategie správy verzí. To popisuje výběr strategie použité k umístění CI zpět do úložiště.
Vytvořit větevCI je vybrán jako začátek nové pobočky.
Vytvořit reviziKI je vybráno jako revize jiného KI.
Vyberte stav vývojeKI je určeno k určitému vývojovému stavu.
Napište CICI je uložen v úložišti.
Odemkněte CICI je odemčeno.

Hodnocení

Feiler (1991) vyhodnotil model synchronizace check-out / check-in. Má jasnou výhodu v tom, že se snadno používá a rozumí. Tato jednoduchost však vede k nedostatečné správě konfigurací, jako je sledování verzí produktu a kontrola historie verzí u více logicky připojených souborů.

Mechanismus otočení při zamykání je skutečným problémem také při práci s mnoha vývojáři, protože tyto soubory již po uzamčení nemohou ostatní upravovat.

Příklad

Pro ilustraci modelu synchronizace check-out / check-in obsahuje tato část příklad toho, jak tento proces funguje. Obrázek níže obsahuje a stavový přechodový diagram CI.

Stavový diagram konfigurační položky.png

Při prvním vytvoření CI se upraví a uloží do úložiště. Když někdo požádá o otevření CI, nejprve se zkopíruje na místní počítač vývojáře (poznámka: existují systémy, kde k úpravám dochází přímo v úložišti. Krok kopírování je však klasický způsob odhlášení / odhlášení). Když tento vývojář chce také upravit CI, požaduje zámek. To lze provést přímo na žádost o otevření CI, ale také po určité době po jejím přečtení. Když CI ještě není uzamčen, použije se zámek a může ho vývojář upravit. Po provedení úprav se uloží zpět do úložiště a odemkne se. Předpokládejme, že právě projednávaný vývojář je v procesu úpravy CI, která je již v úložišti. Chcete otevřít CI z úložiště a tak se zkopíruje na místní jednotku. Začnete to číst a najdete nějaké věci, které chcete změnit, takže požádáte o jejich úpravu. CI je však již uzamčeno a budete si muset počkat na jeho odemčení nebo zavřít soubor a přejít k dalšímu.

Viz také

Reference

  • Crnkovic, I .; Asklund, U .; Persson-Dahlqvist, A. (2003), Implementace a integrace správy údajů o produktu a správy konfigurace softwaru„London: Artech House Publishers
  • Feiler, P. H. (1991), „Modely správy konfigurace v komerčních prostředích“, Technická zpráva CMU / SEI-91-TR-7, Institut softwarového inženýrství, Carnegie Mellon University
  • Van de Weerd, I. (2005), Technika meta-modelování - koncept kurzu Metodické inženýrství 05/06