Cleanroom Software Engineering

Cleanroom Software Engineering

 

Cleanroom Software Engineering

Pendekatan Cleanroom
Cleanroom software engineering merupakan sebuah pendekatan untuk memenuhi kebutuhan akan software yang bebas kesalahan sejak masih dalam tahap pengembangan. Alih-alih menggunakan siklus klasik (analisis, desain, coding, pengetesan, dan proses debugging), pendekatan cleanroom menggunakan sudut pandang yang berbeda. Filosofinya adalah menghilangkan proses debugging yang memerlukan biaya cukup besar dengan meningkatan kebenaran penulisan kode sejak awal dan memverifikasinya kebenarannya sebelum pengetesan dilakukan. Model prosesnya ditunjang dengan sertifikasi kualitas statistikal peningkatan jumlah baris kode saat diakumulasikan dengan sistem.
Meskipun di awal digunakannya pendekatan ini pada rekayasa perangkat lunak menunjukkan hasil yang menjanjikan, pendekatan tersebut belum digunakan secara luas. Henderson [HEN95] mengemukakan tiga alasan yang mungkin:
1. Kepercayaan bahwa metodologi cleanroom terlalu teoritis, terlalu matematis, dan terlalu radikal
2. Tidak membutuhkan unit pengetesan oleh pengembang tetapi menggantinya dengan verifikasi kebenaran dan quality control statistikal—konsep yang sungguh asing bagi pengembangan software saat ini
3. Industri pengembangan software belum siap untuk mengaplikasikan teknik ini. Kematangan industri pengembangan software sangat dibutuhkan karena pada pendekatan ini, aplikasi proses terdefinisi banyak sekali digunakan dalam semua fase siklus hidup. Suatu hal yang sangat sulit dilakukan mengingat sebagian besar pengembang masih beroperasi pada level ad hoc.


Model Proses Cleanroom
Pendekatan cleanroom menggunakan incremental software model versi khusus. Pipeline software increment dikembangkan oleh tim kecil perekayasaan perangkat lunak secara independen. Setelah setiap increment tersertifikasi, kemudian semua increment tersebut digabungkan. Urutan kerja cleanroom untuk setiap increment diilustrasikan dalam gambar 1. Semua requirement sistem dikembangkan dengan metode perekayasaan sistem (system engineering methods). Ketika fungsionalitas telah diberikan, pipeline increment cleanroom dimulai.