COCOMO adalah singkatan dari Constructive Cost Model yang
merupakan sebuah kombinasi dari estimasi parameter persamaan dan metode
pembobotan. Merupakan model algoritma estimasi biaya perangkat
lunak yang dikembangkan oleh Barry Boehm pada tahun
1981 menggunakan dasar regresi formula, dengan parameter yang berasal
dari data historis dan karakteristik proyek-proyek saat ini.
SOURCE LINE OF CODE
- Perhitungan COCOMO didasarkan pada estimasi anda pada ukuran proyek dalam Source Line Of Code (SLOC). Pendefinisian SLOC:
- Hanya jumlah baris kode yang dikirim sebagai bagian dari produk yang disertakan (test drivers dan software pendukung lainnya tidak dihitung).
- Baris kode dibuat oleh staf proyek (kode yang di-generate oleh aplikasi tidak dihitung).
- Satu SLOC adalah satu baris kode secara logis.
- Deklarasi dihitung sebagai SLOC.
- Komentar tidak dihitung sebagai SLOC.
Model
COCOMO 81 didefinisikan dalam bentuk Delivered Source Instruction, yang mana
sangat menyerupai SLOC. Perbedaan utama antara DSI dan SLOC adalah sebuah SLOC
mungkin merupakan beberapa baris secara fisik. Sebagai contoh, sebuah statement
“if-then-else” akan dihitung sebagai satu SLOC, tetapi mungkin dihitung sebagai
beberapa DSI.
SCALE DRIVERS
Pada model COCOMO II, beberapa factor
terpenting yang berkontribusi pada durasi proyek dan biaya yang dikeluarkan
adalah Scale Drivers. Anda mengeset setiap Scale Driver untuk mendeskripsikan
proyek anda. Scale Drivers tersebut menentukan eksponen yang digunakan dalam
Effort Equation.
Ada 5 Scale Drivers :
- Precedentedness
- Development Flexibility
- Architecture / Risk Resolution
- Team Cohesion
- Process Maturity
Catat
bahwa Scale Drivers telah menggantikan Development Mode dari COCOMO 81. Dua
Scale Drivers yang pertama, Precedentedness dan Development Flexibility
sebenamya mendeskripsikan pengaruh yang hampir sama dibanding Development Mode.
COST DRIVERS
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.
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).
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).
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)
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.
Referensi :
Tidak ada komentar:
Posting Komentar