COCOMO atau Constructive
Cost Model adalah model algoritma estimasi biaya perangkat lunak yang
dikembangkan oleh Barry Boehm pada tahun 1981. Model ini menggunakan dasar
regresi formula, dengan parameter yang berasal dari data historis dan
karakteristik proyek-proyek saat ini.
Model estimasi COCOMO telah
digunakan oleh ribuan project manager suatu proyek perangkat
lunak, dan berdasarkan pengalaman dari ratusan proyek sebelumnya. Tidak seperti
model estimasi biaya yang lain, COCOMO adalah model terbuka, sehingga semua
detail dipublikasikan, termasuk :
- Dasar persamaan perkiraan biaya.
- Setiap asumsi yang dibuat dalam model.
- Setiap definisi.
- Biaya yang disertakan dalam perkiraan dinyatakan secara eksplisit
COCOMO memiliki 3 jenis
implementasi, yaitu :
1.
Basic COCOMO (COCOMO I 1981)
Menghitung dari estimasi jumlah LOC
(Lines of Code). Pengenalan COCOMO ini diawali di akhir tahun 70-an.
Sang pelopor, Boehm, melakukan riset dengan mengambil kasus dari 63 proyek
perangkat lunak untuk membuat model matematisnya. Model dasar dari model ini
adalah sebuah persamaan sebagai berikut :
effort
= C * size^M
ket :
effort = usaha yang dibutuhkan selama proyek, diukur dalam person-months;
c dan M = konstanta-konstanta yang dihasilkan dalam riset Boehm dan tergantung pada penggolongan besarnya proyek perangkat lunak
size = estimasi jumlah baris kode yang dibutuhkan untuk implementasi, dalam satuan KLOC (kilo lines of code).
effort = usaha yang dibutuhkan selama proyek, diukur dalam person-months;
c dan M = konstanta-konstanta yang dihasilkan dalam riset Boehm dan tergantung pada penggolongan besarnya proyek perangkat lunak
size = estimasi jumlah baris kode yang dibutuhkan untuk implementasi, dalam satuan KLOC (kilo lines of code).
COCOMO berlaku untuk tiga kelas
proyek perangkat lunak:
- Organik proyek : “kecil” tim dengan pengalaman “baik” bekerja dengan “kurang dari kaku” persyaratan.
- Semi-terpisah proyek : “sedang” tim dengan pengalaman bekerja dicampur dengan campuran persyaratan kaku kaku dan kurang dari.
- Embedded proyek : dikembangkan dalam satu set “ketat” kendala (hardware, software, operasional).
2.
Intermediate COCOMO (COCOMO II 1999)
Menghitung dari besarnya program
dan cost drivers (faktor-faktor yang berpengaruh langsung
kepada proyek), seperti: perangkat keras, personal, dan atribut-atribut proyek
lainnya. Selain itu pada jenis ini, COCOMO mempergunakan data-data historis
dari proyek-proyek yang pernah menggunakan COCOMO I, dan terdaftar pengelolaan
proyeknya dalam COCOMO database. yang dijabarkan dalam kategori dan
sub-kategori sebagai berikut :
a. Atribut produk (product
attributes) :
1. Reliabilitas perangkat lunak yang
diperlukan (RELY)
2. Ukuran basis data aplikasi (DATA)
3. Kompleksitas produk (CPLX)
2. Ukuran basis data aplikasi (DATA)
3. Kompleksitas produk (CPLX)
b. 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)
2. Memori yang dipakai (STOR)
3. Kecepatan mesin virtual (VIRT)
4. Waktu yang diperlukan untuk mengeksekusi perintah (TURN)
c. 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)
2. Kemampuan ahli perangkat lunak (PCAP)
3. Pengalaman membuat aplikasi (AEXP)
4. Pengalaman penggunaan mesin virtual (VEXP)
5. Pengalaman dalam menggunakan bahasa pemrograman (LEXP)
d. Atribut proyek (project
attributes)
1. Penggunaan sistem pemrograman
modern(MODP)
2. Penggunaan perangkat lunak (TOOL)
3. Jadwal pengembangan yang diperlukan (SCED)
2. Penggunaan perangkat lunak (TOOL)
3. Jadwal pengembangan yang diperlukan (SCED)
COCOMO II EFFORT EQUATION
Model COCOMO II ini membuat estimasi
dari usaha yang dibutuhkan (diukur dari Person-Month) berdasarkan keutamaan
dalam estimasi anda akan ukuran proyek perangkat lunak (yang diukur dalam
ribuan SLOC atau KSLOC) :
Effort
= 2,94 * EAF * (KSLOC)E
ket:
EAF = Effort Adjustment Factor yang berasal dari Cost Drivers adalah produk dari effort multipliersyang terhubung pada masing-masing cost drivers untuk proyek.
E = Eksponen yang berasal dari Scale Drivers.
EAF = Effort Adjustment Factor yang berasal dari Cost Drivers adalah produk dari effort multipliersyang terhubung pada masing-masing cost drivers untuk proyek.
E = Eksponen yang berasal dari Scale Drivers.
COCOMO II SCHEDULE EQUATION
COCOMO II Schedule Equation
memprediksi jumlah bulan yang dibutuhkan untuk menyelesaikan proyek perangkat
lunak anda. Durasi dari proyek berdasarkan pada usaha yang diprediksi oleh
effort equation :
Duration
= 3,67 * (Effort)SE
Dimana :
Effort = usaha dari COCOMO II effort equation.
SE = eksponen scheduled equation yang berasal dari Scale Drivers.
Effort = usaha dari COCOMO II effort equation.
SE = eksponen scheduled equation yang berasal dari Scale Drivers.
COCOMO II memiliki 3 model berbeda,
yakni:
a) The Application Composition Model
Sesuai untuk pembangunan proyek dengan tools GUI-builder yang modern. Berdasar pada Object Points baru.
b) The Early Design Model
Model ini dapat digunakan untuk mendapat estimasi kasar biaya dan durasi dari suatu proyek sebelum menentukan arsitektur keseluruhan proyek tersebut. Model ini menggunakan sekumpulan kecil cost driver baru dan persamaan estimasi baru. Berdasar pada Unadjusted Function Points atau KSLOC.
c) The Post-Architecture Model
Ini adalah model COCOMO II yang paling detail. Digunakannya setelah membentuk arsitektur proyek secara menyeluruh. Model ini memiliki cost driver baru, aturan penghitungan baris yang baru, dan persamaan baru.
a) The Application Composition Model
Sesuai untuk pembangunan proyek dengan tools GUI-builder yang modern. Berdasar pada Object Points baru.
b) The Early Design Model
Model ini dapat digunakan untuk mendapat estimasi kasar biaya dan durasi dari suatu proyek sebelum menentukan arsitektur keseluruhan proyek tersebut. Model ini menggunakan sekumpulan kecil cost driver baru dan persamaan estimasi baru. Berdasar pada Unadjusted Function Points atau KSLOC.
c) The Post-Architecture Model
Ini adalah model COCOMO II yang paling detail. Digunakannya setelah membentuk arsitektur proyek secara menyeluruh. Model ini memiliki cost driver baru, aturan penghitungan baris yang baru, dan persamaan baru.
3.
Advance COCOMO
Memperhitungkan semua karakteristik
dari intermediate di atas dan cost drivers dari
setiap fase (analisis, desain, implementasi, dsb) dalam siklus hidup
pengembangan perangkat lunak. 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 rinci, 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 rinci perencanaan kebutuhan dan perancangan perangkat
lunak, perancangan detil, kode dan menguji unit, dan pengujian integrasi.