Wednesday, 29 May 2013

INTEGRATING QUALITY ACTIVITIES IN THE PROJECT LIFE CYCLE

Pada materi kali ini akan ditujukan untuk berbagai model pengembangan perangkat lunak yang telah digunakan saat ini. Selain itu akan mengulas mengenai tujuan kegiatan penjaminan kualitas dari sebuah perangkat lunak yang dilakukan sepanjang siklus proyek, integrasi dalam proses pengembangan, dan factor – factor apa saja yang dipertimbangkan sebelum pengimplementasian. Sehingga pada akhirnya nanti kita akan mengetahui pertimbangan apa saja yang mempengaruhi intensitas dari penerapan kegiatan jaminan kualitas, mengetahui aspek yang berbeda dari kegiatan verifikasi, validasi, dan kualifikasi yang terkait dengan kegiatan penjaminan kualitas.

Metodologi Klasik dan Pengembangan Perangkat Lunak 

Empat model dari proses pengembangan perangkat lunak antara lain seperti :
1.       Model The Software Development Life Cycle (SDLC)

Model klasik yang masih berlaku sampai sekarang ini merupakan model yang memberikan deskripsi proses paling komprehensif. Tujuh proses yang ada pada model SDLC ini adalah :

 
  1. Requirements Definition (Pendefinisian Kebutuhan), yaitu pada bagian ini pelanggan harus menentukan kebutuhan yang mereka inginkan.
  2. Analysis (Analisis), yaitu untuk menganalisis implikasi kebutuhan guna pembentukan desain awal sistem perangkat lunak. 
  3. Design (Desain), dimana pada tahapan ini melibatkan input, output, dan prosedur pengolahan, termasuk struktur data dan database, struktur perangkat lunak, dan lain-lain. 
  4. Coding (Koding), yaitu dimana pada tahap ini desain akan diterjemahkan ke dalam kode. Koding melibatkan aktifitas penjaminan kualitas seperti inspeksi, unit tes, dan integrasi tes.
  5. System tests (Pengujian Sistem), yaitu proses yang dilakukan setelah koding selesai. Tujuan utama dari pengujian sistem adalah untuk mengungkap seberapa besar kesalahan atau error yang mungkin terjadi dan mencocokkan seberapa besar tingkat kualitas dari sebuah perangkat lunak. 
  6. Installation and Conversion (Instalasi dan Konversi), yaitu setelah sistem perangkat lunak tersebut telah disetujui, maka sistem akan terinstal sebagai firmware , yaitu komponen utama dari sistem informasi. 
  7. Operation and Maintenance (Pengoperasian dan Perawatan Rutin), proses ini dapat dilakukan setelah tahapan instalasi dan konversi telah selesai dilaksanakan. Pemeliharaan dilakukan agar kualitas dari perangkat lunak tetap terjaga yang meliputi korektif (memperbaiki kesalahan perangkat lunak yang diidentifikasi oleh pengguna), adaptif (menggunakan fitur perangkat lunak yang ada untuk memenuhi kebutuhan yang baru saja muncul), dan yang terakhir adalah perfektif (menambahkan fitur baru untuk meningkatan kinerja dari perangkat lunak)

1.       Model prototyping

Model ini didasarkan pada penggantian satu atau lebih model SDLC, di mana prototype perangkat lunak digunakan untuk mengkomunikasikan antara pengembang dan pengguna dan pelanggan yang disampaikan kepada perwakilan pengguna untuk evaluasi. Proses evolusi ini berlanjut sampai proyek telah selesai atau sampai pada tahapan yang diinginkan.

Keuntungan dari model prototyping antara lain :

1)      Proses pengembangan lebih pendek
2)      Penghematan substansial pengembangan sumber daya
3)      Lebih sesuai dengan kebutuhan pelanggan dan mengurangi resiko kegagalan proyek
4)      Pengguna akan lebih mudah dan cepat memahami sistem yang baru

Kekurangan dari model prototyping antara lain :
1)    Berkurangnya fleksibilitas dan hilangnya kemampuan beradaptasi terhadap perubahan yang ada
2)    Mengurangi persiapan untuk kegagalan yang tidak terduga

2.       Model spiral
Model spiral merupakan metodologi yang digunakan untuk memastikan kinerja yang efektif pada masing – masing tahapan pada model SDLC. Prosesnya berulang-ulang yang mengintegrasikan komentar pelanggan dan perubahan kebutuhan, analisis resiko dan resolusi, serta kegiatan perencanaan rekayasa sistem perangkat lunak


3.       Model yang berorientasi objek
Model ini akan menggabungkan kembali skala besar sebuah perangkat lunak dengan mengintegrasikan modul yang dapat digunakan kembali ke dalam sistem perangkat lunak yang baru.

Keuntungan yang dapat diperoleh dengan menggunakan model yang berorientasi objek antara lain :
1)  Dari segi ekonomi, yaitu biaya mengintegrasikan komponen perangkat lunak yang digunakan kembali jauh lebih rendah daripada biaya pengembangan komponen baru
2)  Dari segi peningkatan kualitas, yaitu komponen perangkat lunak yang digunakan diharapkan lebih sedikit errornya daripada komponen perangkat lunak yang baru dikarenakan deteksi kesalahan telah ditemukan oleh pengguna sebelumnya
3)     Waktu pengembangan yang lebih cepat 

Factor yang mempengaruhi intensitas aktifitas penjaminan kualitas dalam proses pengembangan
Terdapat dua factor yang mempangaruhi intensitas keberlangsungan aktifitas selama pengembangan proyek antara lain :

Factor Proyek
1)      Cakupan atau skala proyek
2)      Kompleksitas teknis dan kesulitan
3)      Tingkat komponen perangkat lunak yang dapat digunakan kembali
4)      Kegagalan proyek

Factor Tim
1)      Anggota tim yang professional
2)      Tim yang baru dengan tim yang sudah berpengalaman tinggi di area proyek
3)      Ketersediaan staf anggota yang professional sehingga dapat mendukung tim
4)      Keakraban dengan anggota tim

VERIFIKASI, VALIDASI, DAN KUALIFIKASI

VERIFIKASI yaitu proses evaluasi sistem atau komponen untuk mengetahui konsistensi produk yang telah dikembangkan dengan produk yang dikembangkan pada tahap sebelumnya
VALIDASI yaitu proses evaluasi sistem atau komponen untuk menentukan apakah telah memenuhi kebutuhan yang telah ditetapkan pada awal proyek
KUALIFIKASI yaitu proses untuk mengetahui kecocokan suatu sistem atau komponen untuk penggunaan operasional

Pendeskripsian model SQA untuk menghapus error dan mengefektifkan biaya dirancang untuk :
1)      Mengefektifkan jumlah dari error
2)      Total biaya yang digunakan untuk mengurangi error

Model ini didasarkan pada asumsi sebagai berikut :
1)      Proses pengembangan linier dan sekuensial (Model Waterfall)
2)      Jumlah cacat atau kesalahan baru yang ditemukan pada tiap tahap pengembangan
3)      Berbagai aktifitas penjaminan kualitas yang berfungsi sebagai filter, untuk menghilangkan cacat
4)      Cacat atau kesalahan yang terjadi akibat tidak terdeteksi dari penjaminan kualitas yang dilakukan sebelumnya

Sumber : Daniel Galin, “Software Quality Assurance : From Theory to Implementation.” 2004.

1 comment: