Secara sederhana, Software Requirement Specifications (SRS) adalah dokumen yang menjelaskan tentang berbagai kebutuhan yang harus dipenuhi oleh suatu software.
Dokumen ini dibuat oleh developer (pembuat software) setelah menggali
informasi dari calon pemakai software. Pembuatannya pun seharusnya
mengikuti standar yang ada dan paling diakui oleh para praktisi rekayasa
software di dunia. Oleh karena itu, standar yang akan dibahas di sini
adalah standar dari IEEE.
IEEE membuat standar SRS agar dokumen penting itu tidak ambigu dan
tentu saja komplit. Lengkap. Dengan standar itu, si penggguna dapat
mencurahkan semua keinginannya terkait software tersebut dengan jelas
dan akurat sehingga sang developer pun dapat memahami apa yang
diinginkan pengguna dengan tepat. Bahkan, bagi perorangan, standar ini
dapat membantunya dalam mengembangkan outline SRS yang baku khusus untuk
perusahaannya, membantunya membuat dokumen SRS dengan format dan isi
yang standar (minimal), serta membantunya mengembangkan rincian-rincian
pendukung lainnya.
Fungsi dokumen SRS :
- Mencatat semua kebutuhan calon pengguna perangkat lunak.
- Sebagai kontrol saat proses pengembangan perangkat lunak dilakukan, sehingga setiap tahapan pengerjaan pengembangan sesuai dengan yang diharapkan.
- Digunakan sebagai acuan pada saat pengujian dilakukan sehingga hasil akhir sesuai dengan yang dibutuhkan.
- Dijadikan pedoman jika terdapat perbedaan pendapat antara calon pemakai dengan pengembang sistem terhadap hasil dari pengembangan perangkat lunak
- Bukti bahwa pengembang telah melakukan tahap software reguirements analysis.
Kriteria dokument SRS yang baik :
- Benar (correct)
- Tepat (precise)
- Unambiguouity
- Lengkap (complete)
- Bisa diverifikasi (verifiable)
- Konsisten
- Understandable
- Bisa dimodifikasi (modifiedable)
- Dapat ditelusuri (traceable)
- Harus dapat dibedakan bagian what (bagian spesifikasi) dan how (bagian yang menjelaskan bagaimana menjelaskan what tadi)
- Dapat mencakup dan melingkupi seluruh sistem
- Dapat melingkupi semua lingkungan operasional, misalnya interaksi fisik dan operasional.
- Bisa menggambarkan sistem seperti yang dilihat oleh pemakai.
- Harus toleran (bisa menerima) terhadap ketidaklengkapan, ketidakpastian (ambiguous) dan ketidak konsistenan.
- Harus bisa dilokalisasi dengan sebuah coupling, yaitu hubungan ketergantungan antara dua model yang tidak terlalu erat.
Orang yang terlibat dalam pembuatan SRS :
- Pemakai (user)
- Merupakan orang yang akan mengoperasikan/menggunakan produk final dari perangkat lunak yang dibuat.
- Sponsor/ Client
- Orang atau perusahaan yang mau membuat sistem (yang menentukan).
- Sistem analyst (sistem engineer)
- Adalah orang yang biasa melakukan kontak teknik pertama dengan client. Bertugas menganalisis persoalan, menerima requirement dan menulis requirement.
- Software engineer
- Merupakan orang yang bekerja setelah kebutuhan perangkat lunak dibuat (bekerja sama dengan sistem engineer berdasarkan SRS)
- Programmaer
- Orang yang akan menerima spesifikasi perancangan perangkat lunak, membuat kode dalam bentuk modul, menguji dan memeriksa (tes) modul.
- Test integration group
- Kumpulan orang yang melakukan tes dan mengintegrasi modul.
- Maintenance group
- Orang yang memantau dan merawat performansi sistem perangkat lunak yang dibuat selama pelaksanaan dan pada saat modifikasi muncul (80% dari pekerjaan).
- Technical Support
- Orang-orang yang mengelola (manage) pengembang perangkat lunak, termasuk konsultan atau orang yang mempunyai kepandaian lebih tinggi.
- Staff dan Clerical Work
- Bertugas mengetik, memasukkan data dan membuat dokumen.
Ada beberapa istilah yang digunakan dan harus diketahui untuk
memahami standar SRS yang dibuat IEEE ini. Istilah-istilah tersebut
adalah:
- Kontrak: dokumen yang mengikat secara hukum dan disepakati oleh customer dan supplier, termasuk syarat-syarat teknologi dan organisasi, biaya, serta jadwal pengerjaan. Kontrak bisa mengandung sesuatu yang kurang formal tetapi bermanfaat, seperti komitmen atau harapan dari pihak yang terlibat.
- Customer (pelanggan) : Pihak yang membayar untuk produk dan biasanya yang menentukan persyaratan (requirements).
- Supplier (pemasok): Pihak yang membuat produk software untuk customer.
- Pengguna: Pihak yang mengoperasikan atau berinteraksi langsung dengan software. Pengguna dan customer biasanya bukan orang yang sama.
SRS yang baik akan bermanfaat bagi customer, supplier, ataupun perorangan. Manfaat-manfaat tersebut antara lain:
- Sebagai bentuk perjanjian antara customer dan supplier tentang software apa yang akan dibuat
- Mengurangi beban dalam proses pengembangan software
- Sebagai bahan perkiraan biaya dan rencana penjadwalan
- Sebagai dasar validasi dan verifikasi software di ujung penyelesaian proyek nantinya
- Memfasilitasi transfer, semisal software tersebut ingin ditransfer ke pengguna atau mesin-mesin yang lain. Customer pun merasa mudah jika ingin mentransfer software ke bagian-bagian lain dalam organisasinya. Bahkan, jika terjadi pergantian personil developer, proyek dapat mudah ditransfer ke personil baru dengan memahami SRS ini.
- Mendasari perbaikan produk software di kemudian hari. Jadi, kadang SRS boleh diperbaiki dengan alasan dan mekanisme tertentu serta atas kesepakatan antara customer dan developer.
Referensi
http://blog.binadarma.ac.id/yantox_ska/2013/02/05/software-requirements-spefication-srs-atau-spesifikasi-kebutuhan-perangkat-lunak-skpl.html
http://cisini.wordpress.com/2012/10/16/srs/