Ing. Vlastimil Nešetřil
ANF DATA, spol. s r. o. (člen skupiny SIEMENS)
Obsah
Předmluva
Postupový model pro vývoj systémů
Dostupnost metody SEM pro externí společnosti
Fázová organizace projektu a průběhové modely dle metody
SEM
Fáze projektu
Rámcové fáze
Prováděcí fáze
Milníky
Průběhové modely
Vodopádový model
Prototyping
Spirálový model
Evoluční model
Model výstavbových stupně
Důležité odkazy
Vysvětlení pojmů a zkratek v textu
Seznam literatury
SystemEntwicklungsMethode (zkráceně SEM) - metoda vývoje systémů byla navržena v roce 1983 a závazně zavedena ve společnosti PSE (Programm- und Systementwicklung) SIEMENS AG Österreich jako obecný postupový model pro realizaci záměrů formou projektu. Oblast použití této metody se vztahovala na projekty vývoje softwaru, firmwaru a elektronického hardwaru.
V roce 1993 posloužila metoda SEM jako báze pro certifikaci systému řízení jakosti společnosti PSE SIEMENS AG Österreich podle ÖNORM EN ISO 9001. Výsledek certifikace označil metodu SEM jako "robustní, všeobsažný postupový model". Zároveň však byla doporučena některá zlepšení, neboť právě kvůli všeobecné platnosti metody SEM se začal podstatně zvětšovat rozdíl mezi postupovým modelem a jednotlivými projekty, které byly podle něj prováděny.
To vše vedlo k přepracování stávajícího postupového modelu a výstavbě
nové dokumentace. V roce 1994 byly vytvořeny speciální varianty metody
SEM (viz obrázek 1), které zohledňují odlišnosti oblastí používání,
odlišnosti různých tříd produktů apod. Jako báze pro tyto varianty byl
vzat stávající postupový model metody SEM, který vytváří povinné rámce
(tzv. regule) pro jednotlivé varianty. Samotné konkrétní projekty nejsou
tedy dnes ve společnosti PSE (a v jejích dceřinných společnostech,
kterou je i ANF DATA) prováděny dle metody SEM, nýbrž vždy podle některé
její speciální varianty.
Obrázek 1: Speciální varianty metody SEM.
¶ stdSEM - obecná/standardní varianta, která je volena v případech,
kdy nelze nasadit žádnou jinou variantu (ooSEM, eeSEM nebo SEM - HL). Typické projekty pro stdSEM jsou:
- projekty vývoje softwaru,
- projekty údržby softwaru,
- "ne-softwarové" projekty (např. consulting, služby, návrhy
organizačních řešení,...),
¶ ooSEM - model pro vývoj systémů dle objektově orientovaných
metod,
¶ eeSEM - model pro vývoj elektronických systémů a firmwaru,
¶ SEM-HL - model pro vývoj a údržbu softwaru v úseku HL Siemens
AG Berlin / München.
Postupový model pro vývoj systémů
Postupový model metody SEM je abstraktní model zobrazující postup pro
vývoj definovaných záměru formou projektu a stanovující parametry, které
jsou závazné pro všechny speciální verze metody SEM (stdSEM, eeSEM, ...).
Konkrétně jde o určení:
- jednotné organizace provádění projektu skládající se z jednotlivých
fází
- jednotně požadovaných povinných výstupů z každé fáze
- jednotně požadovaných povinných milníků v každé fázi
- jednotných oblastí činností při provádění vývojových procesů
- základních požadavků a opatření vzhledem k specifikaci projektu,
plánování projektu, řízení projektu, kontrole projektu, zajištění jakosti
v projektu, konfiguračnímu managementu,
dokumentaci a znovupoužití.
Současná verze metody SEM je konformní s normou ÖNORM EN ISO 9001, zohledňuje i všechna doporučení normy ÖNORM EN ISO 9000 - 3 a doporučení odpovídajících norem IEEE/ANSI a je pevně zakotvena v systému řízení jakosti společnosti PSE SIEMENS AG Österreich.
Dostupnost metody SEM pro externí společnosti
Metoda SEM, resp. její jednotlivé varianty byly aktivně uvedeny na trh před několika lety. Jejich cena se v současné době pohybuje od 5.000 do 10.000 ATS za programátora/pracovní místo, a to dle velikosti organizace (počtu licencí), množstevní slevy jsou udělovány nad 100 licencí.
V případě skutečného zájmu o nákup metody existují dva základní způsoby
realizace prodeje:
- prodej je oficiálně realizován pod označením "Poradenství a školení",
tzn. zájemce nekupuje přímo metodu SEM, resp. některou její speciální variantu,
nýbrž poradenské
služby/consulting, s cílem etablovat a zaškolit zaměstnance
do vlastní metody
- v případě, že je zájemce pro PSE zvláště zajímavý, je prodej realizován
dle zvláštních pravidel (pojem tzv. "spřáteleného podnikání").
Fázová organizace projektu a průběhové modely dle metody SEM
Metoda SEM definuje závazné fáze projektu, společně s jejich příslušnými cíly, vstupy, činnostmi, výstupy a milníky:
INICIALIZACE
DEFINICE
NÁVRH
REALIZACE
NASAZENÍ
UKONČENÍ
Obrázek 2 znázorňuje životní cyklus dle postupového modelu metody SEM:
Obrázek 2: Fázová organizace projektu dle metody SEM.
Rámcovými fázemi jsou fáze INICIALIZACE a UKONČENÍ. Těmito fázemi musí proběhnout všechny záměry bez ohledu na to, zda budou v konečném důsledku realizovány formou projektu, vyjma případů, kdy se jedná o novou verzi jednoho produktu bez závažnějších změn rámcových podmínek (viz níže popis evolučního modelu). Pokud ve fázi INICIALIZACE dojde k negativnímu rozhodnutí o realizaci záměru formou projektu, musí proběhnout fáze UKONČENÍ (alespoň stručně zdůvodnění negativního rozhodnutí).
Fáze INICIALIZACE
Fáze INICIALIZACE má za cíl definitivně rozhodnout o provedení plánovaného
záměru formou projektu. Důležitými výstupy této fáze jsou:
- návrh řešení: dokument představující v hrubých rysech plánovaný
výsledek projektu a plánovanou cestu řešení,
- hrubý plán projektu: dokument, který definuje podstatné znaky
projektu z pohledu prvních analýz (odpovědnosti v projektu, zvolený průběhový
model, nákladové a termínové rámce, …),
- hrubý plán zajištění jakosti: dokument popisující z pohledu
prvních analýz podstatné cíle v oblasti zajištění jakosti projektu,
- závěrečné rozhodnutí o realizaci projektu: dokument obsahující
závěrečné kladné nebo záporné rozhodnutí o realizaci záměru formou projektu.
Fáze UKONČENÍ
Fáze UKONČENÍ má za cíl dokumentovat, archivovat a vyhodnotit zkušenosti z projektu a uzavřít tím provedené nebo přerušené projekty nebo záměry s negativním rozhodnutím ve fázi INICIALIZACE.
Prováděcími fázemi se rozumí fáze DEFINICE, NÁVRH, REALIZACE, NASAZENÍ. Všechny záměry, u kterých bude na konci fáze INICIALIZACE rozhodnuto, že budou realizovány formou projektu, musí proběhnout těmito prováděcími fázemi, a to dle některého z pěti průběhových modelů (pokud nedojde k přerušení projektu).
Fáze DEFINICE
Fáze DEFINICE má za cíl stanovit cíle projektu, definovat produkt a definovat průběh projektu. Definice požadavků na produkt a definice průběhu projektu musí být co možná nejpřesnější. Požadavky na produkt musí být podrobeny analýze, která musí prokázat, že jsou splnitelné, úplné a vzájemně si neodporují. Na základě analýzy požadavků vzniká tzv. specifikace požadavků.
Specifikace požadavků je centrálním dokumentem projektu, ve kterém
jsou závazně určeny funkce a podmínky nasazení produktu. Ve specifikaci
požadavků jsou jednotlivé požadavky rozděleny do dvou základních skupin:
- požadavky vztahující se k produktu - funkce, chování, externí rozhraní,
jakost, ...
- požadavky vztahující se k projektu - provádění projektu, termíny,
podmínky realizace,
- ...
Po odsouhlasení zadavatelem slouží specifikace požadavků jako základ pro vývoj a odevzdání produktu.
Na základě specifikace požadavků ve fázi DEFINICE dále
vznikají:
- plán projektu: dokument sloužící k plánování a řízení průběhu
projektu,
- CM-plán: dokument, který reguluje v rámci projektu veškeré
aspekty týkající se managementu konfigurací,
- plán pro vícenásobné použití: dokument, který v projektu reguluje
zacházení s termíny znovupoužití a znovupoužitelnost,
- plán zajištění jakosti: dokument obsahující všechna plánovaná
opatření k zajištění jakosti v projektu a metodická a jiná jakostně-relevantní
ustanovení.
Podstatným a významným opatřením k zajištění jakosti v této fázi je povinné provedení review dokumentů specifikace požadavků, plán projektu a plán zajištění jakosti.
Fáze NÁVRH
Fáze NÁVRH má za cíl stanovit řešení a definovat typ a průběh zkoušek a testů produktu. V případě řešení, které bude realizováno nasazením již vytvořených nebo nakoupených komponent, probíhá v této fázi jejich výběr a validace. V případě řešení, které bude realizováno vývojem nových komponent, je třeba postupovat od abstraktního návrhu nebo návrhu architektury k detailnímu zpracování konkrétního návrhu.
Výstupy fáze NÁVRH jsou:
- specifikace řešení: dokument, který definitivně určuje řešení,
- testovací plán: dokument popisující všechna plánovaná testovací
opatření,
- CM-systém: realizovaná forma procesů popsaných v CM-plánu.
Podstatným a významným opatřením k zajištění jakosti v této fázi je povinné provedení review dokumentů specifikace řešení a testovací plán.
Fáze REALIZACE
Fáze REALIZACE má za cíl vytvořit, otestovat a odevzdat řešení. V případě řešení, které bude realizováno nasazením již vytvořených nebo nakoupených komponent, jsou tyto ve fázi REALIZACE přizpůsobeny, parametrizovány a zakomponovány do výsledného produktu. V případě řešení, které bude realizováno vývojem produktu jsou specifikované komponenty vyvinuty, přezkoušeny a integrovány. V obou případech následuje před odevzdáním produktu provedení systémového testu. Podstatným a významným opatřeními k zajištění jakosti v této fázi je povinné provedení review komponent a provedení testů v různých integračních stupních.
Fáze NASAZENÍ
Fáze NASAZENÍ má za cíl zajistit nasazení produktu. Dalšími důležitými tématy jsou v tomto ohledu poskytování záruk a podpora při nasazení. Podstatným a významným opatřením k zajištění jakosti je v této fázi tzv. statistické sledování (zejména co se týče výskytu chyb a s nimi spojených opatření k nápravě).
Milník je pojem označující "mimořádnou událost" v dění projektu, často
spojenou s dosažením významných výstupů. Milník však může označovat
pouze začátek a konec určitého úseku projektu. Milníků je často využíváno
při provádění tzv. "analýz trendů" v rámci řízení a kontroly projektu.
Při plánování projektu jsou milníkům přiřazovány termíny kontrol, milníku
je dosaženo, pokud jsou při dané kontrole předloženy všechny s milníkem
spojené výstupy.
Průběhové modely přesně definují průběh prováděcích fází (rámcové fáze zůstávají vždy stejné). Metoda SEM definuje pět různých forem průběhových modelů, a to tři elementární formy - vodopádový model, prototyping a spirálový model a dvě složené formy - evoluční model a model výstavbových stupňů. Průběhové modely jsou prakticky nezávislé na jednotlivých SEM - variantách, u některých variant je ovšem použití určitého průběhového modelu přednostně doporučeno.
Vodopádový model je klasický fázový model využívaný při vývoji softwaru. Fáze v tomto modelu probíhají sekvenčně, tzn. že konkrétní fáze může začít teprve potom, co jsou předloženy všechny definované výstupy fáze předchozí (z toho také pochází označení vodopádový - každá fáze představuje jakousi kaskádu vodopádu). Vodopádový model je vhodný pro různé typy krátkodobých a střednědobých projektů, projekty prováděné dle vodopádového modelu jsou velmi dobře plánovatelné. Vodopádový model se také vyznačuje malými projektovými riziky a relativně vysokou jistotou/bezpečností a je doporučován především pro zakázky s pevnou cenou. Vodopádový model je zjednodušeně představen na obrázku 3.
Obrázek 3: Vodopádový model.
Prototyping je dle metody SEM představován ve dvou formách:
- jako metodika, která je nasazována v jednotlivých
fázích jednotlivých průběhových modelů, jejímž cílem je minimalizovat rizika
projektu skrze praktické zkušenosti s prototypem,
- jako svébytný druh průběhového modelu, který je nasazován ve fázích
NÁVRH a REALIZACE.
Fáze NÁVRH a REALIZACE jsou při prototypingu prováděny za využití
odpovídajícího vývojového prostředí prototypu bez explicitního dělení fází
do mnoha smyček. Tímto způsobem je postaveno jakési "lešení" a jsou
modelovány a ihned přezkoumávány vlastnosti prototypu.
Projekty prováděné pomocí prototypingu se špatně plánují. Větší projekty,
ve kterých nejsou již na počátku jasné požadavky (nebo se v průběhu projektu
často mění) by měly být z důvodu minimalizace rizik plánování prováděny
pomocí spirálového modelu. Prototyping je zjednodušeně představen na obrázku
4.
Obrázek 4: Prototyping.
Výhoda spirálového modelu spočívá v silnějším zdůraznění rozdělení životního cyklu projektu do vyhodnotitelných kroků, což umožňuje zřetelně snižovat riziko výskytu chyb a tím náklady na jejich odstraňování zejména ve velkých a dlouhodobých projektech. Pro malé projekty není spirálový model vhodný, neboť v každé fázi vyžaduje vyšší náklady na určování cílů, evaluaci, vývoj a následné plánování. Spirálový model je zjednodušeně představen na obrázku 5.
Obrázek 5: Spirálový model.
Metoda SEM definuje dvě základní oblasti použití evolučního modelu:
- při plánovaném vývoji nových verzí původního produktu, ve kterých
jsou zohledňovány přání a požadavky uživatelů na změnu původních nebo vytvoření
nových funkcí,
- při provádění údržby produktu, což v podstatě představuje určitou
sumu činností na stávajícím produktu, které jsou prováděny s cílem
odstranění chybných chování produktu nebo
provedení změn funkcí či struktury
produktu.
Projekty prováděné pomocí evolučního modelu jsou dobře plánovatelné, při plánování vývoje nových verzí by však měl být zachován stejný průběhový model, který byl použit při vývoji verze první (např. byla-li první verze vyvinuta dle vodopádového modelu, měly by být vyvíjeny dle tohoto modelu i verze následující). Při vývoji nových verzí nejsou povinné rámcové fáze projektu (INICIALIZACE a UKONČENÍ), neboť se obecně nejedná o nové projekty. Evoluční model je zjednodušeně představen na obrázku 6.
Obrázek 6: Evoluční model.
Pro model výstavbových stupňů je typické rozdělení celkového řešení
do řady paralelně běžících částečných projektů. Tyto projekty probíhají
dle jednotné specifikace požadavků a jednotného návrhu systému a vedou
pokaždé k jednomu výstavbovému stupni jednoho produktu (např. od jeho nejjednodušší
verze po verzi nejsložitější). Tento model je volen z různých důvodu, např.:
- rozpočtové restrikce požadují rozdělení do více let,
- rozdílné skupiny uživatelů vyžadují rozdílné termíny nasazení produktu,
- s produktem (s jeho první minimální verzí) je nutné co nejrychleji
přijít na trh,
- ...
Vývoj jednotlivých stavebních stupů je obecně prováděn dle vodopádového modelu, mohl by být využit i model spirálový. Použití prototypingu se nedoporučuje. Model výstavbových stupňů je zjednodušeně představen na obrázku 7.
Obrázek 7: Model výstavbových stupňů.
Internetové stránky společnosti ANF DATA, spol. s r.o. - www.anfdata.cz
Intrernetové stránky společnosti PSE SIEMENS AG Österreich - www.pse.siemens.at
Vysvětlení pojmů a zkratek v textu
Analýza rizik | Systematické zkoumání potenciálních rizik v projektu, které se týká jednak interních rizik v projektu (technologická, organizační, termínová, ...) a jednak externích rizik (hospodářská, smluvní, ...). |
Evaluace | Systém hodnocení, jehož výsledkem je vytvoření tzv. evaluační zprávy. |
Evaluační zpráva | Hodnotící zpráva o systému, která popisuje, jak byly splněny systémové záměry, identifikuje zbylé problémy a je určena pro pomoc dalšímu vývoji. |
Firmware | Uspořádaná množina instrukcí a dat uložených funkčně nezávisle na hlavní paměti, obvykle v paměti ROM. |
Hardware | Fyzické součásti systému zpracování informací nebo jejich část, např. počítače nebo periferní zařízení. |
Kontrola projektu | Činnosti týkající se sledování postupu projektu, jeho zaměření, kvality a využití prostředků v porovnání s plány projektu |
Management konfigurací | Společný pojem pro všechny úkoly, které souvisejí s řízenou správou všech v průběhu projektu vznikajících výsledků. |
Orgware | Organizační vybavení a postupy. |
Plánování projektu | Činnosti spojené s vymezením složek, termínů, prostředků a pracovních postupů při realizaci projektu |
Projekt | Cílevědomá činnost s předem popsanými objekty, veličinami a trváním. |
Projektový management | Činnosti týkající se plánování a řízení projektu. |
Prototyp | Řešení vytvořené s relativně malými náklady (možná realizace softwaru, hardwaru, dokumentu), které umožňuje prakticky ukázat a vyzkoušet jeho vlastnosti. |
PSE SIEMENS AG Österreich | Programm- und Systementwicklung SIEMENS Aktion Gesellschaft Österreich |
Software | Programy, procedury, pravidla a příslušná dokumentace systému zpracování dat nebo jejich část.. |
Specifikace projektu | Určení cílů, požadavků, rozsahu a omezení projektu a jeho vztahu k ostatním projektům |
Review | Systematické, kritické, transparentní a dokumentované přezkoumávání výsledků (dokument, plán, ...) s cílem objevení existujících chyb. |
Systementwicklungsmethode - Vorgehensmodell | Metoda vývoje systémů - postupový model |
Systémový test | Test sloužící k verifikaci ve specifikaci požadavků specifikovaného celkového chování systému. |
Validace | Metoda kontroly vstupních údajů použitá pro detekcc nepřesných, neúplných nebo nesprávných vstupních údajů.. |
Verifikace | Proces srovnávání dvou úrovní systémových specifikací, jak si navzájem odpovídají, např. srovnávání zdrojového programu s cílovým programem. |
Záměr | Plánovaný úkol, který může (ale nemusí) být řešen formou projektu. |
Znovupoužitelnost | Vlastnost objektu (dokumentu, programu, konceptu), objekty s touto vlastností se vyznačují schopností být znovu použity v jiném okolí. |
Znovupoužití | Nasazení již existujících objektů (dokumenty, programy, koncepty) do jiného okolí. |
[1] FACHKREIS FÜR QUALITÄTSMANAGEMENT IN DER PSE: SEM-VM Vorgehensmodell
für Systementwicklungen. SIEMENS AG Österreich, Programm- und Systementwicklung,
Wien. April 1996. Version 1.0
[2] KAINDL; TIPPOLD; LUTZ: Methodik der Softwerentwicklung. Vieweg-Verlag.
ISBN 3-528-05651-7
[3] MINIHOFER, O.; HAVLÍČEK, M.; STARÝ, J.: Anglicko - český slovník
zpracování dat, telekomunikace, kancelářské systémy. LEDA-Ercos, Praha.
1999. Vydání první.
Kontakt na autora:
E-mail:
Vlastimil Nešetřil
Zveřejněno: Červenec 2001