Constructive Cost Model (COCOMO) adalah algortima model estimasi biaya perangkat lunak yang dikembangkan dan diterbitkan oleh Barry Boehm didalam bukunya "Rekayasa Perangkat Lunak Ekonomi" sebagai model untuk memperkirakan usaha, biaya dan jadwal untuk proyek-proyek perangkat lunak. Model ini menggunakan dasar formula regresi dengan parameter yang berasal dari data historis dan karakteristik proyek yang sedang berlangsung. Perhitungan paling fundamental dalam model COCOMO adalah penggunaan Effort Equation untuk mengestimasi jumlah dari Person-Months yang dibutuhkan dalam pengembangan proyek.
Tidak seperti model estimasi biaya yang lain, COCOMO adalah model yang terbuka, sehingga semua detail dapat dipublikasi, termasuk :
- Dasar persamaan perkiraan biaya
- Setiap asumsi yang dibuat dalam model
- Setiap definisi
- Biaya yang disertakan dalam perkiraan dinyatakan secara eksplisit
Pada tahun 1997, COCOMO II telah dikembangkan dan akhirnya diterbitkan pada tahun 2000 lewat buku "Perangkat Lunak Perkiraan Biaya dengan COCOMO II". COCOMO versi ini merupakan 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 yang diperbaharui. Kebutuhan akan model baru, datang saat teknologi pengembangan perangkat lunak bermigrasi dari mainframe dan batch processing ke pengembangan berbasis desktop, usabilitas kode dan penggunaan komponen software.
Pada model COCOMO II, beberapa factor terpenting yang berkontribusi pada durasi proyek dan biaya yang dikeluarkan adalah Scale Drivers. Pemakai mengeset setiap Scale Drivers untuk mendeskripsikan Proyek mereka. Scale Drivers tersebut menentukan eksponen yang digunakan dalam Effort Equation. Terdapat 5 Scale Drivers yaitu :
- Precedentedness
- Development Flexibility
- Architecture / Risk Resolution
- Team Cohesion
- Process Maturity
COCOMO II memiliki 17 cost drivers. Cost driver tersebut adalah factor pengali yang menentukan usaha yang diperlukan untuk menyelesaikan proyek software anda. Sebagai contoh, jika proyek anda akan mengembangkan software yang mengatur penerbangan pesawat, anda akan mengeset Required Software Reliability (RELY) cost driver menjadi sangat tinggi. Rating tersebut berhubungan dengan effort multiplier 1,26 yang berarti bahwa proyek anda akan membutuhkan usaha lebih sebesar 26% dibanding proyek software pada umumnya. COCOMO II mendefinisikan setiap cost drivers dan effort multiplier yang terhubung dengan setiap rating.
COCOMO terdiri dari tiga bentuk model, diataranya adalah :
1. Cocomo Dasar
Cocomo dasar menghitung usaha pengembangan perangkat lunak dan biaya sebagai fungsi dari ukuran program. Ukuran program dinyatakan dalam KLOC. Model Cocomo dapat diaplikasikan dalam tiga tingakatan kelas yaitu :
- Proyek Organic (Organic Mode) adalah proyek dengan ukuran relatif kecil, dengan anggota team 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 denga spesifikasi dan operasi yang ketat.
Model COCOMO dasar ditunjukkan dalam persamaan 1, 2, dan 3 berikut ini:
keterangan :
- E : besarnya usaha (orang-bulan)
- D : lama waktu pengerjaan (bulan)
- KLOC : estimasi jumlah baris kode (ribuan)
- P : jumlah orang yang diperlukan.
2. COCOMO Menengah (Intermediet COCOMO)
Intermediate COCOMO menghitung usaha pengembangan perangkat lunak sebagai fungsi ukuran program dan sekumpulan "cost drivers" yang mencakup penilaian subjektif produk, perangkat keras, personil dan atribut proyek. Ekstensi ini mempertimbangkan satu set empat "cost drivers", masing-masing dengan sejumlah atribut anak: -
- Atribut produk
- Perangkat lunak yang disyaratkan reliabilitas
- Ukuran database aplikasi
- Kompleksitas produk
- Hardware atribut
- Run-time kinerja kendala
- Memori kendala
- Volatilitas lingkungan mesin virtual
- Diperlukan waktu pembalikan haluan
- Personil atribut
- Analis kemampuan
- Kemampuan rekayasa perangkat lunak
- Aplikasi pengalaman
- Mesin virtual pengalaman
- Bahasa pemrograman pengalaman
- Proyek atribut
- Penggunaan perangkat lunak
- Penerapan metode rekayasa perangkat lunak
- Diperlukan jadwal pengembangan
3. COCOMO Detil (Detailed COCOMO)
Detil 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
Sumber :
- http://en.wikipedia.org/wiki/COCOMO
- http://aduk-udik.blogspot.com/2011/03/cocomo-constructive-cost-model.html
- http://www.informit.com/ShowCover.aspx?isbn=0137025769&type=f