Cocomo,
sangat asing sekali di telinga kebanyakan orang awam tetapi jika dikalangan
“Pemain” yang setiap hari berkecimpuk di bidang pengembangan perangkat lunak
pasti sangat mengenal istilah berikut. Cocomo merupakan kepanjangan dari Constructive Cost Model dimana pengertiannya adalah algoritma
estimasi biaya perangkat lunak yaitu dalam pengembangan dan perencanaan
perangkat lunak.
Cocomo
pertama kali diterbitkan oleh Barry W Boehm pada tahun 1981 dalam bukunya
perangkat lunak rekayasa ekonomi.
Cocomo
terdiri dari 3 bentuk hirarki, semakin rinci dan akurat. Tingkat pertama, basic
cocomo adalah baik karena cepat, estimasi biayanya yang murah namun akurasinya
terbatas karena kurangnya factor untuk memperhitungkan perbedaan atribut proyek (Cost drivers). Intermediate
cocomo mengambil biaya aturan dan detailed cocomo yang berpengaruh dalam fase
proyek individu.
1. Model COCOMO Dasar
Model COCOMO dapat diaplikasikan dalam tiga tingkatan kelas:
1. Proyek organik (organic mode) Adalah proyek dengan ukuran relatif kecil,
dengan anggota tim yang sudah berpengalaman, dan mampu bekerja pada permintaan
yang relatif fleksibel.
2. Proyek sedang (semi-detached mode)Merupakan proyek yang memiliki ukuran dan
tingkat kerumitan yang sedang, dan tiap anggota tim memiliki tingkat keahlian
yang berbeda
3. Proyek terintegrasi (embedded mode)Proyek yang dibangun dengan spesifikasi
dan operasi yang ketat
Model COCOMO dasar ditunjukkan dalam persamaan 1, 2, dan 3 berikut ini:
(1, 2, 3)
Dimana :
• E : besarnya usaha (orang-bulan)
• D : lama waktu pengerjaan (bulan)
• KLOC : estimasi jumlah baris kode (ribuan)
• P : jumlah orang yang diperlukan.
Sedangkan koefisien ab, bb, cb, dan db diberikan pada Tabel 1 berikut:
Tabel 1 . Koefisien Model COCOMO Dasar
2. Model COCOMO Lanjut (Intermediate COCOMO)
Pengembangan model COCOMO adalah dengan menambahkan atribut yang dapat
menentukan jumlah biaya dan tenaga dalam pengembangan perangkat lunak, yang
dijabarkan dalam kategori dan subkatagori sebagai berikut:
1. Atribut produk (product attributes)
1. Reliabilitas perangkat lunak yang diperlukan (RELY)
2. Ukuran basis data aplikasi (DATA)
3. Kompleksitas produk (CPLX)
2. Atribut perangkat keras (computer attributes)
1. Waktu eksekusi program ketika dijalankan (TIME)
2. Memori yang dipakai (STOR)
3. Kecepatan mesin virtual (VIRT)
4. Waktu yang diperlukan untuk mengeksekusi perintah (TURN)
3. Atribut sumber daya manusia (personnel attributes)
1. Kemampuan analisis (ACAP)
2. Kemampuan ahli perangkat lunak (PCAP)
3. Pengalaman membuat aplikasi (AEXP)
4. Pengalaman penggunaan mesin virtual (VEXP)
5. Pengalaman dalam menggunakan bahasa pemrograman (LEXP)
4. Atribut proyek (project attributes)
1. Penggunaan sistem pemrograman modern(MODP)
2. Penggunaan perangkat lunak (TOOL)
3. Jadwal pengembangan yang diperlukan (SCED)
Masing-masing subkatagori diberi bobot seperti dalam tabel 2 dan kemudian
dikalikan.
Dari pengembangan ini diperoleh persamaan:
(4)
Dimana :
• E : besarnya usaha (orang-bulan)
• KLOC : estimasi jumlah baris kode (ribuan)
• EAF : faktor hasil penghitungan dari sub-katagori di atas.
3. Model COCOMO II
Model COCOMO II, pada awal desainnya terdiri dari 7 bobot pengali yang relevan
dan kemudian menjadi 16 yang dapat digunakan pada arsitektur terbarunya.
Tabel 4. COCOMO II Early Design Effort Multipliers
Tabel 5. COCOMO II Post Architecture Effort
Multipliers
Sama seperti COCOMO Intermediate (COCOMO81),
masing-masing sub katagori bisa digunakan untuk aplikasi tertentu pada kondisi
very low, low, manual, nominal, high maupun very high. Masing-masing kondisi
memiliki nilai bobot tertentu. Nilai yang lebih besar dari 1 menunjukkan usaha
pengembangan yang meningkat, sedangkan nilai di bawah 1 menyebabkan usaha yang
menurun. Kondisi Laju nominal (1) berarti bobot pengali tidak berpengaruh pada
estimasi. Maksud dari bobot yang digunakan dalam COCOMO II, harus dimasukkan
dan direfisikan di kemudian hari sebagai detail dari proyek aktual yang
ditambahkan dalam database.
-
http://en.wikipedia.org/wiki/COCOMO