9. Software Quality
9. Software Quality
Assurance
Assurance
9.1 Ruang Lingkup 9.2 Konsep Kualitas
9.2.1 Kualitas
9.2.2 Kontrol Kualitas 9.2.3 Jaminan Kualitas 9.2.4 Biaya Kualitas
9.3 Aktivitas SQA
9.4 Kajian Perangkat Lunak (Software Review) 9.5 Dampak Defects Software thd. Biaya
9.6 Kajian Teknik Formal (Formal Technical Review) 9.7 Review
9.7.1 Review Meeting 9.7.2 Laporan Review 9.7.3 Pedoman Review
9.8 Reliabilitas Perangkat Lunak
9.8.1 Reliabilitas (kehandalan)
9.8.2 Pengukuran Reliabilitas & Availabilitas
9.1 Ruang Lingkup
9.1 Ruang Lingkup
Tujuan utama dari rekayasa perangkat lunak adalah
Tujuan utama dari rekayasa perangkat lunak adalah
menghasilkan perangkat lunak yang berkualitas tinggi
menghasilkan perangkat lunak yang berkualitas tinggi
Jaminan kualitas perangkat lunak adalah
Jaminan kualitas perangkat lunak adalah
aktivitas
aktivitas
pelindung
pelindung
yang diaplikasikan pada
yang diaplikasikan pada
seluruh proses
seluruh proses
perangkat lunak, yang meliputi:
perangkat lunak, yang meliputi:
pendekatan pendekatan manajemenmanajemen kualitas kualitas teknologi rekayasa perangkat lunak yang efektif (teknologi rekayasa perangkat lunak yang efektif (metodemetode))
kajian teknik formalkajian teknik formal yang diaplikasikan pada keseluruhan proses yang diaplikasikan pada keseluruhan proses perangkat lunak
perangkat lunak
strategi pengujianstrategi pengujian multitiered multitiered
kontrol kontrol dokumentasidokumentasi perangkat lunak dan perubahan yang perangkat lunak dan perubahan yang dibuat untuknya
dibuat untuknya
prosedurprosedur untuk menjamin kesesuaian untuk menjamin kesesuaian dengan standar pengem- dengan standar pengem-bangan perangkat lunak
bangan perangkat lunak
9.2 Konsep Kualitas
9.2 Konsep Kualitas
9.2.1 Kualitas
9.2.1 Kualitas
Kualitas (menurut American Heritage Dictionary) adalah sebuah Kualitas (menurut American Heritage Dictionary) adalah sebuah
karakteristik atau atribut
karakteristik atau atribut dari sesuatu yang dapat diukur, dari sesuatu yang dapat diukur, dibandingkan dengan standar yang diketahui.
dibandingkan dengan standar yang diketahui.
Berdasarkan pada sifat pengkurannya, ada dua jenis kualitas yang Berdasarkan pada sifat pengkurannya, ada dua jenis kualitas yang ada, yaitu
ada, yaitu kualitas desainkualitas desain dan dan kualitas konformansi.kualitas konformansi.
1.
1. Kualitas desainKualitas desain mengacu pada karakteristik tertentu yang ditentukan mengacu pada karakteristik tertentu yang ditentukan oleh desainer terhadap item tertentu. Desain berkualitas bila produk oleh desainer terhadap item tertentu. Desain berkualitas bila produk yang dihasilkan sesuai dengan
yang dihasilkan sesuai dengan spesifikasi yang ditentukanspesifikasi yang ditentukan. . Kualitas desain mencakup syarat, spesifikasi dan desain sistem. Kualitas desain mencakup syarat, spesifikasi dan desain sistem.
2.
2. Kualitas konformansiKualitas konformansi adalah adalah tingkat spesifikasi desaintingkat spesifikasi desain yang yang terus terus diikuti selama pembuatan
diikuti selama pembuatan. Semakin tinggi tingkat konformansi, . Semakin tinggi tingkat konformansi, semakin tinggi tingkat kualitas konformasi.
semakin tinggi tingkat kualitas konformasi. Kualitas konformansi
Kualitas konformansi difokuskan pada implementasidifokuskan pada implementasi, jika , jika implementasi mengikuti desain, dan sistem yang dihasilkan implementasi mengikuti desain, dan sistem yang dihasilkan memenuhi persyaratan dan kinerja, maka kualitas konformasi memenuhi persyaratan dan kinerja, maka kualitas konformasi menjadi tinggi.
9.2.2 Kontrol Kualitas
9.2.2 Kontrol Kualitas
Kontrol kualitas merupakan
Kontrol kualitas merupakan
serangkaian
serangkaian
pemeriksaan, kajian, dan pengujian
pemeriksaan, kajian, dan pengujian
yang
yang
digunakan pada keseluruhan siklus
digunakan pada keseluruhan siklus
pengembangan untuk memastikan bahwa
pengembangan untuk memastikan bahwa
setiap produk memenuhi persyaratan yang
setiap produk memenuhi persyaratan yang
ditetapkan.
ditetapkan.
Kontrol kualitas mencakup
Kontrol kualitas mencakup
loop (kalang)
loop (kalang)
umpan balik
umpan balik
pada proses yang menciptakan
pada proses yang menciptakan
produk kerja dengan membandingkan output
produk kerja dengan membandingkan output
dari setiap proses dengan spesifikasi yang
dari setiap proses dengan spesifikasi yang
telah ditetapkan.
9.2.3 Jaminan Kualitas
9.2.3 Jaminan Kualitas
Jaminan kualitas terdiri atas fungsi
Jaminan kualitas terdiri atas fungsi
auditing
auditing
dan
dan
pelaporan manajemen.
pelaporan manajemen.
Tujuan jaminan kualitas adalah untuk
Tujuan jaminan kualitas adalah untuk
memberikan data
memberikan data
yang diperlukan oleh
yang diperlukan oleh
manajemen untuk menginformasikan
manajemen untuk menginformasikan
masalah kualitas produk, sehingga dapat
masalah kualitas produk, sehingga dapat
memberikan kepastian dan konfidensi
memberikan kepastian dan konfidensi
bahwa kualitas produk dapat memenuhi
bahwa kualitas produk dapat memenuhi
9.2.4 Biaya Kualitas
9.2.4 Biaya Kualitas
Biaya kualitas menyangkut semua biaya yang diadakan untuk menampilkan Biaya kualitas menyangkut semua biaya yang diadakan untuk menampilkan kualitas yang berhubungan dengan aktivitas.
kualitas yang berhubungan dengan aktivitas.
Biaya kualitas dapat dibagi ke dalam biaya yang dihubungkan dengan Biaya kualitas dapat dibagi ke dalam biaya yang dihubungkan dengan pencegahan, penilaian, dan kegagalan
pencegahan, penilaian, dan kegagalan..
Biaya pencegahanBiaya pencegahan meliputi meliputi
perencanaan kualitasperencanaan kualitas
kajian teknis formal (FTR)kajian teknis formal (FTR)
perlengkapan pengujianperlengkapan pengujian
pelatihanpelatihan
Biaya penilaianBiaya penilaian meliputi meliputi
inspeksi dalam suatu proses dan interprosesinspeksi dalam suatu proses dan interproses
pemeliharaan dan kalibrasi peralatanpemeliharaan dan kalibrasi peralatan
pengujianpengujian
Biaya kegagalan Biaya kegagalan meliputi
Internal (sebelum penyerahan produk) Internal (sebelum penyerahan produk)
pengerjaan kembalipengerjaan kembali
perbaikanperbaikan
analisis mode kegagalananalisis mode kegagalan
Eksternal (setelah penyerahan produk) Eksternal (setelah penyerahan produk)
resolusi keluhanresolusi keluhan
penggantian dan pengembalian produkpenggantian dan pengembalian produk
dukungan help linedukungan help line
9.3 Aktivitas SQA
9.3 Aktivitas SQA
Jaminan kualitas perangkat lunak
terdiri dari berbagai tugas yang berhubungan dengan dua konstituen yang berbeda: perekayasa perangkat lunakperekayasa perangkat lunak yang mengerjakan kerja teknis yang mengerjakan kerja teknis
kelompok SQAkelompok SQA yang bertanggungjawab terhadap perencanaan yang bertanggungjawab terhadap perencanaan jaminan kualitas, kesalahan, penyimpanan rekaman, analisis, dan jaminan kualitas, kesalahan, penyimpanan rekaman, analisis, dan
pelaporan pelaporan
Aktivitas oleh kelompok SQA:
Aktivitas oleh kelompok SQA:
menyiapkan menyiapkan rencana SQArencana SQA untuk suatu proyek; untuk suatu proyek;
berpartisipasi dalam berpartisipasi dalam deskripsi proses pengembangandeskripsi proses pengembangan proyek; proyek;
mengkaji aktivitas perangkat lunak untuk mengkaji aktivitas perangkat lunak untuk memverifikasi memverifikasi pemenuhan proses
pemenuhan proses perangkat lunak yang sudah ditentukan; perangkat lunak yang sudah ditentukan;
meng-audit produk kerjameng-audit produk kerja perangkat lunak yang ditentukan untuk perangkat lunak yang ditentukan untuk membuktikan kesesuaian dengan produk kerja yang ditentukan membuktikan kesesuaian dengan produk kerja yang ditentukan
tersebut sebagai bagian dari proses perangkat lunak; tersebut sebagai bagian dari proses perangkat lunak;
memastikan bahwa deviasi pada kerja dan produk kerja perangkat memastikan bahwa deviasi pada kerja dan produk kerja perangkat lunak
lunak didokumentasi didokumentasi dan ditangani sesuai prosedur dan ditangani sesuai prosedur pendokumentasian;
pendokumentasian;
mencatat mencatat ketidakssesuaianketidakssesuaian dan melaporkannya kepada dan melaporkannya kepada manajemen senior.
9.4 Kajian Perangkat Lunak
9.4 Kajian Perangkat Lunak
(Software Review)
(Software Review)
Software reviews adalah sebuah
Software reviews adalah sebuah
filter
filter
untuk
untuk
proses rekayasa perangkat lunak.
proses rekayasa perangkat lunak.
Reviews dilaksanakan di berbagai titik selama
Reviews dilaksanakan di berbagai titik selama
pengembangan perangkat lunak dan
pengembangan perangkat lunak dan
membantu
membantu
menemukan error
menemukan error
yang kemudian dapat
yang kemudian dapat
dihilangkan.
dihilangkan.
Software reviews membantu untuk
Software reviews membantu untuk
memurnikan
memurnikan
produk kerja perangkat lunak yang terjadi sebagai
produk kerja perangkat lunak yang terjadi sebagai
suatu
suatu
hasil dari analisis, desain, dan coding
hasil dari analisis, desain, dan coding
.
.
FTR (
FTR (
Formal Technical Review
Formal Technical Review
) atau disebut
) atau disebut
walkthrough
walkthrough
adalah filter yang paling efektif
adalah filter yang paling efektif
untuk meningkatkan kualitas PL.
9.5 Dampak Defects Software
9.5 Dampak Defects Software
thd. Biaya
thd. Biaya
Dalam kontek proses PL, istilah Dalam kontek proses PL, istilah defect dan faultdefect dan fault adalah sinonim. adalah sinonim. Keduanya menyatakan secara tidak langsung suatu
Keduanya menyatakan secara tidak langsung suatu problem problem kualitas yang ditemukan setelah PL dirilis kepada end users. kualitas yang ditemukan setelah PL dirilis kepada end users.
Sasaran utama dari FTR adalah Sasaran utama dari FTR adalah menemukan errorsmenemukan errors selagi proses selagi proses PL berjalan sehingga tidak menjadi defect setelah PL dirilis.
PL berjalan sehingga tidak menjadi defect setelah PL dirilis.
Keuntungan sesungguhnya dari FTR adalah menemukan error Keuntungan sesungguhnya dari FTR adalah menemukan error
sedini mungkin
sedini mungkin sehingga error tsb tidak menjalar ke langkah sehingga error tsb tidak menjalar ke langkah berikutnya dalam proses PL.
berikutnya dalam proses PL.
Sejumlah studi menunjukkan bahwa kegiatan Sejumlah studi menunjukkan bahwa kegiatan desaindesain mengintrodusir mengintrodusir error antara
error antara 50% dan 65%50% dan 65% dari seluruh error (dan pada akhirnya, dari seluruh error (dan pada akhirnya, seluruh defect) selama proses PL.
seluruh defect) selama proses PL.
FTR telah menunjukkan bahwa sampai FTR telah menunjukkan bahwa sampai 75% efektif75% efektif dalam dalam menemukan cacat-cacat desain.
menemukan cacat-cacat desain.
Dengan mendeteksi dan menghapus sejumlah besar persentase Dengan mendeteksi dan menghapus sejumlah besar persentase error, proses review secara subtansial
error, proses review secara subtansial mengurangi biayamengurangi biaya pada pada langkah-langkah selanjutnya dalam phase-phase pengembangan langkah-langkah selanjutnya dalam phase-phase pengembangan dan maintenance.
9.6 Kajian Teknik Formal
9.6 Kajian Teknik Formal
(Formal Technical Review)
(Formal Technical Review)
FTR adalah
FTR adalah
aktivitas jaminan kualitas
aktivitas jaminan kualitas
perangkat lunak yang dilakukan oleh perekayasa
perangkat lunak yang dilakukan oleh perekayasa
perangkat lunak.
perangkat lunak.
Tujuan FTR
Tujuan FTR
adalah:
adalah:
menemukan error dalam
menemukan error dalam
fungsi, logika, atau
fungsi, logika, atau
implementasinya
implementasinya
dalam berbagai representasi
dalam berbagai representasi
perangkat lunak;
perangkat lunak;
memverifikasi bahwa perangkat lunak yang direview
memverifikasi bahwa perangkat lunak yang direview
memenuhi syarat
memenuhi syarat
;
;
memastikan bahwa perangkat lunak tersebut telah
memastikan bahwa perangkat lunak tersebut telah
direpresentasikan
direpresentasikan
sesuai dengan standard
sesuai dengan standard
yang telah
yang telah
ditentukan sebelumnya;
ditentukan sebelumnya;
untuk mencapai perangkat lunak yang dikembangkan
untuk mencapai perangkat lunak yang dikembangkan
dengan
dengan
cara yang seragam
cara yang seragam
;
;
9.7 Review
9.7 Review
9.7.1 Review Meeting
9.7.1 Review Meeting
Review meeting (pertemuan kajian) adalah pertemuan
Review meeting (pertemuan kajian) adalah pertemuan
tim review produk kerja perangkat lunak yang terdiri
tim review produk kerja perangkat lunak yang terdiri
dari 3 sampai 5 orang guna
dari 3 sampai 5 orang guna
mengkaji dan
mengkaji dan
mengevaluasi
mengevaluasi
perangkat lunak yang telah dihasilkan.
perangkat lunak yang telah dihasilkan.
Diakhir review, tim harus memutuskan apakah:
Diakhir review, tim harus memutuskan apakah:
menerima
menerima
hasil kerja tersebut tanpa modifikasi lebih
hasil kerja tersebut tanpa modifikasi lebih
lanjut.
lanjut.
menolak
menolak
hasil kerja tersebut karena adanya kesalahan
hasil kerja tersebut karena adanya kesalahan
yang fatal, atau
yang fatal, atau
menerima hasil kerja tersebut secara sementara
menerima hasil kerja tersebut secara sementara
(error
(error
22kecil telah ditemukan dan harus dikoreksi; tetapi
kecil telah ditemukan dan harus dikoreksi; tetapi
tidak perlu direview lagi).
9.7.2 Laporan Review
9.7.2 Laporan Review
Ada 2 dokumen yg dihasilkan dalam review meeting
Ada 2 dokumen yg dihasilkan dalam review meeting
yaitu
yaitu
daftar masalah review
daftar masalah review
(review issues list) dan
(review issues list) dan
laporan rangkuman review
laporan rangkuman review
(review summary report).
(review summary report).
Review summary report memuat jawab dari 3
Review summary report memuat jawab dari 3
pertanyaan berikut:
pertanyaan berikut:
(1)
(1)
apa
apa
yg telah direview,
yg telah direview,
(2)
(2)
siapa
siapa
yg telah mereviewnya, dan
yg telah mereviewnya, dan
(3)
(3)
apa yang telah ditemukan
apa yang telah ditemukan
& apa kesimpulannya.
& apa kesimpulannya.
Review issues list berisi hal2 yang berguna dlm:
Review issues list berisi hal2 yang berguna dlm:
(1) mengidentifikasi
(1) mengidentifikasi
area problem
area problem
, dan
, dan
(2) bertindak sebagai
(2) bertindak sebagai
action item checklist
action item checklist
untuk
untuk
memandu produsen dalam melakukan koreksi.
9.7.3 Pedoman Review
9.7.3 Pedoman Review
Review Review produkproduk, bukan produser, bukan produser
MenetapkanMenetapkan agendaagenda dan tetap menjaganya dan tetap menjaganya Membatasi Membatasi perdebatan dan bantahanperdebatan dan bantahan
Menetapkan Menetapkan area masalaharea masalah, tetapi tidak mencoba untuk , tetapi tidak mencoba untuk
menyelesaikan setiap masalah yang dicatat menyelesaikan setiap masalah yang dicatat
Buat Buat catatan tertuliscatatan tertulis
Membatasi jumlah pesertaMembatasi jumlah peserta dan lakukan persiapan awal dan lakukan persiapan awal
Buat sebuah Buat sebuah daftar utk setiap work productdaftar utk setiap work product yang direview. yang direview.
Alokasikan Alokasikan sumber-sumber daya dan jadwal waktusumber-sumber daya dan jadwal waktu untuk FTR. untuk FTR. Lakukan Lakukan pelatihanpelatihan yang berguna bagi yang berguna bagi semua reviewersemua reviewer..