Yuqorida ta’kidlab o‘tilganidek, dasturning modulli tuzilmasi sifatida daraxtsimon tuzilma (shu
jumladan shoxlari birikib tugunlar hosil qilgan daraxtlar tuzilmasi) dan foydalanish qabul qilingan. Bunday
daraxt tugunlarida dasturiy modullar joylashadi, yo‘naltirilgan yoylar (strelkalar) esa modullarning statik
tobe’ligini ko‘rsatadi, ya’ni har bir yoy o‘zi chiqib kelgan har bir modul matnida yana kirib ketadigan
modulga ishora borligini ko‘rsatadi. Boshqacha qilib aytganda, har bir modul o‘ziga tobe’ bo‘lgan
modullarga murojaat qilishi mumkin, ya’ni shu modullar orqali ifodalanadi. Bunda dasturning modulli
tuzilmasi, pirovard natijada, ushbu dasturni hosil qilgan modullar spetsifikatsiyasi majmuini o‘z ichiga
olmog‘i lozim. Dasturiy modul spetsifikatsiyasi quyidagilarni o‘z ichiga oladi:
-modul kirishlarining sintaktik spetsifikatsiyasi (u ushbu modulga hamda uning har qanday kirishiga
qo‘llanilayotgan dasturlash tilida to‘g‘ri sintaktik murojaatni qurish imkonini beradi);
-modulning funksional spetsifikatsiyasi (ushbu modul o‘zining har biri kirishi bo‘yicha bajaradigan
funksiyalarining semantik, ya’ni mazmun jihatdan tavsifi).
Modulning funksional spetsifikatsiyasi ham xuddi dasturiy vositaning funksional spetsifikatsiyasi kabi
tuziladi.
Dasturni ishlab chiqish jarayonida uning modul tuzilmasi dasturlash tartibini aniqlash va ushbu
tuzilmada ko‘rsatilgan modullarni sozlashda turlicha shakllanishi va qo‘llanishi mumkin. Shuning uchun
dastur tuzilmasini ishlab chiqishning turli xil usullari haqida gap yuritish mumkin. Odatda maxsus
adabiyotlarda ikki xil usul haqida gap boradi: yuqorilovchi ishlab chiqish usuli va pasayuvchi ishlab chiqish
usuli.
YUqorilovchi ishlab chiqish usulining mohiyati quyidagichadir. Avval dasturning daraxt
ko‘rinishidagi modelli tuzilmasi yaratiladi. Keyin navbatma-navbat dastur modullari (eng quyi sathdagi
moduldan boshlab) dasturlanadi. Bunda har bir dasturlanayotgan modul uchun ushbu modul murojaat qilishi
mumkin bo‘lgan boshqa barcha modullar dasturlashtirib bo‘lingan bo‘lmog‘i lozim. Dasturning barcha
modullari dasturlashtirib bo‘lingach, ular navbatma-navbat test sinovlaridan o‘tkaziladi va sozlanadi. Bunda
dastur modullari qanday tartibda dasturlangan bo‘lsa (yuqorilab boruvchi), ularning sinovi va sozlanishi ham
shu tartibda amalga oshiriladi. Dasturni ishlab chiqishning bunday tartibi bir qarashda juda tabiiy ko‘rinishi
mumkin: har bir modul dasturlash paytida o‘ziga bevosita tobe’ bo‘lgan va dasturlab bo‘lingan modullar
orqali ifodalanadi, test sinovlaridan o‘tkazishda esa sozlab bo‘lingan modullar qo‘llanadi. Biroq hozirgi
zamon texnologiyasi dasturni ishlab chiqishning bunday tartibidan foydalanishni tavsiya qilmaydi.
Birinchidan, biron-bir modulni dasturlash uchun ushbu modul foydalanadigan boshqa modullarning matnlari
bo‘lishi shart emas, buning uchun har bir qo‘llanayotgan modul spetsifikatsiyalangan bo‘lishi qifoya (bunda
spetsifikatsiya hajmi ushbu modulga to‘g‘ri murojaatni tuzish imkonini berishi kerak). Modulni test
sinovidan o‘tkazish uchun esa qo‘llanayotgan modullarning o‘rniga ularning imitatorlari (zaglushkalari) dan
foydalanish mumkin (xatto foydali). Ikkinchidan, har bir dastur o‘zi uchun ichki, ammo o‘zining modullari
uchun global (umumiy) bo‘lgan tamoillar (ishga tushirish, tahmin qilish, ma’lumotlar tuzilmasi va x.k.)ga
qaysidir ma’noda bo‘yinsunadi. Bu tamoillar esa dasturning kontseptual butligini belgilab beradi hamda uni
ishlab chiqish jarayonida shakllanadi. Yuqorilovchi ishlab chiqish usulida ushbu global axborot quyi
sathdagi modullar uchun hali to‘la xajmda aniq bo‘lmaydi. Shuning uchun boshqa modullarni dasturlashda
ushbu global axborotni aniqlashtirish jarayoni kechayotganda quyi sathdagi modullar qayta dasturlanadi.
Uchinchidan, yuqorilab boruvchi testda har bir modul uchun (bosh moduldan tashqari) etakchi dastur
(modul)ni yaratishga to‘g‘ri keladiki, bu etakchi dastur (modul) test sinovidan o‘tkazilayotgan modul uchun
zaruriy axborot muhiti holatini tayyorlab berishi hamda unga talabdagi murojaatni amalga oshirishi lozim.
Bu jarayon dasturni sozlash ishlari xajmlarini oshirib yuboradi. Inchunin, test sinovlari ushbu modullar
aynan ishchi holatda yuzaga keladigan sharoitlarda sinovdan o‘tkazilganligiga hech qanday kafolat
bermaydi.
PDF created with pdfFactory trial version
www.pdffactory.com