Requirement tidak hanya ditulis oleh pembangun, tapi sebelumnya justru
ditulis oleh klien yang memesan software. Klien menuliskan requirement
dalam bentuk yang masih abstrak tentang kebutuhannya. Kemudian
requirement tersebut diserahkan kepada tim pembangun. Saat sudah ada
persetujuan pembangun pun kemudian menuliskan kemampuan sistem yang bisa
dipahami oleh klien, inipun disebut requirement.
Definisi
Requirement adalah gambaran dari layanan (services) dan batasan bagi
sistem yang akan dibangun. Atau requirement adalah pernyataan/gambaran
pelayanan yang disediakan oleh sistem, batasan-batasan dari sistem dan
bisa juga berupa definisi matematis fungsi-fungsi sistem.
Requirement berfungsi ganda yaitu:
•Menjadi dasar penawaran suatu kontrak --> harus terbuka untuk masukan
•Menjadi dasar kontrak --> harus didefinisikan secara detil
Proses menemukan, menganalisis, mendokumentasikan dan pengujian layanan,
layanan dan batasan tersebut disebut Requirement Engineering.
Pengumpulan requirement
_ Interviews : Memberi informasi yang terbaik,mahal
_ Questionnaires: Bagus jika banyak orang terlibat dan tersebar, respon
cenderung kurang baik
_ Observation: Akurat jika dilakukan dengan baik, mahal
_ Searching :Informasi terbatas, cenderung tidak menampilkan hal-hal yang mungkin jadi masalah.
Beberapa macam requirement
_ User requirement (kebutuhan pengguna)
• Pernyataan tentang layanan yang disediakan sistem dan tentang batasan
batasan operasionalnya. Pernyataan ini dapat dilengkapi dengan
gambar/diagram yang dapat dimengerti dengan mudah.
_ System requirement (kebutuhan sistem)
• Sekumpulan layanan/kemampuan sistem dan batasan-batasannya yang
ditulis secara detil. System requirement document sering disebut
functional specification (spesifikasi fungsional), harus menjelaskan
dengan tepat dan detil. Ini bisa berlaku sebagai kontrak antara klien
dan pembangun.
_ A software design specification (spesifikasi rancangan PL)
• Gambaran abstrak dari rancangan software yang menjadi dasar bagi perancangan dan implementasi yang lebih detil.
User Requirement
Menggambarkan functional dan non-functional req yang dapat dipahami oleh
pengguna (user) yang tidak memiliki latar belakang teknis yang cukup.
User requirement menjelaskan perilaku luar dari sistem, tidak secara
teknis, karena itu perlu menggunakan bahasa alami, atau bahasa yang
sederhana.
Masalah dalam menyiapkan user req adalah:
•Bahasa alami kadang tidak cukup untuk menjelaskan, atau membuat
dokumen jadi sulit dibaca
•Jenis-jenis req, kadang jadi sulit dibedakan
•Sering digabungkan menjadi satu kumpulan requirement saja
Dokumen kebutuhan (requirement document)
Dokumen kebutuhan merupakan pernyataan resmi dari apa yang dibutuhkan
dari pembangun sistem, berisi definisi dan spesifikasi requirement dan
bukan dokumen
desain. Sebisa mungkin berupa kumpulan dari APA yang harus dikerjakan sistem, BUKAN BAGAIMANA sistem mengerjakannya.
Dokumen kebutuhan sebaiknya memenuhi 6 hal berikut :
1. menjelaskan perilaku eksternal sistem
2. menjelaskan batasan pada implementasi
3. mudah diubah
4. sebagai alat referensi untuk pemelihara sistem
5. mencatat peringatan awal tentang siklus dari sistem
6. menjelaskan bagaimana sistem merespon hal-hal yang tidak biasa/normal
IEEE menyarankan standar struktur dari dokumen kebutuhan sebagai berikut :
1. introduction
1.1 purpose of the requirement document
1.2 scope of the product
1.3 definitions, acronyms and abbreviations
1.4 references
1.5 overview of the remainder of the document
2. General description
2.1 product perspective
2.2 product functions
2.3 user characteristics
2.4 general constrains
2.5 assumptions and depedencies
3. appendices
4. index
Sekalipun standar IEEE belumlah ideal tetapi telah memberikan masukan
format dokumen yang cukup lengkap. Informasi yang dimasukkan ke dalam
dokumen tergantung pada tipe software yang dibangun dan pendekatan yang
digunakan untuk membangun software tersebut.
Struktur lain yang bisa digunakan adalah sebagai berikut :
1. Preface
2. Introduction
3. Glossary
4. User requirements definition
5. System architecture
6. System requirements specification
7. System models
8. System evolution
9. Appendices
10. Index
Kedua struktur sama baiknya dan salah satu dapat digunakan untuk menyusun dokumen kebutuhan.
Masalah yang mungkin terjadi dalam pendefinisian requirement adalah:
•Sulit mengantisipasi efek dari sistem baru terhadap organisasi
•Beda user, beda pula requirement dan prioritasnya – terpengaruh cara atau gaya
kerja
•End-user sistem, dan organisasi yang membiayai sistem berbeda requirement
•Prototype sering dibutuhkan untuk menjelaskan requirement
•Masalah perbedaan bahasa alami
Software system requirement sering dibedakan dalam 2 katagori yaitu
Functional requirement, Non Functional requirement dan domain
requirement
dengan masing-masing penjelasannya sebagai berikut:
1. Functional Requirement : Merupakan penjelasan tentang layanan yang
perlu disediakan oleh sistem, bagaimana sistem menerima dan mengolah
masukan, dan bagaimana system mengatasi situasi-situasi tertentu. Selain
itu kadang-kadang juga secara jelas menentukan apa yang tidak
dikerjakan oleh sistem.
Functional requirement menggambarkan system requirement secara detil seperti
input, output dan pengecualian yang berlaku. Contoh dalam kasus peminjaman buku di perpustakaan:
•Pengguna bisa mencari semua informasi tentang buku atau bisa memilih
salah satu dari informasi tentang buku
•Semua peminjam memiliki pengenal yang unik
•Sistem mampu catat transaksi peminjaman, pengembalian dan denda secara
lengkap
•Hari libur bisa di-set sejak awal, dan bisa menerima perubahan dengan
otoritas khusus
•Harus komplit ( kebutuhan layanan jelas dan lengkap) dan konsisten (tidak
kontradiksi dengan yang didefinisikan).
Masalah yang mungkin terjadi dalam menyusun functional requirement adalah:
1. Diintepretasikan/diartikan berbeda oleh user atau developer
2. Hasil intepretasi sering tidak menjawab kebutuhan klien
3. Untuk sistem yang besar, kelengkapan kebutuhan dan konsisten sulit dicapai karena kerumitan sistem
4. Perlu analisis yang dalam dan menyeluruh untuk mengurangi kesalahan
2. Non-functional Requirement:
Secara umum berisi batasan-batasan pada pelayanan atau fungsi yang
disediakan oleh sistem. Termasuk di dalamnya adalah batasan waktu,
batasan proses pembangunan, standar-standar tertentu.
Tidak ada komentar:
Posting Komentar