Cleanroom development, cleanroom software engineering je proces vývoje softwaru, jehož cílem je tvorba softwaru s certifikovatelnou úrovní spolehlivosti. Jeho hlavními principy jsou vývoj softwaru založený na formálních metodách, inkrementální implementace se statistickou kontrolou kvality a statisticky spolehlivé testování.
Historie Cleanroom development vyvinul Harlan Mills a Alan Hevner s několika dalšími kolegy ve společnosti IBM.
Cleanroom development se začal používat v polovině 80. let 20. století. Ukázkové projekty pro armádní použití začaly na počátku 90. let 20. století. Nedávné práce zkoumaly spojení cleanroom developmentu s automatizovanou verifikací funkcionalit, které jsou popsány specifikacemi vyjádřenými v jazyce CSP (communicating sequential processes).
Filozofie Východiskem cleanroom development je zaměření na prevenci vad místo jejich odstraňování. Název „čistý prostor“ má evokovat čisté prostory používané v elektronickém průmyslu pro prevenci vad při výrobě polovodičů.
Hlavní principy Hlavními principy cleanroom developmentu jsou
Vývoj softwaru založený na formálních metodách Podpora softwarových nástrojů založená na určitém matematickém formalismu zahrnuje kontrolu modelů, procesní algebry a Petriho sítě. Jedním z prostředků pro popis a návrh softwarových produktů je Box Structure Development Method (BSDM). Verifikace, zda návrh správně implementuje specifikaci, se provádí prostřednictvím týmové kontroly, často s podporou softwarových nástrojů.
Inkrementální implementace se statistickým řízením kvality Cleanroom development využívá iterativní přístup, při kterém se produkt vyvíjí v přírůstcích, které postupně zvyšují implementovanou funkčnost. Kvalita každého přírůstku se měří podle předem stanovených standardů, aby se ověřilo, že proces vývoje probíhá přijatelně. Nesplnění standardů kvality vede k ukončení testování aktuálního přírůstku a návratu do fáze návrhu.
Statisticky spolehlivé testování Testování softwaru v cleanroom developmentu probíhá jako statistický pokus. Na základě formální specifikace je vybrána a otestována podmnožina vstupně/výstupních trajektorií softwaru. Toto vzorek pak je statisticky analyzovány pro získání odhadu spolehlivosti softwaru a úrovně spolehlivosti tohoto odhadu.
Odkazy
Reference
Literatura
Externí odkazy Software testing introduction
Kategorie:Kvalita softwaru Kategorie:Anglická slova a fráze