Jumat, 06 April 2012

Constructive Cost Model (COCOMO)

Constructive Cost Model atau bisa disingkat COCOMO adalah sebuah model estimasi biaya perangkat lunak yang didesain oleh Barry Boehm pada tahun 1981 untuk memperoleh perkiraan dari jumlah orang-bulan yang diperlukan untuk mengembangkan suatu produk perangkat lunak. Model ini menggunakan rumus regresi dasar, dengan parameter yang berasal dari data historis dan karakteristik proyek proyek saat ini. Satu hasil observasi yang paling penting dalam model ini adalah bahwa motivasi dari tiap orang yang terlibat ditempatkan sebagai titik berat. Hal ini menunjukkan bahwa kepemimpinan dan kerja sama tim merupakan sesuatu yang penting, namun demikian poin pada bagian ini sering diabaikan.

COCOMO memiliki tiga jenis model yaitu :

1. Model COCOMO Dasar 

Model ini menggunakan estimasi parameter persamaan (dibedakan menurut tipe sistem yang berbeda) upaya pengembangan dan pembangunan durasi dihitung berdasarkan perkiraan DSI. Dengan rincian untuk fase ini diwujudkan dalam persentase. Dalam hubungan ini dibedakan menurut tipe sistem (organik-batch, sebagian bersambung-on-line, embedded-real-time) dan ukuran proyek (kecil, menengah, sedang, besar, sangat besar).

Model COCOMO ini dapat diaplikasikan dalam tiga tingkatan kelas:
  • Proyek organik (organic mode) Adalah proyek dengan ukuran relatif kecil, dengan anggota tim yang sudah berpengalaman, dan mampu bekerja pada permintaan yang relatif fleksibel.
  • Proyek sedang (semi-detached mode)Merupakan proyek yang memiliki ukuran dan tingkat kerumitan yang sedang, dan tiap anggota tim memiliki tingkat keahlian yang berbeda
  • Proyek terintegrasi (embedded mode)Proyek yang dibangun dengan spesifikasi dan operasi yang ketat 

 
2. Model COCOMO Intermediate 

Pengembangan model COCOMO ini 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)
  • Reliabilitas perangkat lunak yang diperlukan (RELY)
  • Ukuran basis data aplikasi (DATA)
  • Kompleksitas produk (CPLX)
2. Atribut perangkat keras (computer attributes)
  • Waktu eksekusi program ketika dijalankan (TIME)
  • Memori yang dipakai (STOR)
  • Kecepatan mesin virtual (VIRT)
  • Waktu yang diperlukan untuk mengeksekusi perintah (TURN)
3. Atribut sumber daya manusia (personnel attributes)
  • Kemampuan analisis (ACAP)
  • Kemampuan ahli perangkat lunak (PCAP)
  • Pengalaman membuat aplikasi (AEXP)
  • Pengalaman penggunaan mesin virtual (VEXP)
  • Pengalaman dalam menggunakan bahasa pemrograman (LEXP)
4. Atribut proyek (project attributes)
  • Penggunaan sistem pemrograman modern(MODP)
  • Penggunaan perangkat lunak (TOOL)
  • Jadwal pengembangan yang diperlukan (SCED)

3. Model COCOMO Detail

Detil COCOMO menggabungkan semua karakteristik versi intermediate dengan penilaian dampak cost driver di setiap langkah (analisis, desain, dll) dari proses rekayasa perangkat lunak 1. model rinci kegunaan yang berbeda upaya pengali untuk setiap driver biaya atribut tersebut Sensitif pengganda Tahap upaya masing-masing untuk menentukan jumlah usaha yang dibutuhkan untuk menyelesaikan setiap tahap.
Pada COCOMO detail, upaya dihitung sebagai fungsi dari ukuran program dan satu set driver biaya yang diberikan sesuai dengan tiap tahap siklus hidup rekayasa perangkat lunak. Fase yang digunakan dalam COCOMO detail, perencanaan kebutuhan dan perancangan perangkat lunak, perancangan detil, kode dan menguji unit, dan pengujian integrasi


Sumber : 
1. http://imachubby.blogspot.com/2011/04/cocomo-constructive-cost-model-cocomo.html
2. http://raveshader.blogspot.com/2011/04/constructive-cost-model-cocomo.html

Rabu, 04 April 2012

Open Source

Open source software adalah istilah yang digunakan untuk software yang membuka/membebaskan source codenya untuk dilihat oleh orang lain dan membiarkan orang lain mengetahui cara kerja software tersebut dan sekaligus memperbaiki kelemahan-kelemahan yang ada pada software tersebut. Dan yang menarik dan salah satu keunggulannya adalah bahwa Open source software dapat diperoleh dan digunakan secara gratis tanpa perlu membayar lisensi. Biasanya orang mendapatkan software ini dari internet. Salah satu open source software yang terkenal yaitu Linux. 

Keberadaan open source software ini sangat ditunjang oleh internet. Mula-mula Open source software diambil dari internet kemudian digunakan oleh orang dan diperbaiki apabila ada kesalahan. Hasil perbaikan dari open source ini kemudian dipublikasikan kembali melalui internet yang memungkinkan orang lain menggunakan dan memperbaikinya. Dan begitulah seterusnya. Saat ini sangat mudah mendapatkan open source software di internet.

Oleh karena itu kita sangat dianjurkan mengunakan Open source software. Selain dapat diperoleh secara gratis, kita juga dapat mengembangkan open source software tersebut karena open source software membebaskan source codenya untuk dilihat oleh orang lain dan membiarkan orang lain mengetahui cara kerja software tersebut dan sekaligus memperbaiki kelemahan-kelemahan yang ada pada software tersebut.

Keuntungan dari open source software adalah sebagai berikut :
  1. Software open source yang biasanya dikembangkan oleh komunitas atau institusi non profit juga memiliki kemampuan yang sangat powerfull karena software dikembangkan secara bersama-sama sehingga masalah atau bug pada software cepat teratasi.
  2. Fitur dan kemampuan software open source sangat kompleks dan banyak karena bisa dikembangkan oleh siapa saja tanpa terkecuali.
  3. Software open source berlisensi GPL sehingga user tidak dikenakan biaya untuk mempergunakannya
Salah satu keuntungannya lagi adalah open source software ini dapat menggantikan software-software berbayar seperti Sistem Operasi Windows yang berbayar dapat diganti dengan Linux yang merupakan Open Source Software, begitu juga dengan Ms.Office yang dapat digantikan dengan Open Office dan masih banyak lagi software-software berbayar lain yang dapat digantikan dengan Open Source Software.


Sumber : http://organisasi.org/penjelasan-pengertian-open-source-software-dan-free-software

Application Developer

Penjelasan Application Developer

Application developer bertugas menerjemahkan kebutuhan software ke dalam kode pemrograman singkat dan kuat. Kebanyakan akan mengkhususkan pada lingkungan development tertentu seperti computer games atau e-commerce, dan akan memiliki pengetahuan yang dalam pada beberapa bahasa komputer yang bersangkut-paut. 
Peranannya meliputi menulis spesifikasi dan merancang, membangun, menguji, mengimplementasikan dan terkadang yang membantu aplikasi seperti bahasa komputer dan development tool.
Application developer bekerja dalam range yang luas pada sektor bisnis seperti sektor publik, biasanya menjadi bagian dari tim dengan IT professional lainnya seperti system/busineess analyst dan technical author. Mereka bekerja pada produk umum yang dapat dibeli atau untuk client individual menyediakan solusi dari masalah yang diperlukan client tersebut.

Aktivitas yang dilakukan oleh Application Developer meliputi antara lain :
  • Membuat spesifikasi program secara detail melalui diskusi dengan client
  • Menjelaskan secara tepat apa tindakan (aksi) program yang diinginkan
  • Menguraikan spesifikasi program ke dalam elemen-elemen sederhana dan menerjemahkan logikanya ke dalam bahasa pemrograman
  • Memikirkan solusi yang mungkin untuk menprediksi masalah, mengevaluasi pilihan lain
  • Mengkombinasikan semua elemen dari rancangan program dan mengujinya
  • Bereaksi terhadap masalah dan memperbaiki program seseuai kebutuhan
  • Memasang program dan mengadakan pengujian akhir
  • Mengevaluasi keefektifan program
  • Meningkatkan efisiensi operasi program dan menyesuaikan kebutuhan baru seperlunya
  • Mengkonsultasikan manual, laporan periodik dan teknis untuk mempelajari cara baru untuk men-develop program dan memelihara yang sudah ada
Untuk mewujudkan menjadi Application Developer diperlukan :
  • Kemampuan teknis yang kuat dalam pemrograman, perancangan, metodologi system development dan pengujian, khususnya pada industri game
  • Kemampuan komunikasi yang baik
  • Kemampuan dalam manajemen proyek
  • Kemampuan problem-solving
  • Perhatian pada detail
  • Keuletan dan kesabaran
  • Kemampuan teamwork
  • Pemahaman proses bisnis dan batasannya
  • Kreativitas yang tinggi untuk mengembangkan aplikasi
Sumber : http://www.rey1024.com/2011/05/jenis-jenis-pekerjaan-bidang-it/