Selamat datang di blogs UNYDeveloperNetwork. Setelah Saya membahas model waterfall, kini Saya akan membahas salah satu turunannya yakni V-Model, atau dalam bahasa inggrisnya lebih populer dikenal sebagai V-shaped. Seluruh tahapan di dalam model ini masih bisa dibilang linear dan sekuensial dan merupakan perpanjangan dari model waterfall. V di sini, selain diambil dari bentuknya yang menyerupai huruf V, juga diambil dari kependekannya yakni Verification and Validation Model. Jadi tahapan apa sajakah yang ada di dalam model ini? apa kelebihan dan kekurangannya? baca artikel ini sampai habis.
Singkatnya, V-Model adalah sebuah model SDLC yang eksekusi per fasenya dilakukan secara sekuensial dalam bentuk V. V-Model adalah sebuah perpanjangan dari model waterfall dan didesain berdasarkan hubungan antar tahap pengujian antar fase. Ini berarti bahwa untuk setiap fase dalam satu siklus, ada tahap pengujian yang terkait langsung. Seperti halnya model waterfall, model ini merupakan model yang menerapkan tingkat kedisiplinan yang sangat tinggi di mana fase selanjutnya tidak dapat dimulai sebelum fase sebelumnya selesai.
Di dalam V-Model, tahapan pengujian di dalam satu siklus dilakukan secara paralel. Jadi di dalam V-Model terdapat fase Verifikasi di satu sisi dan fase Validasi di sisi lainnya. Fase Koding (Implementation) menggabungkan kedua sisi dari V-Model ini.
Berikut adalah desain dari V-Model
Lalu bagaimana penjelasan untuk masing – masing fasenya? Mari kita simak penjelasan di bawah ini.
V-Model > Proses Verification
Fase – fase yang masuk dalam proses ini adalah sebagai berikut.
- Requirement Analysis
Seperti halnya pada Model Firewall, ini adalah fase pertama dalam siklus di mana semua informasi kebutuhan pengembangan informasi digali dari customer. Di dalam fase ini melibatkan proses komunikasi yang intensif dengan customer untuk memahami kebutuhan sistem dengan tepat. Ini adalah fase yang sangat penting dan perlu dikelola dengan baik, karena sebagian besar customer tidak yakin tentang apa yang sebenarnya mereka butuhkan. Perencanaan Acceptance Test Design dilakukan pada tahap ini karena requirement dapat digunakan sebagai input untuk pengujian accepatence. - System Design
Setelah Anda memiliki requirement produk yang jelas dan terperinci, sekarang saatnya untuk merancang sistem dengan lengkap. Desain sistem yang lengkap akan memiliki perincian perangkat keras dan pengaturan komunikasi yang lengkap untuk sistem yang sedang dikembangkan. Rencana system test dikembangkan berdasarkan desain sistem. - Architectural Design
Spesifikasi arsitektur dipahami dan dirancang dalam fase ini. Biasanya, lebih dari satu pendekatan teknis diusulkan dan keputusan akhir diambil berdasarkan kelayakan teknis dan finansial. Desain sistem dipecah menjadi lebih kecil untuk menjadi modul yang memiliki fungsi yang berbeda – beda.
Transfer data dan komunikasi antara modul secara internal dan secara eksternal (dengan sistem lain) dipahami dengan jelas dan didefinisikan dalam fase ini. Berdasarkan informasi tersebut, integration test dapat dirancang dan didokumentasikan selama tahap ini - Module Design
Dalam fase ini, desain internal terperinci untuk semua modul sistem dispesifikasikan. Penting bahwa desain harus kompatibel dengan modul lain dalam arsitektur sistem dan sistem eksternal lainnya. Unit Test merupakan bagian penting dari setiap proses pengembangan dan membantu menghilangkan kesalahan dan kesalahan pada tahap yang sangat awal. Unit test ini dapat dirancang pada fase ini berdasarkan pada desain modul internal.
V-Model > Proses Coding
Proses coding untuk membuat modul sistem yang telah dirancang pada tahap desain dilakukan pada fase coding. Bahasa pemrograman yang paling cocok diputuskan berdasarkan kebutuhan sistem dan arsitektur.
Proses coding dilakukan berdasarkan pedoman dan standar coding. Baris kode yang ditulis melewati banyak code review dan dioptimalkan untuk kinerja terbaik sebelum final build.
V-Model > Proses Validation
Pada proses validation terdapat beberapa fase yang antara lain sebagai berikut.
- Unit Testing
Unit Test yang dirancang dalam fase module design dijalankan pada kode yang sudah ditulis selama fase validasi ini. Unit testing adalah pengujian pada tingkat kode dan membantu menghilangkan bug pada tahap awal, meskipun semua bug tidak dapat diungkap oleh unit testing. - Integration Testing
Integration Testing dikaitkan dengan fase architectural design. Integration Testing dilakukan untuk menguji koeksistensi dan komunikasi modul secara internal dalam sistem. - System Testing
System testing secara langsung terkait dengan fase system design. System testing memeriksa seluruh fungsionalitas sistem dan komunikasi sistem yang sedang dikembangkan dengan sistem eksternal. Sebagian besar masalah kompatibilitas perangkat lunak dan perangkat keras dapat diungkap selama pelaksanaan system testing ini. - Acceptance Testing
Acceptance testing dikaitkan dengan fase requirement analysis dan melibatkan pengujian produk di lingkungan pengguna. Acceptance testing mengungkap masalah kompatibilitas dengan sistem lain yang tersedia di lingkungan pengguna. Selain mengungkap masalah kompatibilitas dengan sistem lain, pada fase ini juga mampu mengungkap masalah non-fungsional seperti load dan performance kinerja sistem di lingkungan pengguna yang sebenarnya.
Aplikasi V-Model
V-Model sebenarnya hampir sama dengan Model Waterfall. Hal ini dikarenakan kedua model merupakan model yang sekuensial dimana satu fase harus selesai terlebih dahulu sebelum dapat melanjutkan ke fase berikutnya. Requirement harus benar benar clear sebelum proyek dimulai, karena apabila terdapat perubahan requirement di tengah proyek itu akan menghabiskan banyak sekali biaya. Model ini biasanya digunakan di ranah pengembangan sistem medis, karena model ini menerapkan tingkat kedisiplinan yang sangat tinggi.
Beberapa poin di bawah ini adalah skenario yang paling cocok untuk menggunakan V-Model
- Requirement sangat jelas dan terdokumentasikan dengan sangat baik
- Definisi produk tidak berubah – ubah
- Teknologi yang digunakan tidak dinamis dan mudah dimengerti oleh tim proyek
- Tidak ada requirement yang menimbulkan makna ganda.
- Tidak ada requirement yang belum terdefinisikan
- Waktu proyek pendek
Kelebihan & Kekurangan V-Model
Kesederhanan dari model ini membuatnya lebih mudah untuk di-manage. Seperti halnya pada Model Waterfall, kelemahan paling nyata dari model ini adalah tidak fleksibel terhadap perubahan requirement yang saat ini sangat umum terjadi.
Kelebihan dari V-Model antara lain sebagai berikut.
- Model yang menerapkan disiplin tingkat tinggi dan fase – fase dalam model diselesaikan satu persatu
- Dapat bekerja dengan sangat baik untuk proyek kecil dimana requirement sangat mudah dipahami
- Sederhana dan mudah untuk dipahami serta digunakan
- Mudah untuk me-manage karena sifat kekakuan dari model dan setiap fase dalam siklus memiliki tujuan yang spesifik.
Sementara itu, kelemahan dari V-Model antara lain sebagai berikut.
- Memiliki risiko dan ketidakpastian yang tinggi apabila diaplikasikan untuk proyek proyek besar
- Model yang tidak bagus untuk proyek yang kompleks dan berorientasi obyek
- Model yang buruk untuk proyek yang panjang dan berkelanjutan
- Tidak cocok untuk proyek yang di mana requirement-nya mudah sekali berubah
- Sekali sistem di dalam proses testing, sangat sulit sekali untuk mundur ke fase sebelumnya
- Tidak ada sistem yang dapat digunakan sampai satu siklus selesai
Demikianlah pembahasan singkat mengenai SDLC V-Model yang merupakan perpanjangan dari Model Waterfall. Semoga artikel ini bermanfaat untuk kita semua. Apabila Anda memiliki pertanyaan, jangan sungkan meninggalkannya di kolom komentar. Jika Anda ingin mencuplik artikel ini, jangan lupa juga sertakan URL nya.
Referensi
- V-Model in Sofware Testing. Guru99. https://www.guru99.com/v-model-software-testing.html. Diakses pada 7 Februari 2020 dengan peramban Chrome.
- Software Development with Waterfall/V-model. INTLAND SOFTWARE. https://content.intland.com/blog/software-development-with-waterfall-v-model. Diakses pada 7 Februari 2020 dengan peramban Chrome.
- SDLC – V-Model. tutorialspoint. https://www.tutorialspoint.com/sdlc/sdlc_v_model.htm. Diakses pada 7 Februari 2020 dengan peramban Chrome.
- V-model.JPG. WIKIMEDIA COMMONS. https://commons.wikimedia.org/wiki/File:V-model.JPG. Diakses pada 7 Februari 2020 dengan peramban Chrome