Sobat sekalian, sebelumnya ane udah coba bikin tulisan tentang Rekayasa Perangkat Lunak (RPL)-Jilid 1. Di sana kita berkenalan dengan konsep RPL, latar belakang adanya RPL, kategori & karakteristik RPL, de el el…
Sekarang dalam tulisan Rekayasa Perangkat Lunak (RPL)-Jilid 2 ini, kita akan berkenalan dengan Model-model yang digunakan untuk mengembangkan RPL. Nah…di sini ane bakal coba memaparkan 4 dari banyak model yang bertebaran di jagat raya. Ane milih 4 model ini karena ane rasa model ini yang paling laku, paling banyak dikaji dan digunakan. Buat lebih lengkapnya silakan Sobat baca sendiri penjelasan di bawah ini….Cekibrot…
1. Konsep model waterfall, prototyping, RAD dan Spiral
a. Model Waterfall
Model Waterfall merupakan model yang menggunakan milestone sebagai titik transisi dan pengujian, artinya setiap aktivitas pada tahap pengembangan harus diselesaikan sebelum menuju tahap pengembangan berikutnya. Sehingga model ini sangat sesuai untuk perangkat lunak dengan syarat-syarat yang telah didefinisikan secara lengkap sebelumnya karena besar kemungkinan tidak adanya perubahan aplikasi dimasa yang akan datang. Kondisi semacam ini akan sangat berpengaruh pada perangkat lunak dan menimbulkan masalah terhadap kebutuhan iterasi dimana aplikasi akan terus berkembang dengan penyesuaian-penyesuaian terhadap kebutuhan, proses bisnis dan lingkungan aplikasi yang terus berubah dari waktu kewaktu.
b. Model Protyping
Model Prototyping adalah salah satu pendekatan dalam rekayasa perangkat lunak yang secara langsung mendemonstrasikan bagaimana sebuah perangkat lunak atau komponen-komponen perangkat lunak akan bekerja dalam lingkungannya, sebelum tahapan konstruksi aktual dilakukan.
c. Model RAD (Rapid Aplication Development),
Model RAD merupakan sebuah model proses perkembangan software sekuensial linier yang menekankan siklus perkembangan yang sangat pendek. Model RAD ini merupakan sebuah adaptasi “kecepatan tinggi” dari model sekuensial linier di mana perkembangan cepat dicapai dengan menggunakan pendekatan kontruksi berbasis komponen.
d. Model Spiral
Spiral merupakan model kombinasi dari Prototyping model dengan Waterfall model. Setiap tahapan model ini selalu dilakukan Risk Analisys dan verifikasi atau testing. Dalam model ini, proses digambarkan sebagai spiral. Setiap loop mewakili satu fase dari software process. Loop paling dalam berfokus pada kelayakan dari sistem, loop selanjutnya tentang definisi dari kebutuhan, loop berikutnya berkaitan dengan desain sistem dan seterusnya.
2. Tahap-tahap pengembangan perangkat lunak menurut masing-masing model di atas yaitu:
a. Waterfall
Ada pun tahap-tahap pengembangan perangkat lunak menurut model waterfall yaitu:
1) Requirements analysis and definition : pada tahap ini tim pengembang mengumpulkan kebutuhan secara lengkap kemudian dianalisis dan mendefinisikan kebutuhan-kebutuhan proses bisnis yang harus dipenuhi oleh perangkat lunak (solusi bisnis) yang akan dibangun.
2) System and software design : pada tahap ini tim pengembang mendesain sistem dan aplikasi meliputi desain konseptual, logikal dan fisikal.
3) Implementation and unit testing : pada tahap ini desain yang telah di rancang diimplementasikan dengan menerjemahkan ke dalam kode-kode program menggunakan sebuah bahasa pemrograman, sekaligus melakukan pengujian terhadap unit-unit program yang telah dibuat.
4) Integration and system testing : tim pengembang menyatukan unit-unit program kemudian melakukan pengujian sistem perangkat lunak secara keseluruhan.
5) Operation and maintenance : tim pengembang melakukan pengoperasian program dan melakukan pemeliharaan terhadap perangkat lunak dengan penyesuaian atau perubahan terhadap situasi sebenarnya.
b. Prototyping
Tahap pengembangan perangkat lunak berdasarkan model prototyping adalah
1) Pengumpulan kebutuhan: developer dan klien bertemu dan menentukan tujuan umum, kebutuhan yang diketahui dan gambaran bagian-bagian yang akan dibutuhkan berikutnya. Detil kebutuhan mungkin tidak dibicarakan disini, pada awal pengumpulan kebutuhan.
2) Perancangan : perancangan dilakukan cepat dan rancangan mewakili semua aspek software yang diketahui, dan rancangan ini menjadi dasar pembuatan prototype.
3) Evaluasi prototype: klien mengevaluasi prototype yang dibuat dan digunakan untuk memperjelas kebutuhan software.
c. RAD
Berikut tahap pengembangan perangkat lunak berdasarkan model RAD
1) Business modelling
Aliran informasi di antara fungsi – fungsi bisnis dimodelkan dengan suatu cara untuk menjawab pertanyaan – pertanyaan berikut : informasi apa yang mengendalikan proses bisnis? Informasi apa yang di munculkan? Siapa yang memunculkanya? Ke mana informasi itu pergi? Siapa yang memprosesnya?
2) Data modeling
Aliran informasi yang didefinisikan sebagai bagian dari fase bussiness modelling disaring ke dalam serangkaian objek data yang dibutuhkan untuk menopang bisnis tersebut. Karakteristik (disebut atribut) masing–masing objek diidentifikasi dan hubungan antara objek – objek tersebut didefinisikan.
3) Prosess modelling
Aliran informasi yang didefinisikan di dalam fase data modeling
ditransformasikan untuk mencapai aliran informasi yang perlu bagi implementasi sebuah fungsi bisnis. Gambaran pemrosesan diciptakan untuk menambah, memodifikasi, menghapus, atau mendapatkan kembali sebuah objek data.
4) Aplication generation
RAD mengasumsikan pemakaian teknik generasi ke empat. Selain
menciptakan perangkat lunak dengan menggunakan bahasa pemrograman generasi ketiga yang konvensional, RAD lebih banyak memproses kerja untuk memkai lagi komponen program yang ada ( pada saat memungkinkan) atau menciptakan komponen yang bisa dipakai lagi (bila perlu). Pada semua kasus, alat – alat bantu otomatis dipakai untuk memfasilitasi konstruksi perangkat lunak.
5) Testing and turnover
Karena proses RAD menekankan pada pemakaian kembali, banyak
komponen program telah diuji. Hal ini mengurangi keseluruhan waktu pengujian. Tetapi komponen baru harus di uji dan semua interface harus dilatih secara penuh.
d. Spiral
Model spiral terbagi menjadi empat quadrant, dimana setiap quadrant merepresentasikan sebuah manajemen proses dengan tahapan-tahapan identify, design, construct dan evaluate. Sistem akan melalui tahapan-tahapan proses yang akan berulang sebagai berikut:
1) Mendefinisikan tujuan dan kebutuhan bisnis, mengembangkan desain konseptual, rancangan konsep, rencana pengujian, dan analisis terhadap resiko dengan melibatkan pemakai.
2) Mendefinisikan kebutuhan sistem, mengembangkan desain logikal, mengkompilasi (software-build) rancangan awal, mengevaluasi hasil dengan melibatkan pemakai.
3) Mendifinisakan kebutuhan subsistem, menghasilkan desain fisikal, mengkompilasi rancangan berikutnya, mengevaluasi hasil dengan melibatkan pemakai.
4) Mendefinisikan kebutuhan setiap unit, menghasilkan desain akhir, mengkompilasi rancangan akhir, mengevaluasi keseluruhan.
a. Waterfall
Digunakan pada saat kondisi perangkat lunak dengan syarat-syarat yang telah didefinisikan secara lengkap sebelumnya dan besar kemungkinan tidak adanya perubahan aplikasi dimasa yang akan datang.
b. Prototyping
Digunakan pada saat kondisi yang dimana kadang-kadang klien hanya memberikan beberapa kebutuhan umum software tanpa detil input, proses atau detil output. Di lain waktu mungkin dimana tim pembangun (developer) tidak yakin terhadap efisiensi dari algoritma yang digunakan, tingkat adaptasi terhadap sistem operasi atau rancangan form user interface
c. RAD
Digunakan pada saat kondisi dimana sebuah aplikasi bisnis dapat dimodulkan dengan cara tertentu sehingga memungkinkan setiap fungsi mayor untuk dilengkapi dalam waktu kurang dari 3 bulan
d. Spiral
Digunakan pada saat kondisi kebutuhan waktu untuk pengembangan aplikasi yang cepat dengan kapasitas proyek yang relatif kecil.
Daftar Bacaan
http://agustina31.wordpress.com/2008/07/31/model-dan-proses-rekayasa-perangkat-lunak/
http://www.migunani.my-php.net/?p=55
http://trisnowlaharwetan.wordpress.com/2010/02/18/model-spiral-boehm-dalam-rekayasa-perangkat-lunak/
http://www.elektroindonesia.com/elektro/komp27.html
http://ilmuti.com/2011/03/24/model-proses-rpl/
http://evi-mursalim.blogspot.com/2011/01/rekayasa-perangkat-lunak-model-rad.html