Model WaterFall(Air Terjun)
Adalah
pendekatan klasik dalam pengembangan perangkat lunak yang menggambarkan metode
pengembangan linier dan berurutan. Ini terdiri dari lima hingga tujuh fase,
setiap fase didefinisikan oleh tugas dan tujuan yang berbeda, di mana
keseluruhan fase menggambarkan siklus hidup perangkat lunak hingga
pengirimannya. Setelah fase selesai, langkah pengembangan selanjutnya mengikuti
dan hasil dari fase sebelumnya mengalir ke fase berikutnya.
Tahapan Model Waterfall
Tahap
ini pengembang sistem diperlukan komunikasi yang bertujuan untuk memahami
perangkat lunak yang diharapkan oleh pengguna dan batasan perangkat lunak
tersebut. Informasi ini biasanya dapat diperoleh melalui wawancara, diskusi
atau survei langsung. Informasi dianalisis untuk mendapatkan data yang
dibutuhkan oleh pengguna.
Spesifikasi
kebutuhan dari tahap sebelumnya akan dipelajari dalam fase ini dan desain
sistem disiapkan. Desain Sistem membantu dalam menentukan perangkat
keras(hardware) dan sistem persyaratan dan juga membantu dalam mendefinisikan
arsitektur sistem secara keseluruhan.
Pada
tahap ini, sistem pertama kali dikembangkan di program kecil yang disebut unit,
yang terintegrasi dalam tahap selanjutnya. Setiap unit dikembangkan dan diuji
untuk fungsionalitas yang disebut sebagai unit testing.
Seluruh
unit yang dikembangkan dalam tahap implementasi diintegrasikan ke dalam sistem
setelah pengujian yang dilakukan masing-masing unit. Setelah integrasi seluruh
sistem diuji untuk mengecek setiap
kegagalan maupun kesalahan.
Tahap
akhir dalam model waterfall. Perangkat lunak yang sudah
jadi, dijalankan serta dilakukan pemeliharaan. Pemeliharaan termasuk dalam
memperbaiki kesalahan yang tidak
ditemukan pada langkah sebelumnya. Perbaikan implementasi unit sistem dan
peningkatan jasa sistem sebagai kebutuhan baru.
Signifikansi untuk pemrograman
Model
air terjun (Waterfall Model) adalah salah satu model proses paling terkenal
dalam pengembangan perangkat lunak. Ini telah berhasil digunakan selama
beberapa dekade, tetapi sekarang hanya untuk proyek-proyek kecil di mana
spesifikasinya jelas. Namun, kelemahan yang disebutkan di atas, juga membuat
analis dan pengembang merancang model alternatif yang disebut pengembangan
perangkat lunak gesit. Masalah utama dari model air terjun adalah bahwa
perubahan dan revisi belum tentu disediakan oleh urutan logis. Umpan balik dari
pelanggan, penguji, dan insinyur selama pengembangan sebagian hilang dan
integrasi perangkat lunak ke dalam sistem yang ada berlangsung sekaligus.
Kelemahan ini dapat dihindari dengan memodifikasi fase proyek, seperti halnya
dengan model spiral. Tetapi untuk beberapa tahun sekarang, metode gesit yang
menggunakan elemen struktural lainnya jauh lebih populer (misalnya, peran dan
sprint dengan Scrum atau prinsip-prinsip pemrograman ekstrim). Sebagai aturan,
mereka lebih ekonomis, mengarah pada hasil yang lebih cepat dan lebih
transparan bagi pelanggan. Sebagai aturan, mereka lebih ekonomis, mengarah pada
hasil lebih cepat dan lebih transparan bagi pelanggan.
Model Prototype
Metode
Prototype merupakan suatu paradigma baru dalam metode pengembangan perangkat
lunak dimana metode ini tidak hanya sekedar evolusi dalam dunia pengembangan
perangkat lunak, tetapi juga merevolusi metode pengembangan perangkat lunak
yang lama yaitu sistem sekuensial yang biasa dikenal dengan nama SDLC atau
waterfall development model.
Dalam
Model Prototype, prototype dari perangkat lunak yang dihasilkan kemudian
dipresentasikan kepada pelanggan, dan pelanggan tersebut diberikan kesempatan
untuk memberikan masukan sehingga perangkat lunak yang dihasilkan nantinya
betul-betul sesuai dengan keinginan dan kebutuhan pelanggan.
Perubahan
dan presentasi prototype dapat dilakukan berkali-kali sampai dicapai
kesepakatan bentuk dari perangkat lunak yang akan dikembangkan.
Teknik
– teknik Prototyping Meliputi :
- Perancangan
Model
- Perancangan
Dialog
- Simulasi
Berikut
adalah 4 langkah yang menjadi karakteristik dalam proses pengembangan pada
metode prototype, yaitu :
- Pemilihan
fungsi
- Penyusunan
Sistem Informasi
- Evaluasi
- Penggunaan
Selanjutnya
Metode
ini menyajikan gambaran yang lengkap dari suatu sistem perangkat lunak, terdiri
atas model kertas, model kerja dan program. Pihak pengembang akan melakukan
identifikasi kebutuhan pemakai, menganalisa sistem dan melakukan studi
kelayakan serta studi terhadap kebutuhan pemakai, meliputi model interface,
teknik prosedural dan teknologi yang akan dimanfaatkan.
Model Spiral
Model
spiral adalah generator model proses berbasis risiko yang digunakan untuk
memandu rekayasa perangkat lunak bersama berbagai pemangku kepentingan dari
sistem intensif. Model ini memiliki dua fitur pembeda utama. Salah satunya
adalah pendekatan siklis untuk menumbuhkan tingkat definisi dan implementasi
sistem secara bertahap sambil mengurangi tingkat risikonya. Yang lainnya adalah
serangkaian tonggak jangkar poin untuk memastikan komitmen pemangku kepentingan
untuk solusi sistem yang layak dan saling memuaskan. Model spiral awalnya
diusulkan oleh Barry Boehm,model spiral adalah model proses perangkat lunak
evolusioner yang memadukan sifat iteratif dari prototyping dengan aspek
terkontrol dan sistematis dari model waterfall. Hal ini memberikan potensi
untuk pengembangan versi perangkat lunak yang semakin lengkap.
Tahapan Model Spiral
Tahap
ini berhubungan dengan komunikasi antara orang yang akan mengembangkan software
(system analyst) dengan pelanggan. Tujuannya adalah agar dapat memuaskan
pelanggan dengan memperbaiki dan mengembangkan software sesuai dengan
kebutuhan, kepentingan dan keinginannya.
Tahap
perencanaan meliputi estimasi biaya yang digunakan, batas waktu, pengaturan
jadwal, identifikasi lingkungan kerja, sumber-sumber infomasi untuk melakukan
iterasi. Hasilnya adalah dokumen spesifikasi kebutuhan sistem dan bisnis.
Tahap
ini berfungsi untuk mengidentifikasi risiko yang berpotensial untuk terjadi dan
menghasilkan suatu solusi alternatif secara teknis dan manajemen saat strategi
mitigasi risiko direncanakan dan diselesaikan.
- Tahap
Rekayasa (engineering)
Pada
tahap ini, yang dilakukan adalah sebagai berikut :
- Menguji,
coding dan mengembangkan software
- Menginstal
software
- Membuat
prototipe
- Mendesain
dokumen
- Meringkas
suatu pengujian software
- Membuat
laporan atas kekurangan dari software agar segera diperbaiki
Peran
pelanggan sangat diperlukan pada tahap ini. Mereka dapat memberikan masukan dan
tanggapan, mengevaluasi produk kerja dan memastikan bahwa produk yang
dibutuhkan sesuai dengan semua ketentuan. Jika terdapat perubahan, semua
tahapan akan diperbaiki sesuai dengan kepuasan pelanggan. Namun,
mengidentifkasi dan memantau risiko yang terjadi juga diperlukan, seperti cost
overrun.
Rapid Application Development
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
di mana 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.
Penerapan RAD
Model
RAD mengadopsi model waterfall dan pembangunan dalam waktu singkat yang dicapai
dengan menerapkan:
- Component
based construction ( pemrograman berbasis komponen bukan prosedural).
- Penekanan
pada penggunaan ulang (reuse) komponen perangkat lunak yang telah ada.
- Pembangkitan
kode program otomatis/semi otomatis.
- Multiple
team (banyak tim), tiap tim menyelesaikan satu tugas yang selevel tetapi tidak
sama. Banyaknya tim tergantung dari area dan kompleksitasnya sistem yang
dibangun.
Jika
keutuhan yang diinginkan pada tahap analisis kebutuhan telah lengkap dan jelas,
maka waktu yang dibutuhkan untuk menyelesaikan secara lengkap perangkat lunak
yang dibuat adalah berkisar 60 sampai 90 hari. Model RAD hampir sama dengan
model waterfall, bedanya siklus pengembangan yang ditempuh model ini sangat
pendek dengan penerapan teknik yang cepat.
Sistem
dibagi-bagi menjadi beberapa modul dan dikerjakan beberapa tim dalam waktu yang
hampir bersamaan dalam waktu yang sudah ditentukan. Model ini melibatkan banyak
tim, dan setiap tim mengerjakan tugas yang selevel, namun berbeda. Sesuai
dengan pembagian modul sistem.
Evolution Development
Evolution
& Development adalah bahan publikasi jurnal ilmiah peer-review di antarmuka
biologi evolusi dan perkembangan. Dalam biologi perkembangan evolusioner, ia
bertujuan membantu sintesis pemikiran biologis yang lebih luas di kedua bidang
ini. Lingkupnya berkisar dari paleontologi dan biologi populasi, hingga biologi
perkembangan dan molekuler, termasuk matematika dan sejarah serta filsafat
sains.