Pengertian COCOMO
COCOMO adalah sebuah model yang didesain oleh Barry Boehm untuk
memperoleh perkiraan dari jumlah orang-bulan yang diperlukan untuk
mengembangkan suatu produk perangkat lunak. Satu hasil observasi yang
paling penting dalam model ini adalah bahwa motivasi dari tiap orang
yang terlibat ditempatkan sebagai titik berat. Hal ini menunjukkan bahwa
kepemimpinan dan kerja sama tim merupakan sesuatu yang penting, namun
demikian poin pada bagian ini sering diabaikan.
Sejarah COCOMO
COCOMO pertama kali diterbitkan pada tahun 1981 Barry Boehm W.'s Book
ekonomi Software engineering sebagai model untuk memperkirakan usaha,
biaya, dan jadwal untuk proyek-proyek perangkat lunak. Ini menarik pada
studi dari 63 proyek di TRW Aerospace mana Barry Boehm adalah Direktur
Riset dan Teknologi Perangkat Lunak pada tahun 1981. Penelitian ini
memeriksa proyek-proyek ukuran mulai dari 2.000 sampai 100.000 baris
kode, dan bahasa pemrograman mulai dari perakitan untuk PL / I.
Proyek-proyek ini didasarkan pada model pengembangan perangkat lunak
waterfall yang merupakan proses software umum pembangunan di 1981.
Referensi untuk model ini biasanya menyebutnya COCOMO 81. Pada tahun
1997 COCOMO II telah dikembangkan dan akhirnya diterbitkan pada tahun
2000 dalam buku Estimasi Biaya COCOMO II Software dengan COCOMO II.
adalah penerus dari COCOMO 81 dan lebih cocok untuk mengestimasi proyek
pengembangan perangkat lunak modern. Hal ini memberikan lebih banyak
dukungan untuk proses pengembangan perangkat lunak modern, dan basis
data proyek diperbarui. Kebutuhan model baru datang sebagai perangkat
lunak teknologi pengembangan pindah dari batch processing mainframe dan
malam untuk pengembangan desktop, usabilitas kode dan penggunaan
komponen software off-the-rak.
Gambar 1 Jenis-Jenis COCOMO
Jenis - Jenis Model COCOMO :
1. Model COCOMO Dasar
Model
ini menggunakan estimasi parameter persamaan (dibedakan menurut tipe
sistem yang berbeda) upaya pengembangan dan pembangunan durasi dihitung
berdasarkan perkiraan DSI. Dengan rincian untuk fase ini diwujudkan
dalam persentase. Dalam hubungan ini dibedakan menurut tipe sistem
(organik-batch, sebagian bersambung-on-line, embedded-real-time) dan
ukuran proyek (kecil, menengah, sedang, besar, sangat besar).
Model COCOMO ini dapat diaplikasikan dalam tiga tingkatan kelas:
- Proyek organik (organic mode) Adalah
proyek dengan ukuran relatif kecil, dengan anggota tim yang sudah
berpengalaman, dan mampu bekerja pada permintaan yang relatif fleksibel.
- Proyek sedang (semi-detached mode)Merupakan
proyek yang memiliki ukuran dan tingkat kerumitan yang sedang, dan
tiap anggota tim memiliki tingkat keahlian yang berbeda
- 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 ini 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)
- Reliabilitas perangkat lunak yang diperlukan (RELY)
- Ukuran basis data aplikasi (DATA)
- Kompleksitas produk (CPLX)
2. Atribut perangkat keras (computer attributes)
- Waktu eksekusi program ketika dijalankan (TIME)
- Memori yang dipakai (STOR)
- Kecepatan mesin virtual (VIRT)
- Waktu yang diperlukan untuk mengeksekusi perintah (TURN)
3. Atribut sumber daya manusia (personnel attributes)
- Kemampuan analisis (ACAP)
- Kemampuan ahli perangkat lunak (PCAP)
- Pengalaman membuat aplikasi (AEXP)
- Pengalaman penggunaan mesin virtual (VEXP)
- Pengalaman dalam menggunakan bahasa pemrograman (LEXP)
4. Atribut proyek (project attributes)
- Penggunaan sistem pemrograman modern(MODP)
- Penggunaan perangkat lunak (TOOL)
- 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.
Koefisien ai dan eksponen bi diberikan pada tabel berikut.
Tabel 3. Koefisien Model COCOMO Lanjut
Persamaan Perangkat Lunak
Persamaan
perangkat lunak merupakan model variabel jamak yang menghitung suatu
distribusi spesifik dari usaha pada jalannya pengembangan perangkat
lunak. Persamaan berikut ini diperoleh dari hasil pengamatan terhadap
lebih dari 4000 proyek perangkat lunak :
(5)
Dimana :
• E = usaha yang dilakukan (orang-bulan atau orang-tahun)
• t = durasi proyek dalam (bulan atau tahun)
• B = faktor kemampuan khusus
• P = parameter produktivitas
Nilai
B diambil berdasarkan perkiraan. Untuk program berukuran kecil (0.5
< KLOC < 5), B = 0.16. Untuk program yang lebih besar dari 70
KLOC, B = 0.39.
Sedangkan besarnya nilai P merefleksikan:
1. Kematangan proses dan praktek manajemen
2. Kualitas rekayasa perangkat lunak
3. Tingkat bahasa pemrograman yang digunakan
4. Keadaan lingkungan perangkat lunak
5. Kemampuan dan pengalaman tim pengembang
6. Kompleksitas aplikasi
Berdasarkan
teori, diperoleh P = 2000 untuk sistem terapan, P = 10000 untuk
perangkat lunak pada sistem informasi dan sistem telekomunikasi, dan P =
28000 untuk sistem aplikasi bisnis.
Konversi Waktu Tenaga Kerja
Konversi
waktu tenaga kerja ini diperoleh dari angka pembanding yang digunakan
pada perangkat lunak ConvertAll, dengan hubungan persamaan antara
orang-bulan (OB), orang-jam (OJ), orang-minggu (OM), dan orang-tahun
(OT) adalah sebagai berikut :
OM = 40 OJ (6)
OT = 12 OB (7)
OT = 52 OM (8)
Dari persamaan di atas, diperoleh konversi orang-bulan ke orang-jam sebagai berikut :
OB = (40 OJ x 52) / 12
OB = 173,33 OJ (9)
3. Model COCOMO II (Complete atau Detailed COCOMO model)
Detail
COCOMO menggabungkan semua karakteristik versi intermediate dengan
penilaian dampak cost driver di setiap langkah (analisis, desain, dll)
dari proses rekayasa perangkat lunak 1. model rinci kegunaan yang
berbeda upaya pengali untuk setiap driver biaya atribut tersebut
Sensitif pengganda Tahap upaya masing-masing untuk menentukan jumlah usaha yang dibutuhkan untuk menyelesaikan setiap tahap.
Pada
COCOMO detail, upaya dihitung sebagai fungsi dari ukuran program dan
satu set driver biaya yang diberikan sesuai dengan tiap tahap siklus
hidup rekayasa perangkat lunak. Fase yang digunakan dalam COCOMO
detail, perencanaan kebutuhan dan perancangan perangkat lunak,
perancangan detil, kode dan menguji unit, dan pengujian integrasi
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.
Sumber :
- http://yayuk05.wordpress.com/2007/11/09/constructive-cost-model-cocomo/
-
http://www.dashboardcafe.com/index.php?option=com_content&view=article&id=102:dashboard-cocomo&catid=1:beritaterbaru&Itemid=50
- http://arifkurnia24.blogspot.com/2012/04/constructive-cost-model-cocomo.html