Chebii's Blog

Just another WordPress.com weblog

COCOMO

Image

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 dan cost 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
  • COCOMO (Sebuah Model Parametrik)
Model yang diusulkan bisa digunakan untuk aplikasi lain (selain sistem informasi). Model dasar yang digunakan mendekati persamaan berikut :           
Effort = c (size)k                                                                                         
Dimana :
Effort               : jumlah ‘person-month’ (pm)
Size                : thousands of  delivered source code instructions (kdsi)
 
 COCOMO mengelompokkan sistem dan lingkungan pengembangannya menjadi 3 :
  • Organic mode: apabila software dikembangkan oleh tim yang relatif kecil dalam lingkungan yang sangat familier dan ketika sistem akan dikembangkan sedikit, kebutuhan interface yang diperlukan cukup fleksibel.
  • Embedded-mode : produk yang dikembangkan harus beroperasi dengan spesifikasi yang tepat dan bila terjadi perubahan sistem sangat memakan biaya.
  • Semi-detached mode: kombinasi elemen organik dan embedded-mode dan memiliki karakteristik antara keduanya.
 
          Tabel 1. Konstanta COCOMO 

 

System Type c k
Organic 2,4 1,05
Semi-detached 3,0 1,12
Embedded 3,6 1,20
  Karena versi pertama dianggap kurang bagus, Boehm mengembangkan COCOMO versi intermediate dengan memasukkan 15 cost driver seperti tabel 2.                          
 
Driver Type Code Cost Driver
Product attributes RELY Required software reliability
  DATA Database size
  CPLX Product complexity
Computer attributes TIME Execution time constraints
  STOR Main storage constraints
  VIRT Virtual machine volatile-degree to which the operating system changes
  TURN Computer turnaround time
Personnel attributes ACAP Analyst capability
  AEXP Application experience
  PCAP Programmer capability
  VEXP Virtual machine volatility (missal : OS) experience
  LEXP Programming language experience
Project attributes MODP Use of modern programming practices 
  TOOL Use of software tools
  SCED Required development schedule
 

 

Tabel 2. COCOMO81 Intermediate Cost Drivers Pada model intermediate, estimasi biaya nominal (pmnom) diturunkan sama dengan pada model dasar (basic). Sedangkan estimasi nominal kemudian diatur dengan pengali biaya pengembangan (dem)  sehingga rumus pmest  menjadi :                  
 
(pmest)  =  (pmest)  x  (dem)                                                                

dimana dem dihitung dari bobot pengali berdasarkan biaya effort driver  (tabel 6). Model COCOMO sendiri terus dikembangkan, yang terbaru disebut model COCOMO II. Mengingat estimasi diperlukan pada tahapan yang berbeda-beda dalam siklus hidup sistem, maka COCOMO II telah didesain untuk mengakomodasi hal tersebut dengan menyiapkan model untuk tiga tahapan yang berbeda :  
 
  • Komposisi Aplikasi (application composition)
Fitur eksternal dari sistem yang diperlukan oleh pengguna didesain. Prototipe yang khas akan digunakan untuk mengerjakannya. Dengan aplikasi kecil yang dapat dibangun menggunakan application building tool, pengembangan dapat berhenti pada poin ini.
 
  • Desain awal (early design)
Struktur software dasar didesain. Dengan meluasnya permintaan, misalnya adanya peningkatan volume transaksi dan unjuk kerja menjadi penting, perhatian yang cermat perlu diberikan untuk arsitektur yang diadopsi.
 
  • Arsitektur akhir (Post architecture)
      Struktur software mendekati struktur final, modifikasi dan pengaturan untuk memperbaiki sistem seperti yang diinginkan masih dimungkinkan.  
 
 Estimasi biaya untuk komposisi aplikasi, jumlah poin obyek direkomendasi oleh pengembang COCOMO II. Hal ini mengikuti pendekatan function point  dari perhitungan fitur nyata eksternal dari software.  Hal ini berbeda dengan fokus pada fitur aplikasi fisik, seperti layar dan laporan dari pada fitur logikal seperti tipe-tipe entitas.   Pada tahap desain awal, function point direkomendasi sebagai  cara pengukuran ukuran sistem dasar. Sebuah FP mungkin dikonversikan ke dalam ekuivalen LOC dengan mengalikan FP dengan sebuah faktor untuk bahasa pemrograman yang diogunakan.  Model berikut dapat digunakan untuk menghitung estimasi person-month 
 
Pm = A (size) (sf) x (em1) x (em2) x … x (emn)                            
 
Dimana :
pm          : biaya dalam ‘person-month
A            : konstanta
Size       : jumlah FP (kdsi)
sf            : eksponen faktor skala 
 
Sedangkan faktor skala diturunkan dari rumus berikut :                        
 
sf  =  1,01 + 0,01 x (exponent driver ratings)                     
 
Kenyataannya bahwa faktor-faktor yang digunakan untuk menghitung sebuah eksponen  menunjukkan rendahnya kualitas akan meningkatkan biaya yang diperlukan tidak proporsional lebih besar pada proyek yang lebih luas.
  • Precedentedness : Menunjukkan derajat lebih diutamakan, mirip dengan kasus masa lalu, untuk proyek yang sedang direncanakan. Makin banyak hal-hal baru pada sistem baru, makin besar ketidakpastian dan semakin tinggi nilai yang diberikan exponent driver.
  • Development flexibility : Menunjukkan derajat dimana kebutuhan dapat ditentukan dalam banyak cara yang berbeda. Hal ini kurang fleksibel dan semakin tinggi nilai exponent driver
  • Architecture/risk resolution : Berkaitan dengan derajat ketidakpastian tentang kebutuhan. Jika ada yang tidak meyakinkan (tidak tepat) dan  dimungkinkan berubah maka besarnya exponent driver   bernilai tinggi.
  •  Team cohesion : Memperlihatkan kondisi dimana semakin banyak tim yang dibubarkan karena bertentangan dengan tim yang yang kaitannya erat sekali.
  • Process maturity : Makin terstruktur dan terorganisasi software yang dihasilkan, makin rendah ketidakpastian dan makin rendah pula rating untuk exponent driver.  Dalam model COCOMO II, pengali biaya (em) sama dengan pengali biaya pengembangan (dem)  yang digunakan  dalam original-COCOMO. Ada 7 pengali yang relevan dengan desain awal dan kemudian menjadi 16 yang dapat digunakan pada arsitektur akhirnya.
 
Tabel 3. COCOMO II Early Design Effort Multipliers                       
 
No Code Effort Modifier
1 RCPX Product reliability and complexity
2 RUSE Required reusability
3 PDIF Platform difficulty
4 PERS Personnel capability
5 PREX Personnel experience
6 FCIL Facilities available
7 SCED Schedule pressure
 
Tabel 4. COCOMO II Post Architecture Effort Multipliers 
 
Modifier Type Code Effort Modifier
Product Attributes RELY Required software reliability
  DATA Database size
  DOCU Documentation match to life-cycle needs
  CPLX Product complexity
  REUSE Required reuseability
Platform Attributes TIME Execution time constraint
  STOR Main storage constraint
  PVOL Platform volatility
Personnel Attributes ACAP Analyst capabilities
  AEXP Application experience
  PCAP Programmer capabilities
  PEXP Platform experience
  LEXP Programming language experience
  PCON Personnel continuity
Project Attributes TOOL Use of software tools
  SITE Multisite development
  SCED Schedule pressure
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 :

 

Single Post Navigation

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: