COCOMO merupakan singkatan dari Constructive Cost Model, yang berarti
sebuah model parametris pengestimasian yang menghitung jumlah FP dalam
perencanaan serta pengembangan perangkat lunak, COCOMO sendiri
memiliki 3 jenis pengimplementasian dalam evolusinya sejak awal
kejadiannya hingga kini, yaitu:
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 baerikut :
effort = C * size^M
ket :
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)
Intermediate (COCOMO II 1999)
Menghitung
dari besarnya program dan “cost drivers” (faktor-faktor yang
berpengaruh langsung kepada proyek), seperti: perangkat keras, personal,
dan atribut-atribut proyek lainnya. Selain itu pada jenis ini, COCOMO
mempergunakan data-data historis dari proyek-proyek yang pernah
menggunakan COCOMO I, dan terdaftar pengelolaan proyeknya dalam COCOMO
database. yang dijabarkan dalam kategori dan subkatagori sebagai berikut
a. Atribut produk (product attributes)
1. Reliabilitas perangkat lunak yang diperlukan (RELY)
2. Ukuran basis data aplikasi (DATA)
3. Kompleksitas produk (CPLX)
b. 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)
c. 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)
d. Atribut proyek (project attributes)
1. Penggunaan sistem pemrograman modern(MODP)
2. Penggunaan perangkat lunak (TOOL)
3. Jadwal pengembangan yang diperlukan (SCED)
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.
Tidak ada komentar:
Posting Komentar