Dokumen tersebut membahas mengenai pengukuran perangkat lunak yang dapat dilakukan secara langsung maupun tidak langsung. Pengukuran langsung meliputi biaya, kode, dan cacat, sedangkan tidak langsung meliputi fungsionalitas dan kualitas. Dokumen ini juga menjelaskan metrik-metrik yang dapat digunakan untuk mengukur perangkat lunak, seperti error per baris kode, biaya per halaman dokumentasi, dan jumlah kel
1. Software Measurement (PengukuranPerangkat Lunak)
Erwan Nur Arief
Pengukuran didunia nyata dapat dikategorikan ke dalam dua cara yaitu : dengan mengukurnya
secara langsung (misalnya mengukur sebuah baut) dan tidak langsung (misalnya mengukur
“kualitas” baut yang diproduksi, yang diukur dengan menghitung dari penerimaan baut oleh
konsumen). Begitu pula dengan pengukuran software. Pengukuran langsung diukur dari proses
termasuk biaya dan usaha yang diterapkan. Pengukuran langsung dari produk termasuk line of
code(LOC) yang diproduksi, kecepatan eksekusi software, ukuran memori, dan cacat software
yang dilaporkan selama beberapa periode waktu tertentu. Dan pengukuran tidak langsung dari
produk ini termasuk fungsionalitas, kualitas, kompleksitas, efisiensi, keandalan, kemampuan
pemeliharaan, dan lain-lain.
Biaya dan upaya yang diperlukan untuk membangun perangkat lunak, coding yang dihasilkan,
dan langkah-langkah langsung lainnya relatif mudah untuk dibuat, selama konvensi khusus untuk
pengukuran ditetapkan di awal. Namun, kualitas dan fungsionalitas dari perangkat lunak atau
efisiensi dan pemeliharaan lebih sulit untuk dinilaim dan dapat diukur hanya dengan cara tidak
langsung.
Size-OrientedMetrics (Pengukuran Orientasi)
Orientasi pengukuran software
berasal dari normalisasi ukuran kualitas atau produktivitas
dengan mempertimbangkan ukuran dari software yang dihasilkan.
Contoh:
Projecct
Code
Effort
$(000)
Pp. doc.
Errors
Defect
People
Alpha
12.100
24
168
365
134
29
3
beta
27.200
24
440
1224
321
86
5
gamma
20.200
43
314
1050
256
64
6
■
■
■
■
■
■
■
■
■
■
■
■
■
■
■
■
■
■
Untuk proyek alpha terdapat 12.100 baris kode dan dikembangkan oleh 24 orang dalam sebulan
berusaha dan dengan biaya $168.000. Perlu dicatat bahwa upaya dan biaya yang dicatat dalam
tabel mewakili semua kegiatan rekayasa perangkat lunak (analisis, desain, kode, dan tes), bukan
2. hanya coding. Informasi selanjutnya untuk proyek alphamenunjukan bahwa 365 halaman
dokumentasi dikembangkan, 134 kesalahan dicatat sebelum software dirilis, dan 29 cacat yang
muncul setelah rilis kepada pengguna dalam tahun pertama pengoperasian.
SizeOrientedMetric yang bisa dikembangkan untuk masing-masing proyek :
Error per KLOC (Kilo Lines of Code)
Cacat/kerusakan per KLOC
Harga per KLOC
Page of documentation per KLOC
Selain itu, metric lainnya yang bisa dihitung :
Error /orang –bulan
LOC /orang –bulan
Harga /halaman
Fungsi Pengukuran Orientasi
Menilai pelaksanaan proyek
Melacak resik yang mungkin terjadi
Menemukan “penyakit software” lebih dini Sebelum menjadi “parah”
Memastikan alur kerja dan tugas sesuai dengan rencana
Mengevaluasi kemeja tim dam mengendalikan hasil kerja
Reconciling (Rekonsiliasi) LOC dan FP Metrik
Hubungan antara LOC (baris kode) dan FP (function poin) tergantung pada pemrograman.
Bahasa yang digunakan untuk mengimplementasikan software dan kualitas desain. Fungsi poin
dan metrik berbasis LOC telah ditemukan untuk menjadi predikator yang relatif akurat dari
upaya pengembangan software dan biaya. Namun dalam rangka untuk menggunakan LOC dan
FP untuk estimasi, sebuah dasar historis informasi harus ditetapkan.
Object-OrientedMetrics (Objek Penghitungan Orientasi)
Konvensional metrik proyek software ( LOC atau FP ) dapat digunakan untuk memperkirakan
proyek softwareobjectoriented . Namun, metrik ini tidak memberikan rincian yang cukup untuk
3. jadwal dan usaha penyesuaian yang diperlukan saat melalui proses evolusi atau bertahap . Lorenz
dan Kidd [ Lor94 ] menyarankan set berikut metrik untuk proyek-proyek OO :
Number of scenario scripts (Jumlahskripskenario)
Number of key classes (Jumlah kelas kunci)
Number of support classes (Jumlah dukungan kelas)
Average number of support classes per key class (Jumlahdukungan rata-rata kelas per
kelasutama)
Number of subsystems (Jumlah subsistem)
Use-CaseOrientedMetrics
Para peneliti telah menyarankan UseCasePoint ( UCPs ) sebagai mekanisme untuk
memperkirakan usaha proyek dan karakteristinya. UCP adalah fungsi dari jumlah pelaku dan
transaksi tersirat oleh model usecase dan analog dengan FP dalam beberapa hal .
WebApp Project Metrics
Tujuan dari semua proyek aplikasi berbasis web adalah untuk memberikan kombinasi konten dan
fungsionalitas untuk user . Tindakan dan metrik yang digunakan untuk proyek-proyek rekayasa
perangkat lunak tradisional sulit diterjemahkan langsung ke aplikasi web . Namun , bisa saja
untuk mengembangkan database yang memungkinkan akses ke produktivitas internal dan ukuran
kualitas diturunkan selama beberapa proyek . Diantara langkah-langkah yang dapat dikumpulkan
adalah :
Number of static Web pages
User tidak memiliki kontrol atas konten yang ditampilkan pada halamanweb
Number of dynamic Web pages
Halaman ini merupakan kompleksitas relatif tinggi dan membutuhkan lebih banyak usaha
untuk membangun dari halaman statis. Langkah ini memberikan indikasi ukuran
keseluruhan aplikasi dan upaya yang diperlukan untuk mengembangkannya
Number of internal page links
Number of internal page linksadalah pointer yang menyediakan hyperlink ke beberapa
halaman web lain dalam aplikasi web . Langkah ini memberikan indikasi tingkat
4. arsitektur dalam aplikasi web . Karena jumlah halaman link meningkat , upaya
dikeluarkan pada desain navigasi dan konstruksi juga meningkat
Number of persistent data objects.
Salah satu atau lebih data persistent data object ( misalnya , database atau file data )
dapatdiaksesolehaplikasi web
Number of external systems interfaced.
Aplikasi
webharusseringberinteraksidengan
"
backroom
"
aplikasibisnis
Sebagaipersyaratanuntukperkembangan
.
tampilan
,upayakompleksitassistemdanpembangunanjugameningkat.
Number of static content objects.
Mencakupstatisberbasisteks , grafis , video, animasi , daninformasi audio yang
dimasukkandalamaplikasi web .
Number of dynamic content objects.
Benda kontendinamis yang dihasilkanberdasarkantindakanuserdanmencakup internal
dihasilkan
textbased
, grafis
,
video,
animasi
,
daninformasi
audio
yang
dimasukkandalamaplikasi Wet.
Number of executable functions.
Fungsi
executable
(
misalnya
,
script
atau
applet
menyediakanbeberapalayanankomputasikepadauser
Sebagaijumlahfungsieksekusimeningkat ,upayapemodelandankonstruksijugameningkat.
)
.