Pendidikan

Estimasi Proyek Perangkat Lunak

Estimasi Proyek Perangkat Lunak

Estimasi Proyek Perangkat Lunak

Pada masa awal-awal penghitungan, biaya perangkat lunak terdiri dari persentase kecil biaya sistem berbasis komputer secara kesekuruhan. Urutan kesalahan besaran pada estimasi biaya perangkat lunak memiliki pengaruh yang relatif kecil.sekarang perangkat lunak menjadi sesuatu yang mahal di dalam sebagian besar sistem berbasis komputer. Kesalahan estimasi biaya yang besar dapat memberikan perbedaan antara keuntungan dan kerugian. Biaya yang terlalu banyak dapat menjadi bencana bagi pengembang perangkat lunak.

Ada sejumlah pilihan untuk mencapai estimasi biaya dan usa yang dapat dipertanggungjawabkan, yaitu :
1.    Menunda estimasi sampai akhir proyek.
2.    Mendasarkan estimasi pada proyek-proyek yang mirip yang sudah dilakukan sebelumnya.
3.    Menggunakan teknik dekomposisi yang relatif sederhana untuk melakukan estimasi biaya biaya dan usaha proyek.
4.    Menggunakan satu atau lebih model empiris bagi estimasi usaha dan biaya perangkat lunak.

Pada estimasi proyek perangkat lunak, teknik dekomposisi mengambil cara “membagi dan mengalahkan.” Dengan mendekomposisi sebuah proyek ke dalam fungsi-fungsi utama serta aktovitas rekayasa perangkat lunak yang berhubungan, estimasi biaya dan usaha dapat dilakukan langkah demi langkah. Model estimasi empiris dapat digunakan untuk melengkapi teknik dekomposisi serta menawarkan pendekatan estimasi yang secara potensial berharga. Model berbasis pengalaman (data histories) dan berbentuk :

d = f(vi)

Dimana d adalah satu dari sejumlah harga estimasi (contonya usaha, biaya, durasi proyek) dan vi adalah parameter independen yang dipilih (seperti LOC dan FP yang diestimasi)

Ø    Teknik Dekomposisi
Estimasi proyek perangkat lunak merupakan bentuk pemecahan masalah, dan dalam banyak kasus, masalah yang harus dipecahkan (yakni pengembangan estimasi biaya dan usaha bagi sebuah proyek perangkat lunak) sangat kompleks untuk dipertimbangkan sebagai satu bagian. Karena alasan tersebut, kita mendekomposisi masalah, menandainya sebagai serangkaian masalah yang lebih kecil (yang diharapkan lebih dapat teratur).

–    Software Sizing

Akurasi estimasi proyek perangkat lunak didasarkan pada sejumlah hal :
1.    tingkat dimana perencana telah dengan tepat mengestimasi ukuran produk yang akan dibuat
2.    kemampuan untuk menerjemahkan estimasi ukuran ke dalam kerja manusia, waktu kalender, dan dolar (fungsi avaibilitas metrik perangkat lunak yang reliabel dari proyek sebelumnya)
3.    tingkat dimana rencana proyek mencerminkan kemampuan tim perangkat lunak
4.    stabilitas syarat produk serta lingkungan yang mendukung usaha pengembangan perangkat lunak

Putnam dan Myers mengusulkan 4 pendekatan yang berbeda terhadap masalah penentuan ukuran :
1.    Fuzzy-Logic Sizing. Pendekatan ini menggunakan teknik reasoning aproksimasi yang merupakan dasar bagi fuzzy logic
2.    Function Point Sizing.
3.    Standard Component Sizing
4.    Change Sizing

–    Perkiraan Berdasarkan Masalah

Selama estimasi proyek perangkat lunak, data LOC dan FP digunakan dalam dua cara :
1.    sebagai variabel estimasi yang dipakai untuk mengukur masing-masing elemen perangkat lunak
2.    sebagai matrik baseline yang dikumpulkan dari proyek yang lalu dan dipakai dalam hubungannya dengan variabel estimasi untuk mengembangkan proyeksi kerja dan biaya

Estimasi LOC dan FP merupakan teknik estimasi yang berbeda tetapi keduanya memiliki karakteristik umum. Teknik estimasi LOC dan FP berbeda dalam tingkat detail yang dibutuhkan untuk dekomposisi dan target pembagian. Bila LOC digunakan sebagai variabel estimasi, dekomposisi menjadi sangat penting dan sering dipakai pada tingkat yang dapat dipertanggungjawabkan. Semakin besar tingkat pemisahannya, semakin akurat LOC dan FP yang dikembangkan.
Pada estimasi FP, dekomposisi bekerja secara berbeda. Selain berfokus pada fungsi, masing-masing karakteristik domain informasi – input, output, file data, inquriry dan interface eksternal – serta 14 nilai penyesuaian kompleksitas. Estimasi resultan digunakan untuk mendapatkan nilai FP yang dapat diikat dengan data sebelumnya serta digunakan untuk melakukan estimasi.

–    Estimasi Berbasis Proses

Perkiraan berbasis proses dimulai dengan gambaran fungsi-fungsi perangkat lunak yang diperoleh dari ruang lingkup proyek. Sekali fungsi dan masalah aktivitas proses disatukan, perencana akan memperkirakan usaha yang dibutuhkan untuk menyelesaikan setiap aktivitas proses perangkat lunak untuk setiap fungsi perangkat lunak. Tingkat kerja rata-rata kemudian diterapkan pada usaha yang diperkirakan bagi setiap aktivitas proses. Biaya dan usaha bagi setiap fungsi dan aktifitas proses perangkat lunak dihitung sebagai langkah akhir. Jika perkiraan yang berbasis proses dilakukan dengan tidak tergantung pada perkiraan LOC dan FP, kita memiliki dua atau tiga perkiraan biaya dan usaha yang dapat dibandingkan dan dirundingkan. Jika kedua kumpulan perkiraan tersebut memperlihatkan kecocokan yang dapat dipertanggungjawabkan maka tidak ada alasan untuk tidak percaya bahwa perkiraan tersebut dapat diandalkan. Tetapi bila hasil teknik dekomposisi itu memperlihatkan hanya sedikit kecocokan, maka harus dilakukan investigasi dan analisis lebih jauh lagi

Ø    Model Perkiraan Empiris

Model perkiraan untuk perangkat lunak komputer menggunakan rumusan yang ditarik secara empiris untuk memprediksi usaha sebagai sebuah fungsi LOC dan FP. Model perkiraan tertentu ditarik dengan menggunakan analisis regresi terhadap data yang dikumpulkan dari proyek perangkat lunak sebelumnya. Struktur keseluruhan dari model semacam itu berbentuk :

E = A + B x (Ev)C

Dimana A, B, dan C adalah konstantayang ditarik secara empiris, E adalah usaha dalam person-month, dan Ev adalah variable perkiraan (baik dalam LOCmaupun FP).

Model COCOMO
Merupakan hierarki model estimasi perangkat lunak yang merupakan singkatan dari Constructive Cost Model (Model Biaya Konstruktif). Yang berbentuk :

Model 1 : model COCOMO dasar menghitung usaha pengembangan perangkat lunak (dan biaya) sebagai fungsi dari ukuran program yang diekspresikan dalam baris kode yang diestimasi.

Model 2 : model COCOMO intermediate menghitung usaha pengembangan perangkat lunak sebagai fungsi ukuran program dan serangkaian ”pengendali biaya” yang menyangkut penilaian yang subyektif terhadap produk, perangkat keras personil, dan atribut proyek

Model 3 : model COCOMO advanced menghubungkan semua karakteristik versi intermediate dengan penilaian terhadap pengaruh pengendali biaya pada setiap langkah (analisis, perancangan, dll) dari proses rekayasa perangkat lunak

Persamaan Perangkat Lunak
Persamaan perangkat lunak adalah model yang multivariasi yang mengasumsikan distribusi khusus usaha sepanjang hidup proyek pengembanganperangkat lunak. Model tersebut sudah diambil dari data produktivitas yang dikumpulkan dari 4000 proyek perangkat lunak yang sejaman. Berdasarkan data-data tersebut, model estimasinya berbentuk :

E = [LOC x B0,333/P3] x (1/f4)

Dimana :

E       = usaha dalam person-month atau person-year
T       = durasi proyek dalam bulan atau tahun
B      = “factor skill khusus” yang meningkat secara pelan-pelan “pada saat kebutuhan akan intregasi, pengujian, jaminan kualitas, dokumentasi, manajemen skill tumbuh ”. untuk program kecil (KLOC = 5 sampai 15) B = 0,16. untuk program yang lebih besar daripada daripada 70 KLOC, B = 0,39
P       = “parameter produktivitas” yang mencerminkan :
– kematangan proses dan praktik manajemen secara  keseluruhan.
–  tingkat di mana praktik rekayasa perangkat lunak yang  baik digunakan
–   tingkat bahasa pemrograman yang digunakan
–   keadaan lingkungan perangkat lunak
–   ketrampilan/skill dan pengalaman tim perangkat lunak
–   kompleksitas aplikasi