Memisahkan persyaratan secara eksplisit akan membuatnya lebih mudah untuk merancang sistem yang tepat.
Dengan persyaratan nonfungsional (saya lebih suka atribut kualitas istilah / istilah - harus memberikan wawasan baru di luar fungsional vs tidak fungsional), Anda lebih peduli dengan sifat - sifat perangkat lunak daripada fungsionalitas. Itulah cara sistem melakukan beberapa fungsi, bukan hanya apa yang dilakukan sistem. Persyaratan kualitas memiliki pengaruh yang signifikan pada arsitektur sistem dengan cara yang persyaratan fungsional tidak dan untuk alasan ini mereka harus diperlakukan secara berbeda.
Memisahkan atribut kualitas dari persyaratan fungsional memungkinkan Anda untuk menganalisis, menentukan, dan memprioritaskan berbagai jenis persyaratan dengan cara yang berbeda. Sebagai contoh, atribut kualitas biasanya ditentukan menggunakan skenario atribut kualitas sementara persyaratan fungsional dapat berupa cerita, kasus penggunaan, pernyataan harus, atau sejumlah format lainnya. Sebagian besar sistem yang saya kerjakan memiliki kurang dari selusin atribut kualitas dan banyak, lebih banyak persyaratan fungsional.
Saya sebenarnya akan memperkenalkan jenis persyaratan lain - kendala teknis . Sekali lagi, memisahkan persyaratan secara eksplisit ke dalam tiga ember ini memberi Anda isyarat tentang bagaimana cara melakukan trade-off yang tepat saat membangun sistem. Persyaratan fungsional seringkali cukup dapat dinegosiasikan, atribut kualitas akan sangat memengaruhi arsitektur Anda dan struktur yang Anda pilih, kendala teknis tidak dapat dinegosiasikan.
Jika ini adalah tim saya, saya akan memberi tahu mereka persyaratan harus jelas dijelaskan berdasarkan jenis untuk memastikan kami tidak melewatkan sesuatu yang penting dalam arsitektur. Pikirkan driver arsitektur, bukan hanya fungsionalitasnya.
Anthony Lattanze dalam Arsitek Perangkat Lunak Sistem Intensif: Panduan Praktisi memberikan tinjauan praktis driver arsitektur dan mengapa mereka harus diperlakukan berbeda, jauh lebih komprehensif daripada ringkasan saya di sini.