Spesifikasi kebutuhan perangkat lunak
Struktur SKPL

Tabel 1 menunjukkan sebuah organisasi yang mungkin untuk SKPL yang didasarkan pada standar IEEE untuk dokumen kebutuhan. Standar ini adalah standar umum yang dapat disesuaikan dengan penggunaan khusus. Dalam hal ini, terdapat perluasan standar untuk memasukkan informasi tentang prediksi evolusi sistem. Informasi ini membantu para pengelola sistem dan memungkinkan para perancang untuk menyertakan dukungan untuk fitur-fitur sistem di masa depan.
Secara alami, informasi yang termasuk dalam dokumen SKPL tergantung pada jenis perangkat lunak yang dikembangkan dan pendekatan pengembangan yang akan digunakan. Jika menggunakan pendekatan evolutionary untuk produk perangkat lunak, maka dokumen SKPL akan meninggalkan banyak bab terperinci yang disarankan di atas. Fokusnya akan pada pendefinisian kebutuhan pengguna dan kebutuhan sistem non-fungsional tingkat tinggi. Dalam hal ini, perancang dan pemrogram menggunakan penilaian mereka untuk memutuskan bagaimana memenuhi garis besar kebutuhan pengguna untuk sistem.
Namun, ketika perangkat lunak merupakan bagian dari proyek sistem besar yang mencakup perangkat keras dan sistem perangkat lunak yang berinteraksi, biasanya diperlukan untuk menentukan kebutuhan ke tingkat yang lebih detail. Ini berarti bahwa dokumen SKPL cenderung sangat panjang dan harus mencakup sebagian besar atau semua bab yang ada pada Tabel 1. Untuk dokumen panjang, sangat penting untuk memasukkan tabel isi dan indeks dokumen yang komprehensif sehingga pembaca dapat menemukan informasi yang mereka butuhkan.
| Bab | Deskripsi |
| --- | --- |
Preface: Mendefinisikan pembaca dokumen yang diharapkan dan menjelaskan riwayat versinya, termasuk alasan untuk pembuatan versi baru dan ringkasan perubahan yang dibuat di setiap versi.
Introduction: Menggambarkan kebutuhan sistem. Bagian ini harus menjelaskan secara singkat fungsi-fungsi sistem dan menjelaskan bagaimana sistem itu akan bekerja dengan sistem lain. Bagian ini juga harus menggambarkan bagaimana sistem tersebut cocok dengan keseluruhan bisnis atau sasaran strategis organisasi yang menginginkan perangkat lunak tersebut.
Glossary: Mendefinisikan istilah teknis yang digunakan dalam dokumen. Tidak boleh membuat asumsi tentang pengalaman atau keahlian pembaca.
User Requirement Definition: Menggambarkan layanan yang disediakan untuk pengguna. kebutuhan sistem non-fungsional juga harus diuraikan dalam bagian ini. Deskripsi ini dapat menggunakan bahasa alami, diagram, atau notasi lain yang dapat dimengerti oleh pelanggan. Standar produk dan proses yang harus diikuti harus ditentukan.
System Architecture: Bab ini harus menyajikan tinjauan tingkat tinggi dari arsitektur sistem yang diantisipasi, menunjukkan distribusi fungsi di seluruh modul sistem. Komponen arsitektur yang digunakan kembali harus disorot.
System Requirements Specification: Bab Ini harus menggambarkan kebutuhan fungsional dan non-fungsional secara lebih rinci. Jika perlu, detail lebih lanjut juga dapat ditambahkan ke bab Non-Functional Requirements. Antarmuka ke sistem lain dapat didefinisikan.
System Models: Termasuk model sistem grafis yang menunjukkan hubungan antara komponen sistem, sistem, dan lingkungannya. Contoh model yang mungkin adalah model objek, model aliran data, atau model data semantik.
System Evolution: Menggambarkan asumsi mendasar yang menjadi dasar sistem, dan setiap perubahan yang diantisipasi karena evolusi perangkat keras, perubahan kebutuhan pengguna, dan sebagainya. Bagian ini berguna untuk perancang sistem karena dapat membantu mereka menghindari keputusan desain yang akan membatasi kemungkinan perubahan di masa depan pada sistem.
Appendices: Memberikan informasi rinci dan spesifik yang terkait dengan aplikasi yang sedang dikembangkan; misalnya, deskripsi perangkat keras dan basis data. Kebutuhan perangkat keras menentukan konfigurasi minimal dan optimal untuk sistem. kebutuhan basis data mendefinisikan organisasi logis dari data yang digunakan oleh sistem dan hubungan antara data.
Index: Beberapa indeks pada dokumen dapat dimasukkan. Seperti halnya indeks alfabet normal, mungkin ada indeks diagram, indeks fungsi,dan seterusnya.