Model Metodologi Waterfall
Model ini sering juga disebut dengan classic life cycle. Dalam metode ini membutuhkan pendekatan sistematis dan squencial dalam pengembangan peranglkat lunak, dimulai dari tingkat sistem dan kemajuan melalui analisis, desain, coding, testig dan pemeliharaan. pemodelan ini mengikuti beberapa aktivitas berikut :
- Rekayasa dan Pemodelan Sistem/Informasi (System/Information Engineering and Modeling). Tahap ini sering disebut juga dengan Project Definition.
- Analisis Kebutuhan Perangkat Lunak (Software Requirements Analysis). Proses pengumpulan kebutuhan diintensifkan ke perangkat lunak. Hasilnya harus didokumentasikan dan di-review ke pelanggan.
- Desain (Design). Proses desain mengubah kebutuhan-kebutuhan menjadi bentuk karakteristik yang dimengerti perangkat lunak sebelum dimulai penulisan program.
- Penulisan Program (Coding). Desain tadi harus diubah menjadi bentuk yang dimengerti mesin (komputer). Maka dilakukan langkah penulisan program.
- Testing. Setelah kode program selesai dibuat, dan program dapat berjalan, testing dapat dimulai. Testing difokuskan pada logika internal dari perangkat lunak, fungsi eksternal, dan mencari segala kemungkinan kesalahan.
- Support/Maintenance. Perangkat lunak setelah diberikan pada pelanggan, mungkin dapat ditemui error ketika dijalankan dilingkungan pelanggan. Pemeliharaan ini dapat berpengaruh pada semua langkah yang dilakukan sebelumnya.
Kelebihan dari metode WaterFall :
Metode ini masih lebih baik digunakan walaupun sudah tergolong kuno, daripada menggunakan pendekatan asal-asalan. Selain itu, metode ini juga masih masuk akal jika kebutuhan sudah diketahui dengan baik.
Kekurangan dari metode Waterfall :
- Pada kenyataannya, jarang mengikuti urutan sekuensial seperti pada teori. Iterasi sering terjadi menyebabkan masalah baru.
- Sulit bagi pelanggan untuk menentukan semua kebutuhan secara eksplisit.
- Pelanggan harus sabar, karena pembuatan perangkat lunak akan dimulai ketika tahap desain sudah selesai. Sedangkan pada tahap sebelum desain bisa memakan waktu yang lama.
- Kesalahan di awal tahap berakibat sangat fatal pada tahap berikutnya.
Model Metodologi RAD
Model RAD merupakan model inkremental dari proses pengembangan perangkat lunak yang menekankan pada sedikitnya siklus pengembangan. Model ini memecah suatu proyek menjadi bagian-bagian kecil yang mana tiap bagiannya dibangun dengan model yang mirip dengan Waterfall. Tujuan utama model ini adalah menyelesaikan suatu proyek per bagian, sehingga proses perencanaannya pun per bagian (walaupun pada awalnya melakukan perencanaan secara global) .
Model RAD menekankan pada fase-fase berikut :
- Business modeling. Pada tahap ini, aliran informasi (information flow) pada fungsi-fungsi bisnis dimodelkan untuk mengetahui informasi apa yang mengendalikan proses bisnis, informasi apa yang hasilkan, siapa yang membuat informasi itu, kemana saja informasi mengalir, dan siapa yang mengolahnya.
- Data modeling. Aliran informasi yang didefinisikan dari business modeling, disaring lagi agar bisa dijadikan bagian-bagian dari objek data yang dibutuhkan untuk mendukung bisnis tersebut. Karakteristik (atribut) setiap objek ditentukan beserta relasi antar objeknya.
- Process modeling. Objek-objek data yang didefinisikan sebelumnya diubah agar bisa menghasilkan aliran informasi untuk diimplementasikan menjadi funsi bisnis. Pengolahan deskripsi dibuat untuk menambah, merubah, menghapus, atau mengambil kembali objek data.
- Application generation. RAD bekerja dengan menggunakan fourth generation techniques (4GT). Sehingga pada tahap ini sangat jarang digunakan pemrograman konvensional menggunakan bahasa pemrograman generasi ketiga (third generation programming languages), tetapi lebih ditekankan pada reuse komponen-komponen (jika ada) atau membuat komponen baru (jika perlu). Dalam semua kasus, alat bantu untuk otomatisasi digunakan untuk memfasilitasi pembuatan perangkat lunak.
- Testing and turnover. Karena menekankan pada penggunaan kembali komponen yang telah ada (reuse), sebagian komponen-komponen tersebut sudah diuji sebelumnya. Sehingga mengurangi waktu testing secara keseluruhan. Kecuali untuk komponen-komponen baru.
Kelebihan :
RAD memang lebih cepat dari Waterfall. jika kebutuhan dan batasan project sudah diketahui dengan baik. Juga jika proyek memungkinkan untuk dimodularisasi.
Kekurangan :
- Tidak semua project bisa dipecah (dimodularisasi), sehingga belum tentu RAD dipakai pada semua proyek.
- Karena project dipecah menjadi be
berapa bagian, maka dibutuhkan banyak orang untuk membentuk suatu tim yang mengerjakan tiap bagian tersebut. - Membutuhkan komitmen antara pengemang dengan pelanggan.
- Karena dibuat dengan reuse komponen-komponen yang sudah ada, fasilitas-fasilitas pada tiap komponen belum tentu digunakan seluruhnya oleh program yang me-reuse-nya sehingga kualitas program bisa menurun.