1. Introduce SRS
Software Requirements Specification (SRS) atau dapat diartikan Spesifikasi Kebutuhan Perangkat Lunak (SKPL), adalah suatu dokumen yang menjelaskan tentang berbagai kebutuhan yang harus dipenuhi oleh suatu software. Pada dasarnya SRS adalah suatu dokumen yang menyatakan kebutuhan perangkat lunak sebagai hasil dari proses analisis yang dilakukan dalam konteks pengembangan perangkat lunak. 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. Dokumen ini dibuat untuk membantu membuat spesifikasi perangkat lunak yang akan dikembangkan. Isi dari dokumen ini sebagian besar adalah terjemahan dari dokumen IEEE Std 830-1993.IEEE membuat standar SRS agar dokumen penting itu tidak ambigu dan tentu saja komplit. Dengan standar itu, user 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. 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.
2. Manfaat SRS
- 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.
3. Hal yang perlu dipertimbangkan dalam menyusun SRS
Sifat SRS
- Fungsionalitas : Untuk apa suatu perangkat lunak dibuat.
- Antar muka eksternal (External Interface) : Dengan apa perangkat lunak berinteraksi dengan user, system hardware, perangkat keras di luar sistem dan perangkat lunak lain.
- Performansi : Sejauh apa kecepatan, ketersediaan (availability), waktu tanggap (response time),waktu recovery dari berbagai fungsi perangkat lunak yang dibuat.
- Atribut : Seberapa tingkat portabilitas, tingkat kebenaran (correctness), tingkatpemeliharaan (maintainability), dan tingkat keamanan yang ingin dicapai.
- Batasan perancangan : Apakah diperlukan suatu standar, bahasa yang khusus, kebijaksanaan integritasbasisdata, batasan sumberdaya, lingkungan operasi, dan lain-lain yang membatasi pilihan-pilihan yang bisa digunakan atau keputusan-keputusan yang bisa diambilketika perancangan.
Lingkungan SRS
Mengingat SKPL
pada akhirnya akan menjadi dasar bagi kontrak antara developer dan customer , maka suatu dokumen SKPL harus memenui syarat-syarat berikut:
1.
Mendefinisikan kebutuhan software dengan benar. Kebutuhan software muncul karena ada pekerjaan yang harus diselesaikan atau
karena ada karakteristik khusus dari proyek.
2.
Tidak menjelaskan rancangan atau implementasi dengan rinci. Penjelasan
tersebut tidak diperlukan karena bagi pengguna hal tersebut lebih teknis
dan tidak perlu.
3. Tidak memaksakan penambahan suatu batasan dari perangkat lunak
Karakteristik dari SRS yang baik, yaitu:
- Correct (benar)
- Unambiguous (tidak ambigu, tapi jelas)
- Complete (lengkap)
- Consistent (konsisten)
- Ranked for importance and/or stability (prioritas penting dan atau stabilitas)
- Verifiable (dapat diverifikasi)
- Modifiable (bisa dimodifikasi)
- Traceable (bisa dilacak)
Penyusunan SRS secara bersama-sama
Evolusi SRS
Membuat prototipe, seperti model atau contoh
Mencantumkan desain sistem di SRS
Pencantuman persyaratan proyek di SRS. Untuk persyaratan proyek ada dokumen tersendiri
Download disini untuk contoh template SRS.
Referensi / Sumber :
http://mr-freeman-blog.blogspot.com/2010/03/spesifikasi-kebutuhan-perangkat-lunak.html
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/