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.

  • ⚙️ Definice: SCM systematicky spravuje a kontroluje změny v dokumentech, kódu a entitách v celém životním cyklu vývoje.
  • 🎯 Proč je důležitá: Koordinuje více vývojářů, verzí a poboček a zároveň kontroluje náklady na změny.
  • 🗂️ Pět klíčových úkolů: Identifikace konfigurace, základní linie, řízení změn, účetnictví stavu a audity.
  • 👥 Klíčoví účastníci: Konfigurační manažer, vývojář, auditor, projektový manažer a koncový uživatel.
  • ???? Plán SCM: Plánování se řídí standardy, jako je IEEE 828, a definuje nástroje, pojmenování a odpovědnosti.
  • 🛠️ Oblíbené nástroje: Git, Tým Foundation Server a Ansible podporují správu verzí a automatizaci.

Správa konfigurace softwaru

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.

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 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:

Účastník procesu 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/

Nejčastější dotazy

Kontrola verzí tracukládá změny v souborech a umožňuje návrat k dřívějším verzím. SCM je širší: zahrnuje také identifikaci konfigurace, základní linie, řízení změn, účtování stavu a audity. Správa verzí je jednou z důležitých součástí širšího procesu SCM.

SCM se zaměřuje na kontrolu a traczměny v položkách konfigurace softwaru. DevOps je širší kultura a sada postupů, které sjednocují vývoj a provoz pro zajištění nepřetržitého dodávání. Nástroje SCM a základní linie často podporují automatizaci, na které se DevOps pipeline spoléhají.

IEEE 828 je uznávaná norma, která definuje, jak vytvořit plán správy konfigurace softwaru. Specifikuje činnosti, odpovědnosti a dokumentaci potřebnou pro konzistentní správu konfiguračních položek, aby se týmy mohly řídit osvědčenou strukturou, místo aby si vymýšlely vlastní.

Umělá inteligence dokáže kontrolovat požadavky na změny, předpovídat dopad změny a označovat rizikové nebo konfliktní úpravy ještě předtím, než dosáhnou základní úrovně. Pomáhá také analyzovat data o stavu a odhalovat vzorce, které by lidští recenzenti mohli přehlédnout napříč rozsáhlými a rychle se vyvíjejícími kódovými bázemi.

Ano. Umělá inteligence dokáže automatizovat rutinní úkoly, jako je verzování, označování verzí a generování auditních zpráv. V kombinaci s nástroji, jako je Ansible, dokáže detekovat odchylky v konfiguraci a samoopravit prostředí, zatímco lidé stále schvalují hlavní základní změny a zásady.

Shrňte tento příspěvek takto: