Konfigurační management, jeho součásti a role ve vývoji software, základní postupy.
Wednesday, May 29, 2013
4:57 PM
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
Prvek konfigurace = zdrojový kód, document, model, knihovna, spustitelný soubor, testovací data..
V SCM je prvek
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)
Role SCM ve vývoji software
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, ... )
Správa sestavení (build) a koordinace prací
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
Prvek konfigurace
Configurable Item (CI)
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…)
Konfigurace
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, …)
Role ve vývoji SW
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)
Správa sestavení (build) a koordinace prací
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
Change Control Board
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í
Koordinace s vedením projektu
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,
poskytovat základ pro Incident Management, Problem Management, Change management a Release Management
ověření konfiguračních záznamů oproti skutečnosti a jejich sladění.
Standardy
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.
From <[link]> 