Dasturlash asoslari


Dastur tuzilishini ishlab chiqish usullari



Yüklə 2,09 Mb.
səhifə25/111
tarix07.01.2024
ölçüsü2,09 Mb.
#203273
1   ...   21   22   23   24   25   26   27   28   ...   111
Dasturlash asoslari

3.1.3. Dastur tuzilishini ishlab chiqish usullari

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.
Pasayuvchi ishlab chiqish usulining mohiyati quyidagichadir. Avvalgi usulda bo‘lganidek, bu erda ham oldin dasturning daraxt ko‘rinishidagi modul tuzilmasi yaratiladi. Keyin navbatma-navbat dastur modullari dasturlanadi. Bunda dasturlash eng yuqori sathdagi (bosh) moduldan boshlanadi. Keyin boshqa biron-bir modulni dasturlashga o‘tiladi. Bunda ushbu modulga murojaat qiladigan modul dasturlab bo‘lingan bo‘lishi lozim. Dasturning barcha modullari dasturlab bo‘lingach, ular xuddi shunday pasayuvchi tartibda navbatma-navbat test sinovlaridan o‘tkaziladi va sozlanadi. Bunda birinchi bo‘lib dasturning bosh moduli test sinovidan o‘tkaziladi, chunki u testdan o‘tkazilayotgan dasturning hammasiga tegishli bo‘ladi hamda shuning uchun test sinovi ushbu dastur amal qiladigan axborot muhitining «tabiiy» holatida o‘tkaziladi. Yana bunda bosh modul murojaat qilishi mumkin bo‘lgan modullar ularning imitatorlari (zaglushkalari) ga almashtiriladi. Har bir modul imitatori bu oddiy dasturiy fragment (qism) bo‘lib, u asosan imitatsiyalanayotgan modulga murojaat haqida xabar (signal) beradi, dasturning to‘g‘ri ishlashi uchun zarur bo‘lgan qiymatlar va kirish parametrlariga ishlov beradi (ba’zida bu ma’lumotlarni bosma holda chiqarib ham beradi) hamda, zaruratga ko‘ra, avvaldan tayyorlab qo‘yilgan tegishli natijani chiqarib beradi. Bosh hamda navbatdagi har qanday modul test sinovidan o‘tkazilib va sozlab bo‘lingach, ushbu daqiqada o‘zining imitatori (agar bular bo‘lsa) ga ega bo‘lgan modullardan biri test sinovidan o‘tkaziladi. Buning uchun test sinovidan o‘tkazilishi tanlab qilingan modul imitatori o‘rniga modulning o‘zi olinadi. Bundan tashqari bu sinovga test sinovidan o‘tkazilishi tanlab qilingan modul murojaat qilishi mumkin bo‘lgan modullar imitatorlari qo‘shiladi. Shunday qilib, yuqorilovchi test sinovidan o‘tkazish paytidagi katta hajmdagi «sozlovi» dasturlash o‘rniga dastur modullarida qo‘llanadigan anchayin sodda imitatorlarni dasturlash amalga oshiriladi. Bundan tashqari, imitatorlar chiqarib berayotgan kerakli natijalarni berish yo‘li bilan testlarni tanlab olish jarayoniga moslashish uchun ham imitatorlardan foydalanish qulaydir. Dasturni ishlab chiqishning bunday tartibida barcha zaruriy global axborot o‘z vaqtida shakllanadi, ya’ni modullarni dasturlashdagi noxush xatoliklar manbai yo‘q bo‘ladi. Pasayuvchi ishlab chiqish usulining dasturni qo‘llashda ma’lum qiyinchiliklar tug‘ilishiga olib keluvchi kamchiligi shundan iboratki, bunda qo‘llanayotgan dasturlash tilining bazaviy imkoniyatlari mavhumlashtiriladi, ya’ni mavhum (abstrakt) operatsiyalar o‘ylab topiladiki, bu operatsiyalarni keyinchalik dasturda ajratib olindan modullar yordamida amalga oshirishga to‘g‘ri keladi. Biroq, shuning bilan birga, bunday mavhumlashtirishlar (abstraktsiyalar) katta dasturiy vositalarni ishlab chiqishning zaruriy shartidir. SHuning uchun ularni rivojlantirish muhimdir.
Ko‘rib chiqilgan yuqorilovchi va pasayuvchi ishlab chiqish usullarining (biz ularni klassik usullar deb ataymiz) o‘ziga xos xususiyati shundaki, bunda dasturning modul tuzilmasi modullarning dasturlanishi (kodlanishi)dan oldin ishlab chiqilishi talab qilinadi. Bu talab dasturiy vositani ishlab chiqishning shalolasimon yondoshuviga to‘liq mos keladi, chunki dasturning modul tuzilmasini ishlab chiqish va uni kodlash dasturiy vositani ishlab chiqishning turli bosqichlarida amalga oshiriladi: modul tuzilmasini ishlab chiqish DV ni konstruktsiyalash bosqichini nihoyasiga etkazadi, kodlash esa kodlash bosqichini boshlab beradi.
Bu usullar e’tirozlarga ham duch keldi. Chunki avval modullarni dasturlamay turib, dastur tuzilmasini aniq va chuqur ishlab chiqish mumkinligi shubha tug‘diradi. Agar shalolasimon yondoshuv biroz takomillashtirilsa, amalda bunday qilish shart emas. Quyida dasturlarni ishlab chiqishda konstruktiv va arxitektura yondoshuvlari taklif qilinadiki, ularda modulli tuzilma modullarni dasturlash (kodlash) jarayonida shakllanadi.
Boshqa har qanday modulni dasturlashda ham xuddi shunday xatti-harakatlar amalga oshiriladi. Ushbu dasturlanadigan modul spetsifikatsiyalangan, ammo hali dasturlanmagan modullar ichidan dastur daraxtining joriy holatidan tanlab olinadi. Buning natijasida dastur daraxtining navbatdagi yanada ko‘proq shakllanishi (masalan 4.2-rasmda ko‘rsatilganidek) amalga oshiriladi.
Dastur (bosh modul)ning spetsifikatsiyasi
(tasnifi)




Yüklə 2,09 Mb.

Dostları ilə paylaş:
1   ...   21   22   23   24   25   26   27   28   ...   111




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin