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.

7. Fourth Generation Techniques (4GT) 


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

Popular posts from this blog

Diagram Level Sistem Tabungan(Daftar, Menabung, menarik tabungan, menutup tabungan), rancangdan database, rancangan relasional, rancangan layar