Amaliy dasturiy ta'minot jarayonlari - bu dasturiy ta'minot tizimini aniqlash, loyihalash, amalga oshirish va sinovdan o'tkazishdan iborat bo'lgan umumiy maqsadli texnik, hamkorlik va boshqaruv faoliyatining ketma-ketligidan iborat. Umuman olganda, jarayonlar asboblar tomonidan qo'llab-quvvatlanadi. Bu shuni anglatadiki, dasturiy ta'minot ishlab chiquvchilar ularga yordam berishi uchun talablarni boshqarish tizimlari, loyihalash modeli muharrirlari, dastur muharrirlari, avtomatlashtirilgan sinov vositalari va tuzatuvchilar kabi bir qator dasturiy vositalardan foydalanishlari mumkin.
Spetsifikatsiya, ishlab chiqish, testlash va evolyutsiyaning to'rtta asosiy jarayon faoliyati turli rivojlanish jarayonlarida turlicha tashkil etilgan. Sharshara modelida ular ketma-ket tashkil etilgan bo'lsa, bosqichma-bosqich rivojlanishda ular aralashtiriladi. Ushbu tadbirlarning qanday amalga oshirilishi ishlab chiqilayotgan dasturiy ta'minot turiga, ishlab chiquvchilarning tajribasi va malakasiga, dasturiy ta'minotni ishlab chiquvchi tashkilot turiga bog'liq.
2.2.1. Dasturiy ta'minot spetsifikatsiyasi Dasturiy ta'minot spetsifikatsiyasi yoki talablar ishlab chiqarish - bu tizimdan qanday xizmatlar talab qilinishini tushunish va aniqlash hamda tizimning ishlashi va rivojlanishidagi cheklovlarni aniqlash jarayonidir. Talablarni ishlab chiqish dasturiy ta'minot jarayonining ayniqsa muhim bosqichidir, chunki bu bosqichda yo'l qo'yilgan xatolar muqarrar ravishda keyinchalik tizimni loyihalash va joriy etishda muammolarga olib keladi.
Talablarni ishlab chiqish bosqichi boshlanishidan oldin texnik-iqtisodiy yoki marketing tadqiqotlarini o'tkaziladi, kompaniya dasturiy ta'minotga ehtiyoji mavjud yoki yo'qligini tekshiradi va zaruriy dasturiy ta'minotni ishlab chiqishning texnik va moliyaviy jihatdan real yoki real emasligini baholaydi. Texnik-iqtisodiy asoslar - bu qisqa muddatli, nisbatan arzon tadqiqotlar bo'lib, unda batafsilroq tahlilni davom ettirish yoki ettirmaslik to'g'risida qaror qabul qilinadi.
Talablarni ishlab chiqish jarayoni (2.4-rasm) manfaatdor tomonlarning talablarini qoniqtiradigan hamda tizimda belgilangan tegishli talablar hujjatini ishlab chiqarishga qaratilgan. Talablar odatda detallashtirishning ikki darajasida taqdim etiladi. Yakuniy foydalanuvchilar va mijozlar talablarning yuqori darajadagi bayonotini ko’rishi kerak; tizim ishlab chiquvchilari batafsilroq tizim spetsifikatsiyasini bilishi zarur.
Talablarni ishlab chiqish jarayonida uchta asosiy faoliyat mavjud:
Talablarni aniqlash va tahlil qilish (Requirements elicitation and analysis.). Bu mavjud tizimlarni kuzatish, potentsial foydalanuvchilar va xaridorlar bilan muhokamalar, vazifalarni tahlil qilish va boshqalar orqali tizim talablarini olish jarayoni. Bu bir yoki bir nechta tizim modellari va prototiplarini ishlab chiqishni o'z ichiga olishi mumkin. Bular aniqlanishi kerak bo'lgan tizimni tushunishga yordam beradi.
Talablar spetsifikatsiyasi (Requirements specification). Talablar spetsifikatsiyasi - bu talablarni tahlil qilish jarayonida to'plangan ma'lumotlarni talablar to'plamini belgilaydigan hujjatga o’tkazish faoliyati. Ushbu hujjatga ikki turdagi talablar kiritilishi mumkin. Foydalanuvchi talablari - bu tizimning mijozi va oxirgi foydalanuvchisi uchun tizim talablarining abstrakt bayonotlari; tizim talablari – taqdim etiladigan funksionallikning batafsil tavsifi.
Talablarni tasdiqlash (Requirements validation). Ushbu faoliyat amaliylik, mustahkamlik va to'liqlik talablarini tekshiradi. Ushbu jarayon davomida talablar hujjatidagi xatolar albatta ravishda aniqlanadi. Keyin bu muammolarni tuzatish uchun uni o'zgartirish kerak.
Talablarni tahlil qilish bosqichi aniqlash va spetsifikatsiya qilish jarayonida davom etadi va butun jarayon davomida yangi talablar paydo bo'ladi. Shuning uchun tahlil qilish, ta'riflash va spetsifikatsiya qilish faoliyati bir-biriga bog'langan.
Agile usullarda talablarni spetsifikatsiya qilish alohida faoliyat emas, balki tizimni ishlab chiqishning bir qismi sifatida qaraladi. Talablar tizimning har bir o'sishi uchun ushbu rivojlanish ishlab chiqilishidan oldin norasmiy ravishda belgilanadi. Talablar foydalanuvchi ustuvorliklariga muvofiq belgilanadi. Talablar ishlab chiqish guruhining bir qismi bo'lgan yoki ular bilan yaqindan ishlaydigan foydalanuvchilardan kelib chiqadi.