Správa konfigurace softwaru v softwarovém inženýrství

Co je Správa konfigurace softwaru?

v softwarovém inženýrství, Správa konfigurace softwaru (SCM) je proces systematického řízení, organizace a kontroly změn v dokumentech, kódech a dalších entitách během životního cyklu vývoje softwaru. Primárním cílem je zvýšit produktivitu s minimem chyb. SCM je součástí mezioborové oblasti správy konfigurace a dokáže přesně určit, kdo provedl kterou revizi.

Proč potřebujeme Configuration management?

Hlavní důvody pro implementaci systému správy konfigurace technického softwaru jsou:

  • Na softwaru, který se neustále aktualizuje, pracuje několik lidí
  • Může to být případ, kdy je do projektu konfigurace softwaru zapojeno více verzí, poboček, autorů a tým je geograficky distribuován a pracuje souběžně
  • Změny v požadavcích uživatelů, politice, rozpočtu a harmonogramu je třeba přizpůsobit.
  • Software by měl být schopen běžet na různých strojích a Operating Systems
  • Pomáhá rozvíjet koordinaci mezi zúčastněnými stranami
  • Proces SCM je také výhodný pro kontrolu nákladů spojených s prováděním změn v systému

Potřebujete správu konfigurace

Jakákoli změna v položkách konfigurace softwaru ovlivní konečný produkt. Změny položek konfigurace je proto třeba kontrolovat a spravovat.

Úkoly v procesu SCM

  • Identifikace konfigurace
  • Základní linie
  • Změnit ovládání
  • Účtování stavu konfigurace
  • Audity konfigurace a Revvidí

Identifikace konfigurace

Identifikace konfigurace je metoda určení rozsahu softwarového systému. Pomocí tohoto kroku můžete něco spravovat nebo ovládat, i když nevíte, co to je. Jedná se o popis, který obsahuje typ CSCI (Computer Software Configuration Item), identifikátor projektu a informace o verzi.

Činnosti během tohoto procesu:

  • Identifikace konfiguračních položek, jako jsou moduly zdrojového kódu, modelový případa specifikace požadavků.
  • Identifikace každého CSCI v úložišti SCM pomocí objektově orientovaného přístupu
  • Proces začíná základními objekty, které jsou seskupeny do agregovaných objektů. Podrobnosti o tom, co, proč, kdy a kdo provádí změny v testu
  • Každý objekt má své vlastní vlastnosti, které identifikují jeho jméno, které je explicitní pro všechny ostatní objekty
  • Seznam požadovaných zdrojů, jako je dokument, soubor, nástroje atd.

Příklad:

Místo pojmenování souboru login.php by se měl jmenovat login_v1.2.php, kde v1.2 znamená číslo verze souboru

Místo pojmenování složky „Code“ by se měla jmenovat „Code_D“, kde D představuje kód, který by měl být denně zálohován.

Výchozí stav

Základní linie je formálně přijatá verze položky konfigurace softwaru. Je určen a fixován v konkrétním čase při provádění procesu SCM. Lze jej změnit pouze prostřednictvím formálních postupů kontroly změn.

Činnosti během tohoto procesu:

  • Usnadněte konstrukci různých verzí aplikace
  • Definování a stanovení mechanismů pro správu různých verzí těchto pracovních produktů
  • Funkční základ odpovídá revidovaným požadavkům na systém
  • Mezi široce používané základní linie patří funkční, vývojové a produktové základní linie

Jednoduše řečeno, základní linie znamená připraveno k uvolnění.

Změnit ovládání

Řízení změn je procedurální metoda, která zajišťuje kvalitu a konzistenci při provádění změn v konfiguračním objektu. V tomto kroku je žádost o změnu odeslána správci konfigurace softwaru.

Činnosti během tohoto procesu:

  • Řízení ad-hoc změn pro vytvoření stabilního prostředí pro vývoj softwaru. Změny jsou uloženy v úložišti
  • Požadavek bude zkontrolován na základě technické podstaty, možných vedlejších účinků a celkového dopadu na další konfigurační objekty.
  • Spravuje změny a zpřístupňuje položky konfigurace během životního cyklu softwaru

Účtování stavu konfigurace

Účtování stavu konfigurace sleduje každé vydání během procesu SCM. Tato fáze zahrnuje sledování toho, co má každá verze a změny, které vedou k této verzi.

Činnosti během tohoto procesu:

  • Uchovává záznamy o všech změnách provedených v předchozím základním plánu pro dosažení nového základního plánu
  • Identifikujte všechny položky pro definování konfigurace softwaru
  • Sledujte stav požadavků na změnu
  • Kompletní seznam všech změn od poslední základní linie
  • Umožňuje sledování postupu na další základní linii
  • Umožňuje zkontrolovat předchozí vydání/verze, které mají být extrahovány pro testování

Audity konfigurace a Revvidí

Audity softwarové konfigurace ověřují, že veškerý softwarový produkt splňuje základní potřeby. Zajišťuje, že to, co je postaveno, je dodáno.

Činnosti během tohoto procesu:

  • Audit konfigurace provádějí auditoři kontrolou dodržování definovaných procesů a zajištěním plnění cílů SCM.
  • Chcete-li ověřit shodu se standardy řízení konfigurace. audit a hlášení provedených změn
  • Audity SCM také zajišťují, že je během procesu zachována sledovatelnost.
  • Zajišťuje, aby změny provedené v základním plánu odpovídaly zprávám o stavu konfigurace
  • Ověření úplnosti a konzistence

Účastník procesu SCM

Následují klíčoví účastníci SCM

Účastník procesu SCM

1. Configuration Manager

  • Configuration Manager je vedoucí, který je zodpovědný za identifikaci položek konfigurace.
  • CM zajišťuje, že tým dodržuje proces SCM
  • Musí schválit nebo zamítnout žádosti o změnu

2. Vývojář

  • Vývojář potřebuje změnit kód podle standardních vývojových aktivit nebo požadavků na změnu. Je zodpovědný za údržbu konfigurace kódu.
  • Vývojář by měl zkontrolovat změny a vyřešit konflikty

3 Auditor

  • Auditor je odpovědný za audity a kontroly SCM.
  • Je třeba zajistit konzistenci a úplnost uvolňování.

4. Projektový manažer:

  • Zajistěte, aby byl produkt vyvinut v určitém časovém rámci
  • Sleduje postup vývoje a rozpoznává problémy v procesu SCM
  • Vytvářejte zprávy o stavu softwarového systému
  • Ujistěte se, že při vytváření, změnách a testování jsou dodržovány procesy a zásady

5. Uživatel

Koncový uživatel by měl porozumět klíčovým pojmům SCM, aby měl jistotu, že má nejnovější verzi softwaru

Plán správy konfigurace softwaru

Plánování procesu SCMP (Software Configuration management planning) začíná v raných fázích kódování projektu. Výsledkem plánovací fáze je plán SCM, který může být v průběhu projektu prodlužován nebo revidován.

  • SCMP se může řídit veřejným standardem, jako je IEEE 828 nebo standardem specifickým pro organizaci
  • Definuje typy dokumentů pro správu a pojmenování dokumentů. Příklad Test_v1
  • SCMP definuje osobu, která bude zodpovědná za celý proces SCM a tvorbu základních linií.
  • Opravte zásady pro správu verzí a řízení změn
  • Definujte nástroje, které lze použít během procesu SCM
  • Databáze správy konfigurace pro záznam informací o konfiguraci.

Nástroje pro správu konfigurace softwaru

Jakýkoli software pro správu změn by měl mít následující 3 klíčové funkce:

Správa souběžnosti:

Když se dva nebo více úkolů děje současně, nazývá se to souběžná operace. Souběžnost v kontextu SCM znamená, že stejný soubor upravuje více osob současně.

Pokud není souběžnost správně spravována nástroji SCM, může to způsobit mnoho naléhavých problémů.

Řízení verzí:

SCM používá metodu archivace nebo ukládá každou změnu provedenou v souboru. Pomocí funkce archivace nebo ukládání je možné se v případě problémů vrátit k předchozí verzi.

Synchronizace:

Uživatelé mohou rezervovat více než jeden soubor nebo celou kopii úložiště. Uživatel pak pracuje na potřebném souboru a změny vkládá zpět do úložiště. Svou místní kopii může synchronizovat, aby zůstal aktualizován se změnami provedenými ostatními členy týmu.

Následují oblíbené nástroje

1.Git: Git je bezplatný a open source nástroj, který pomáhá při kontrole verzí. Je navržen tak, aby zvládl všechny typy projektů rychle a efektivně.

Download link: https://git-scm.com/

2. tým Foundation Server: Tým Foundation je skupina nástrojů a technologií, které umožňují týmu spolupracovat a koordinovat se při vytváření produktu.

Download link: https://azure.microsoft.com/en-us/services/devops/server/

3.Ansible: Jedná se o open source nástroj pro správu konfigurace softwaru. Kromě správy konfigurace nabízí také nasazení aplikací a automatizaci úloh.

Download link: https://www.ansible.com/

Podívejte se na další nástroje pro konfiguraci SW: https://www.guru99.com/software-configuration-management-tools.html

Proč investovat do čističky vzduchu?

  • Nejlepší postupy Configuration Management pomáhají organizacím systematicky řídit, organizovat a kontrolovat změny v dokumentech, kódech a dalších entitách během Životní cyklus vývoje softwaru.
  • Primárním cílem procesu SCM je zvýšení produktivity s minimem chyb
  • Hlavním důvodem procesu správy konfigurace je to, že na softwaru, který se neustále aktualizuje, pracuje více lidí. SCM pomáhá zavést souběžnost, synchronizaci a správu verzí.
  • Základní linie je formálně přijatá verze položky konfigurace softwaru
  • Řízení změn je procedurální metoda, která zajišťuje kvalitu a konzistenci při provádění změn v konfiguračním objektu.
  • Účtování stavu konfigurace sleduje každé vydání během procesu SCM
  • Audity softwarové konfigurace ověřují, že veškerý softwarový produkt splňuje základní potřeby
  • Projektový manažer, konfigurační manažer, vývojář, auditor a uživatel jsou účastníky procesu SCM
  • Procesní plánování SCM začíná v raných fázích projektu.
  • Git, Team Foundation Sever a Ansible je několik populárních nástrojů SCM.