Přeskočit na obsah

Cleanroom development

Z Wikipedie, otevřené encyklopedie

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í.

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]

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

[editovat | editovat zdroj]

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.

V tomto článku byl použit překlad textu z článku Cleanroom software engineering na anglické Wikipedii.

  1. 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. 
  2. FOREMAN, John, 2005. Cleanroom Software Engineering Reference [online]. Software Engineering Institute (SEI), 2005 [cit. 2006-04-27]. Dostupné online. 
  3. 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. 
  4. LINGER, R. Cleanroom Process Model. IEEE Software. April 1994, roč. 11, čís. 2, s. 50–58. doi:10.1109/52.268956. S2CID 206447346. 

Literatura

[editovat | editovat zdroj]
  • STAVELY, Allan, 1999. Toward Zero-Defect Programming. [s.l.]: 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. [s.l.]: Addison-Wesley. 
  • Jesse H. Poore and Carmen J. Trammell, 1996. Cleanroom Software Engineering: A Reader. [s.l.]: NCC Blackwell. 

Externí odkazy

[editovat | editovat zdroj]