Minggu, 03 April 2011

COCOMO (Constructive Cost Model)

Pada tahun 1981, Barry Boehm mendesain COCOMO untuk memberikan estimasi / perkiraan jumlah Person-Months untuk mengembangkan suatu produk software. 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, kemudian setelah itu merujuk pada COCOMO II.
Model estimasi COCOMO telah digunakan oleh ribuan project manager suatu proyek perangkat lunak, dan berdasar pada 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
Perhitungan paling fundamental dalam COCOMO model adalah penggunaan Effort Equation (Persamaan Usaha) untuk mengestimasi jumlah dari Person-Months yang dibutuhkan untuk pengembangan proyek. Sebagian besar dari hasil-hasil lain COCOMO, termasuk estimasi untuk Requirement dan Maintenance berasal dari persamaan tersebut.

SOURCE LINE OF CODE
Perhitungan COCOMO didasarkan pada estimasi anda pada ukuran proyek dalam Source Line Of Code (SLOC). Pendefinisian SLOC:
  • Hanya jumlah baris kode yang dikirim sebagai bagian dari produk yang disertakan (test drivers dan software pendukung lainnya tidak dihitung).
  • Baris kode dibuat oleh staf proyek (kode yang di-generate oleh aplikasi tidak dihitung).
  •  Satu SLOC adalah satu baris kode secara logis.
  • Deklarasi dihitung sebagai SLOC.
  • Komentar tidak dihitung sebagai SLOC.
Model COCOMO 81 didefinisikan dalam bentuk Delivered Source Instruction, yang mana sangat menyerupai SLOC. Perbedaan utama antara DSI dan SLOC adalah sebuah SLOC mungkin merupakan beberapa baris secara fisik. Sebagai contoh, sebuah statement “if-then-else” akan dihitung sebagai satu SLOC, tetapi mungkin dihitung sebagai beberapa DSI.

SCALE DRIVERS
Pada model COCOMO II, beberapa factor terpenting yang berkontribusi pada durasi proyek dan biaya yang dikeluarkan adalah Scale Drivers. Anda mengeset setiap Scale Driver untuk mendeskripsikan proyek anda. Scale Drivers tersebut menentukan eksponen yang digunakan dalam Effort Equation.
Ada 5 Scale Drivers :
· Precedentedness
· Development Flexibility
· Architecture / Risk Resolution
· Team Cohesion
· Process Maturity
Catat bahwa Scale Drivers telah menggantikan Development Mode dari COCOMO 81. Dua Scale Drivers yang pertama, Precedentedness dan Development Flexibility sebenamya mendeskripsikan pengaruh yang hampir sama dibanding Development Mode.

COST DRIVERS
COCOMO II memiliki 17 cost drivers. Cost driver tersebut adalah factor pengali 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 EFFORT EQUATION
Model COCOMO II 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
Dimana :
EAF = Effort Adjustment Factor yang berasal dari Cost Drivers
E = Eksponen yang berasal dari Scale Drivers.
Sebagai contoh, suatu proyek dengan semua Nominal Cost Drivers dan Scale Drivers akan memiliki sebuah EAF 1,00 dan eksponen (E) 1,0997. Diasumsikan bahwa proyek diproyeksikan terdiri atas 8.000 baris kode, COCOMO II mengestimasi bahwa 28,9 Person-Months effort diperlukan untuk menyelesaikannya :
Effort = 2.94 * (1.0) * (8)1.0997 = 28.9 Person-Months

EFFORT ADJUSTMENT FACTOR
Effort Adjustment Factor dalam effort equation adalah produk dari effort multipliers yang terhubung pada masing-masing cost drivers untuk proyek anda. Sebagai contoh, jika proyek anda berating sangat tinggi untuk kompleksitas (effort multipliers 1,34) dan rendah untuk pengalaman language & tools (effort multipliers 1,09) dan semua cost drivers yang lain berating nominal (effort multipliers 1,00), sehingga EAF adalah produk dari 1,34 dan 1,09.
EAF= 1,34 * 1,09 = 1,46
Effort = 2,94 * (1,46) * (8)1,0097 = 42,3 Person-Months

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 Dirvers.
Melanjutkan contoh, dansubtitusi eksponen dengan 0.3179 yang dihitung dari scale drivers, menghasilkan estimasi hanya dalam satu tahun dan rata-rata staf antara 3 sampai 4 orang.
Duration = 3.67 * (42.3)0.3179 = 12.1 months
Average staffing = (42.3 Person-Months) / (12.1 Months) = 3.5 people

SCED COST DRIVER
COCOMO cost driver untuk Required Development Schedule (SCED) adalah unik dan memerlukan penjelasan special. SCED cost driver digunakan untuk menghitung observasi bahwa proyek yang dikembangkan dalam jadwal yang dipercepat akan membutuhkan usaha yang lebih banyak dari proyek yang dikembangkan dalam jadwal optimal. Sebuah rating SCED yang sangat rendah diwakili oleh sebuah effort multipliers sebesar 1,43 dan berarti bahwa anda berniat menyelesaikan proyek anda dalam 75% jadwal optimal (yang ditentukan oleh estimasi COCOMO sebelumnya). Melanjutkan contoh yang digunakan tadi, tetapi diasumsikan bahwa SCED memiliki rating sangat rendah, COCOMO menghasilkan estimasi :
Duration = 75% * 12.1 Months = 9.1 Months
Effort Adjustment Factor = EAF = 1.34 * 1.09 * 1.43 = 2.09
Effort = 2.94 * (2.09) * (8)1.0997 = 60.4 Person-Months
Average staffing = (60.4 Person-Months) / (9.1 Months) = 6.7 people
Catat bahwa perhitungan durasi tidak berdasar secara langsung pada effort (jumlah Person-Months), justru hal tersebut berdasar pada jadwal yang akan diperlukan untuk proyek diasumsikan proyek tersebut telah berjalan dalam jadwal nominal. Ingat bahwa SCED cost driver berarti “percepatan dari jadwal nominal”.

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.

COCOMO II punya 3 fase, antara lain:
1. Application Composition
2. Early Design
3. Post Architecture

Sumber :
http://rpl07.wordpress.com/2007/06/20/cocomo-constructive-cost-model-oleh-dommy-5105-100-163/

Tidak ada komentar:

Posting Komentar