Blog kali ini saya akan membahas mengenai model - model software. Model - model software yang kami bahas yaitu :
- Linear Sequential Model / Waterfall Model
- Incremental Model
- Prototyping Model
- Spiral Model
- RAD ( Rapid Application Development)
Mari kita liat dari model pertama yaitu Waterfall Mode ^^
Ini gambarnya :
Waterfall model adalah model pengembangan sistem berskala besar dimana prosesnya harus dikerjakan secara bertahap / berurutan dari awal sampai akhir agar sistem dapat berjalan. Apabila tidak dikerjakan secara bertahap , maka sistem yang dikerjakan tidak akan selesai.
Yang perlu diketahui lagi dari Waterfall Model, apabila terjadi kesalahan di salah satu prosesnya, maka akan diulang dari awal dan dikerjakan secara bertahap lagi.
Langkah - langkah Waterfall Model :
- System / Information Engineering and Modeling. Permodelan ini diawali dengan mencari kebutuhan dari keseluruhan sistem yang akan diaplikasikan ke dalam bentuk software. Hal ini sangat penting, mengingat software harus dapat berinteraksi dengan elemen-elemen yang lain seperti hardware, database, dsb. Tahap ini sering disebut dengan Project Definition.
- Software Requirements Analysis. Proses pencarian kebutuhan diintensifkan dan difokuskan pada software. Untuk mengetahui sifat dari program yang akan dibuat, maka para software engineer harus mengerti tentang domain informasi dari software, misalnya fungsi yang dibutuhkan, user interface, dsb. Dari 2 aktivitas tersebut (pencarian kebutuhan sistem dan software) harus didokumentasikan dan ditunjukkan kepada pelanggan.
- Design. Proses ini digunakan untuk mengubah kebutuhan-kebutuhan diatas menjadi representasi ke dalam bentuk “blueprint” software sebelum coding dimulai. Desain harus dapat mengimplementasikan kebutuhan yang telah disebutkan pada tahap sebelumnya. Seperti 2 aktivitas sebelumnya, maka proses ini juga harus didokumentasikan sebagai konfigurasi dari software.
- Coding. Untuk dapat dimengerti oleh mesin, dalam hal ini adalah komputer, maka desain tadi harus diubah bentuknya menjadi bentuk yang dapat dimengerti oleh mesin, yaitu ke dalam bahasa pemrograman melalui proses coding. Tahap ini merupakan implementasi dari tahap design yang secara teknis nantinya dikerjakan oleh programmer.
- Testing / Verification. Sesuatu yang dibuat haruslah diujicobakan. Demikian juga dengan software. Semua fungsi-fungsi software harus diujicobakan, agar software bebas dari error, dan hasilnya harus benar-benar sesuai dengan kebutuhan yang sudah didefinisikan sebelumnya.
- Maintenance. Pemeliharaan suatu software diperlukan, termasuk di dalamnya adalah pengembangan, karena software yang dibuat tidak selamanya hanya seperti itu. Ketika dijalankan mungkin saja masih ada errors kecil yang tidak ditemukan sebelumnya, atau ada penambahan fitur-fitur yang belum ada pada software tersebut. Pengembangan diperlukan ketika adanya perubahan dari eksternal perusahaan seperti ketika ada pergantian sistem operasi, atau perangkat lainnya.
Kelebihan dari Waterfall Model :
- Model pengembangan paling handal dan paling lama digunakan
- Cocok untuk system software berskala besar
- Cocok untuk system software yang bersifat generic
- Pengerjaan project system akan terjadwal dengan baik dan mudah dikontrol.
Kekurangan dari Waterfall Model :
- Persyaratan system harus digambarkan dengan jelas
- Rincian proses harus benar-benar jelas dan tidak boleh berubah
- Sulit beradaptasi jika terjadi perubahan spesifikasi pada suatu tahap pengembangan.
Referensi dari :