Pengertian Cocomo
COCOMO (Constructive Cost Model)
merupakan 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.
Pada tahun 1981, Barry Boehm
mendesain COCOMO untuk memberikan estimasi jumlah Person-Months untuk
mengembangkan suatu produksoftware. Referensi pada model ini dikenal dengan
nama COCOMO 81. Pada tahun 1990, muncul suatu model estimasi baru yang disebut
dengan COCOMO II. Secara umum referensi COCOMO sebelum 1995 merujuk pada
original COCOMO model yaitu COCOMO 81, kemudian setelah itu merujuk pada COCOMO
II.
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 :
a. Dasar persamaan perkiraan biaya.
b. Setiap
asumsi yang dibuat dalam model.
c. Setiap definisi.
d. Biaya yang disertakan dalam perkiraan
dinyatakan secara eksplisit
Perhitungan paling fundamental
dalam COCOMO model adalah penggunaan Effort Equation (Persamaan Usaha) untuk
mengestimasi jumlah dari Person-Months yang dibutuhkan untuk pengembangan
proyek. Sebagian besar dari hasil-hasil lain COCOMO, termasuk estimasi untuk
Requirement danMaintenance berasal dari persamaan tersebut.
Dalam perkembangannya, 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).
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)
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)
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)
d. Atribut proyek (project
attributes)
1. Penggunaan sistem pemrograman
modern(MODP)
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.
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.
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.
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.
SUMBER :
0 komentar:
Posting Komentar