Metode pengembangan perangkat lunak



A. Rapid application development (RAD) atau rapid prototyping 
 adalah model proses pembangunan perangkat lunak yang tergolong dalam teknik incremental (bertingkat). RAD menekankan pada siklus pembangunan pendek, singkat, dan cepat. Waktu yang singkat adalah batasan yang penting untuk model ini. Rapid application development menggunakan metode iteratif (berulang) dalam mengembangkan sistem dimana working model (model bekerja) sistem dikonstruksikan di awal tahap pengembangan dengan tujuan menetapkan kebutuhan (requirement) user dan selanjutnya disingkirkan. Working model digunakan kadang-kadang saja sebagai basis desain dan implementasi sistem final

Model RAD mengadopsi model waterfall dan pembangunan dalam waktu singkat yang dicapai dengan menerapkan :
  1. Component based construction ( pemrograman berbasis komponen bukan prosedural).
  2. Penekanan pada penggunaan ulang (reuse) komponen perangkat lunak yang telah ada.
  3. Pembangkitan kode program otomatis/semi otomatis.
  4. Multiple team (banyak tim), tiap tim menyelesaikan satu tugas yang selevel tapi tidak sama. Banyaknya tim tergantung dari area dan kompleksitasnya sistem yang dibangun.

Beberapa hal (kelebhan dan kekurangan) yang perlu diperhatikan dalam implementasi pengembangan menggunakan model RAD :
  1. Model RAD memerlukan sumber daya yang cukup besar, terutama untuk proyek dengan skala besar.
  2. Model ini cocok untuk proyek dengan skala besar.
  3. Model RAD memerlukan komitmen yang kuat antara pengembang dan pemesssan, bahkan keduanya bisa tergabung dalam 1 tim
  4. kinerja dari perangkat lunak yang dihasilkan dapat menjadi masalah manakala kebutuhan-kebutuhan diawal proses tidak dapat dimodulkan, sehingga pendekatan dengan model ini kurang bagus.
  5. sistem yang tidak bisa dimodularisasi tidak cocok untuk model ini.
  6. penghalusan dan penggabungan dari beberapa tim di akhir proses sangat diperlukan dan ini memerlukan kerja keras.
  7. proyek bisa gagal karena waktu yang disepakati tidak dipenuhi
  8. risiko teknis yang tinggi juga kurang cocok untuk model ini.


B. Software Process Model  
adalah Sebuah metodologi pengembangan perangkat lunak dipilih berdasarkan sifat proyek dan aplikasi, metode dan alat-alat yang akan digunakan, dan kontrol dan kiriman yang diperlukan.





dan di bawah ini adalah beberapa contoh software process model:
1.     Incremental model adalah model pengembangan sistem pada software engineering berdasarkan requirement software yang dipecah menjadi beberapa fungsi atau bagian sehingga model pengembangannya secara bertahap. model ini pun juga memiliki tahapan tahapan untuk perancangan perangkat lunaknya, yaitu:
  1. Requirement , Requirment adalah proses tahapan awal yang dilakukan pada incremental model adalah penentuan kebutuhan atau analisis kebutuhan.
  2. Specification, Specification adalah proses spesifikasi dimana menggunakan analisis kebutuhan sebagai acuannya.
  3. Architecture Design, adalah tahap selanjutnya, perancangan software yang terbuka agar dapat diterapkan sistem pembangunan per-bagian pada tahapan selanjutnya.
  4. Code setelah melakukan proses desain selanjutnya ada pengkodean.
  5. Test merupakan tahap pengujian dalam model ini.
 

Beberapa Kelebihan dan Kekurangan dari Mode Incremental atara lain :
  1. Merupakan model dengan manajemen yang sederhana
  2. Nilai penggunaan dapat ditentukan pada setiap increment sehingga fungsionalitas sistem disediakan lebih awal.
  3.  Memiliki risiko lebih rendah terhadap keseluruhan pengembagan sistem
  4. Prioritas tertinggi pada pelayanan sistem adalah yang paling diuji
  5. kemungkinan tiap bagian tidak dapat diintegrasikan
  6. Harus Open Architecture
  7. Mungkin terjadi kesulitan untuk memetakan kebutuhan pengguna ke dalam rencana spesifikasi masing-masing hasil increment.
2.     Spiral Model yaitu suatu model proses pengembangan perangkat lunak evolusioner yang menggabungkan pendekatan prototyping yang sifatnya iterative dengan aspek-aspek sistematis dan terkendali yang mana dijumpai pada model air terjun(waterfall).
 
Berikut kelebihan dan kekurangan spiral model
1.      Lebih cocok untuk pengembangan sistem dan perangkat lunak skala besar
2.      Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko setiap tingkat evolusi karena perangkat lunak terus bekerja selama proses
3.      Memerlukan tenaga ahli untuk memperkirakan resiko, dan harus mengandalkannya supaya sukses
4.      Model spiral ini merupakan model yang masih baru sehingga belum terbukti apakah model ini efisien atau tidak.

 

3.     Win-win spiral model adalah satu perluasan dari Spiral Model. Di  model ini, tim pengembang dan pelanggan mendiskusikan dan merundingkan permintaan. Model ini disebut Win-Win karena memberikan suatu situasi menguntungkan untuk tim pengembang dan juga untuk pelanggan. Pelanggan untung dengan mendapatkan produk yang sesuai dengan permintaan mereka, disamping itu regu pengembang untung dengan mengirim software yang dikembangkan dengan semua permintaan yang dibentuk setelah negosiasi-negosiasi dengan pelanggan.
Ada enam tahapan model win-win spiral, diantaranya:
a.   Identifikasi permintaan.
b.   Negosiasi dengan konsumen
c.   Melakukan perubahan permintaan baru setelah melakukan negosiasi dengan konsumen.
d.   Menilai proses dan produk alternative dan analisa kerusakan.
e.   Persetujuan proses dan produk.
f.   Tinjauan ulang dengan member laporan kepada konsumen.

Berikut adalah kelebihan dan kekurangan win-win spiral model
1.      Adanya kesepakatan dari pembuat dan pemakai
2.      Terdapat kepuasan dan keuntungan anatara developer dengan customer karena aplikasi yang dijalankan dengan negosiasi sesuai kesepakatan
3.      Membutuhkan waktu yang lama
4.      Seringkali pada awal customer  dengan developer mengalami ketidaksepakatan saat negosiasi

C. component Based Software Engineering (CBSE) 
adalah konsep pengembangan perangkat lunak berbasis komponen. Konsep ini mencoba hadir untuk memperbaiki kekurangan atau kegagalan OOSE dengan tujuan meningkatkan reusability. Pengembangan dengan konsep ini menganut prinsip sistem sebagai hasil perakitan komponen-komponen, komponen sebagai entitas-entitas resusable, dan upgrading sistem dengan memodifikasi atau mengganti komponennya
berikut kelebihan dan kekurangan CBSE

  1. Menggunakan model reuse pada komponen yang sudah mewakili kebutuhan umum.
  2. Pengurangan waktu siklus pengembangan.
  3. Penurunan yang signifikan dalam biaya pengembangan proyek.
  4. Peningkatan yang signifikan dalam produktivitas.
  5. Pembangunan software dengan menggunakan komponen yang sudah tersedia dapat menggunakan komponen COTS (Commercial off-the-shelf) yang bisa didapatkan dengan membeli komponen yang sebelumnya sudah dibangun secara internal.
6.       Model ini bersifat iteratif atau berulang-ulang prosesnya.
7.       Sistem yang tidak bisa dimodularisasi tidak cocok untuk model ini.

D. Formal method model
 adalah teknik yang mengandalkan perhitungan matematika dalam setiap prosesnya. Hanya digunakan pada sistem yang sangat memperhatikan keamanan atau keselamatan dari pengguna keamanan atau keselamatan dari pengguna.
Berikut adalah kelebihan dan kekurangan dari Formal method model
1.      Meminimalkan adanya resiko dengan adanya perhitungan komputasi
2.      Biayanya mahal
3.      Tidak umum untuk proyek untuk software umumnya.

E. Metode 4GT Fourth Generation Techniques

Adalah  metode pengembangan perangkat lunak generasi keempat, mengarah ke perangkat lunak yang umum yaitu tiap pengembang perangkat lunak menentukan beberapa karakteristik perangkat lunak pada level tinggi.  Saat ini pengembangan perangkat lunak yang mendukung 4GT, berisi tool-tool berikut:
  1. Bahasa non prosedural untuk query basis data
  2. Report generation
  3. Data manipulation
  4. Interaksi layar
  5. Kemampuan grafik level tinggi
  6. Kemampuan spreadsheet .
Tiap tool ini ada tapi hanya untuk sauatu aplikasi khusus. Metode pengembangan perangkat lunak 4GT menggunakan perangkat bantu (tools) yang akan membuat kode sumber secara otomatis berdasarkan spesifikasi dari pengembang perangkat lunak.

Kelebihan dan kekurangan dari 4GT
1.      Pengurangan waktu dan peningkatan produktivitas secara besar
2.      Karena 4GT menggunakan 4GL yang merupakan bahasa pemrograman yang  khusus dirancang dengan tujuan tertentu (spesifik), maka untuk permasalahan yang tertentu dengan 4GL tertentu pula sangat tepat menggunakan 4GT.
3.      Tool yang menggunakan metode pengembangan perangkat lunak 4GL bisa meng-generate sistem dari output yang dihasilkan oleh CASE tools.
4.      Penggunaan perangkat bantu (tools) dibandingkan dengan bahasa pemrograman, dan juga kode sumber yang dihasilkannya tidak efisien.
5.      Untuk usaha yang besar, dibutuhkan pengembangan strategi desain untuk sistem, walau digunakan bahasa 4GL.
6.      Penggunaan 4GT tanpa perencanaan matang (untuk proyek besar) akan menyebabkan kesulitan yang sama (kualitas dan pemeliharaan yang jelek, ketidakpuasan pelanggan) seperti dengan metode konvensional.










Komentar

Postingan Populer