Rekayasa Kebutuhan
Pada dasarnya, requirement merupakan kondisi atau kemampuan yang dimiliki suatu komponen sistem dalam menyelesaikan masalah. Masalah tersebut dapat berupa otomatisasi bagian sistem, memperbaiki sistem, mengontrol sistem, dan lain sebagainya. Menurut IEEE, requirement didefinisikan dalam tiga hal, yaitu:
- Suatu kondisi atau kemampuan yang dibutuhkan pengguna dalam memecahkan permasalahan atau mencapai suatu tujuan.
- Suatu kondisi atau kemampuan yag harus dipenuhi atau dimiliki oleh suatu komponen sistem dalam rangka memenuhi kontrak, standar, spesifikasi, atau dokumen lain secara formal.
- Representasi terdokumentasi dari kondisi atau kemampuan seperti pada definisi 1 dan 2.
Requirement memberi gambaran mengenai bagaimana suatu sistem harus memberikan output yang diinginkan. Requirement dapat berbeda-beda tergantung dari kesepakatan dan keinginan klien saat berbisnis dengan pengembang perangkat lunak. Tujuan dari requirement sendiri agar klien dan pengembang perangkat lunak dapat sepaham dalam mengembangkan perangkat lunak sehingga menciptakan produk yang memuaskan bagi segala pihak.
Software Requirement Spesification (SRS) adalah sebuah dokumen yang memuat hal-hal yang diinginkan klien dan hal-hal yang dapat disediakan pengembang perangkat lunak. Dokumen SRS ini dianggap sebagai dokumen perjanjian tertulis yang berisi detail perangkat lunak yang akan dikembangkan.
Software requirement berdasarkan kebutuhannya terbagi menjadi, yaitu:
a. Kebutuhan Pengguna
Pada software requirement berdasarkan kebutuhan pengguna, pengembang perangkat lunak harus dapat memahami perspektif pengguna dan menggambarkan sistem sesuai dengan keinginan pengguna.
b. Kebutuhan Sistem
Kebutuhan sistem merupakan bagaimana cara kita dalam mengomunikasikan antar komponen fungsi sistem agar dapat terintegrasi dengan baik.
c. Kebutuhan Fungsional
Kebutuhan fungsional merupakan fungsi atau layanan yang digunakan untuk mencapai tujuan pengguna saat menggunakan sistem. Contohnya sistem mesin ATM, pada sistem tersebut kita dapat melakukan banyak hal tergantung keperluan pengguna seperti mengecek saldo, menarik uang, mentransfer uang, ataupun melakukan pembayaran.
d. Kebutuhan Non-Fungsional
Kebutuhan non-fungsional dapat dideskripsikan dengan sekumpulan batasan atau karakteristik pada sistem baik dalam lingkungan pengembangan, operasional, maupun atribut kualitas yang harus dipenuhi oleh sistem. Contohnya pada mesin ATM, pengguna baru membutuhkan waktu untuk beradaptasi dan mempelajari fungsi-fungsi utama pada sistem ATM.
Requirement dalam mengembangkan perangkat lunak sangatlah penting. Oleh karena itu, kita harus dapat menganalisis requirement atau kebutuhan tersebut. Analisis kebutuhan merupakan suatu proses dalam memperoleh informasi mengenai gambaran perangkat lunak yang diinginkan pengguna. Perangkat lunak yang dihasilkan bergantung dengan baik dan buruknya proses analisis tersebut. Analisa yang baik dapat menghasilkan produk perangkat lunak yang sesuai dengan keinginan pengguna. Maka dari itu, informasi dari klien merupakan hal yang penting dalam mengembangkan perangkat lunak.
Terdapat tiga faktor yang harus dipenuhi dalam melakukan analisis kebutuhan, yaitu lengkap, detail, dan benar. Lengkap berarti semua hal yang diharapkan klien telah didapatkan oleh pihak yang melakukan analisis. Detail berarti hal-hal yang didapatkan tersebut dapat diperinci sehingga tidak ada keinginan klien yang rancu di mata tim pengembang perangkat lunak. Data-data yang diperoleh tersebut haruslah benar apa adanya sesuai dengan keinginan klien.
Adapun lima langkah pokok dalam menganalisa kebutuhan, yakni:
- Identifikasi Masalah
- Evaluasi dan Sintesis
- Pemodelan
- Spesifikasi
- Review
Tujuan utama dari dilakukannya analisis kebutuhan dapat diuraikan menjadi tiga hal, yaitu:
- Mengelola hasil elistasi kebutuhan untuk menghasilkan dokumen spesifikasi kebutuhan yang isi keseluruhannya sesuai dengan apa yang diinginkan pengguna (Liu and Yen, 1996).
- Mengembangkan persyaratan kualitas yang memadai dan rinci, dimana para manajer dapat membuat pekerjaan proyek yang realistis dan staf teknis dapat melanjutkan dengan perancangan, implementasi dan pengujian (Wiegers, 2003).
- Membangun pemahaman tentang karakteristik ranah permasalahan dan sekumpulan kebutuhan untuk menemukan solusi.
Kesimpulan
- Requirement merupakan kondisi atau kemampuan yang dimiliki suatu komponen sistem dalam menyelesaikan masalah.
- Requirement bertujuan agar klien dan pengembang perangkat lunak dapat sepaham dalam mengembangkan perangkat lunak sehingga menciptakan produk yang memuaskan bagi segala pihak.
- Software Requirement Spesification (SRS) adalah sebuah dokumen yang memuat hal-hal yang diinginkan klien dan hal-hal yang dapat disediakan pengembang perangkat lunak.
- Berdasarkan kebutuhannya, software requirement terbagi menjadi kebutuhan user, kebutuhan sistem, kebutuhan fungsional, dan kebutuhan non-fungsional.
- Analisis kebutuhan merupakan suatu proses dalam memperoleh informasi mengenai gambaran perangkat lunak yang diinginkan pengguna.
- Terdapat tiga faktor yang harus dipenuhi dalam melakukan analisis kebutuhan, yaitu lengkap, detail, dan benar.
- Tujuan analisa kebutuhan adalah menghasilkan dokumen yang berisikan spesifikasi perangkat lunak yang diinginkan klien.
Daftar Pustaka
Thakur, D. Whati is Software Requirement? Types of Requirements. E Computer Notes. Retrieved 5 March, 2023, from https://ecomputernotes.com/software-engineering/softwarerequirement
(2020, November 6). Panduan Menyusun Dokumen Software Requirement Spesification (SRS). BADR. Retrieved 5 March, 2023, from https://badr.co.id/panduan-menyusun-dokumen-software-requirement-specification-srs/
Dharmawacana, A. Kebutuhan Perangkat Lunak. Wordpress. Retrieved 5 March, 2023, from https://aristi.dharmawacana.ac.id/analisis-perangkat-lunak-2/pengenalan-rekayasa-kebutuhan/
Hardiyansah, H. (2017, December 18). Mengidentifikasi Kebutuhan Pemakai. BKPSDMD. Retrieved 5 March, 2023, from https://bkpsdmd.babelprov.go.id/content/mengidentifikasi-kebutuhan-pemakai
Komentar
Posting Komentar