Dasturiy ta'minot bizga ko'p narsalarni, masalan, o'yin o'ynash, xabarlar yuborish yoki hatto yangi narsalarni o'rganishga yordam beradigan vositaga o'xshaydi. Dasturiy ta'minotni yaratganimizda, boshlashdan oldin nima qilish kerakligini hal qilishimiz kerak. Ushbu bajariladigan ishlar ro'yxati dasturiy ta'minot talablari deb ataladi. Ushbu darsda biz dasturiy ta'minot talablari nima ekanligini, ular nima uchun muhimligini va dasturiy ta'minotni yaratish jarayoniga qanday mos kelishini bilib olamiz. Biz kundalik hayot bilan bog'liq oddiy so'zlar va misollardan foydalanamiz.
Dasturiy ta'minotga bo'lgan talab - bu dasturiy ta'minotda bo'lishi kerak bo'lgan xususiyat yoki funktsiyani tavsiflovchi bayonot. Buni istaklar ro'yxati yoki kompyuter dasturi uchun qilinadigan ishlar ro'yxati deb o'ylab ko'ring. Misol uchun, agar siz o'yin rang-barang belgilar, silliq harakatlar va qiziqarli tovushlarga ega bo'lishini istasangiz, bu g'oyalar o'yinning talabiga aylanadi.
Tug'ilgan kuningizni rejalashtirayotganingizni tasavvur qiling. Siz shunday deyishingiz mumkin: "Men kek, sharlar va o'yinlarni xohlayman". Xuddi shu tarzda, odamlar dasturiy ta'minotni yaratganda, ular dasturiy ta'minot nima qilishi kerakligini sanab o'tadilar. Ushbu ro'yxat har kimga yakuniy mahsulot qanday ko'rinishi va qanday ishlashi kerakligini tushunishga yordam beradi.
Dasturiy ta'minotni yaratish jarayoni bir necha bosqichlarga bo'lingan. Biz bu jarayonni dasturiy ta'minotni ishlab chiqish hayotiy tsikli yoki qisqacha SDLC deb ataymiz. Dasturiy ta'minot talablari eng boshida paydo bo'ladi. Keling, dasturiy ta'minot talablari qayerda qo'llanilishini ko'rish uchun SDLC-dagi qadamlarni ko'rib chiqaylik:
Dasturiy ta'minot talablari har bir bosqichda ko'rsatma beradi. Ular barchaga muammosiz birgalikda ishlashga yordam beradi va yakuniy dasturiy ta'minot o'zi qilishi kerak bo'lgan narsani bajarishiga ishonch hosil qiladi.
Dasturiy ta'minot talablari ko'p sabablarga ko'ra juda muhimdir. Ular loyiha ustida ishlayotgan har bir kishi uchun aniq qo'llanma yoki xarita vazifasini bajaradi. Ular nima uchun muhimligining ba'zi sabablari:
Kundalik hayotda pechene tayyorlash uchun qanday ingredientlar kerakligini aytadigan retseptni o'ylab ko'ring. Retseptsiz siz biron bir ingredientni o'tkazib yuborishingiz yoki juda ko'p narsa qo'shishingiz mumkin. Xuddi shunday, dasturiy ta'minot talablari ishlab chiquvchilarga eng yaxshi dasturiy mahsulot uchun nima kerakligini aniq aytadi.
Dasturiy ta'minotga bo'lgan talablarni to'plash - bu dasturiy ta'minotdan foydalanadigan odamlar bilan gaplashish va ularga kerak bo'lgan narsalarni yozish jarayoni. Bu do'stlaringiz yoki oilangiz bilan suhbatlashish, ular uchun nima qilishingiz mumkinligini bilish kabi bo'lishi mumkin. Ishlab chiquvchilar ko'plab savollarni berishadi, masalan:
Misol uchun, agar mahalliy kutubxona yangi kompyuter tizimini xohlasa, unda ishtirok etgan odamlar: "Bizga kitoblarni tezda qidirish usuli kerak", "Biz kitoblarni osongina tekshiradigan tizimni xohlaymiz" va "Bizga yangi kitoblarni tizimga qo'shish usuli kerak" deyishlari mumkin. Bularning har biri talabdir. Ishlab chiquvchilar ularni yozadilar va tizimni qurishda reja sifatida foydalanadilar.
Jarayonning bu qismi do'stingizni diqqat bilan tinglashga o'xshaydi. Do'stingiz tug'ilgan kuningiz uchun nima istayotganini aytsa, siz ularning fikrlarini yozasiz. Xuddi shu tarzda, ishlab chiquvchilar dasturiy ta'minot talabiga aylanadigan g'oyalarni tinglashadi va yozib olishadi.
Dasturiy ta'minot talablarini har xil turlarga bo'lish mumkin. Eng keng tarqalgan ikkita tur:
Tasavvur qiling, siz velosipedda ketyapsiz. Funktsional talablar pedal bosishni, boshqarishni va tormozlashni bilishga o'xshaydi. Funktsional bo'lmagan talablar kuchli ramka, silliq shinalar va qulay o'rindiqga ega bo'lish kabidir. Ikkala tur ham qiziqarli va xavfsiz velosiped haydash uchun zarurdir. Xuddi shunday, funktsional va funktsional bo'lmagan dasturiy ta'minot talablari dasturiy ta'minotning to'g'ri ishlashini va foydalanuvchilarga qulay foydalanishini ta'minlaydi.
Talablarni to'plagandan so'ng, keyingi qadam ularni aniq va sodda tarzda yozishdir. Ushbu ro'yxat dasturiy ta'minotni yaratish bo'yicha qo'llanmaga o'xshaydi. Ishlab chiquvchilar har bir talabni yozish uchun aniq til va tushunarli so'zlardan foydalanadilar.
Yaxshi dasturiy ta'minot talablarini yozish uchun bir necha oddiy maslahatlar:
Ushbu ko'rsatmalar jamoaning yanada silliq ishlashiga yordam beradi. Har kim talablarni tushunsa, eng yaxshi dasturiy ta'minotni yaratish osonroq bo'ladi. Bu xuddi yorliqli rasmlarni chizish kabi. Yorliqlar hamma uchun chizmaning har bir qismi nimani anglatishini bilishni osonlashtiradi.
Keling, dasturiy ta'minot talablarini batafsil tushuntirish uchun oddiy misoldan foydalanamiz. Limonad stendini tayyorlash haqida o'ylab ko'ring. Agar siz limonad stendini ochmoqchi bo'lsangiz, siz qilishingiz kerak bo'lgan narsalar ro'yxatiga ega bo'lasiz:
Har bir qadamingiz dasturiy ta'minot talabiga o'xshaydi. Birinchi qadam birinchi navbatda nima qilish kerakligini aytadi. Ikkinchi bosqich sizga nima kerakligini ko'rsatadi. Agar siz bir qadamni unutsangiz, limonad stendingiz yaxshi ishlamasligi mumkin. Dasturiy ta'minotda, agar talab o'tkazib yuborilsa yoki aniq bo'lmasa, dastur kutilganidek ishlamasligi mumkin. Limonad stendi ham, dasturiy ta'minot loyihasi ham muvaffaqiyatli bo'lishi uchun aniq rejaga muhtoj.
Dasturiy ta'minot talablari jamoaga muhim qarorlar qabul qilishda yordam beradi. Barcha jamoa a'zolari dasturiy ta'minot nima qilish kerakligini bilsalar, uni yaratish va sinab ko'rishning eng yaxshi usullarini tanlashlari mumkin. Misol uchun, agar talabda o'yin rangli grafikaga ega bo'lishi kerakligini bildirsa, jamoa yorqin tasvirlarni yaratish uchun maxsus vositalardan foydalanishga qaror qilishi mumkin. Agar boshqa talab tez yuklash vaqtlarini talab qilsa, jamoa ushbu maqsadga erishish uchun eng yaxshi kod amaliyotlarini tanlashi kerak.
Bu maktab loyihasini rejalashtirishga o'xshaydi. Agar o'qituvchingiz sizga materiallar va topshiriqlar ro'yxatini bersa, sinfdoshlaringiz bilan qanday ishlashni o'zingiz hal qilishingiz mumkin. Agar bir talaba chizishda, boshqasi yozishda yaxshi bo'lsa, siz ishni bo'lishingiz mumkin. Xuddi shu tarzda, aniq dasturiy ta'minot talablari ishlab chiquvchilarga, dizaynerlarga va testerlarga jamoa sifatida yaxshi ishlashga yordam beradi.
Dasturiy ta'minot talablari har kuni ko'radigan ko'plab joylarda qo'llaniladi. Planshet yoki kompyuterda ilovadan har safar foydalanganda, uning orqasida dasturiy ta'minot talablari rejasiga amal qilgan jamoa bor. Mana bir nechta misollar:
Kompyuter yoki telefondagi kalkulyator kabi oddiy qurilmalarda ham dasturiy ta'minot talablari mavjud. Kalkulyator to'g'ri qo'shish, ayirish, ko'paytirish va bo'lish kerak. Ushbu xususiyatlarning barchasi kalkulyator foydalanuvchi uchun yaxshi ishlashi uchun oldindan rejalashtirilgan.
Dasturiy ta'minot talablarini yozgandan so'ng, ularni ko'rib chiqish muhimdir. Jamoa quyidagi savollarni beradi: "Biz har bir ehtiyojni tushunamizmi?" va "Yaxshilash uchun joy bormi?" Ba'zan ular kelajakdagi foydalanuvchilardan fikr-mulohazalarini so'rashlari mumkin. Fikr-mulohaza talablarni aniqlashtirish va ularni yanada yaxshilashga yordam beradi.
Tasavvur qiling, siz rasm chizdingiz va uni do'stingizga ko'rsatdingiz. Do'stingiz: "Balki ko'proq ranglar yoki kattaroq quyosh qo'shing", deb aytishi mumkin. Keyin rasmingizni yanada chiroyli qilish uchun ushbu g'oyalarni qo'shishingiz mumkin. Xuddi shu tarzda, fikr-mulohazalar ishlab chiquvchilarga dasturiy ta'minotni yaratishni boshlashdan oldin talablar ro'yxatini yaxshilashga yordam beradi.
Ushbu tinglash, qayta ko'rib chiqish va yakunlash jarayoni juda muhimdir. Bu loyihaning kuchli notada boshlanishini ta'minlaydi va hamma nimani yaratishni aniq biladi. Bu, shuningdek, dasturiy ta'minotni yaratish vaqtida muammolarni oldini olishga yordam beradi, xuddi oldindan rejalashtirish tartibsiz o'yin sanasidan qochishga yordam berganidek.
Dasturiy ta'minot talablari juda foydali bo'lsa-da, ularni yozish qiyin bo'lishi mumkin bo'lgan paytlar mavjud. Asosiy qiyinchiliklardan biri bu ro'yxatni hamma bir xil tushunishiga ishonch hosil qilishdir. Ba'zida so'zlar chalkash bo'lishi mumkin yoki fikrlar noto'g'ri tushunilishi mumkin.
Tasavvur qiling, siz do'stlaringiz bilan telefon o'yinini o'ynayapsiz. Bir kishi xabarni pichirlaydi va u oxirgi do'stga etib kelganida, u o'zgargan bo'lishi mumkin. Dasturiy ta'minot loyihalarida, agar bitta talab aniq bo'lmasa, jamoa kerak bo'lganidan boshqacha narsani yaratishi mumkin. Buning oldini olish uchun jamoa birgalikda ishlaydi, savollar beradi va har bir talab aniq va sodda bo'lishiga ishonch hosil qiladi.
Yana bir qiyinchilik - bu ehtiyojlarni o'zgartirish. Ba'zida kerak bo'lgan narsa vaqt o'tishi bilan o'zgaradi. Misol uchun, agar maktab yangi o'qitish usulidan foydalanishga qaror qilsa, maktab uchun kompyuter dasturi yangi xususiyatlarni talab qilishi mumkin. Dasturiy ta'minot talablari moslashuvchan bo'lishi kerak. Ular kerak bo'lganda yangilanadi, shuning uchun yakuniy dasturiy ta'minot hamma uchun mo'ljallangan tarzda yordam beradi.
Dasturiy ta'minot talablarini to'plash bir kishi uchun ish emas. Dasturiy ta'minotdan foydalanadigan har bir kishini kiritish muhimdir. Bunga oxirgi foydalanuvchilar, mijozlar, ishlab chiquvchilar va hatto sinovchilar kiradi. Har kim o'z g'oyalari va ehtiyojlarini baham ko'rsa, talablar ro'yxati yanada to'liq va foydali bo'ladi.
Oilaviy piknikni rejalashtirish haqida o'ylab ko'ring. Har bir oila a'zosi sendvich olib kelish, o'yin o'ynash yoki parkga tashrif buyurish kabi g'oyalarga ega bo'lishi mumkin. Ushbu g'oyalarni birlashtirganda, piknik rejasi hamma uchun ancha yaxshi va qiziqarli bo'ladi. Dasturiy ta'minot loyihalari shunga o'xshash tarzda ishlaydi. Qanchalik ko'p g'oyalar o'rtoqlashsa, dasturiy ta'minot talablari shunchalik aniq va yaxshi bo'ladi.
Ushbu jamoaviy ish ishonchni mustahkamlashga yordam beradi. Guruhning barcha a’zolari o‘z g‘oyalari qadrlanishini bilsalar, ular o‘zlarini yanada hayajonlangan va loyiha uchun mas’uliyatni his qilishadi. Ushbu ijobiy ish ruhi yakuniy dasturiy ta'minotni tafsilotlarga ehtiyotkorlik va e'tibor bilan amalga oshirilishini ta'minlaydi.
Dasturiy ta'minot yaratilgandan so'ng, jamoa barcha talablar bajarilganligini tekshiradi. Bu dasturiy ta'minotni ishlab chiqish hayotiy tsiklining sinov bosqichida amalga oshiriladi. Sinovchilar dasturiy ta'minotni talablar ro'yxati bilan solishtiradilar va hamma narsa rejalashtirilganidek ishlayotganligini tekshiradilar.
Tasavvur qiling, siz samolyot modelini yaratdingiz. Uni o'qituvchingizga ko'rsatishdan oldin, barcha qismlar joyida yoki yo'qligini va samolyot ucha olishini tekshirishingiz mumkin. Dasturiy ta'minot dunyosida testerlar inspektorlarga o'xshaydi. Ular dasturiy ta'minotni ishga tushiradilar va ro'yxatdagi har bir talabni tekshiradilar. Agar biror narsa etishmayotgan yoki to'g'ri ishlamayotgan bo'lsa, u dasturiy ta'minotni foydalanuvchilar bilan baham ko'rishdan oldin tuzatiladi.
Ushbu tekshirish jarayoni dasturiy ta'minot ishonchli va xavfsiz ekanligini ta'minlashga yordam beradi. Bundan tashqari, foydalanuvchilarning yaxshi tajribaga ega bo'lishiga ishonch hosil qiladi. Agar dasturiy ta'minot barcha talablarga javob bersa, u yaxshi qurilgan o'yinchoq bolalarning zavqlanishiga tayyor bo'lgani kabi, hamma foydalanishga tayyor.
Aniq dasturiy ta'minot talablariga rioya qilish loyihaga ko'p foyda keltiradi. Bu erda eng muhim afzalliklardan ba'zilari:
Bu imtiyozlar qiziqarli tadbirni rejalashtirishga o'xshaydi. Siz va do'stlaringiz o'zingiz xohlagan narsa haqida aniq tasavvurga ega bo'lgan ziyofatni rejalashtirganingizda, hamma narsa muammosiz ketadi. Hamma yordam beradi, va partiya yaxshiroq bo'ladi. Dasturiy ta'minotda yaxshi talablar yanada ishonchli va foydalanuvchilarga qulay mahsulotlarga olib keladi.
Dasturiy ta'minot talablarini kundalik hayotimiz bilan bog'laganimizda tushunish qiyin emas. Quyidagi kundalik misollarni ko'rib chiqing:
Dastur ishlab chiquvchilari xuddi shu fikrdan foydalanadilar. Ular dasturiy ta'minot nima qilishi kerakligini va buni qanday qilish kerakligini yozadilar. Ushbu aniq reja har bir kishi uchun dasturiy ta'minotni muvaffaqiyatli yaratish va undan foydalanishni osonlashtiradi.
Dasturiy ta'minot talablari ishlab chiquvchilarga kelajakni rejalashtirishda ham yordam beradi. Texnologiyaning o'zgarishi bilan yangi ehtiyojlar paydo bo'ladi. Aniq talablar bilan dasturiy ta'minot loyihasi ushbu o'zgarishlarga osongina moslasha oladi. Ishlab chiquvchilar kerak bo'lganda yangi xususiyatlarni qo'shishlari yoki eskilarini o'zgartirishlari mumkin. Ushbu moslashuvchanlik dasturiy ta'minotni uzoq vaqt davomida foydali qiladi.
Sevimli o'yinchoqingiz haqida o'ylang. Agar siz u bilan uzoq vaqt o'ynasangiz ham, ba'zida siz yangi g'oyalarni qo'shasiz yoki undan foydalanish usulini o'zgartirasiz. Dasturiy ta'minot xuddi shunday ishlaydi. Agar yangi g'oyalar paydo bo'lsa, talablar ro'yxati yangilanadi. Shunday qilib, dasturiy ta'minot foydalanuvchilarning ehtiyojlari bilan birga o'sib boradi.
Kelajakni o'ylashning bunday yondashuvi har kuni yangi texnologiyalar kashf qilinadigan dunyoda juda muhimdir. Bu shuni anglatadiki, dasturiy ta'minot doimiy mahsulot emas, balki vaqt o'tishi bilan yaxshilanishi mumkin bo'lgan jonli loyihadir.
Dasturiy ta'minot talablari kompyuter dasturi uchun istaklar ro'yxatiga o'xshaydi. Ular bizga dasturiy ta'minot nima qilish kerakligini aytadilar. Ular dasturiy ta'minotni yaratish jarayonining har bir bosqichini boshqarishga yordam beradi.
Ushbu darsda biz dasturiy ta'minot talablari yaxshi dasturiy ta'minotning asosi ekanligini bilib oldik. Ular rejalashtirishdan to qurilishgacha bo'lgan har bir qadam aniq va puxta o'ylanganligiga ishonch hosil qilishadi. Oddiy qoidalarga rioya qilish va barchani jalb qilish orqali dasturiy ta'minot barcha foydalanuvchilar uchun ishonchli va yoqimli bo'ladi.
Esingizda bo'lsin, aniq reja yaxshi natijalarga olib keladi. O'yin, ziyofat yoki kompyuter dasturini yaratmoqchi bo'lsangiz, kerakli narsalarni yozib qo'ying - muvaffaqiyat sari birinchi qadam. Dasturiy ta'minotga qo'yiladigan talablar jamoadagi barchaga qiziqarli, foydali va ishlatish uchun qulay narsalarni yaratish uchun birgalikda ishlashga yordam beradi.