[Lecture] Kaidah Kualitas Perangkat Lunak

Kali ini kita akan coba untuk memahami

  • Pengertian dari perangkat lunak, kualitas perangkat lunak dan manajemen kualitas perangkat lunak
  • Perbedaan dari software error, faults dan failure
  • Penyebab dari error perangkat lunak (software error)
  • Perbedaan antara manajemen kualitas perangkat lunak dengan penjaminan mutu

“Dan.. ehem, ini dia..”

Definisi Perangkat Lunak menurut IEEE & ISO, merupakan gabungan dari program komputer (yang terdiri dari kode-kode tertentu), prosedur, dokumentasi dan data yang diperlukan untuk mengoperasikan sebuah sistem perangkat lunak. Keempat komponen ini penting untuk memastikan kualitas dari proses pengembangan perangkat lunak dan pemeliharannya.

Sehingga, sebuah perangkat lunak yang berkualitas dapat kita lihat dari:

  • Kualitas kode (penulisan kode, atribut, method yang dipakai dan lain-lain)
  • Kualitas prosedur (pemilihan algoritma)
  • Kualitas dokumentasi (kelengkapan dokumentasi)
  • Kualitas dari data perangkat lunak yang dibutuhkan (data pendukung)

Pada saat pengembangan perangkat lunak, kita akan dihadapkan dengan kemungkinan-kemungkinan yang bernama error, fault dan failure. Ketiganya dapat dibedakan sebagai berikut..

Error, adalah saat kita mengalami kesalahan secara grammatical pada kode yang sedang ditulis. Hal ini juga berlaku ketika kita mengalami kesalahan secara logis dalam mendeskripsikan kebutuhan klien. Error inilah yang kemudian akan mengakibatkan sebuah faults, dimana sebuah fungsional dari perangkat lunak berjalan tidak sesuai dengan sebagaimana seharusnya. Dan dari fault inilah kemudian akan muncul failure, akibat dari banyaknya fault yang tidak berhasil untuk ditangani. Error, fault dan failure inilah yang kemudian akan menyebabkan kualitas sebuah perangkat lunak menjadi buruk. Error sendiri dapat terjadi karena kesalahan pada salah satu dari empat komponen pembentuk perangkat lunak itu sendiri. Sedangkan untuk penyebab dari error pada perangkat lunak dapat terjadi karena beberapa hal, seperti

  1. Kesalahan dalam mendefinisikan kebutuhan
  2. Kegagalan komunikasi antara klien dengan pengembang
  3. Penyimpangan fungsionalitas yang disengaja dari kebutuhan perangkat lunak
  4. Error pada desain logic (arsitektur, analisa atau teknis)
  5. Error pada kode
  6. Dokumentasi dan koding yang tidak sesuai
  7. Proses pengujian yang singkat
  8. Error pada prosedur
  9. Error pada dokumentasi

Sehingga untuk kualitas perangkat lunak dapat diartikan sebagai suatu tingkat dimana sebuah sistem, komponen atau proses telah sesuai dengan spesifikasi kebutuhan dan kebutuhan user atau klien atau hasil yang diharapkan. Juga dapat diartikan sebagai kesesuaian antara (1) kebutuhan fungsionalitas dan performa yang sudah disebutkan (2) standard dokumentasi yang disebutkan dan (2) karakteristik implisit yang diharapkan oleh pengembang perangkat lunak profesional (Pressman, 2000).

Terakhir, yang dimaksud dengan manajemen kualitas perangkat lunak ini adalah serangkaian dari tindakan untuk memastikan bahwa proses pengembangan perangkat lunak atau pemeliharaan yang sesuai untuk menghasilkan kebutuhan fungsional teknis dan kebutuhan manajerial yang tetap sesuai dengan anggaran operasional maupun jadwal.

QC (Quality Control) vs QA (Quality Assurance)

QC = Serangkaian aktivitas yang dirancang untuk mengevaluasi kualitas dari sebuah produk dan terjadi sebelum sebuah produk dikirimkan kepada klien.

QA = Berbagai macam aktifitas yang dilakukan diseluruh tahapan pengembangan untuk mendeteksi kemungkinan error dan memperbaikinya lebih awal pada saat proses pengembangan.

Referensi:

Daniel Galin, Software Quality Assurance. Addison-Wesley, 2004

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s