Cleanroom development

V širokém světě Cleanroom development existuje velká rozmanitost přístupů, názorů a pohledů. Složitost tohoto tématu/jednotlivce/události vyvolala postupem času nekonečné diskuse a debaty, které se staly ústředním prvkem v různých oblastech poznání. Od svého vlivu na společnost až po vliv na populární kulturu, Cleanroom development upoutal pozornost vědců, odborníků i fanoušků. V tomto článku prozkoumáme některé z nejrelevantnějších a nejzajímavějších aspektů Cleanroom development a analyzujeme jeho důležitost a důsledky v různých kontextech.

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.

  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 . Software Engineering Institute (SEI), 2005 . 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

  • 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