Senin, 16 April 2012

CoCoMo (Constructive Cost Model)

COCOMO atau kepanjangan dari Constructive Cost Model diperkenalkan atau didesain pertama kali oleh Barry Boehm pada tahun 1981, Cocomo merupakan algoritma model estimasi biaya perangkat lunak untuk memperkirakan usaha, biaya dan jadwal untuk perangkat lunak. 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 merupakan model terbuka sehingga semua detail dapat dipublikasi, termasuk :
  •     Dasar persamaan perkiraan biaya
  •     Setiap asumsi yang dibuat dalam model
  •     Setiap definisi
  •     Biaya yang disertakan dalam perkiraan dinyatakan secara eksplisit

COCOMO terdiri dari 3 bentuk atau jenis Hirarki, Yaitu :
  • Model Basic COCOMO ( COCOMO dasar )
  • Model COCOMO Intermediate ( COCOMO tigkat lanjut )
  • Model COCOMO Advanced ( COCOMO detail )

Jenis- jenis COCOMO
    Model COCOMO dasar ( Basic COCOMO )

Tingkat pertama ini sangat baik digunakan untuk order awal dan estimasi kasar besarnya biaya perangkat lunak. Namun, akurasinya terbatas karena kurangnya faktor perhitungan perbedaan atribut proyek (cost drivers).

     Upaya Terapan (E) = b (SLOC) b b [ manusia-bulan ]
    Waktu Pembangunan (D) = c b (Usaha Terapan) d b [bulan]
    Orang diperlukan (P) = Upaya Terapan Waktu / Pembangunan [count]

Dimana, SLOC adalah perkiraan jumlah baris disampaikan (dalam ribuan) kode untuk proyek. Koefisien b, b b, c dan d b b diberikan dalam tabel berikut:

Model COCOMO dasar ditetapkan untuk tiga kelas proyek PL :
 
1.  mode organik – proyek PL yang sederhana dan relatif kecil di mana tim kecil dengan pengalaman aplikasi yang baik.
2.mode semi-detached – proyek PL menengah 9dalam ukuran dan kompleksitas) di mana tim dengan pengalaman pada tingkat tingkat yang berbeda-beda harus memenuhi bauran yang kurang kuat dari syarat yang ketat (misalnya sistem pemrosesan transaksi dengan syarat tertentu untuk PK terminal dan PL database).
3.mode embedded – proyek PL yang harus dikembangkan ke dalam serangkaian PK, Pl dan batasan operasional yang ketat (seperti PL kontrol penerbangan untuk pesawat udara).


2. Model COCOMO tingkat lanjut ( COCOMO Intermediate )

Tingkat kedua ini akan mengambil dan menghitung besarnya program dancost drivers (faktor-faktor yang berpengaruh langsung kepada proyek), spt: hardware, personel, dan atribut-atribut proyek. 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 ini :

1. Atribut Produk ( product attributes )

1. Reabilitas perangkat lunak yang diperlukan ( RELY )

2. Ukuran basis data aplikasi ( DATA )

3. Kompleksitas produk ( CPLX )

2. 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 )

3. Atribut sumber daya manusia ( personel 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 )

4. Atribut proyek ( project attributes )

1. Penggunaan sistem pemrograman modern ( MODP )

2. Penggunaan perangkat lunak ( TOOL )

3. Jadwal pengembangan yang diperlukan ( SCED )


Masing-masing subkategori diberi bobot seperti dalam tabel dibawah dan kemudian dikalikan. Dari pengembangan ini diperoleh persamaan :



E = i (SLOC) (b i). EAF

dimana E adalah usaha diterapkan dalam orang-bulan, SLOC adalah perkiraan jumlah ribuan baris kode untuk disampaikan proyek, dan EAF adalah faktor dihitung di atas. Koefisien a i dan b i eksponen diberikan dalam Tabel berikut.


Tabel koofisien COCOMO lanjut

3. Model COCOMO Detail ( COCOMO Advanced )

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. Fase yang digunakan dalam COCOMO detail, perencanaan kebutuhan dan perancangan perangkat lunak, perancangan detil, kode dan menguji unit, dan pengujian integrasi.

MODEL 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.

COCOMO II memiliki 3 model berbeda :

Ø The Application Composition Model

Sesuai untuk pembangunan proyek dengan tools GUI-builder yang modern. Berdasar pada Object Points baru.


Ø The Early Design Model

Anda bisa menggunakan model ini untuk mendapat estimasi kasar biaya dan durasi dari suatu proyek sebelum anda menentukan arsitektur keseluruhan proyek tersebut. Model ini menggunakan sekumpulan kecil cost driver baru dan persamaan estimasi baru. Berdasar pada Unadjusted Function Points atau KSLOC.


Ø The Post-Architecture Model

Ini adalah model COCOMO II yang paling detail. Anda akan menggunakannya setelah anda membentuk arsitektur proyek anda secara menyeluruh. Model ini memiliki cost driver baru, aturan penghitungan baris yang baru, dan persamaan baru.

Pada model COCOMO II, beberapa factor terpenting yang berkontribusi pada durasi proyek dan biaya yang dikeluarkan adalah Scale Drivers. Pemakai mengeset setiap Scale Drivers untuk mendeskripsikan Proyek mereka. Scale Drivers tersebut menentukan eksponen yang digunakan dalam Effort Equation. Terdapat 5 Scale Drivers yaitu :

· Precedentedness

· Development Flexibility

· Architecture / Risk Resolution

· Team Cohesion

· Process Maturity

COCOMO II memiliki 17 cost drivers. Cost driver tersebut adalah factor pengenal 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.

COCOMO II Early Design Effort Multipliers

COCOMO II Post Architecture Effort Multipliers

Sama seperti COCOMO Intermediate (COCOMO81), masing-masing sub katagori bisa digunakan untuk aplikasi tertentu pada kondisi very low, low, manual, nominal, high maupun very high. Masing-masing kondisi memiliki nilai bobot tertentu. Nilai yang lebih besar dari 1 menunjukkan usaha pengembangan yang meningkat, sedangkan nilai di bawah 1 menyebabkan usaha yang menurun. Kondisi Laju nominal (1) berarti bobot pengali tidak berpengaruh pada estimasi. Maksud dari bobot yang digunakan dalam COCOMO II, harus dimasukkan dan direfisikan di kemudian hari sebagai detail dari proyek aktual yang ditambahkan dalam database.


Sumber-sumber :

- http://en.wikipedia.org/wiki/COCOMO#Detailed_COCOMO

- http://raveshader.blogspot.com/2011/04/constructive-cost-model-cocomo.html

- http://www.nuansahati.co.cc/2009/12/constructive-cost-model-cocomo.html

- http://www.cs.uwaterloo.ca/~apidduck/se362/Lectures/cocomo.pdf

- http://yayuk05.wordpress.com/2007/11/09/constructive-cost-model-cocomo/

- http://arizkaseptiani.wordpress.com/2011/04/13/cocomo-apa-sih/

1 komentar: