Sabtu, 16 April 2011

COCOMO (Constructive Cost Model)


COCOMO (Constructive Cost Model) merupakan model algoritma estimasi biaya perangkat lunak yang dikembangkan oleh Barry Boehm. Model ini menggunakan rumus regresi dasar dengan parameter yang berasal dari data historis proyek dan karakteristik proyek saat ini. 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 1981,studi 63 proyek juga diadakan 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.
COCOMO terdiri dari tiga bentuk hirarki yang tingkatannya semakin rinci dan akurat. Ketiga bentuk hirarki tersebut adalah sebagai berikut:
1.      Basic (COCOMO I 1981)
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).
2.      Intermediate (COCOMO II 1999)
Tingkat kedua ini akan mengambil dan menghitung besarnya program dancost drivers (faktor-faktor yang berpengaruh langsung kepada proyek), spt: hardware, personnel, dan atribut-atribut proyek.
3.      Detailed COCOMO
Tingkatan terakhir ini merupakan catatan tambahan untuk pengaruh fase proyek individu. Tahap ini akan memperhitungkan semua karakteristik dari intermediate di atas dan cost driver dari setiap fase dalam SW lifr cycles (analisis, design, implementasi, dll).
Ada terdapat 14 pos kompleksitas factor (cost drivers), yaitu:
  1. Backup dan recovery
  2. Komunikasi data
  3. Proses terdistribusi
  4. Kepentingan performa
  5. Keberadaan lingkungan operasi
  6. Online data entry
  7. Input melalui bbrp tampilan/operasi
  8. Peng-update-an file master secara online
  9. Kompleksitas nilai ‘domain’ (tahap1) di matas
  10. Kompleksitas proses internal aplikasi
  11. Perulangan (reuse) penggunaan code
  12. Ketersediaan rancangan untuk konversi dan instalasi
  13. Rancangan untuk pengulangan instalasi di lingkungan yg berbeda
  14. Fleksibiltas bagi pemakai

1. Model COCOMO Dasar  
Model COCOMO dapat diaplikasikan dalam tiga tingkatan kelas:
  1. Proyek organik (organic modeAdalah proyek dengan ukuran relatif kecil, dengan anggota tim yang sudah berpengalaman, dan mampu bekerja pada permintaan yang relatif fleksibel.
  2. Proyek sedang (semi-detached mode)Merupakan proyek yang memiliki ukuran dan tingkat kerumitan yang sedang, dan tiap anggota tim memiliki tingkat keahlian yang berbeda
  3.  Proyek terintegrasi (embedded mode)Proyek yang dibangun dengan spesifikasi dan operasi yang ketat 
Model COCOMO dasar ditunjukkan dalam persamaan 1, 2, dan 3 berikut ini:     
c1.jpg                                                                                       (1, 2, 3)
Dimana :
  •          :  besarnya usaha (orang-bulan)
  • D         :  lama waktu pengerjaan (bulan)
  • KLOC  :  estimasi jumlah baris kode (ribuan)
  •           :  jumlah orang yang diperlukan.  
Sedangkan koefisien  abbbcbdan db diberikan pada Tabel 1  berikut: 
Tabel 1 .  Koefisien Model COCOMO Dasar  
  untitled.jpg
2. Model COCOMO Lanjut (Intermediate COCOMO) 
Pengembangan model COCOMO adalah dengan menambahkan atribut yang dapat menentukan jumlah biaya dan tenaga dalam pengembangan perangkat lunak, yang dijabarkan dalam kategori dan subkatagori sebagai berikut: 
1. Atribut produk (product attributes)
  1. Reliabilitas 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  (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)
4. Atribut proyek (project attributes)
  1. Penggunaan sistem pemrograman modern(MODP)
  2. Penggunaan perangkat lunak (TOOL)
  3. Jadwal pengembangan yang diperlukan (SCED) 

Tidak ada komentar:

Posting Komentar