SoftwareRequirements Specification (SRS), sebuah spesifikasi kebutuhan untuk sebuah
sistem perangkat lunak, adalah dokumen yang dibuat ketika sebuah perangkat
lunak akan dikembangkan.
Di dalamnya terdapat detil penjelasan dari keseluruhan aspek dari sebuah
perangkat lunak. Ketika sebuah perangkat lunak akan dikembangkan dan memiliki
spesifikasi yang sedikit atau ketika sebuah sistem terlalu kompleks, dokumen
SRS sangatlah dibutuhkan. Ketika dokumen SRS telah siap, maka dokumen tersebut
diserahkan pada pengguna untuk direview.
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.

Memberikan pengantar mengenai spesifikasi, baik itu
mengenai definisi, tujuan, serta pembaca yang ditargetkan untuk membaca SRS
ini, serta pengenalan secara umum mengenai spesifikasi.
Pada bagian ini dijelaskan mengenai perspektif produk, fungsi-fungsi
produk, karakteristik user, dan batasan umum dari sistem.
1. Kebutuhan fungsional
Bagian ini membahas mengenai kebutuhan-kebutuhan fungsional dari sistem,
digambarkan melalui use cases. Use cases ini menggambarkan seluruh kerja
fungsional dari perangkat lunak secara keseluruhan, melalui semua pengguna yang
menggunakan perangkat lunak tersebut (aktor). Use cases yang digambarkan
menunjukkan seluruh kerja fungsional dari perangkat lunak.
2. Kebutuhan data
Bagian ini membahas mengenai data-data yang dibutuhkan dalam
pengembangan perangkat lunak. Data-data ini mencakup semua data yang diperlukan
oleh perangkat lunak dalam prosesnya. Data-data ini bisa berupa masukan, serta
keluaran yang akan dihasilkan oleh sistem / perangkat lunak.
3. Kebutuhan kualitas system
Bagian ini menjelaskan secara spesifik faktor-faktor dari kualitas
sistem yang tidak berhubungan dengan kebutuhan fungsional yang didokumentasikan
melalui use case.
4. Batasan sistem
Bagian ini menjelaskan mengenai batasan-batasan yang ada pada sistem /
perangkat lunak secara keseluruhan. Batasan yang ada berupa batasan dalam
arsitektur, desain dan implementasi dari sistem.
Pada bagian appendix dan index ini hanya ditambahkan lampiran-lampiran
yang diperlukan dalamspesifikasi dari software ini.
Manfaat dari SRS yaitu untuk menunjukkan kepada pembaca mengenai
spesifikasi dari suatu perangkat lunak / sistem dengan jelas serta
kebutuhan-kebutuhan baik fungsional maupun non-fungsional serta batasan-batasan
sehingga dapat memberikan gambaran yang jelas mengenai sistem.
