software quality assurance

Download Software Quality Assurance

Post on 17-Jul-2015

29 views

Category:

Documents

1 download

Embed Size (px)

TRANSCRIPT

UAS REKAYASA PERANGKAT LUNAK

Software Quality Assurance

HANSI ADITYA KURNIAWAN 9106205405

PROGRAM MAGISTER MANAJEMEN TEKNOLOGI INFORMASI INSTITUT TEKNOLOGI SEPULUH NOPEMBER SURABAYA 2007

Tujuan dari topik Software Quality Assurance (SQA) sebenarnya adalah untuk menghasilkan suatu produk perangkat lunak (software) yang berkualitas tinggi. SQA merupakan salah satu aktivitas yang harus dijalani dalam suatu proses pengembangan software seperti dapat terlihat pada Gambar 1.1. Common process framework Framework activities Task Sets Tasks Milestones, Deliverables SQA Points

Umbrella activities

Gambar 1.1 Proses Pengembangan Software

SQA meliputi beberapa konsep sebagai berikut: 1. Pendekatan kualitas manajemen, 2. Teknologi rekayasa perangkat lunak yang efektif (metode dan tools yang digunakan), 3. Tinjauan teknis secara formal yang diaplikasikan melalui proses pengembangan software, 4. Strategi uji coba software yang multitier, 5. Kontrol terhadap dokumentasi software dan perubahannya, 6. Prosedur untuk memastikan pemenuhan standar pengembangan software, jika software tersebut diaplikasikan, dan 7. Mekanisme pengukuran dan laporan.

KONSEP KUALITASKontrol terhadap kualitas yang umum digunakan adalah kontrol terhadap variasi. Maksudnya adalah meminimalkan variasi terhadap sesuatu sehingga kualitas suatu produk dapat terjaga. Hal ini berlaku juga pada pengembangan software. Dari satu proyek pengembangan software ke proyek lainnya, maka sedapat mungkin diminimalkan perbedaan antara sumber daya yang diperkirakan dengan sumber daya yang sesungguhnya digunakan dalam proyek seperti staf, peralatan, waktu, dan sebagainya. Selain itu, pada umumnya, kontrol kualitas ini berlaku juga pada uji coba software dari versi satu ke pengembangan versi berikutnya. Tidak hanya meminimalkan kesalahan (bugs / errors) dari sebuah versi, akan tetapi juga harus dapat menurunkan kesalahan ketika mengembangkan versi berikutnya. Hal yang lain berhubungan dengan kontrol terhadap kualitas suatu software dapat terlihat pada minimalisasi terhadap perbedaan kecepatan dan akurasi dari respon dukungan masalah yang dialami customer.

Kualitas Kualitas suatu software dapat diukur melalui karakteristiknya, seperti kompleksitas, kohesi, jumlah function points (FP), jumlah kode baris (lines of codes (LOC)), dan masih banyak lagi. Ketika dilakukan pengukuran terhadap karakteristik-karakteristik tersebut, maka akan muncul 2 jenis kualitas yaitu sebagai berikut: Quality of design Kualitas ini sangat erat hubungannya dengan desain dari suatu produk software. Tingkat material, toleransi, dan performa suatu spesifikasi berkontribusi besar kepada kualitas. Selama semakin tinggi tingkat material yang digunakan, semakin ketat toleransinya, dan semakin tinggi performa level yang dispesifikasikan, maka kualitas software semakin meningkat, jika produk tersebut sesuai spesifikasi pembuatannya. Dalam pengembangan software, hal ini meliputi kebutuhan user, spesifikasi, dan desain sistem.

Quality of conformance Kualitas ini sangat erat hubungannya dengan tingkat spesifikasi desain yang digunakan selama pembuatan software. Semakin tinggi tingkat spesifikasinya, maka semakin tinggi pula kualitasnya. Dalam

pengembangan software, hal ini fokus pada implementasi. Jika implementasi software mengikuti desain, dan hasilnya memenuhi kebutuhan user serta mencapai tujuan, maka kualitas software tersebut semakin tinggi.

Akan tetapi, tidak hanya kedua jenis kualitas tersebut yang harus diperhatikan oleh para software engineers. Menurut Robert Glass, lebih dari sekedar itu, yaitu:User satisfaction = compliant product + good quality + delivery within budget and schedule

Menurut Glass, yang terpenting adalah kepuasan user, lebih dari hanya sekedar kualitas yang bagus. Kualitas bagus tetapi user tidak puas, maka semuanya sia-sia.

Kontrol Kualitas Kontrol kualitas dilakukan dengan inspeksi, review, dan pengujian untuk memastikan suatu produk telah memenuhi kebutuhan yang diinginkan. Kontrol kualitas termasuk feedback, yang berjalan terus menerus dalam proses menciptakan suatu produk. Kombinasi dari pengukuran dan feedback dapat membantu menghindarkan kegagalan proses untuk memenuhi kebutuhan. Aktivitas pada kontrol kualitas dapat dilakukan secara otomatis, manual, atau kombinasi dari keduanya.

Jaminan Kualitas Jaminan kualitas terdiri dari proses audit dan melaporkan fungsi dari manajemen. Tujuannya adalah untuk menyediakan data yang diperlukan kepada manajemen tentang kualitas produk dan menunjukkan bahwa produk tersebut sudah memenuhi kebutuhan yang ingin dicapai.

Biaya Kualitas Studi tentang biaya kualitas menyediakan dasar dari biaya kualitas itu sendiri, mengidentifikasi peluang untuk mengurangi biaya kualitas, dan menyediakan normalisasi perbandingan. Biaya kualitas dapat dibagi menjadi beberapa biaya yang berkaitan dengan pencegahan, penilaian, dan kegagalan. Yang termasuk biaya pencegahan adalah: Perencanaan kualitas Review teknis formal Perlengkapan pengujian Pelatihan

Yang termasuk biaya penilaian adalah aktivitas untuk mendapatkan informasi tentang kondisi produk dari setiap proses. Contohnya adalah: Inspeksi proses dan antar-proses Pengujian dan perawatan peralatan Pengujian

Biaya kegagalan adalah biaya yang akan dihilangkan ketika tidak ada kerusakan produk saat diberikan ke konsumen. Biaya kegagalan dibagi menjadi 2 yaitu biaya kegagalan internal dan eksternal. Biaya kegagalan internal muncul ketika produk diberikan kepada konsumen. Yang termasuk dalam biaya kegagalan internal adalah: Pengerjaan ulang Perbaikan Analisis kegagalan

Biaya kegagalan eksternal berkaitan dengan kerusakan produk setelah produk tersebut sudah sampai kepada konsumen. Contoh dari biaya kegagalan eksternal adalah:

Adanya komplain konsumen Pengembalian dan penggantian produk Dukungan bantuan Jaminan

SOFTWARE QUALITY ASSURANCEBanyak literatur yang mengungkapkan definisi dari kualitas software. Salah satunya, kualitas software didefinisikan sebagai pemenuhan kebutuhan fungsional dan performansi, yang secara eksplisit didokumentasikan sesuai standar yang ada, serta secara implisit merupakan pemenuhan harapan dari para pengembang software.

Latar Belakang Seperti sudah disinggung sedikit di atas, jaminan kualitas adalah suatu aktivitas tambahan dari semua bisnis yang menghasilkan produk untuk digunakan oleh orang lain, yang sudah menjadi tanggung jawab dari pembuat produk tersebut. Pada jaman sekarang ini, setiap perusahaan mempunyai mekanisme masing-masing untuk menjamin kualitas dari produk tersebut, dimana hal ini sudah menjadi kepedulian dari perusahaan. Sejarah dari SQA berkembang secara paralel dengan sejarah dari kualitas hardware. SQA diperkenalkan pertama kali pada saat kontrak pembuatan software di bidang militer pada tahun 1970an, dimana kemudian berkembang ke dunia komersial. Sebelumnya pada tahun 1950an dan 1960an, jaminan kualitas suatu software merupakan tanggung jawab tunggal dari seorang programmer. Akan tetapi, sekarang jaminan kualitas software sudah menjadi tanggung jawab beberapa pihak, seperti software engineer, manajer proyek software, konsumen, produsen, distributor, dan masing-masing individu yang terkait dengan produk tersebut.

Aktivitas SQA SQA mengandung bermacam-macam tugas yang berhubungan dengan konstituensi yang berbeda, dimana para pembuat software akan mengerjakan pekerjaan-pekerjaan teknikal sedangkan grup SQA mempunyai tanggung jawab untuk merencanakan penilaian kualitas software, pencatatan, analisis, dan pembuatan laporan atas kualitas software yang telah dibuat. Dari sini, kualitas para pembuat software dapat dinilai melalui ukuran-ukuran dan metode-metode tertentu, serta melalui pengujian-pengujian software. Oleh karena itu, para pembuat software diharapkan dapat membuat suatu produk software yang berkualitas tinggi. Berikut adalah aktivitas-aktivitas SQA: Mempersiapkan perencanaan SQA untuk sebuah proyek. Berpartisipasi dalam pengembangan sebuah deskripsi proyek software. Meninjau aktivitas pembuatan software untuk memverifikasi pemenuhan kebutuhan software yang telah didefinisikan sebelumnya. Melakukan audit terhadap produk software untuk memverifikasi pemenuhan kebutuhan software yang telah didefinisikan sebelumnya. Memastikan deviasi dari pengerjaan software dan produknya

didokumentasikan sesuai format yang ditentukan. Mencatat adanya ketidaksesuaian dan masalah yang terjadi untuk dilaporkan ke manajemen senior.

Berikut akan dijelaskan satu studi kasus tentang SQA yang digunakan di Departemen Pertahanan Energi Nuklir. Departemen ini merasa adanya masalah yang terjadi dan dibutuhkan suatu SQA untuk melakukan audit dan analisis terhadap masalah tersebut. Tools yang digunakan di studi kasus ini adalah Integrated Safety Management (IST).

STUDI KASUS SOFTWARE QUALITY ASSURANCE (SQA) YANG

BERKAITAN DENGAN KEAMANAN DI DEPARTEMEN PERTAHANAN ENERGI NUKLIRPendahuluan Departemen Energi dan kontraktornya melakukan pekerjaan berbahaya yang diperlukan untuk keamanan negara dan memperbaiki lingkungan di fasilitas produksi energi pertahanan nuklir. Performa dari pekerjaan ini yang paling penting adalah perlindungan keselamatan bagi publik, pekerja, dan lingkungan itu sendiri. Kunci dan tools yang digunakan untuk mencapai tujuan tersebut adalah Integrated Safety Management (ISM), yaitu suatu sistem yang didesain untuk menjamin syarat suatu keamanan yang terintegrasi dengan perencanaan dan eksekusi suatu pekerjaan. Fungsi dari ISM adalah melakukan analisis tingkat bahaya yang muncul dari pekerjaan tersebut dan mengidentifikasi kontrol tindakan pencegahannya. Tujuan dari software quality assurance (SQA) di sini adalah untuk memastikan bahwa software yang dibuat dapat memenuhi syarat yang disebutkan di ISM. Kode-kode komputer dan model-model serta data y