
Elicitation Requirement Engineering
Tahapan ini adalah tahapan yang berisikan gambar dari suatu aplikasi yang didapatkan oleh sistem analis pada customer. Dan sistem analis pada tahapan requirement engineering ini menggambarkannya dalam sebuah rancangan UML atau use case sehingga untuk mendokumentasikan dan menjelaskan kepada konsumen dan programmer lebih mudah, sehingga proses requirement engineering lebih maksimal dengan model use case. Contoh hasil gambaran dari seorang analis seperti yang digambarkan di atas. Dan dengan bantuan teks analis juga mendeskripsikan kebutuhan konsumen berdasarkan diskusi kedua belah pihak. Berdasarkan UML diagram di atas, siklus elicitation diantaranya berfugsi untuk mendeskripsikan secara umum mengenai kebutuhan-kebutuhan dalam mengembangkan software. Dan berdasarkan gambar tersebut dapat dijabarkan kebutuhan yang diperlukan dalam mengembangkan aplikasi :
A. Fitur Aplikasi Whatsapp
- Subsystem Chat terdiri dari subsystem pilih kontak (harus dilakukan oleh user ketika melakukan chat), video call / voice call (tidak harus ada pada menu chat)
- Subsystem Status terdiri dari subsystem update status (tidak harus ada dalam menu status)
- Subsystem Panggilan tediri dari subsystem video / voice call (tidak harus ada dalam menu panggilan)
B. Stakeholder
Yang bertindak sebagai stakeholder atau yang memiliki peran dalam chat adalah person / user yang memiliki aplikasi android.
C. Spesifikasi Hardware
Merupakan spesifikasi hasil dari diskusi dengan stakeholder. Dalam hal ini yang berkaitan dengan pengguna aplikasi whatsapp. Berdasarkan diskusi dan saran antara analis sistem, dimisalkan aplikasi bisa digunakan pada smarthphone dengan spesifikasi kecepatan RAM minimal adalah 1GB, dan pada komputer menggunakan kecepatan minimal 2GB.
D. Software Requirement
Diskusi terkait dengan software development yaitu perangkat lunak yang digunakan untuk pembuatan, pengembangan aplikasi. Teknologi apa yang digunakan. Dimisalkan pada kasus ini teknologi software untuk smartphone menggunakan Cordova, AngularJS sebagai framework aplikasi dengan teknologi interface menggunakan material design. Sedangkan minimum API level dari aplikasi smartphone yaitu menggunakan sistem operasi API level 21.
E. Biaya Pengembangan Software
Biaya pengembangan software bisa didapatkan dari estimasi yang keseluruhan biaya akan dikeluarkan dalam aktifitas pengembangan rekayasa perangkat lunak dengan menyusun detail anggaran yang akan dibuat.
Analyst Requirement Engineering
Siklus berikutnya yaitu bagian analisis terhadap kebutuhan yang telah disusun bersama-sama antara analis sistem dengan konsumen. Proses analisisi pada RE ini dilakukan bersama-sama oleh tim untuk mendapatkan hasil yang sesuai dengan kesepakatan tentang RE apakah harus dikurangi ataukah harus ditambahkan. Adapun jika RE yang disepakati oleh tim perlu ditambahkan atau dikurangi maka tugas analis adalah melakukan perubahan dokumentasi untuk didiskusikan kembali dengan seorang user apakah setuju dengan hasil RE setelah dilakuakan perubahan. Dimisalkan dalam aplikasi whatsapp di atas, dengan mengembangkan keselurhan use case atau fitur biaya yang dipatok berdasarkan kesepakatan sebelumnya adalah 1 M, sedangkan ketika salah satu use case misal status dihilangkan maka nilai biaya yang dikeluarkan bagi konsumen tinggal 800 Juta. Hal ini berdasarkan pertimbangan fitur status tidak terlalu penting digunakan untuk suatu aplikasi yang bersifat komunikasi antara satu dengan yang lain. Selain itu apakah RE yang telah dibuat sebelumnya mudah dipahami oleh user dan programmer. Misal, jika seorang programmer diberikan model UML whatsapp di atas maka programmer tidak akan paham bagaimana sistem bekerja maka seorang analis perlu membuat use case description yang menjelaskan penggunaan use case. Misal :
Deskripsi Use Case Chat
Use Case Name : Chat
Actor : Person
Pre Condition : Sambungan Internet, Kontak Teman
Main Flow : (single check) chat berhasil dikirimkan
Alternate Flow : (lingkarang berputar) chat proses insert dalam database / proses pengiriman sedang berlangsung, (silang) chat gagal insert dalam database / proses pengiriman gagal
Post Condition : (Double check) chat berhasil diterima
Contoh di atas adalah dokumentasi deskripsi diagram UML untuk use case chat, sehingga selain pemahaman menggunakan diagram juga disajikan kemudahan pemahaman menggunakan teks beruap deskripsi kerja use case.
Dokumen Requirement Engineering
RE ini berhubungan dengan cara mendokumentasikan suatu RE dalam pengembangan software. Misal pada kasus diatas fitur chat adalah fitur utama dan penting tapi membutuhkan biaya besar dan waktu yang lebih lama dibandingkan dengan fitur status yang lebih cepat dikembangkan dan biaya yang relatif sedikit. Tapi karena fitur chat yang utama alokasi waktu yang lebih panjang adalah di bagian fitur chat. Pada proses analis dokumentasi penjadwalan dan alokasi biaya dimisalkan didahulukan adalah pengembangan fitur status maka karena fitur chat lebih penting maka perlu penggantian, atau perubahan penjadwalan dari pengembangan software. Dokumentasi biasanya dilakukan di awal dan setelah aplikasi software jadi.
Verifikasi dan Validasi Requirement Engineering
Siklus ini dilakukan diakhir siklus Software Engineering ketika tahapan implementasi sudah selesai maka tester bersama analis sistem bertugas melakukan verifikasi dari sistem yang dibuat. Verifikasi dokumen oleh analis sistem ditujukan kepada customer mengenai sistem yang telah dibuat apakah sesuai dengan permintaan dari konsumen. Sedangkan validasi RE dilakukan oleh tester untuk mengecek apakah sistem yang dibuat sudah benar seseuai dengan dokumen dan tidak ada bug atau kelemahan dari aplikasi yang dibuat. Dan jika terdapat kelemahan maka seorang analis sistem bertugas membuat dokumentasi tentang software. Termasuk bug yang harus diperbaiki, bagian fitur mana yang perlu ditingkatkan fitur-fiturnya berdasarkan verifikasi yang dilakukan oleh customer dan validasi yang dilakukan oleh tester. Dan dokumentasi harus jelas agar programmer bisa menangkap dan mengimplementasikan ke bahasa pemrograman. Dan bisa jadi perubahan dilakukan pada use case diagram atau perubahan use case description.
Dapat dikatakan Requirement Engineering adalah peran kerja dari seorang analis sistem dalam menerjemahkan kebutuhan dari customer dalam bentuk kata-kata dan melimpahkannya ke programmer dengan dokumentasi yang mudah diterjemahkan juga, untuk dituangkan ke dalam bahasa pemrograman.
