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.[1]
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í.[2] 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).[3]
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).[4] 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
V tomto článku byl použit překlad textu z článku Cleanroom software engineering na anglické Wikipedii.
- ↑ MILLS, H.; M. Dyer; R. Linger. Cleanroom Software Engineering. IEEE Software. September 1987, roč. 4, čís. 5, s. 19–25. Dostupné online. doi:10.1109/MS.1987.231413. S2CID 383170.
- ↑ FOREMAN, John, 2005. Cleanroom Software Engineering Reference . Software Engineering Institute (SEI), 2005 . Dostupné online.
- ↑ Guy H. Broadfoot and P. J. Hopcroft, 2005. Introducing formal methods into industry using Cleanroom and CSP.Chybí název periodika! Dedicated Systems e-Magazine. S2CID 14066854.Chybí povinný parametr: V šabloně
{{Citace periodika}}
je nutno určit zdrojové "periodikum
" odkazu!
- ↑ LINGER, R. Cleanroom Process Model. IEEE Software. April 1994, roč. 11, čís. 2, s. 50–58. doi:10.1109/52.268956. S2CID 206447346.
Literatura
- STAVELY, Allan, 1999. Toward Zero-Defect Programming. : Addison-Wesley. Dostupné online.
- Stacy J. Prowell and Carmen J. Trammell and Richard C. Linger and Jesse H. Poore, 1999. Cleanroom Software Engineering: Technology and Process. : Addison-Wesley.
- Jesse H. Poore and Carmen J. Trammell, 1996. Cleanroom Software Engineering: A Reader. : NCC Blackwell.
Externí odkazy