COCOMO dan Jenis-Jenisnya

Tuesday, May 7, 2013


 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
 diamana 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 eksplisi
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.

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

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.

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.


Sumber :
http://pu2tgoclo.blogspot.com/2011/04/apa-itu-cocomo-dan-apa-saja-jenis.html
ramadikaanalyst.blogspot.com/2012/06/cocomo-dan-sebutkan-jenis-jenisnya.html Selengkapnya...



Free Template Blogger collection template Hot Deals BERITA_wongANteng SEO theproperty-developer

Kenapa Dianjurkan Menggunakan Software Open Source dalam Membuat Aplikasi


Menurut Wikipedia, Open Source adalah sistem pengembangan yang tidak dikoordinasi oleh suatu individu / lembaga pusat, tetapi oleh para pelaku yang bekerja sama dengan memanfaatkan kode sumber (source-code) yang tersebar dan tersedia bebas (biasanya menggunakan fasilitas komunikasi internet). Pola pengembangan ini mengambil model ala bazaar, sehingga pola Open Source ini memiliki ciri bagi komunitasnya yaitu adanya dorongan yang bersumber dari budaya memberi, yang artinya ketika suatu komunitas menggunakan sebuah program Open Source dan telah menerima sebuah manfaat kemudian akan termotivasi untuk menimbulkan sebuah pertanyaan apa yang bisa pengguna berikan balik kepada orang banyak.

Pola Open Source lahir karena kebebasan berkarya, tanpa intervensi berpikir dan mengungkapkan apa yang diinginkan dengan menggunakan pengetahuan dan produk yang cocok. Kebebasan menjadi pertimbangan utama ketika dilepas ke publik. Komunitas yang lain mendapat kebebasan untuk belajar, mengutak-ngatik, merevisi ulang, membenarkan ataupun bahkan menyalahkan, tetapi kebebasan ini juga datang bersama dengan tanggung jawab, bukan bebas tanpa tanggung jawab.

Apa manfaat yang kita dapatkan dengan menggunaka    Open Source ? Ada banyak manfaat positif yang bisa kita peroleh dengan menggunakan Open Source, diantaranya :
  • Kreativitas : Dengan Open Source kita bisa mempelajari cara kerja suatu perangkat lunak, memodifikasinya, bahkan membuat produk baru dari sumber yang ada.
  • Kemandirian : Kita tidak perlu lagi tergantung pada suatu produk tertentu, bahkan dengan Open Source kita bisa membuat produk yang sekelas dengan perusahaan berskala raksasa seperti Microsoft.
  • Penghematan :
1.      Hemat Waktu : Berapa banyak waktu yang kita sia-siakan untuk berurusan dengan virus komputer di sistem closed source (baca : Windows) ? Dengan menggunakan sistem operasi Open Source seperti 3D OS kita tidak perlu membuang waktu lagi berurusan dengan virus komputer.
2.      Hemat Biaya : Berapa banyak biaya yang perlu kita keluarkan untuk pembelian suatu produk proprietary seperti Windows, Photoshop, MS Office dan lain-lainnya ?
3.      Hemat Devisa : Berapa banyak devisa negara yang harus lari keluar negeri jika kita terus menggunakan produk proprietary ?
  • Legalitas
1.      Mengurangi Tingkat Pembajakan : Open Source memungkinkan kita untuk tidak lagi menggunakan milik orang lain secara tidak sah atau dengan kata lain kita tidak perlu lagi menjadi pencuri …!!! Selain mengurangi tingkat pembajakan, secara otomatis dosa-dosa kita juga ikut berkurang … :)
2.      Meningkatkan Citra Negara : Tahukah Anda bahwa pembajakan menjadikan citra negara menurun ? Dan ini secara tidak langsung membawa akibat buruk pada hubungan dagang dengan luar negeri. Dan repotnya, di tahun 2009 ini Indonesia kembali masuk dalam daftar Priority Watch List.

Selain membawa manfaat, tentu saja Open Source juga mempunyai kekurangan, diantaranya:
  • Kurangnya dukungan vendor : Harus diakui, masih cukup banyak vendor – baik Hardware, Software, ataupun Game – yang belum memberikan dukungan penuh pada Open Source. Dan hal ini tentu saja cukup menghambat perkembangan Open Source.
  • Kurangnya dukungan support : Karena belum cukup memasyarakat, maka dukungan support juga masih cukup sulit untuk ditemukan. Support untuk Open Source selama ini masih banyak bergantung pada Internet (baca : Google). Sehingga cukup menyulitkan mereka yang tidak mempunyai akses penuh pada Internet.
  • Kurangnya dukungan bisnis : Pandangan bahwa Open Source adalah gratis dan tidak bisa membaa manfaat bisnis sangat menghambat para pebisnis yang akan terjun di Open Source. Kurangnya dukungan dari pebisnis ini membuat Open Source tidak bisa mempromosikan dirinya secara baik dan ini secara tidak langsung membuat pengenalan Open Source menjadi lebih lambat.
  • Kurangnya promosi : Masih banyak orang yang beranggapan Open Source susah untuk dipergunakan, padahal perkembangan Open Source belakangan ini sudah cukup pesat dan bahkan dalam beberapa hal terkadang mampu menggungguli produk closed source. Kesalahpahaman ini bisa terjadi karena kurangnya promosi akan Open Source.
Nah,,setelah kita melihat keuntungan-keuntungan dari Open Source diatas,, hal itulah yang menjadi alasan bahwa penggunaan Open Source bisa dibilang lebih dianjurkan dan lebih "aman" ketimbang kita menggunakan software yang berlisensi... Karena mengandung prinsip "bebas" yaitu, bebas virus,,bebas lisensi,,,bebas biaya alias gratis,,,bebas modifikasi dan keuntungan-keuntungan lainnya yang telah disebutkan diatas..

Sumber :

Selengkapnya...



Free Template Blogger collection template Hot Deals BERITA_wongANteng SEO theproperty-developer