3.2.4. Dasturiy modul ustidan nazorat
Dasturiy modulni nazorat qilishning quyidagi usullari qo‘llanadi:
-modul matnining statik tekshiruvi;
-mufassal kuzatuv;
-dasturiy modul xususiyatlarini isbotlash.
Modul matnining statik tekshiruvida ushbu matn moduldagi xatolarni topish maqsadida boshdan oyoq ko‘rib chiqiladi. Odatda bunday tekshiruvga modul ishlab chiquvchisidan tashqari yana bitta yoki xatto bir nechta dasturchilar jalb qilinadi. Bunday tekshiruv paytida aniqlangan xatolarni shu topda emas, balki modul matnini o‘qish tugaganidan so‘ng to‘g‘rilash tavsiya qilinadi.
Mufassal kuzatuv modulni dinamik nazorat qilish turlaridan biridir. Bunda ham bir nechta dasturchi ishtirok etib, ular modulning bajarilishini biron-bir matnlar to‘plamida sinab ko‘radi.
Dasturiy modul xususiyatlarining isbotiga alohida ma’ruza bag‘ishlanadi. Bu o‘rinda esa ushbu usul hozircha juda kam qo‘llanishini qayd etish bilan cheklanamiz.
3.3 Dasturiy vositalarning ishlab chiqilishiga ob’ektli yondoshuv
Tarkibi: ob’ektli dasturlash maqsadi, maqsadi va uning xususiyatlari
3.3.1. Dasturlashda ob’ektlar va munosabatlar. Dasturiy vositalarning ishlab chiqilishiga ob’ektli yondoshuvning mohiyati
Bizni o‘rab turgan olam ob’ektlar hamda ular o‘rtasidagi munosabatlardan iborat. V.Dal lug‘atiga ko‘ra ob’ekt (predmet) bu his-tuyg‘u vositasida yoki aqlan idrok etiladigan barcha narsalardir (ya’ni moddiy ob’ekt yoki aqliy ob’ekt). Shunday qilib, ob’ekt o‘zida biron-bir mohiyatni aks ettiradi hamda vaqt o‘tishi bilan o‘zi bilan biron-bir munosabatlarga kirishgan boshqa bir ob’ekt ta’sirida o‘zgarishi mumkin bo‘lgan qandaydir holatga ega bo‘ladi. U ichki tuzilishga ega bo‘lishi, ya’ni, aytaylik, o‘zlari ham o‘zaro qandaydir munosabatlarga kirishgan boshqa ob’ektlardan tashkil topishi mumkin. Bundan kelib chiqqan holda, dunyoning ob’ektlardan iborat tabaqaviy tuzilishini qurib chiqish mumkin. Biroq, bizni o‘rab turgan olamni har gal konkret ko‘rib chiqadigan bo‘lsak, ayrim ob’ektlar bo‘linmas bo‘lib chiqadi, bunda ko‘rib chiqish maqsadlari bilan bog‘liq holda bunday (bo‘linmas) ob’ektlar tabaqaning turli darajalariga mansub bo‘lishi mumkin. Munosabat ayrim ob’ektlarni bog‘laydi: bu ob’ektlarning o‘zaro bog‘lanishi biron-bir xususiyatga ega deb hisoblash mumkin. Agar munosabat n ta ob’ektni bog‘layotgan bo‘lsa, bu holda bunday munosabat n o‘rinli (n-li) deb ataladi. Biron-bir konkret munosabat bilan bog‘lanishi mumkin bo‘lgan ob’ektlarning birlashgan har bitta o‘rinda turli ob’ektlar (biroq aniq ob’ektlar) mavjud bo‘lishi mumkin (bunday hollarda ular ma’lum sinfga mansub ob’ektlar deb ataladi). Bir o‘rinli munosabat ob’ektning oddiy xususiyati deb ataladi. Ob’ektlarning ko‘p o‘rinli munosabatlarini ob’ektning assotsiatsiyali xususiyati (agar ushbu ob’ekt ushbu munosabatda ishtirok etsa) deb ataymiz. Ob’ektning holati ushbu ob’ektning oddiy yoki assotsiatsiyali xususiyatlarining ma’nolari (qiymatlari) ga ko‘ra o‘rganilishi mumkin. Biron-bir umumiy xususiyatlarga ega bo‘lgan barcha ob’ektlar to‘plami ob’ektlar sinfi deb ataladi.
Bizni o‘ragan olamni idrok etish yoki o‘zgartirish jarayonida biz hamma vaqt ushbu olamning u yoki bu soddalashtirilgan modelini olib qaraymiz hamda unga bizni o‘ragan olamdan o‘zimizni qiziqtirgan biron-bir sinflarning ob’ektlari va munosabatlarini kiritamiz.
Ichki tuzilishga ega bo‘lgan har bir ob’ekt o‘zining modelli olamidan iborat bo‘lib, ushbu tuzilmaning ob’ektlari va ularni bog‘lab turgan munosabatlarni o‘z ichiga oladi. Shunday qilib, atrof olamni modelli olamlarning tabaqaviy tuzilmasi (aniqrog‘i, shunga yaqinroq) sifatida olib qarash mumkin.
Hozirgi paytda bizni o‘rab turgan olamni idrok etish yoki o‘zgartirish jarayonida turli xildagi axborotni ishlash uchun kompyuter texnikasi keng qo‘llanadi. Buning bilan bog‘liq holda ob’ektlar va munosabatlarning kompyuter (axborotli) taqdimoti qo‘llanadi. Har bir ob’ekt axboriy jihatdan ushbu ob’ektning holatini aks ettiruvchi biron-bir tuzilma vositasida taqdim etilishi mumkin. Bu ob’ektning oddiy xususiyatlari bevosita ushbu tuzilmaning alohida komponentlari (tarkibiy qismlari) ko‘rinishida yoki ushbu ma’lumotlar tuzilmasi ustidagi maxsus funksiyalar vositasida berilishi mumkin. Assotsiatsiyali munosabatlar (n>1 uchun n o‘rinli munosabatlar) ni yo aktiv (faol) shaklda yoki passiv shaklda taqdim etish mumkin. Aktiv shaklda n o‘rinli munosabat biron-bir dasturiy fragment (qism) ko‘rinishiga ega bo‘lib, u yo n o‘rinli funksiyani (tegishli ob’ektlar birlashmasi xususiyatining qiymatini belgilaydigan funksiyani), yoki taqdim etilayotgan munosabatlar vositasida bog‘lanayotgan ob’ektlarning holati bo‘yicha ushbu ob’ektlarning ayrimlarining holatlarini o‘zgartiradigan protsedura (amal) ni ishga soladi. Passiv shakldagi bunday munosabat konkret (muayyan, aniq) munosabatlarga bog‘liq bo‘lmagan umumiy protseduralar bo‘yicha qabul qilingan bitimlar asosida talqin etiladigan biron-bir ma’lumotlar tuzilmasi ko‘rinishiga ega bo‘lishi mumkin. Qanday holatda bo‘lmasin, munosabat taqdimoti ma’lumotlarni ishlash bo‘yicha biron-bir xatti-harakatlarni belgilaydi.
Modelli olamni tadqiq etishda foydalanuvchilar kompyuterdan axborotni turlicha yo‘llar bilan olishlari (yoki olishni xohlashlari) mumkin.
Bir o‘rinda ularni muayyan ob’ektlarning ayrim xususiyatlari haqidagi axborot olish yoki modelli olamning ayrim ob’ektlari o‘rtasidagi qandaydir natijalar qiziqtirib qolishi mumkin. Bunday talablarni qondirish maqsadida foydalanuvchilarni qiziqtirgan funksiyalarni bajaruvchi tegishli DV lar yoki foydalanuvchilarni qiziqtirgan munosabatlar haqidagi axborotni chiqarib bera oladigan axborot tizimlari ishlab chiqiladi. Kompyuter texnikasi taraqqiyotining boshlang‘ich davrida (kompyuterlar quvvati hali uncha yuqori bo‘lmagan paytda) modelli olamga bunday yondoshuv tabiiy bir hol edi. Aynan shunday yondoshuv DV ning ishlab chiqilishiga avvalgi ma’ruzalarda batafsil ko‘rib chiqilgan funksional (relyativ) yondoshuvni keltirib chiqardi. Bu yondoshuvning mohiyati shundaki, DV (shu hisobda dastur matnlari) tuzilishining tavsifi va qurilishi uchun muntazam ravishda funksiya (munosabat) dekompozitsiyasidan foydalaniladi. Bunda buyurtma berilayotgan va amalga oshirilayotgan funksiyalar yuklangan modelli olam ob’ektlarining o‘zlari alohida qismlarda (ya’ni ushbu funksiyalarni bajarish uchun zarur bo‘lgan xajmda) hamda ushbu funksiyalarni amalga oshirish uchun qulay shaklda taqdim etilgan. Shu yo‘l bilan talabdagi funksiyalarning samarali bajarilishiga erishilgan, biroq foydalanuvchini qiziqtirgan modelli olamning yaxlit va adekvat kompyuter ko‘rinishi yaratilmagan. Ushbu modelli olam haqida DV dan olish mumkin bo‘lgan axborot xajmini va ko‘rinishini ozgina kengaytirishga urinish ham DV ning o‘zida jiddiy yangiliklar kiritishni talab qilishi mumkin edi.
Boshqa o‘rinlarda foydalanuvchini modelli olam ob’ektlari holatlarining o‘zgarishi ustidan kuzatish olib borish qiziqtirishi mumkin. Bu esa bunday ob’ektlarning tegishli axborot modellaridan foydalanishni, modelli olam ob’ektlarining o‘zaro muloqot jarayonlarini modellashtiradigan dasturiy vositalarning yaratilishini, foydalanuvchiga ushbu axborot modellari (foydalanuvchilik ob’ektlari)ga kirish huquqining berilishini talab qiladi. Ishlab chiqishning an’anaviy usullaridan foydalanib bu ishni bajarish ancha qiyin masala edi. Bu masalani to‘laroq hal qilishda DV ishlanmasiga ob’ektli yondoshuv ko‘proq qo‘l keladi. Uning mohiyati DV ning tavsifi va tuzilishida ob’ektlar dekompozitsiyasidan muttasil ravishda foydalanishdan iborat. Bunda ushbu DV bajarayotgan funksiyalar (munosabatlar) boshqa darajalar ob’ektlarining munosabatlari orqali ifodalanadi, ya’ni ularning dekompozitsiyasi ob’ektlar dekompozitsiyasiga ko‘p darajada bog‘liq bo‘ladi.
DV ishlab chiquchilarining nuqtai nazaridan kelib chiqsak, ob’ektlar (hamda ularning sinflari)ning quyidagi kategoriyalarini farqlash lozim:
-modelli (moddiy yoki aqliy) olam ob’ektlari,
-real olam ob’ektlarining axboriy (ya’ni axborot beruvchi) modellari (ularni foydalanuvchilik ob’ektlari deb ataymiz),
-dasturlarning bajarilish jarayoni ob’ektlari,
-DV ni ishlab chiqish jarayoni ob’ektlari (texnologik dasturlash ob’ektlari).
Bundan tashqari, modelli olam bilan foydalanuvchi o‘rtasidagi o‘zaro aloqalar xususiyatlarining kompyuterda taqdim etilish usulidan kelib chiqib, passiv va aktiv ob’ektlarni ham farqlash mumkin. Passiv ob’ekt muayyan turga mansub turli ma’lumotlarni saqlay oladigan (bu ma’lumotlar ushbu ob’ektning turli holatlarini bildiradi) hamda biron-bir operatsiyalar to‘plamining bajarilishi bilan bog‘liq bo‘lgan axborot muhitining biron-bir fragmenti (qismi)dan iboratdir. Bunday ob’ektga nisbatan qo‘llanadigan operatsiyalar tashqi aktiv kuch ta’sirida amalga oshirilib, bu kuch yo foydalanuvchidan, yoki biron-bir dasturiy fragmentni bajarish jarayonida mana shu fragmentdan keladi. Aktiv ob’ekt bu passiv ob’ektning shunday kengaytirilgan ko‘rinishiki, unda axboriy muhit fragmenti bajarilish jarayonida (aktiv holatda) tura oladigan dasturiy fragmentlarni ham saqlay olishi mumkin. Biron-bir dasturiy fragmentlari aktiv holatda turgan aktiv ob’ekt o‘zi joylashtirilgan operatsiya muhitidan xabarlar yoki signallarni qabul qilib olish hamda ushbu xabarlar va signallarga javob tariqasida biron-bir operatsiyalarni mustaqil bajarish imkoniyatiga ega. Shunday qilib, aktiv ob’ekt ichki aktiv kuchga ega deb hisoblash mumkin.
DV ishlanmasiga ob’ektli yo‘naltirilgan yondoshuv haqida gap borganda, modelli olam ob’ektlariga tavsif berishga hamda ularning axborot modellarini tuzishga yo‘naltirilgan yondoshuv nazarda tutiladi. Bunda DV ishlanmasining ko‘pchilik jarayonlari o‘ziga xos («ob’ektli») xususiyatlar kasb etadiki, ular quyidagilardan iborat:
-ob’ektlar va ularning sinflarini tavsiflash imkonini beradigan tushunchalar tizimidan foydalanish,
-ob’ektlar dekompozitsiyasi DVni soddalashtirishning asosiy vositasi bo‘lib xizmat qiladi,
-ishlab chiqish jarayonlarini soddalashtirish uchun dasturdan tashqari abstraktsiyalar qo‘llanadi,
-funksiyalarning ishga tushirilishidan ko‘ra ma’lumotlar tuzilmasini ishlab chiqishga etakchi o‘rin berish.
DV ni ishlab chiqishdagi o‘ziga xos xususiyatlarning asosiylarini sharsharaviy texnologiya modeli doirasida ko‘rib chiqamiz.
Dostları ilə paylaş: |