4.1.1 Talab nima? Yuqoridagi talabning "manfaatdor tomon tizimdan amalga oshirishini kutayotgan
har qanday narsa" sifatida tavsifi intuitiv bo'lsa-da, u biroz soddalashtirilgan bo'lishi
mumkin.
Dasturiy ta'minot juda ko'p turli xil "sifatlarga" ega bo'lishi mumkin - uning
funktsional xatti-harakati, uni qurish usuli, foydalanuvchi interfeysi estetikasi, uning
xavfsizligi va boshqalar. Darhaqiqat, individual ravishda ko'rib chiqilishi mumkin
bo'lgan juda ko'p fikrlar mavjud va manfaatdor tomonlar tomonidan yozilgan.
Amalda, talablar odatda ikkita yuqori darajadagi toifaga bo'linadi:
Funktsional va funktsional bo'lmagan talablarni qamrab oluvchi funktsional talablar.
Ushbu dixotomiya foydalidir, chunki bu ikki talab sinfi rivojlanishning butun hayoti
davomida turli yo'llar bilan ushlanadi va ko'rib chiqiladi.
Funktsional talablar (ko'pincha foydalanish holatlari ko'rinishida - quyida ko'rib
chiqing) dasturiy ta'minot tizimining asosiy kerakli xatti-harakatlarini qamrab oladi.
Funktsional talablar testlari kirish/chiqish xatti-harakatlarini amalga oshirish va
tekshirishga moyildir; kutilgan (yoki kutilmagan) kiritish bajariladi va kuzatilgan
natijalar talablarga muvofiq tekshiriladi.
Funktsional bo'lmagan talablar (to'g'ri aytganda) funktsional bo'lmagan talablardir.
Ajablanarlisi shundaki, aniqroq, aniqroq ta'rif qiyin bo'lib chiqdi (Glinzning ushbu
masala bo'yicha maqolasi ushbu masala bo'yicha turli xil chalkashliklarni yaxshi aks
ettiradi). Oddiylik uchun (va bu noaniqlik uchun imkoniyat qoldirishini tan olgan
holda) biz funktsional bo'lmagan talabni oddiygina sifat jihatidan xarakterga ega
bo'lgan ba'zi bir xususiyat deb ataymiz - bu tizimning xatti-harakati yoki tuzilishi
bajarilishiga qanday hissa qo'shishi kerakligini belgilaydi. ba'zi funktsional
spetsifikatsiya(lar).
Mashq: Amalda, funktsional bo'lmagan talablar dasturiy ta'minot sifati bilan bog'liq
bo'lgan juda ko'p jihatlarni qamrab oladi. 2-bobdagi dasturiy ta'minot sifati
modellarini ko'rib chiqing va siz ushbu modellardagi tashvishlarning aksariyati oxir-
oqibatda ishlamasligini ko'rasiz. Bu, shuningdek, dasturiy ta'minot sifati haqida gap
ketganda, funktsional bo'lmagan talablar har qanday tarzda ikkinchi darajali
ahamiyatga ega bo'lgan har qanday tasavvurni yo'q qilishga xizmat qilishi kerak.