Správa konfigurace softwaru v softwarovém inženýrství
⚡ Chytré shrnutí
Správa konfigurace softwaru (SCM) je proces systematického řízení, organizace a kontroly změn v dokumentech, kódu a dalších položkách v celém životním cyklu vývoje softwaru. Jeho primárním cílem je zvýšit produktivitu a zároveň udržet...ping chyby na minimum.

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 minimálními chybami. SCM je součástí interdisciplinární oblasti správy konfigurací 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 technické konfigurace softwaru jsou:
- Na softwaru, který se neustále aktualizuje, pracuje několik lidí.
- Může se jednat o případ, kdy je do projektu konfigurace softwaru zapojeno více verzí, větví a autorů a tým je geograficky rozptýlen a pracuje souběžně.
- Je třeba zohlednit změny v požadavcích uživatelů, zásadách, rozpočtu a harmonogramu.
- Software by měl být schopen běžet na různých počítačích a Operating Systems.
- Pomáhá rozvíjet koordinaci mezi zúčastněnými stranami.
- Proces SCM je také prospěšný pro kontrolu nákladů spojených s prováděním změn v systému.
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 pro určení rozsahu softwarového systému. S pomocí tohoto kroku můžete spravovat nebo ovládat něco, i když nevíte, co to je. Jedná se o popis, který obsahuje typ CSCI (Computer Software Configuration Item - položka konfigurace počítačového softwaru), 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 repozitáři 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 kým jsou v testu provedeny změny.
- Každý objekt má své vlastní vlastnosti, které identifikují jeho název, jež je explicitní pro všechny ostatní objekty.
- Seznam potřebných zdrojů, jako je dokument, soubor, nástroje atd.
Příklad:
Místo pojmenování souboru login.php by měl být pojmenován login_v1.2.php, kde v1.2 představuje číslo verze souboru.
Místo pojmenování složky „Code„mělo by se to jmenovat“Code_D“, kde D představuje, že kód by měl být zálohován denně.
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:
- Usnadnit konstrukci různých verzí aplikace.
- Definování a určení mechanismů pro správu různých verzí těchto pracovních produktů.
- Funkční základní linie odpovídá přezkoumaným systémovým požadavků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 požadavek na změnu odeslán 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 ukládány do repozitáře.
- Žádost bude ověřena na základě technické podstaty, možných vedlejších účinků a celkového dopadu na ostatní konfigurační objekty.
- Spravuje změny a zpřístupňuje konfigurační položky během životního cyklu softwaru.
Účtování stavu konfigurace
Účtování stavu konfigurace tracks každé vydání během procesu SCM. Tato fáze zahrnuje tracco každá verze obsahuje a jaké změny k této verzi vedly.
Činnosti během tohoto procesu:
- Uchovává záznamy o všech změnách provedených v předchozí základní linii za účelem dosažení nové základní linie.
- Identifikujte všechny položky pro definování softwarové konfigurace.
- Sledujte stav žádostí o změnu.
- Úplný seznam všech změn od posledního základního vývoje.
- Umožňuje trackrál pokroku k další základní linii.
- Umožňuje stažení předchozích vydání/verzítracodesláno k 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.
- Ověřovat soulad se standardy řízení konfigurace, auditovat a hlásit provedené změny.
- Audity SCM také zajišťují, že tracBěhem procesu je zachována snadnost.
- Zajišťuje, aby změny provedené v základní linii odpovídaly zprávám o stavu konfigurace.
- Ověření úplnosti a konzistence.
Účastník procesu SCM
Následují klíčoví účastníci SCM:
1. Configuration Manager
- Konfigurační manažer je vedoucí pracovník, který je zodpovědný za identifikaci konfiguračních položek.
- CM zajišťuje, aby tým dodržoval proces SCM.
- Musí schválit nebo zamítnout žádosti o změnu.
2. Vývojář
- Vývojář musí 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 vydání.
4. Projektový manažer:
- Zajistěte, aby byl produkt vyvinut v určitém časovém rámci.
- Sleduje průběh vývoje a rozpoznává problémy v procesu SCM.
- Generovat reporty o stavu softwarového systému.
- Ujistěte se, že jsou dodržovány procesy a zásady pro vytváření, změny a testování.
5. Uživatel
Koncový uživatel by měl rozumět klíčovým pojmům SCM, aby se ujistil, že má nejnovější verzi softwaru.
Plán správy konfigurace softwaru
Proces SCMP (plánování správy konfigurace softwaru) 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 rozšiřován nebo revidován.
- SCMP se může řídit veřejným standardem, jako je IEEE 828, nebo standardem specifickým pro danou organizaci.
- Definuje typy dokumentů, které mají být spravovány, a konvenci 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 řízení změn by měl mít následující 3 klíčové vlastnosti:
Správa souběžnosti:
Když probíhají dva nebo více úkolů současně, hovoří se o souběžné operaci. Souběžnost v kontextu SCM znamená, že stejný soubor je upravován více osobami 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é si mohou rezervovat více než jeden soubor nebo celou kopii repozitáře. Uživatel poté pracuje na potřebném souboru a změny vrací zpět do repozitáře. Svou lokální kopii může synchronizovat, aby byl informován o změnách provedených 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/


