Model Pengembangan Perangkat Lunak, beserta kelebihan dan kekurangannya(Rekayasa Perangkat Lunak)
1. Waterfall
Waterfall adalah pendekatan manajemen proyek
yang menekankan kemajuan linier dari awal hingga akhir suatu proyek. Ini sering
digunakan oleh para insinyur dan memerlukan perencanaan yang cermat,
dokumentasi terperinci, dan pelaksanaan yang berurutan. Metodologi ini
mengikuti proses pengembangan yang berurutan, dengan setiap fase diselesaikan
sepenuhnya sebelum fase berikutnya dimulai. Ia dikenal karena penekanannya pada
dokumentasi dan perencanaan, dengan fokus pada pengumpulan semua persyaratan
proyek di awal.
Waterfall mencakup lima tahap :
1.
Persyaratan: Mengumpulkan dan
mendokumentasikan semua persyaratan proyek, yang diasumsikan tetap dan tidak
berubah sepanjang proyek.
2.
Desain: Mengembangkan solusi untuk
memenuhi persyaratan, sering kali melibatkan beberapa server backend untuk
redundansi dan keandalan.
3.
Implementasi: Memilih dan
mengimplementasikan salah satu kandidat desain dengan menggunakan teknologi.
4.
Verifikasi: Menguji implementasi
untuk memastikan memenuhi persyaratan
5.
Pemeliharaan: Mendukung sistem
setelah implementasi dan mengatasi setiap masalah yang muncul.
Salah satu keuntungan metodologi Waterfall
adalah memberikan tanggal rilis yang dapat diprediksi, karena sebagian besar
penelitian dan perencanaan dilakukan terlebih dahulu. Namun, metodologi ini
mungkin kurang fleksibel dibandingkan metodologi manajemen proyek lainnya,
seperti Agile, karena perubahan persyaratan atau koreksi arah mungkin sulit
diterapkan setelah suatu fase selesai.
2. Prototype
Model Prototipe adalah metodologi pengembangan
perangkat lunak yang melibatkan pembuatan versi awal produk perangkat lunak,
yang disebut prototipe, yang menunjukkan fitur dan fungsionalitas dasar yang
diinginkan pelanggan. Prototipe tersebut kemudian diuji dan diperbaiki oleh
pelanggan dan pengembang hingga pelanggan puas dengan produk akhir.
Prototipe memiliki beberapa fase :
1. Pengumpulan dan analisis
persyaratan: Pada fase ini, persyaratan sistem didefinisikan secara rinci, dan
pengguna sistem diwawancarai untuk memahami harapan mereka.
2.
Desain cepat: Desain awal atau
desain cepat dibuat, yang memberikan ide dasar sistem kepada pengguna.
3.
Bangun prototipe: Prototipe
sebenarnya dirancang berdasarkan informasi yang dikumpulkan dari desain cepat.
4.
Evaluasi pengguna awal: Sistem
yang diusulkan disajikan kepada klien untuk pengujian awal, yang membantu
mengetahui kekuatan dan kelemahan model kerja.
5.
Penyempurnaan prototipe: Jika
pengguna tidak puas dengan prototipe saat ini, prototipe tersebut disempurnakan
berdasarkan umpan balik dan saran pengguna hingga semua persyaratan terpenuhi
6.
Menerapkan produk dan memelihara:
Setelah pengguna puas dengan prototipe akhir, sistem akhir dikembangkan
berdasarkan prototipe yang disetujui, dan diuji serta diterapkan ke produksi
Model Prototipe menawarkan beberapa
keuntungan, seperti peningkatan keterlibatan pelanggan, pengurangan risiko, dan
peningkatan kualitas. Namun, hal ini juga mempunyai kelemahan, seperti memakan
waktu, mahal, dan sulit untuk didokumentasikan.
3. Rapid Application Development(RAD)
Rapid Application Development (RAD) adalah
metodologi pengembangan perangkat lunak yang menekankan pendekatan berulang dan
cepat dalam membangun aplikasi. Ini menggabungkan elemen metodologi pembuatan
prototipe dan metodologi pengembangan tambahan. RAD dirancang untuk mengurangi
waktu yang diperlukan untuk mengembangkan aplikasi dengan berfokus pada
pengembangan prototipe kerja yang dapat diuji dan disempurnakan dengan masukan
dari pengguna.
RAD memiliki beberapa fase :
1.
Pemodelan Bisnis : Fase ini
melibatkan pemahaman kebutuhan bisnis dan aliran informasi dalam proyek.
2.
Pemodelan Data : Pada fase ini,
persyaratan data dimodelkan, yang membantu menghemat waktu dan tenaga dalam
mengembangkan komponen baru dan mempercepat proses pengembangan secara
keseluruhan.
3.
Desain Antarmuka Pengguna :
Antarmuka pengguna dirancang berdasarkan model bisnis dan data, dengan tujuan
menciptakan antarmuka yang intuitif dan ramah pengguna
4.
Pengembangan : Aplikasi
dikembangkan berdasarkan desain antarmuka pengguna, dengan setiap fungsi atau
komponen sistem dimodulasi dan dikembangkan secara paralel.
5.
Pengujian : Aplikasi diuji untuk
memastikan memenuhi persyaratan dan bebas bug.
6.
Deployment : Aplikasi disebarkan
dan tersedia bagi pengguna.
RAD menawarkan beberapa keuntungan, seperti
pengurangan waktu pengembangan, peningkatan keterlibatan pengguna, dan
kemampuan untuk merespons perubahan kebutuhan dengan lebih efektif. Namun, hal
ini mungkin tidak cocok untuk proyek berskala besar atau kompleks, dan terdapat
risiko tidak dapat memenuhi jadwal proyek jika proses pengembangan tidak
dikelola dengan baik.
4. Pengembangan Incremental
Model Inkremental adalah metodologi
pengembangan perangkat lunak yang melibatkan pembagian produk perangkat lunak
menjadi bagian-bagian yang lebih kecil dan bertahap dan mengembangkan setiap
bagian secara berurutan. Pendekatan ini memungkinkan kemajuan yang lebih
efisien dan terkelola risiko, karena tim dapat mengelola risiko dengan menguji
proyek mereka secara bertahap dan mengidentifikasi serta mengatasi masalah yang
muncul. Model Inkremental sering digunakan ketika tujuan keseluruhan sistem
tetap jelas, dan masuknya pasar secara dini sangat penting untuk keberhasilan
produk.
Inkremental memiliki beberapa fase :
1.
Analisis kebutuhan : Pada fase
ini, keahlian analisis produk mengidentifikasi persyaratan, dan persyaratan
fungsional sistem dipahami oleh tim analisis kebutuhan.
2.
Desain & Pengembangan : Pada
fase ini, fungsionalitas sistem dan metode pengembangan telah selesai, dan
perangkat lunak mengembangkan kepraktisan baru menggunakan gaya model
inkremental dan fase pengembangan.
3.
Pengujian : Tahap pengujian
memeriksa kinerja setiap fungsi yang ada serta fungsionalitas tambahan.
4.
Implementasi : Tahap implementasi
memungkinkan tahap pengkodean sistem pengembangan, melibatkan pengkodean akhir
yang dirancang dalam tahap perancangan dan pengembangan dan menguji
fungsionalitas dalam tahap pengujian.
Keuntungan Model Inkremental mencakup
peningkatan efisiensi, manajemen risiko, pelaporan dan pelacakan yang jelas,
dan kemampuan untuk memasukkan perubahan pada tahap apa pun. Namun, hal ini
memerlukan perencanaan dan desain yang matang di awal agar tidak kehilangan
fokus dan menjadi tidak terkoordinasi.
5. Spiral
Model Spiral adalah proses pengembangan
perangkat lunak berbasis risiko yang menggabungkan elemen metodologi lain,
seperti inkremental, air terjun, dan pembuatan prototipe. Dikembangkan oleh
Barry Boehm, Model Spiral dirancang untuk mengakomodasi berbagai pola risiko
untuk berbagai proyek. Model ini memandu tim untuk mengadopsi elemen model
proses lainnya, seperti inkremental, air terjun, atau pembuatan prototipe,
berdasarkan risiko unik dari setiap proyek.
Model Spiral terdiri dari empat fase utama:
Perencanaan, Analisis Risiko, Rekayasa, dan Evaluasi. Setiap fase diulang
sampai pelanggan puas dengan prototipe yang disempurnakan, yang mewakili produk
akhir. Model ini sangat cocok untuk proyek-proyek besar dan kompleks di mana
manajemen risiko sangat penting.
Keuntungan utama Model Spiral mencakup sifat
iteratifnya, yang memungkinkan penyempurnaan produk perangkat lunak secara
progresif. Hal ini juga mengakui ketidakpastian yang melekat dalam proyek
perangkat lunak dan menekankan manajemen risiko. Model ini fleksibel dan mudah
beradaptasi, selaras dengan sifat dinamis pengembangan perangkat lunak, dimana
persyaratan dapat berubah dan informasi baru tersedia seiring berjalannya
waktu.
6. Transformasi Formal
Transformasi Formal adalah pendekatan
pengembangan perangkat lunak yang menggunakan model sistem matematika yang
ditransformasikan menjadi program implementasi . Proses transformasi formal
mengubah spesifikasi sistem formal menjadi program yang dapat dieksekusi,
dengan setiap langkah menambahkan perincian sampai spesifikasi formal diubah
menjadi program yang ekivalen.
Transformasi formal memiliki beberapa fase:
1.
Pengembangan spesifikasi : Dalam
fase ini, sistem formal dibuat dengan menggunakan model matematika yang
menggambarkan sistem yang diinginkan.
2.
Transformasi : Dalam fase ini,
spesifikasi sistem formal diubah menjadi program implementasi yang dapat
dieksekusi.
3.
Implementasi : Dalam tahap ini,
program yang telah dibuat diimplementasikan ke sistem operasi.
4.
Test : Dalam fase ini, program
diuji untuk menghindari kesalahan atau kesalahan.
5.
Deployment : Dalam tahap ini,
program yang telah diuji dan disesuaikan dengan spesifikasi sistem formal yang
diimplementasikan ke sistem operasi.
Transformasi formal memiliki beberapa
kelemahan, seperti kekurangan dokumentasi dan kekurangan interaksi dengan
pengguna . Namun, kelemahan ini dapat diterima karena transformasi formal
memberikan solusi yang tepat.
Four Generation Technology (4GT) adalah sebuah pendekatan pengembangan sistem yang menggunakan model matematika sistem yang ditransformasikan menjadi implementasi program. 4GT mencakup tiga generasi pendekatan pengembangan sistem yang sudah digunakan sebelumnya, yaitu:
1. Pendekatan Formal:
Menggunakan model matematika sistem yang diterapkan pada sistem operasi.
2. Pendekatan Logika:
Menggunakan model matematika sistem yang diterapkan pada sistem informasi.
3. Pendekatan
Object-Oriented : Menggunakan model matematika sistem yang diterapkan pada
sistem berorientasi objek.
4GT memiliki beberapa fase:
1. Fase Perancangan:
Dalam fase ini, sistem formal dibuat dengan menggunakan model matematika yang
menggambarkan sistem yang diinginkan.
2. Fase Transformasi:
Dalam fase ini, spesifikasi sistem formal diubah menjadi implementasi program
yang dapat dieksekusi.
3. Fase Implementasi:
Dalam fase ini, program yang telah dibuat diimplementasikan ke sistem operasi.
4. Fase Testing:
Dalam fase ini, program diuji untuk menghindari kesalahan atau kesalahan.
5. Fase Deployment:
Dalam fase ini, program yang telah diuji dan disesuaikan dengan spesifikasi
sistem formal diimplementasikan ke sistem operasi.
Setelah fase
deployment, sistem akan diuji dan disesuaikan sesuai dengan kebutuhan pengguna,
dan proses akan diulang kembali jika perlu.
Kelebihan 4GT:
1. Pengurangan waktu
dan peningkatan produktivitas yang besar[.
2. Menggunakan
bahasa pemrograman yang khusus dirancang dengan tujuan tertentu (spesifik).
3. Menggunakan
perangkat bantu yang memudahkan pengembangan software.
4. Menggunakan alat
bantu yang mempermudah pengembangan software.
5. Memiliki kekuatan
untuk mengembangkan perangkat lunak yang menggunakan bentuk bahasa khusus atau
notasi grafik yang dieksekusi/diselesaikan dengan syarat atau ketentuan yang
dipahami oleh pemakai/pengguna/kustomer.
Kekurangan 4GT:
1. Kemungkinan sulit
memanfaatkan alat bantu/peralatan/tools 4GT dibandingkan dengan menggunakan
bahasa pemrograman yang konvensional.
2. Masalah dalam hal
kode sumber yang tidak efisien.
3. Pemeliharaan sistem software besar yang dikembangkan oleh 4GT masih dalam proses pengkajian.
4GT merupakan metode
pengembangan perangkat lunak yang memiliki beberapa fase, yaitu pengumpulan
kebutuhan, merancang strategi, implementasi menggunakan bahasa keempat, dan
produksi.
Referensi :
https://www.academia.edu/17143369/Model_Teknik_Generasi_ke_4
https://id.scribd.com/document/427055903/transformasi-formal
https://www.plutora.com/blog/incremental-model-what-and-how-to-implement-it
https://fikti.umsu.ac.id/pengertian-metode-rad-tahapan-kelebihan-dan-kekurangan/
https://www.indeed.com/career-advice/career-development/prototype-model
https://www.projectmanager.com/guides/waterfall-methodology
Comments
Post a Comment