Minggu, 03 Juni 2012

COCOMO (Constructive Cost Model)

Pengertian COCOMO
COCOMO merupakan singkatan dari Constructive Cost Model yaitu algortima model estimasi biaya perangkat lunak yang dikembangkan dan diterbitkan oleh Barry Boehm. Cocomo merupakan sebuah model – model untuk memperkirakan usaha, biaya dan jadwal untuk proyek-proyek perangkat lunak.
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
Sejarah COCOMO
COCOMO pertama kali diterbitkan pada tahun 1981 Barry Boehm W. ‘s Book rekayasa ekonomi Perangkat Lunak 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 waterfall pengembangan perangkat lunak yang merupakan pengembangan software proses lazim pada tahun 1981. 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, setelah itu merujuk pada COCOMO II.
COCOMO II diset sebagai siklus hidup software modern. Orgininal COCOMO model sudah sangat berhasil, tetapi tidak sesuai dengan praktek pengembangan software yang lebih baru sebagaimana dengan software tradisional. COCOMO II menargetkan proyek software pada tahun 1990an sampai 2000an dan akan terus berkembang dalam beberapa tahun ke depan.
Jenis Implementasi COCOMO
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).
2. INTERMEDIATE (COCOMO II 1999)
Menghitung dari besarnya program dan “cost drivers” (faktor-faktor yangberpengaruh langsung kepada proyek), seperti: perangkat keras, personal, danatribut-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)
Model-model COCOMO II adalah :
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 multipliers yang 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.
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).COCOMO terdapat tiga macam pengimplementasian dalam evolusinya sejak dari awal kejadiannya hingga kini, yaitu:

- Basic (COCOMO I 1981)
Menghitung dari estimasi jumlah LOC (Lines of Code);
- Intermediate (COCOMO II 1999)
- Menghitung dari besarnya program dan “cost drivers” (faktor-faktor yang berpengaruh langsung kepada proyek), seperti: perangkat keras, personal, danatribut-atribut proyek lainnya;

- Mempergunakan data-data historis dari proyek-proyek yang pernah menggunakan COCOMO I, dan terdaftar pengelolaan proyeknya dalam COCOMO database.
- Advanced
Memperhitungkan semua karakteristik dari “intermediate” di atas dan “cost drivers” dari setiap fase (analisis, desain, implementasi, dsb) dalam siklus hidup pengembangan perangkat lunak.

Model COCOMO dapat diaplikasikan dalam tiga tingkatan kelas:

1. Proyek organik, adalah proyek dengan ukuran relatif kecil, dengan anggota tim yang sudah berpengalaman, dan mampu bekerja pada permintaan yang relatif fleksibel.

2. Proyek sedang (semi-terpisah), adalah proyek yang memiliki ukuran dan tingkat kerumitan yang sedang, dan tiap anggota tim memiliki tingkat keahlian yang berbeda.

3. Proyek terintegrasi, adalah proyek yang dibangun dengan spesifikasi dan operasi yang ketat.


Pengenalan Cocomo ini diawali tahun 70-an akhir. Sang pelopor Boehm, melakukan riset dengan mengambil kasus dari 63 proyek perangkat lunak untuk membuat model matematisnya.Model dasar dari model ini adalah persamaan:

effort = C x sizeM

Dikenal sebagai Constructive Cost Model (COCOMO), model konstruksi biaya.
Dimana :
C dan M adalah koefisien konstanta ( > 1 ), targantung pada tipe proyek dan organisasi, dengan cara melihat Tabel Konstanta (sudah tersedia dari penelitian).
Ditentukan pula oleh: application experience, leadership capability, new environment and tools, requirements uncertainty, software reuse.

Persamaan dasar model COCOMO adalah:

E = ab (KLOC)b

b

D = cb (E)d

b

P = E / D
Dimana E adalah usaha dalam orang-bulan, D adalah waktu pengerjaan dalam satuan bulan, KLOC adalah estimasi jumlah baris kode dalam ribuan, dan P adalah jumlah orang yang diperlukan. Koefisien ab, bb, cb, dan db diberikan pada tabel berikut:

Penggolongan suatu proyek perangkat lunak didasarkan pada sistem aplikasi dimana perangkat lunak tersebut dikembangkan dan lingkungan pendukungnya. Penggolongan ini terbagi atas:

- Organic mode : digunakan pada proyek-proyek kecil dengan sedikit pekerja dandikembangkan pada lingkungan yang tidak memerlukan program antar-muka (interface)yang kompleks, contoh: pembuatan situs mandiri untuk perusahaan;

- Embedded mode : mode ini merupakan kombinasi antara dua mode di atas dan memilikikarekteristik gabungan antara keduanya. Proyek mode ini dikembangkan ke dalamserangkaian perangkat keras, lunak dan batasan operasional yang ketat, contoh: aplikasipengontrolan penerbangan pada pesawat terban.

Pengembangan model COCOMO adalah dengan menambahkan atribut yang dapat menentukan jumlah biaya dan tenaga dalam pengembangan perangkat lunak, yang dijabarkan dalam kategori dan subkategori sebagai berikut:

1. Atribut produk
a. Reliabilitas perangkat lunak yang diperlukan
b. Ukuran basis data aplikasi
c. Kompleksitas produk

2. Atribut perangkat keras
a. Performa program ketika dijalankan
b. Memori yang dipakai
c. Stabilitas mesin virtual
d. Waktu yang diperlukan untuk mengeksekusi perintah

3. Atribut Sumber Daya Manusia
a. Kemampuan analisis
b. Kemampuan ahli perangkat lunak
c. Pengalaman membuat aplikasi
d. Pengalaman menggunakan mesin virtual
e. Pengalaman dalam menggunakan bahasa pemrograman

4. Atribut proyek
a. Menggunakan perangkat lunak tambahan
b. Metode rekayasa perangkat lunak
c. Waktu yang diperlukan

Sumber :
- haryanto.staff.gunadarma.ac.id/Downloads/files/.../COCOMO.ppt
- http://www.scribd.com/doc/49646935/COCOMO
- http://www.dashboardcafe.com/index.php?option=com_content&view=category&layout=blog&id=1&Itemid=50&limitstart=12

-http://wartawarga.gunadarma.ac.id/2012/03/cocomo-9/
-http://singlesmilesoup.blogspot.com/2012/04/cocomo.html

Tidak ada komentar:

Posting Komentar