Cari Blog Ini

Jumat, 19 Juli 2013

PENGUKURAN PERANGKAT LUNAK DAN METRIK


A.  PENDAHULUAN

Dalam penulisan ini akan membahas. Tulisan ini memfokuskan pada metrik pengujian perangkat lunak dalam membahas peran penting dalam proses pengujian perangkat lunak serta mengklasifikasikan dan menganalisis metrik berbagai tes
Pengukuran perangkat lunak merupakan hal yang terpenting dari praktek rekayasa perangkat lunak yang baik. Serta pengukuran aktivitas manusia menambah nilai dan terlibat aktif dalam proses informasi. Pengukuran ini membantu untuk membuat karakteristik khusus dari proses dan produk informasi. Pengukuran meliputi evaluasi kuantitatif yang biasanya menggunakan metrik serta ukuran dapat menggunakan secara langsung menentukan pencapaian tujuan kualitas numerik.
Pengukuran selalu menjadi fundamental bagi kemajuan untuk setiap disiplin rekayasa dan pengujian perangkat lunak. pengukuran perangkat lunak dan metrik menjadi peran mendasar dalam siklus hidup pengembangan perangkat lunak, dan Metrik perangkat lunak telah digunakan dalam membuat keputusan kuantitatif/kualitatif maupun dalam penilaian risiko dan pengurangan dalam proyek perangkat lunak.

B. PEMBAHASAN
1. DOMAIN METRIK
Metrik digunakan oleh industri perangkat lunak untuk mengukur proses pembuatan, operasi, dan perawatan perangkat lunak. Melalui metrik, dapat diperoleh informasi-informasi berharga dan parameter-parameter sebagai bahan evaluasi yang obyektif mengenai atribut-atribut dan status dari suatu pengembangan perangkat lunak. Implementasi metrik perangkat lunak pada suatu proses pengembangan perangkat lunak dan pada suatu produk perangkat lunak melibatkan tahapan-tahapan kompleks yang memerlukan pembelajaran yang berkelanjutan, yang pada akhirnya dapat memberikan pengetahuan mengenai status dari suatu proses pembuatan perangkat lunak dan atau suatu produk dari perangkat lunak
Metrik perangkat lunak memiliki batasan-batasan yang luas. Metrik perangkat lunak tergantung pada atribut-atribut perangkat lunak yang ingin dinilai kuantitas dan kualitasnya.
Secara umum, metrik perangkat lunak dibagi dalam dua kelas yang berbeda, yaitu metrik yang digunakan pada proyek pengembangan perangkat lunak dan metrik yang digunakan pada produk perangkat lunak. Metrik pada proyek pengembangan perangkat lunak berhubungan dengan tenaga dan pikiran yang diperlukan untuk menyelesaikan proyek, sumber daya yang digunakan untuk menyelesaikannya, dan metodologi yang diterapkan, misalnya: waktu yang diperlukan untuk menyelesaikan, tenaga ahli yang diperlukan, biaya-biaya yang dikeluarkan, dan metodologi yang digunakan dalam pembuatan perangkat lunak.

1.1 Tujuan Umum Pengukuran
Pengukuran adalah pemetaan dari dunia empiris ke dunia, formal relasional. Akibatnya, ukuran adalah jumlah atau simbol ditugaskan untuk suatu entitas dengan pemetaan ini untuk mengkarakterisasi atribut  (Sheikh Umar Farooq 2011), Karakteristik pengukuran yang baik adalah
1.       Hasil dari proses pengukuran adalah direproduksi. (Hasil yang sama didapatkan dari waktu ke waktu dan di seluruh situasi.)
2.      Validitas - Proses pengukuran benar-benar mengukur apa yang dimaksudkan untuk mengukur.
3.      Sensitivitas - Proses pengukuran menunjukkan variabilitas dalam tanggapan ketika ada dalam stimulus atau situasi.
Sehubungan dengan perangkat lunak, Pengukuran adalah proses yang berkesinambungan dalam menetapkan, mengumpulkan, dan menganalisis data pada proses pengembangan perangkat lunak dan produk-produknya dalam rangka untuk memahami dan mengontrol proses dan produk, dan memberikan informasi yang berarti untuk meningkatkan proses dan produk.
Metrik ini dapat digunakan oleh Software Pengelola yang mengambil Software outsourcing untuk pemeliharaan dalam menentukan pembacaan representatif Perangkat Lunak selama mengambil kesepakatan dengan klien mereka. Metrik yang dapat berfungsi sebagai atribut atau subcharacteristic kualitas tingkat lain yang lebih tinggi karakteristik seperti analyzability dalam hirarki SQMs, (Bajeh, A. O. 2011)
Dalam pengukuran sangat penting untuk mencapai tujuan manajemen dasar perbaikan prediksi, kemajuan, dan proses. Kemudian software sendiri biasanya diukur untuk melayani tujuannya seperti yang dijelaskan oleh (Sheikh Umar Farooq 2011) diantaranya.
·         Karakterisasi, yaitu, pengumpulan informasi tentang beberapa karakteristik dari proses perangkat lunak dan produk, dengan tujuan mendapatkan ide yang lebih baik dari apa yang terjadi. "
·         Evaluasi, yaitu, menilai beberapa karakteristik dari proses perangkat lunak atau produk, misalnya berdasarkan sejarah data dalam lingkungan pengembangan yang sama atau data yang tersedia dari sumber eksternal.
·         Perbaikan, yaitu, dengan menggunakan hubungan sebab-akibat untuk mengidentifikasi bagian dari proses atau produk yang dapat berubah untuk mendapatkan efek positif pada beberapa karakteristik yang menarik, dan mengumpulkan data setelah perubahan memiliki telah dilakukan untuk mengkonfirmasi atau disconfirm apakah efeknya positif dan menilai luasnya.
·         Prediksi, yaitu, mengidentifikasi hubungan sebab-akibat antara karakteristik produk dan proses.
·         Pelacakan, yaitu akuisisi (mungkin konstan dan teratur) informasi tentang beberapa karakteristik perangkat lunak proses dan produk dari waktu ke waktu, untuk un derstand jika karakteristik tersebut berada di bawah pengendalian di on-akan proyek.
·         Validasi, yaitu memvalidasi praktik terbaik diidentifikasi eksperimen.

1.2 Determinan Kualitas dan Efektivitas Perangkat Lunak
sebuah perangkat lunak sangat perlu dilakukan untuk menilai kualitas sebuah perangkat lunak. Kualitas perangkat lunak adalah gabungan yang kompleks dari berbagai faktor yang akan bervariasi dan pelanggan yang berbeda kebutuhannya. Gabungan antara kebutuhan pengguna perangkat lunak dan faktor-faktor lain akan menghasilkan kualitas sebuah perangkat lunak
Grady. 1992 mendefinisikan ukuran kualitas perangkat lunak dilihat dari beberapa aspek, yaitu :
a.     Catat per KLOC; dimana cacat diartikan kurangnya kesesuaian dengan persyaratan
b.    Maintanabilitas; kemudahan dimana program dapat dikoreksi jika ditemukan kesalahan, dapat beradaptasi jika lingkungan berubah. Mudah dikembangkan bila pelanggan menginginkan perubahan.
c. Integritas; kemampuan sistem untuk menahan serangan terhadap sekuritasnya. Serangan dapat berupa virus maupun hacker yang mengganggu program data maupun dokumen.

2. Pengukuran Perangkat Lunak
Pengukuran 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 melalu proses yang lebih kompleks.
Metrik dipisahkan menjadi metrik proses, proyek, dan produk.
Metrik produk bersifat privat untuk individu dan sering dikombinasikan untuk membuat metrik proyek yang bersifat publik bagi tim pengembang. Metrik proyek kemudian dikonsolidasikan untuk membuat metrik proses yang publik untuk seluruh organisasi atau perusahaan. Kesulitan yang biasanya dihadapi adalah pada saat melakukan kombinasi pada metrik-metrik yang diukur disebabkan karena sering terjadi perbedaan metrik antara idividu satu dengan individu lainnya. Masalah tersebut biasa diatasi apabila dilakukan normalisasi pada proses pengukuran. Dengan adanya normalisasi maka dapat dilakukan perbandingan metrik pada cakupan yang lebih luas.
Sehubungan dengan perangkat lunak, (Sheikh Umar Farooq 2011) menjelaskan bahwa Pengukuran merupakan proses yang berkesinambungan dalam menetapkan, mengumpulkan, dan menganalisis data pada proses pengembangan perangkat lunak dan produk-produknya dalam rangka untuk memahami dan mengontrol proses dan produk, dan memberikan informasi yang berarti untuk meningkatkan proses dan produk. (Sheikh Umar Farooq 2011) juga megelompokkan Karakteristik pengukuran yang baik yaitu
1.      Keandalan - Hasil dari proses pengukuran adalah direproduksi. (Hasil yang sama didapatkan dari waktu ke waktu dan di seluruh situasi.)
2.      Validitas - Proses pengukuran benar-benar mengukur apa yang dimaksudkan untuk mengukur.
3.      Sensitivitas - Proses pengukuran menunjukkan variabilitas dalam tanggapan ketika ada dalam stimulus atau situasi.

2.1 Size-Oriented Metrics
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:
a.       Kesalahan per KLOC (ribuan LOC)
b.      Kekurangan atau cacat pada spesifikasi per KLOC
c.       Harga per LOC
d.      Jumlah halaman dokumentasi per LOC
Selain itu, beberapa metrik yang bisa dihitung adalah:
a.       Kesalahan per orang-bulan
b.      LOC per orang-bulan
c.       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.2 Function-Oriented Metrics
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:
a.        Jumlah masukan (user inputs)
b.       Jumlah keluaran (user outputs)
c.        Jumlah permintaan (inquiry)
d.       Jumlah berkas
e.      Jumlah antarmuka eksternal

2.2.1 Function Points
Function Point mengukur dari perspektif Functional dari software yang akan dibangun, terlepas dari bahasa programaan, metode development atau platform perangkat keras yang digunakan, Function Point harus dilakukan oleh orang terlatih dan berpengalaman dalam development software, karena dalam memberikan nilai-nilai dari setiap komponen Function point bersifat subyektif, dan akan wajar apabila hasil perhitungan function point seseorang akan berbeda dengan yang lain. Pengerjaan Function poin harus dimasukkan sebagai bagian dari rencana proyek secara keseluruhan. Artinya harus dijadwalkan dan direncanakan pengerjaannya.
Hasil dari pengukuran menggunakan Function Point dapat digunakan untuk mengestimasi biaya dan effort yang diperlukan dalam development perangkat lunak.

2.2.2 Penghitungan Metrik Function Points
Pengukuran yang berhubungan dengan fungsi (Metric Function Oriented) adalah pengukuran fungsionalitas yang disampaikan oleh aplikasi sebagai suatu nilai normalisasi. Perhitungan dengan metode Function Point menuntut untuk dilakukan oleh seorang profesional yang berpengalaman karena memiliki tingkat subyektifitas yang cukup tinggi. Metrik berorientasi fungsi diusulkan oleh (Albrecth 1979), yang menyarankan pengukuran yang disebut Function Point. Function Point tidak bergantung pada bahasa sehingga produktivitas pada bahasa pemrograman yang berbeda dapat dibandingkan. Produktivitas dinyatakan sebagai poin fungsi yang dihasilkan per orang-bulan. Function Point di-bias menuju system pemrosesan data yang didominasi oleh operasi input dan output. Metode ini sendiri terdiri dari banyak varia. Variasi yang adalah pada langkah/tahapan yang ada maupun pada isi dari tiap tahapan. Varian-varian ini timbul karena metode ini dapat diubah sesuai dengan kebijakan perusahaan pengembang software. Namun apapun varian yang digunakan oleh pengembang, hendaknya digunakan dengan konsisten agar tercipta komparasi yang benar antara software-software yang dinilai.

Langkah 1 : Menghitung crude function points (CFP)

Jumlah dari komponen fungsional sistem pertama kali diidentifikasi dan dilanjutkan dengan mengevaluasi kuantitasi bobot kerumitan dari tiap komponen tersebut. Pembobotan tersebut kemudian dijumlahkan dan menjadi angka CFP. Perhitungan CFP melibatkan 5 tipe komponen sistem software berikut :
a. Jumlah macam aplikasi input (user inputs)
b. Jumlah macam aplikasi output (user outputs)
c. Jumlah macam aplikasi query online – aplikasi ini berhubungan dengan query terhadap data yang tersimpan (Inquiry)
d. Jumlah macam file/tabel logic yang terlibat
e. Jumlah macam interface eksternal – output atau input yang dapat berhubungan dengan komputer lewat komunikasi data, CD, disket, dan lain-la
Kemudian diberikan faktor bobot pada tiap komponen di atas berdasarkan kompleksitasnya. Tabel 1 di bawah ini merupakan contoh blanko pembobotan tersebut.
  
Tabel 1 Blanko penghitungan CFP
Komponen system sofware
Level kompleksitas
Total
CFP
Sederhana
Sederhana
Sederhana

Count
Factor
Bobot
Point
Count
Factor
Bobot
Point
Count
Factor
Bobot
Point


A
B
C=A x B
D
E
F=DxE
G
H
I=G x H
J=C+F+I
Input

3


4


6


Output

4


5


7


Query online

3


4


6


File logic

7


10


15


Interface ekternal

5


7


10


Total CFP











 
RCAF berfungsi untuk menghitung kesimpulan kompleksitas dari sistem software daribeberapa subyek karakteristik. Penilaian berskala 0 sampai 5 diberikan pada tiap subyek yang paling berpengaruh terhadap usaha pengembangan yang dibutuhkan. Blanko penilaian yang diusulkan penulis diberikan seperti Tabel 2

Tabel 2 Blanko penghitungan RCAF
No
Subyek
Nilai
1
Tingkat kompleksitas kehandalan backup/recovery
0 1 2 3 4 5
2
Tingkat kompleksitas komunikasi data
0 1 2 3 4 5
3
Tingkat kompleksitas pemrosesan terdistribusi
0 1 2 3 4 5
4
Tingkat kompleksitas kebutuhan akan kinerja
0 1 2 3 4 5
5
Tingkat kebutuhan lingkungan operasional
0 1 2 3 4 5
6
Tingkat kebutuhan knowledge pengembang
0 1 2 3 4 5
7
Tingkat kompleksitas updating file master
0 1 2 3 4 5
8
Tingkat kompleksitas instalasi
0 1 2 3 4 5
9
Tingkat kompleksitas aplikasi input, output, query online dan file
0 1 2 3 4 5
10
Tingkat kompleksitas pemrosesan data
0 1 2 3 4 5
11
Tingkat ketidakmungkinan penggunaan kembali dari kode (reuse)
0 1 2 3 4 5
12
Tingkat variasi organisasi pelanggan
0 1 2 3 4 5
13
Tingkat kemungkinan perubahan/fleksibilitas
0 1 2 3 4 5
14
Tingkat kebutuhan kemudahan penggunaan
0 1 2 3 4 5

Total = RCAF


Langkah 3 : Menghitung Function Point (FP)

Nilai function point untuk sistem software tersebut kemudian dihitung berdasarkanhasil dari tahap 1 dan 2 yang dimasukkan ke dalam formula

FP = CFP x (0.65 + 0.01 x RCAF)

2.2.3 Penentuan Kompleksitas Transformasi Function Points
Matrik perangkat lunak function oriented (beroperasi pada fungsi) mengunakan sebuah pengukuran fungsionalyang disampaikan oleh aplikasi sebagai suatu nilai normalisasi. Metrik beroreintasi fungsi pertama kali diusulkan oleh albercht uang mengusulkan sebuah pengukuran yang disebut function ditarik dengan mengunakan sebua hubungan empiris berdasarkan pengukuran (langsung) domain informasi perangkat lunak yang dapat dihitung serta perkiraan kompleksitas perangkat lunak
Function point dihitung dengan melengkapi table 3 berikut:

Parameter Pengukuran
jmlah
sederhana
Rata-rata
kompleks
Factor pembobot
Jumlah input pemakai
X
3
4
6
= ……….
Jumlah output pemakai
x
4
5
7
= ……….
Jumlah penyelidikan pemakai
X
3
4
6
= ……….
Jumlah file
X
7
10
15
= ……….
Jumlah interface internal
X
6
7
10
= ……….
Total




…………

Gambar perhitungan metric function point
-           Jumlah input pemakai ; setiap input yang memberikan data yang berorientasi pada aplikasi yang jelas pada perangkat lunak dihitung
-           Jumlah output pemakai ; setiap output pemakai yang memberikan informasi yang berorientasi pada aplikasi kepada pemakai dihitung. Pada konteks lain output mengacu pada laporan, layar, tampilan kesalahan dsb.
-           Jumlah penyelidikan pemakai ; sebuah penyelidikan didefinisikan sebaai input online yang mengakibatkan munculnya beberapa respon perangkat lunak yang cepat dalam bentuk sebuah out put online.
-           Jumlah file ; setiap file master dihitung
-           Jumlah interface eksternal ; semua interface yang dapat di baca oleh mesin yang digunakan untuk memindahkan informasi ke system yang lain dihitung.

Untuk menghitung titik-titik (FP) dipakai hubungan seagai berikut :
FP=jumlah total x [0.65 + 0,01 x Fi]

3.  Kualitas Perangkat Lunak
Menunurut Heri Abi Burachman Hakim 2008 yang dikutip dari McCall menjelaskan bahwa kualitas perangkat lunak diukur dari sebelas aspek. Sebelas aspek tersebut merupakan gabungan antara kebutuhan pengguna dan faktor-faktor lainnya yang mempengaruhi kualitas sebuah perangkat lunak. Aspek-aspek yang digunakan untuk mengukur kualitas sebuah perangkat lunak adalah:
1.       Kebenaran yaitu kemampuan perangkat lunak mampu memenuhi spesifikasi dan misi kebutuhan pengguna
2.       Reliabilitas yaitu kemampuan sebuah perangkat lunak dapat melaksanakan fungsinya dengan tingkat ketelitian yang diperlukan.
3.       Efisiensi yaitu sumber daya komputasi yang dibutuhkan oleh perangkat lunak untuk melakukan fungsinya.
4.       Integritas yaitu tingkat kemampuan kontrol akses ke perangkat lunak atau data oleh orang yang tidak berhak.
5.       Usabilitas yaitu usaha yang dibutuhkan untuk mempelajari, mengoperasikan, menyiapkan input, dan menginterpretasikan output suatu perangkat lunak.
6.       Maintanabilitas yaitu kemampuan perangkat lunak untuk mencari dan membetulkan kesalahan pada sebuah perangkat lunak.
7.       Fleksibilitas yaitu kemampuan perangkat lunak untuk memodifikasi perangkat lunak operasional.
8.       Testabilitas yaitu kemampuan yang diperlukan untuk menguji perangkat lunak dan untuk memastikan apakah perangkat lunak telah melakukan fungsi-fungsi yang dimaksudkan.

3.1 Faktor yang Mempengaruhi Kualitas
Ada bebeapa factor yang menilai perangkat lunak dari tiga sudut pandang bebeda yaitu :
a.       operasi produk (menggunakannya)
b.      revisi produk (mengubanya)
c.       transisi produk (memodifikasi untuk bekerja dalam lingkungan yang berbeda
hubungan antara kualitas (yang mereka sebut kerangka kerja)  dan aspek-aspek lain dari proses rekayasa perangkat lunak :
1.       kerangka kerja memerikan suatu mekanisme untuk manejer untuk mengenali kualitas-kualitas apa yang penting
2.       kerangka kerja membeerikan alat untuk menilai secara kualitas kuantitatas sebeberapa baik kemajuan pengembangan
3.       kerangka kerja memberikan interaksi yang lebih baik dalam pada QA sepanjang usaha pengembangan
4.       personil jaminan kualitas dapat menggunakan indikasi buruknya kualitas untuk membantu mengindentfikasi standar-standar untuk usaha di masa mendatang

4.  Penyatuan Metrik-metrik dalam Proses Perangkat Lunak
Proses pengukuran perangkat lunak harus menjadi metode, tujuan teratur untuk mengukur, menilai, menyesuaikan, dan akhirnya meningkatkan proses pembangunan. Data dikumpulkan berdasarkan dikenal, atau diantisipasi, pembangunan, keprihatinan, dan pertanyaan. Mereka kemudian dianalisis sehubungan dengan pengembangan perangkat lunak proses dan produk. Proses pengukuran digunakan untuk menilai kualitas, kemajuan, dan kinerja seluruh tahapan siklus hidup semua. (Sheikh Umar Farooq 2011) menjelaskan tentang Komponen utama dari proses pengukuran yang efektif adalah:
·         Secara jelas mendefinisikan pengembangan perangkat lunak dan masalah ukuran (elemen data) yang diperlukan untuk memberikan pemahaman isu-isu;
·         Pengolahan data yang dikumpulkan ke dalam laporan grafis atau tabel (indikator) untuk membantu dalam analisis masalah;
·         Analisis indikator untuk memberikan pemahaman tentang isu-isu pembangunan, dan,
·         Gunakan hasil analisis untuk melaksanakan perbaikan proses dan mengidentifikasi isu-isu baru dan masalah.
Gambar 1 - Gambar Proses Pengukuran Software
Pada gambar diatas menunjukkan proses pengukuran perangkat lunak. Kegiatan yang diperlukan untuk merancang suatu proses pengukuran menggunakan arsitektur ini adalah:
·         Mengembangkan proses pengukuran harus dibuat tersedia sebagai bagian dari perangkat lunak standar organisasi proses;
·         Perencanaan proses pada proyek dan mendokumentasikan prosedur dengan menyesuaikan dan mengadaptasi aset proses;
·         Menerapkan proses pada proyek-proyek dengan menjalankan rencana dan prosedur, dan
Meningkatkan proses dengan berkembang rencana dan prosedur sebagai proyek matang dan pengukuran mereka perlu berubah.
  
Menurut (Paulish 1994), proses pada pengembangan perangkat lunak dipaparkan dalam gambar 2 sebagai berikut:

Gambar 2 Lingkungan pengembangan perangkat lunak

Dari gambar diatas diperoleh bahwa proses berada di tengah-tengah segitiga yang terhubung pada tiga faktor utama, yaitu: sumber daya manusia, kompleksitas produk, dan perkembangan teknologi. Dari ketiga faktor tersebut yang paling berpengaruh dalam hal kualitas dan performa proses adalah sumber daya manusia. Segitiga proses terdapat di dalam sebuah lingkaran dari kondisi lingkungan dari proses yang sedang berjalan, yang terdiri dari lingkungan pengembangan system
Grady 1992 berpendapat bahwa terdapat penggunaan privat dan public untuk data-data proses yang diperoleh. Beberapa metrik proses bisa bersifat privat untuk tim dalam proyek, namun bisa bersifat publik untuk seluruh anggota tim

Gambar 3 Grafik tulang ikan analisa proses pengembangan perangkat lunak

Untuk memudahkan suatu organisasi dalam melakukan analisis proses, dibuat suatu pendekatan yang disebut dengan Statistical Software Process Improvement (SSPI). SSPI menggunakan analisis kesalahan yang terdapat pada perangkat lunak untuk mengumpulkan informasi mengenai semua kesalahan dan kekurangan yang dapat terjadi pada aplikasi atau sistem. Analisis kesalahan dilakukan pada hal-hal berikut:
1. Semua kesalahan dan kekurangan yang dikategorikan berdasarkan sumber dari kesalahan
2. Pencatatan biaya untuk memperbaiki tiap kesalahan
3. Jumlah kesalahan dan kekurangan pada tiap kategori dijumlahkan dan diurutkan mulai dari yang paling banyak sampai yang paling sedikit
4. Semua biaya dari kesalahan dan kekurangan dari tiap kategori dihitung
5. Data resultan dianalisa untuk menutupi kategori-kategori yang memerlukan biaya paling besar
6. Perencanaan yang cermat dibuat untuk melakukan perubahan pada proses dengan mengurangi frekuensi kesalahan dan kekurangan yang paling banyak menghabiskan biaya.
Kumpulan dari metrik proses menghasilkan sebuah diagram ‘tulang ikan’ seperti pada gambar 3 Diagram yang lengkap dapat digunakan oleh organisasi perangkat lunak dalam melakukan modifikasi proses untuk mengurangi frekuensi kesalahan.

C. DAFTAR PUSTAKA
Sheikh Umar Farooq, S. M. K. Quadri, Nesar Ahmad, Software Measurements And Metrics: Role In Effective Software Testing Head, P.G. Department of Computer Sciences, 2011 University of Kashmir, Srinagar, J&K – 190006.

Bajeh, A. O., A Novel Metric For Measuring The Readability of Software Source Code, Department of Computer Science, University of Ilorin, 2011, Ilorin, Nigeria

Grady, Robert B., Practical Software Metrics for Project Management and Process Improvement, Prentice-Hall, Inc., 1992, ISBN: 0137203845

Albrecht, A. J., Measuring Application Development Productivity, IBM Applications Development Symposium, Monterey, CA , 1979 , pp. 83-92
D.J. Paulish and A.D. Carleton, Case Studies of Software-Process-Improvement Measurement, IEEE Computer, Vol. 27, No. 9, September 1994, pp. 50 – 57
Tavakoli, I. dan Perks, KJ, "The Pengembangan Sistem Kontrol Strategis Untuk Manajemen Perubahan Strategis ", Strategis Change, (2001) Vol. 10, hal 297-305. 10]
Bir, M. dan Eisenstat, R., "The Silent Pembunuh Implementasi Strategi Dan Belajar ", Sloan Management Review, (2000), Vol. 41 No 4, hal 29-40.
Heri Abi Burachman Hakim, Evaluasi Kualitas Openbiblio Sebagai Perangkat Lunak Otomasi Perpustakaan Berbasis Open Source, 2008 Perpustakaan Digital UIN Sunan Kalijaga Yogyakarta