Rapid Application Development (RAD)
Pengertian
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.
Kelebihan dan Kekurangan
§ Kelebihan dari RAD :
1. Membeli sistem yang baru memungkinkan untuk lebih menghemat biaya ketimbang mengembangkan sendiri.
2. Proses
pengiriman menjadi lebih mudah, hal ini dikarenakan proses pembuatan
lebih banyak menggunakan potongan-potongan script.
3. Mudah untuk diamati karena menggunakan model prototype, sehingga user lebih mengerti akan sistem yang dikembangkan.
4. Lebih fleksibel karena pengembang dapat melakukan proses desain ulang pada saat yang bersamaan.
5. Bisa mengurangi penulisan kode yang kompleks karena menggunakan wizard.
6. Keterlibatan user semakin meningkat karena merupakan bagian dari tim secara keseluruhan.
7. Mampu meminimalkan kesalahan-kesalahan dengan menggunakan alat-alat bantuan (CASE tools).
8. Mempercepat waktu pengembangan sistem secara keseluruhan karena cenderung mengabaikan kualitas.
9. Tampilan yang lebih standar dan nyaman dengan bantuan software-software pendukung.
§ Kelemahan dari RAD :
1. Dengan melakukan pembelian belum tentu bisa menghemat biaya dibandingkan dengan mengembangkan sendiri.
2. Membutuhkan biaya tersendiri untuk membeli peralatan-peralatan penunjang seperti misalnya software dan hardware.
3. Kesulitan melakukan pengukuran mengenai kemajuan proses.
4. Kurang efisien karena apabila melakukan pengkodean dengan menggunakan tangan bisa lebih efisien.
5. Ketelitian menjadi berkurang karena tidak menggunakan metode yang formal dalam melakukan pengkodean.
6. Lebih banyak terjadi kesalahan apabila hanya mengutamakan kecepatan dibandingkan dengan biaya dan kualitas.
7. Fasilitas-fasilitas banyak yang dikurangi karena terbatasnya waktu yang tersedia.
8. Sistem sulit diaplikasikan di tempat yang lain.
9. Fasilitas
yang tidak perlu terkadang harus disertakan, karena menggunakan komponen
yang sudah jadi, sehingga hal ini membuat biaya semakin meningkat.
3. Incremental Model.
Dalam model Incremental ini proses pengerjaan perangkat lunak akan
dilakukan perbagian sehingga bagian selanjutnya akan dikerjakan setelah
bagian awal telah selesai dan selanjutnya sampai menghasilkan perangkat
lunak yang lengkap dengan semua fungsi yang diperlukan dan pengerjaan
perangkat lunak berakhir. Sebelum pengerjaan perangkat lunak akan
dilakukan perancangan arsitektur software sebagai kerangka dalam
pengerjaan perbagian.
Kelebihan incremental model :
- Resiko yang rendah pada pengembangan sistem.
- Mengutamakan fungsi-fungsi pada sistem perangkat lunak sehingga kemudahan pemakaian sistem yang paling di utamakan.
- Tahap awal adalan dasar dari pembuatan tahap berikutnya (dikerjakan secara terurut).
- Cocok digunakan bila pembuat software tidak banyak/kekurangan pembuat
- Mampu mengakomodasi perubahan kebutuhan customer.
- Mengurangi trauma karena perubahan sistem. Klien dibiasakan perlahan-lahan menggunakan produknya bagian per bagian.
- Memaksimalkan pengembalian modal investasi konsumen.
Kekurangan incremental model :
- Hanya akan berhasil jika tidak ada staffing untuk penerapan secara menyeluruh.
- Penambahan staf dilakukan jika hasil incremental akan dikembangkan lebih lanjut.
- Hanya cocok untuk proyek dengan skala kecil.
- kemungkinan tiap bagian tidak dapat diintegrasikan.
5. Spiral Model.
Spiral model adalah model proses yang pendekatannya bersifat realistis
pada software besar karena proses dari awal sampai proses pengiriman dan
perbaikan dapat dipahami dnegan baik oleh clieent dan developer. Model
ini mempunyai rangkaian kerja yang iterasi (peningkatan pada model) awal
yang berbentuk prototype dan kemudian iterasi selanjutnya akan menjadi
perkembangan dari model sebelumnya. Model ini dapat terus digunakan
meskipun software sudah dikirimkan karena proses (siklus)dapat berputar
lagi jika ada perubahan pada software sampai tidak ada permintaan
perupbahan pada software oleh client.

Kelebihan model Spiral :
- Setiap tahap pengerjaan dibuat prototyping sehingga kekurangan dan apa yang diharapkan oleh client dapat diperjelas dan juga dapat menjadi acuan untuk client dalam mencari kekurangan kebutuhan.
- Lebih cocok untuk pengembangan sistem dan perangkat lunak skala besar.
- Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup perangkat lunak komputer.
- Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko setiap tingkat evolusi karena perangkat lunak terus bekerja selama proses.
- Menggunakan prototipe sebagai mekanisme pengurangan resiko dan pada setiap keadaan di dalam evolusi produk.
- Tetap mengikuti langkah-langkah dalam siklus kehidupan klasik dan memasukkannya ke dalam kerangka kerja iteratif.
- Membutuhkan pertimbangan langsung terhadp resiko teknis sehingga mengurangi resiko sebelum menjadi permaslahan yang serius.
Kekurangan model Spiral :
- Banyak konsumen (Client) tidak percaya bahwa pendekatan secara evolusioner dapat dikontrol oleh kedua pihak. Model spiral mempunyai resiko yang harus dipertimbangkan ulang oleh konsumen dan developer.
- Memerlukan tenaga ahli untuk memperkirakan resiko, dan harus mengandalkannya supaya sukses.
- Belum terbukti apakah metode ini cukup efisien karena usianya yang relatif baru.
- Memerlukan penaksiran resiko yang masuk akal dan akan menjadi masalah yang serius jika resiko mayor tidak ditemukan dan diatur.
- Butuh waktu lama untuk menerapkan paradigma ini menuju kepastian yang absolute.
4. Win Win Spiral Model
Dalam
win win spiral model yang merupakan ekstensi dari spiral model, tim pengembang
dan pelanggan akan melakukan diskusi dan negosiasi terhadap requirement-nya.
Disebut win win karena merupakan situasi kemenangan antara tim pengembang dan
pelanggan. Yang membedakan antara win win spiral model dan spiral model adalah
setelah selesai mendapatkan feed back dari pelanggan, tim pengembang aplikasi
dan pelanggan akan kembali melakukan negosiasi untuk perkembangan aplikasi
tersebut.
Kelebihan :
1.Sama sama adanya kesepakatan developer dengan customer
2.Terdapat kepuasan dan keuntungan antara developer dengan customer karena aplikasi yang dijalankan dengan
negoisasi sesuai kesepakatan
3.Sangat efektif untuk digunakan karena kesepakatan antara developer dengan customer
sama-sama disepakati sehingga tidak akan menimbulkan
ketidak puasan customer
Kekurangan :
1.Membutuhkan waktu yang cukup lama
2.Seringkali pada awalnya customer dengan developer mengalami kecekcokkan pada saat negoisasi
Component-based Development Model
Component-based development model sangat berkaitan dengan teknologi
berorientasi objek. Pada pemrograman berorientasi object, banyak class
yang dibangun dan menjadi komponen dalam suatu software. Class-class
tersebut bersifat reusable yang artinya dapat digunakan berulang-ulang karena model ini bersifat iteratif.
- Menggunakan model reuse pada komponen yang sudah mewakili kebutuhan umum.
- Pengurangan waktu siklus pengembangan.
- Penurunan yang signifikan dalam biaya pengembangan proyek.
- Peningkatan yang signifikan dalam produktivitas.
- 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.
kekurangan
Formal Method
Teknik
formal method adalah teknik yang mengandalkan perhitungan matematika
dalam setiap prosesnya. Hanya digunakan pada sistem yang sangat
memperhatikan keamanan atau keselamatan dari pengguna. Contoh penggunaan
teknik ini adalah aerospace engineering.
- Keuntungan menggunakan teknik formal method adalah meminimalkan resiko dengan adanya perhitungan komputasi.
- Sedangkan kerugiannya adalah:
(a) Biaya Tinggi.
(b) Kompleks
(c) Tidak Umum untuk Proyek Software pada umumnya
- Keuntungan menggunakan teknik formal method adalah meminimalkan resiko dengan adanya perhitungan komputasi.
- Sedangkan kerugiannya adalah:
(a) Biaya Tinggi.
(b) Kompleks
(c) Tidak Umum untuk Proyek Software pada umumnya
Fourth Generation Techniques/Model Teknik Generasi ke-4/4GT
Istilah Fourth Generation Techniques (4GT) mencakup seperangkat peralatan perangkat lunak yang berfungsi sebagai perangkat bantu yang memudahkan seorang pengembang software mengaplikasi beberapa karakteristik software pada tingkat yang tinggi, yang akan menghasilkan source code dan object code secara otomatis sesuai dengan spesifikasi (persyaratan khusus) yang dibuat oleh sang pengembang perangkat lunak.
Dewasa ini, 4GT tools dipakai sebagai bahasa non prosedur untuk DataBase Query, Pembentukan laporan (Report Generation), Manipulasi data, Definisi dan interaksi layar (screen), Pembentukan object dan source (Object and source generation ), Kemampuan grafik yang tinggi, dan Kemampuan spreadsheet.
Kelebihan model ini adalah pengurangan waktu dan peningkatan produktivitas yang besar.
Kekurangan model ini adalah kemungkinan akan sulit memanfaatkan alat bantu/peralatan/tools 4GT dibandingkan dengan menggunakan bahasa pemrograman yang konvensional, selain itu terdapat juga masalah dalam hal kode sumber yang tidak efisien. Di samping itu, pemeliharaan sistem software besar yang dikembangkan oleh 4GT juga masih sedang dalam proses pengkajian.