Konfigurační management, jeho součásti a role ve vývoji software, základní postupy.

Konfigurační management, jeho součásti a role ve vývoji software, základní postupy.

Konfigurační management (SCM)

Proces identifikování a definování prvků systému

Řízení změn těchto prvků během životního cyklu

Zaznamenávání a oznamování stavu prvků a změn

Ověřování úplnosti a správnosti prvků

= jak vytvářet, sestavovat a vydávat product, identifikovat jeho části a verze a sledovat změny

Součásti SCM

atomický (dále nedělitený) z hlediska identifikace, změn

Jednoznačně identifikovatelný: typ, označení projektu, název, verze

Softwarová konfigurace = sestava prvků konfigurace rezprentující určitou podobu daného SW

Konzistentní konfigurace = konfigurace, jejíž prvky jsou navzájem bezrozpozné (lze přeložit)

Určení a správa konfigurace

Určení (identifikace) prvků systému, přiřazení zodpovědnosti za správu

Identifikace jednotlivých verzi prvků

Kontrolované uvolňování (release) produktu

Řízení změn produktu během jeho vývoje

Zjišťování stavu systému

Udržení informovanosti o změnách a stavu prvků

Zaznamenávání stavu prvků konfigurace a požadavků na změny

Poskytování informací o těchto stavech

Statistiky a analýzy (např. Dopad změny, vývoj oprav chyb, ... )

Určování postupů a nástrojů pro tvorbu spustitelné verze produktu

Ověřování úplnosti, konzistence a správnosti produktu

Koordinace spolupráce vývojářů při zpracování, zveřejňování a sestavování změn

Role ve správě změn: Change Control Board

Skupina členů projektu, která má zodpovědnost za změnové řízení

Identifikace konfigurace – stanovení výchozího bodu (baseline verze), známá kvalita (seznam bugů dané konfigurace => kompletně otestované), opakovatelná

Řízení konfigurace – rozhodování o způsobu změny konfigurace a koordinace změny konfigurace po schválení změny změnovým managementem => změnu mgmt schválí, chng. mgmt ji zavádí)

Sledování stavu konfigurace – dokumentování stavu konfigurace každého vydání a změn konfigurace mezi vydáními

Auditování konfigurace – ověření, že nový výchozí bod implementuje všechny plánované a svhálené změny, že nová verze je kompletní, a že dodávka je kompletní, dokumentace ...)

Konfigurační management

„Proces identifikování a definování prvků systému, řízení změn těchto prvků během životního cyklu, zaznamenávání a oznamování stavu prvků a změn, a ověřování úplnosti a správnosti prvků.“ (IEEE)

= jak vytvářet, sestavovat a vydávat produkt, identifikovat jeho části a verze, a sledovat změny

Administrační a manažerský aspekt Softwarového procesu

konstituující složka systému (konfigurace se sestává z prvků konfigurace)

jsou atomické z hlediska změn a označování verzí, jednoznačně identifikovatelné

př.: dokument, zdrojový soubor, knihovna, skript, spustitelný soubor, testovací data, …

Je spravován SCM - ví se o jeho existenci, vlastníkovi, změnách, umístění v produktu…

Je atomický z hlediska identifikace, změn

Jednoznačně identifikovatelný - např. MSW/WS/IFE/SD/01.2

(typ prvku, označení projektu, název prvku, identifikátor verze…)

SW konfigurace – souhrn prvků konfigurace reprezentující určitou podobu daného SW systému

V konfiguraci musí být vše, co je potřebné k jednoznačnému opakovatelnému vytvoření příslušné verze produktu (včetně překladačů, build scriptů, inicializačních dat, dokumentace)

Konzistentní konfigurace – konfigurace, jejíž prvky jsou navzájem bezrozporné (tj. zdrojové soubory lze přeložit, knihovny přilinkovat, …)

Určení a správa konfigurace

určení (identifikace) prvků systému, přiřazení zodpovědnosti za správu

identifikace jednotlivých verzí prvků

kontrolované uvolňování (release) produktu

řízení změn produktu během jeho vývoje

Zjišťování stavu systému

udržení informovanosti o změnách a stavu prvků

zaznamenávání stavu prvků konfigurace a požadavků na změny

poskytování informací o těchto stavech

statistiky a analýzy (např. dopad změny, vývoj oprav chyb)

určování postupů a nástrojů pro tvorbu spustitelné verze produktu

ověřování úplnosti, konzistence a správnosti produktu

koordinace spolupráce vývojářů při zpracování, zveřejňování a sestavení změn

Role ve správě změn

Skupina členů projektu, která má zodpovědnost za změnové řízení

Vyhodnocování a schvalování hlášení problémů

Rozhodování o požadavcích na změny

Sledování hlášení a požadavků při jejich zpracování

Složení: jedinec - vývojář, QA osoba; tým - technické i manažerské role

Identifikace konfigurace: stanovení výchozího bodu (baseline, třeba každá major verze), známá kvalita (např. seznam bugů dané konfigurace, kompletní testování před stanovením výchozího bodu), kompletně opakovatelná

Řízení konfigurace: rozhodování o způsobu změny konfigurace a koordinace změny konfigurace po schválení změny změnovým managementem (zm. mgmt schválí, chg. mgmt zavádí)

Sledování stavu konfigurace: dokumentování stavu konfigurace každého vydání a změn konfigurace mezi vydáními (průběh změn mezi jednotlivými výchozími body)

Auditování konfigurace: ověření, že nový výchozí bod implementuje všechny plánované a schválené změny, že nová verze je kompletní, a že dodávka je kompletní vč. právních opatření, dokumentace a dat.

! Role konfigurace ve vývoji vychází z postupů nebo naopak

ITIL: Konfigurační management IT infrastruktury podniku

zaznamenávání informačních aktiv podniku, nastavení organizace a jejích služeb

poskytování přesných informací o nastavení procesů a jejich dokumentace,

ověření konfiguračních záznamů oproti skutečnosti a jejich sladění.

Standardů pro Configuration management existuje poměrně velké množství. Drtivá většina standardů je založena na metodice ITIL. Příklady některých standardů jsou: IEEE, ISO, ANSI, NATO standards.
