Senin, 18 April 2011

Pembahasan COCOMO (Constructive Cost Model)

A. Pengertian COCOMO

COCOMO (Constructive Cost Model) merupakan model algoritma estimasi biaya perangkat lunak yang dikembangkan dan diterbitkan oleh Barry Boehm. COCOMO adalah sebuah model untuk memperkirakan usaha, biaya dan jadwal untuk proyek-proyek perangkat lunak. Model ini menggunakan rumus regresi dasar dengan parameter yang berasal dari data historis proyek dan karakteristik proyek saat ini.

B. Sejarah Singkat COCOMO

COCOMO pertama kali diterbitkan pada tahun 1981, Barry W. Boehm’s Book Software Engineering Economics sebagai model untuk memperkirakan usaha, biaya, dan jadwal untuk proyek-proyek perangkat lunak. Pada tahun itu juga diadakan studi 63 proyek di TRW Aerospace yang mana Barry Boehm sebagai direktur riset perangkat lunak dan teknologi. Penellitian ini memeriksa proyek-proyek mulai dari ukuran 2000 sampai 100.000 baris kode, dan bahasa pemrograman mulai dari bahasa rakitan sampai PL/I. Proyek-proyek ini didasarkan pada model pengembangan perangkat lunak waterfall yang merupakan proses pembangunan software di tahun 1981. Referensi untuk model ini biasa disebut COCOMO 81.

Pada tahun 1997, COCOMO II telah dikembangkan dan akhirnya diterbitkan pada tahun 2000 dalam buku Software Cost Estimation with COCOMO II. COCOMO II adalah pengembangan dari COCOMO 81 dan lebih cocok untuk mengestimasi proyek pengembangan perangkat lunak modern, dan basis data proyek yang telah diperbaharui.

C. Jenis-jenis COCOMO

COCOMO terdiri dari tiga bentuk hirarki yang tingkatannya semakin rinci dan akurat. Tingkat pertama, Basic COCOMO baik untuk order awal dan estimasi kasar besarnya biaya perangkat lunak, namun akurasinya terbatas karena kurangnya faktor untuk memperhitungkan perbedaan atribut proyek (Cost Drivers). Tingkatan yang kedua adalah Intermediate COCOMO yang mengambil Cost Drivers untuk diperhitungkan. Terakhir Detailed COCOMO, catatan tambahan untuk pengaruh fase proyek individu.

1. Basic (COCOMO I 1981)

Menghitung dari estimasi jumlah LOC (Lines of Code). 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 sebuah persamaan sebagai berikut :

[ Effort = (C * size)^M ]

keterangan :

Effort : adalah usaha yang dibutuhkan selama proyek, diukur dalam person-months;

C dan M : adalah konstanta-konstanta yang dihasilkan dalam riset Boehm dan tergantung pada penggolongan besarnya proyek perangkat lunak;

size : adalah estimasi jumlah baris kode yang dibutuhkan untuk implementasi, dalam satuan KLOC (kilo lines of code)

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 (product attributes)

o Perangkat lunak yang disyaratkan reliabilitas (RELY)

o Ukuran database aplikasi (DATA)

o Kompleksitas produk (CPLX)

  • Hardware atribut (computer attibutes)

o Run-time kinerja kendala (TIME)

o Memori kendala (STOR)

o Volatilitas lingkungan mesin virtual (VIRT)

o Diperlukan waktu pembalikan haluan (TURN)

  • Personil atribut (personnel attributes)

o Analis kemampuan (ACAP)

o Kemampuan rekayasa perangkat lunak (PCAP)

o Aplikasi pengalaman (AEXP)

o Mesin virtual pengalaman (VEXP)

o Bahasa pemrograman pengalaman (LEXP)

  • Proyek atribut

o Penggunaan perangkat lunak (MODP)

o Penerapan metode rekayasa perangkat lunak (TOOL)

o Diperlukan jadwal pengembangan (SCED)


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.


Sumber :

http://en.wikipedia.org/wiki/COCOMO

http://jigokushoujoblog.wordpress.com/2011/04/13/cocomo-constructive-cost-model/