Kamis, 26 April 2012

Pengukuran Software: Metrik berorientasi Ukuran dan berorientasi Fungsi

Pengukuran merupakan bagian dari dunia keteknikan. Kegiatan mengukur, dasarnya adalah membandingkan sesuatu dengan sesuatu yang lain yang dianggap sebagai patokan atau standard. Jadi kegiatan mengukur sebenarnya adalah untuk mendapat perbandingan, sehingga acuan perbandingan tersebut dapat dikelola. Paradigma ini sesuai dengan apa yang Lord Kelvin katakan:
what we cannot measure, we cannot manage.
 
Dalam keilmuan software engineering, kegiatan mengukur menjadi lebih sulit dari biasanya. Permasalahan yang ditemui adalah kesulitan dalam menetapkan nilai dari obyek yang diukur dan sulitnya menetapkan parameter-parameter yang bisa diukur. Karena secara praktis, mengukur perangkat lunak, adalah mengukur sesuatu yang sepertinya “tidak kelihatan”.
 
Pengukuran perangkat lunak dapat dipisahkan dalam dua kategori, yaitu pengukuran langsung dan pengukuran tidak langsung. Pengukuran langsung dalam proses rekayasa perangkat lunak berhubungan dengan biaya dan sumber daya yang diperlukan, misalnya: pengukuran jumlah baris kode, kecepatan eksekusi, ukuran memori, dan kesalahan yang ditemui dalam suatu periode waktu. Pengukuran tidak langsung dari suatu produk berhubungan dengan fungsionalitas, kualitas, kompleksitas, efisiensi, reliabilitas,  dan lain sebagainya. Pengukuran secara langsung lebih mudah dilakukan, karena hasil dapat diperoleh secara langsung, sedangkan pengukuran tidak langsung lebih sulit dilakukan, karena harus melalui proses yang lebih kompleks.
 
Berikut adalah beberapa contoh metric perangkat lunak
1) Metrik Berorientasi Ukuran
Metrik beorientasi ukuran diperoleh dengan cara melakukan normalisasi ukuran kualitas dan produktivitas dengan menghitung ukuran dari perangkat lunak yang dibuat. Ukuran yang biasanya dijadikan sebagai acuan normalisasi adalah LOC (lines of code). Dari pengukuran jumlah LOC pada suatu perangkat lunak, dapat diperoleh:
1.  Kesalahan per KLOC (ribuan LOC)
2.  Kekurangan atau cacat pada spesifikasi per KLOC
3.  Harga per LOC
4.  Jumlah halaman dokumentasi per LOC
Selain itu, beberapa metrik yang bisa dihitung adalah:
1.  Kesalahan per orang-bulan
2.  LOC per orang-bulan
3.  Harga per halaman dokumentasi
Menurut Jones [1986], metrik berorientasi ukuran tidak dapat diterima secara universal sebagai cara terbaik untuk mengukur proses rekayasa perangkat lunak. Alasan yang dikemukakan adalah kadang-kadang fungsionalitas program dapat dicapai dengan baris program yang lebih sedikit. Selain itu, untuk melakukan estimasi LOC harus digunakan analisis desain tingkat tinggi.
 
2) Metrik Berorientasi Fungsi
Metrik berorientasi fungsi menggunakan ukuran fungsionalitas yang dihasilkan oleh aplikasi sebagai nilai normalisasi. Fungsionalitas tidak dapat diukur secara langsung, sehingga untuk memperolehnya digunakan pengukuran langsung terlebih dahulu, lalu hasil pengukuran langsung tersebut digunakan sebagai masukan. Metrik berorientasi fungsi pertama kali diusulkan oleh Albrecth [1979], yang menyarankan pengukuran yang disebut  function point (FP). FP diperoleh dengan menggunakan hubungan empiris berdasarkan pengukuran langsung dan estimasi terhadap kompleksitas perangkat lunak.
Terdapat lima karakteristik yang digunakan sebagai acuan, yaitu:
1.  Jumlah masukan (user inputs)
2.  Jumlah keluaran (user outputs)
3.  Jumlah permintaan (inquiry)
4.  Jumlah berkas
5.  Jumlah antarmuka eksternal
 
Jumlah-jumlah tersebut dikalikan dengan faktor pemberat, sesuai dengan kompleksitas (sederhana, sedang, kompleks) dari tiap karakteristik acuan. Untuk mengukurnya, digunakan persamaan:
FP = jumlah total x [0.65 + 0.01 x Σ (Fi)]   
Fi (i = 1 sampai dengan 14) merupakan nilai peubah kompleksitas
 
Berdasarkan pertanyaan-pertanyaan yang  diusulkan oleh Arthur [1985], dengan
skala 0 (tidak penting) sampai dengan 5 (sangat penting):
1.  Apakah sistem memerlukan backup dan recovery?
2.  Apakah komunikasi data diperlukan?
3.  Apakah terdapat fungsi pemrosesan terdistribusi?
4.  Apakah performa sangat penting?
5.  Apakah sistem akan berjalan pada lingkungan operasional yang berat?   14
6.  Apakah sistem memerlukan data entri secara online?
7.  Apakah data entri online memerlukan transaksi masukan untuk membuat
operasi dengan ‘banyak layar’?
8.  Apakah berkas aplikasi (master) diambil secara online?
9.  Apakah masukan, keluaran, berkas, atau permintaan bersifat kompleks?
10. Apakah pemrosesan internal bersifat kompleks?
11. Apakah kode yang dibuat dapat dipakai ulang?
12. Apakah konversi dan instalasi termasuk di dalam desain?
13. Apakah sistem didesain untuk instalasi lebih dari satu dalam organisasi
yang berbeda?
14. Apakah aplikasi didesain untuk memfasilitasi perubahan dan mudah
digunakan oleh pengguna?
 
Setelah FP dihitung, dapat digunakan metode yang serupa dengan LOC untuk melakukan normalisasi ukuran pada produktivitas, kualitas, dan atribut-atribut lainnya.

1 komentar: