Tuesday, January 8, 2008

Menempatkan Kualitas Perangkat Lunak pada Perencanaan Proyek

Kualitas akan berfokus pada semua langkah perencanaan dan pelaksanaan proyek, dapat dilihat pada gambar 1

Gambar 1. Penempatan Kualitas Perangkat Lunak

  • Langkah 1: identifikasi ruang lingkup dan sasaran proyek. Beberapa sasaran berhubungan dengan kualitas aplikasi yang akan dikerjakan.
  • Langkah 2: identifikasi infrastruktur proyek. Dengan langkah ini maka memerlukan identifikasi standard instalasi dan prosedur. Beberapa diantaranya akan berbicara tentang kualitas
  • Langkah 3: analisis karakteristik proyek. Pada analisis karakteristik proyek berdasarkan kualitas, aplikasi akan diimplementasikan untuk melihat kebutuhan khusus kualitas. Misalnya pada keamanan kritis (keamanan data) yang ekstrim dari keseluruhan tambahan batas aktifitas yang bisa digunakan sebagai pengembangan versi ke n dimana tim pengembang pada software versi sebelumnya akan sama berjalan secara paralel dengan output yang akan di cross cek untuk bahan perdebatan.
  • Langkah 4: identifikasi produk dan aktifitas proyek. Poin ini sangat penting dimana masukan, keluaran dan kebutuhan proses di identifikasi untuk setiap proyek. Kebutuhan alami digambarkan lebih jelas pada bab ini.
  • Langkah 5: tinjau ulang dan publikasi perencanaan. Pada langkah ini keseluruhan aspek kualitas perencanaan proyek akan di tinjau ulang.

Keutamaan Kualitas perangkat lunak

Kita berharap kualitas menjadi fokus pada semua prosedur barang dan jasa. Bagaimanapun juga, karakteristik khusus perangkat lunak menjadi hal yang tak mudah dimengerti (intangibility) dan kompleksitas, membuat permintaan khusus

  • Meningkatkan perangkat lunak secara kritis. End user umumnya tertarik tentang kualitas umum perangkat lunak, terutama yang dapat diandalkan. Hal ini akan menyebabkan peningkatkan ketergantungan suatu organisasi pada sistem komputer dan perangkat lunak sehingga lebih berguna untuk area keamanan kritis (pengamanan data), misalnya pengontrolan pesawat terbang (aircraft)
  • Hal yang tidak dimengerti (intangibility) oleh perangkat lunak membuat kesulitan untuk mengetahui pekerjaan tertentu dalam memuaskan customer di proyek. Hasil pekerjaan ini menjadi sesuatu yang dapat dimengerti (tangible) dengan menuntut developer menghasilkan ‘deliverables’ yang dapat diuji untuk kualitas
  • Penjumlahan kesalahan selama pengembangan perangkat lunak. Sebagai pengembangan sistem komputer , jumlah langkah output dibuat dari satu langkah input ke langkah selanjutnya, kesalahan pada deliverables awal akan ditambahkan pada langkah berikutnya, yang mengarahkan ke penjumlahan efek merugikan. Umumnya pada proyek berikutnya dimana kesalahan ditemukan menjadi lebih mahal untuk diperbaiki. Sebagai tambahan, karena jumlah kesalahan sistem tidak diketahui, fase debugging proyek menjadi sulit sekali untuk dikontrol.Untuk alasan inilah manajemen kualitas merupakan bagian utama keseluruhan manajemen proyek.

Mendefinisikan Kualitas Perangkat Lunak

Kualitas merupakan kata yang meragukan dan dibutuhkan untuk definisi yang secara hati-hati untuk dimaknai. Untuk sistem perangkat lunak apapun, seharusnya ada tiga spesifikasi yaitu ;

  • Spesifikasi fungsional
    Spesifikasi ini menggambarkan apa yang dikerjakan sistem – hal ini merupakan fokus utama metodologi seperti Unified Software Development Process
  • Spesifikasi kualitas (atau atribut)
    Spesifikasi ini memfokuskan pada , bagaimana fungsi beroperasi.
  • Spesifikasi sumber daya
    Spesifikasi ini berfokus pada seberapa banyak yang harus dihabiskan oleh sistem

Beberapa kualitas dapat diidentifikasi untuk menghasilkan perangkat lunak yang mencerminkan pandangan eksternal perangkat lunak yang akan diliki user, sebagaimana pada kasus usability. Kualitas eksternal akan dipetakan ke faktor internal dimana developer akan bersikap waspada. Hal ini bisa diperdebatkan, misalnya kode yang tersusun dengan baik (well-constructed code) umumnya memiliki kesalahan lebih sedikit dan peningkatan kemampuan untuk digunakan.
Mendefinisikan kualitas tidak cukup hanya dengan jika kita melakukan keputusan yang sesuai dengan kebutuhan sistem sehingga kita perlu melakukan pengukuran kualitas. Untuk setiap karakteristik kualitas, satu atau lebih pengukuran yang ditemukan akan menghasilkan nilai derajat kualitas.
Pengukuran yang baik harus dapat menghubungkan jumlah unit sampai keadaan yang maksimal. Jumlah maksimum kesalahan pada program, misalnya kesalahan yang berhubungan dengan ukuran program sehingga pengukuran kesalahan per seribu baris kode (fault per thousand line of code) akan lebih membantu daripada jumlah kesalahan (total fault) pada program sebagai jaminan kualitas program.
Mencoba untuk menemukan pengukuran untuk kualitas tertentu membantu mengklarifikasi apakah kualitas itu. Yang dipertanyakan adalah, dampak terhadap ‘Bagaimana kita mengetahui kapan hal ini akan berhasil?’ menjawab tentang sasaran kualitas akan dijelaskan lebih lanjut.
Kemungkinan pengukuran kualitas dapat dilakukan secara langsung atau indirect dimana sesuatu yang diukur bukan kualitasnya sendiri tetapi indikator kualitas yang dihadirkan. Misalnya jumlah permintaan oleh user diterima dengan bantuan pengoperasian aplikasi perangkat lunak tertentu dapat menjadi pengukuran usability secara indirect. Dengan identifikasi manajemen pengukuran pengaturan program bagi tim anggota proyek sangat penting untuk meningkatkan kualitas pengukuran itu sendiri. Misalnya jumlah kesalahan yang ditemukan di baris program tidak bisa dihitung, pada dasarnya hal itu memerlukan proses pemeriksaan yang lebih teliti, sehingga kesalahan lebih mudah ditemukan. Meningkatkan pengukuran ini bisa saja dilakukan, tentu saja, dengan mengetahui kesalahan yang ada melalui langkah pemeriksaan daripada menghilangkan kesalahan dari awal – dimana hal ini bukan faktor utama.
Kebutuhan utama untuk spesifikasi karakteristik kualitas adalah

  • Definisi / deskripsi: definisi karakteristik Kualitas.
  • Skala: unit pengukuran.
  • Uji: uji praktis yang dilakukan dimana dihasilkan atribut Kualitas
  • Penerimaan secara sederhana : nilai terburuk yang mungkin saja diterima jika karakteristik lain dibandingkan dengan kualitas, dan saat produk belum diterima.
  • Batas target: batas nilai dimana perencanaan pengukuran nilai Kualitas seharusnya diperbaiki.
  • Sekarang: hasil yang diharapkan sekarang

Oleh karena itu ada pengukuran yang dapat diaplikasikan lebih dari satu ke karakteristik kualitas. Saat melakukan daftar (drafting) spesifikasi kualitas karakteristik kualitas mungkin saja akan terbagi dalam beberapa sub-karakteristik. Misalnya sub-karakteristik dari ‘usability’ mungkin saja dapat dijelaskan (communicativeness). Satu aspek yang mungkin saja menjadi pemahaman struktur menu, adalah begitu mudahnya menemukan perintah untuk menyelesaikan beberapa fungsi. Aspek lain dari penjelasan tersebut adalah bagaimana mengatakan keberadaan pesan kesalahan yang muncul, melalui halaman “help”