Дастурлаш асослари фанидан маърузалар матни doc


 Dasturiy modulning asosiy tavsiflari



Download 2,87 Mb.
Pdf ko'rish
bet54/218
Sana31.12.2021
Hajmi2,87 Mb.
#202470
1   ...   50   51   52   53   54   55   56   57   ...   218
Bog'liq
dasturlash asoslari (1)

3.1.2. Dasturiy modulning asosiy tavsiflari 
 
Har  qanday  dasturiy  modul  ham  dasturni  soddalshtirishga  olib  kelavermaydi.  Shu  nuqtai  nazardan 
yaxshi  modulni  ajratib  olish  jiddiy  ijodiy  masalani  tashkil  etadi.  Ajratib  olingan  modulning  muvofiqligini 
baholash uchun turli mezonlardan foydalaniladi. Masalan, Xolt quyidagi ikkita mezonni taklif qiladi: 
-yaxshi modul tashqi tomondan, ichki tomonga nisbatan, soddaroq bo‘ladi; 
-yaxshi moduldan foydalanish uni yaratishdan ko‘ra osonroq. 
Mayers  esa  dasturiy  modulning  muvofiqligini  baholash  uchun  uning  tuzilishidagi  yanada  aniqroq 
quyidagi tavsiflardan foydalanishni taklif qiladi: 
-modul o‘lchami (razmeri); 
-modul mustahkamligi; 
-boshqa modullar bilan birikuvi; 
-modulning mustaqilligi (ya’ni unga avvalgi murojaatlardan mustaqilligi). 
Modul o‘lchami uning tarkibidagi operatorlar yoki satrlar soni bilan o‘lchanadi. Modul o‘ta katta yoki 
o‘ta  kichik  bo‘lmasligi  lozim.  Kichkina  modullar  dasturiy  modul  tuzilmasining  qo‘pollashib  ketishiga  olib 
keladi  hamda  ularni  rasmiylashtirish  bilan  bog‘liq  sarf-harajatlarni  qoplamasligi  mumkin.  Katta  modullar 
esa  ularni  o‘rganish  va  o‘zgartirishda  noqulayliklar  tug‘diradi,  ular  dasturni  sozlash  paytida  uni  qayta 
translyatsiya qilishning jamlama vaqtini ancha oshirib yuborishi mumkin. Odatda o‘lchami bir necha o‘ndan 
bir necha yuz operatorgacha bo‘lgan dasturiy modullar tavsiya qilinadi. 
Modul  mustahkamligi  bu  uning  ichki  aloqalarining  me’yorlaridir.  Modul  mustahkamligi  qancha 
yuqori  bo‘lsa,  u  dasturning  o‘ziga  nisbatan  tashqi  qismidan  shu  darajada  ko‘proq  aloqalarni  berkitishi 
PDF created with pdfFactory trial version 
www.pdffactory.com


hamda,  buning  natijasi  o‘laroq,  dasturning  soddalashuviga  shu  darajada  ko‘proq  hissa  qo‘shishi  mumkin. 
Modul  mustahkamligi  darajasini  baholash uchun Mayers mustahkamlik darajasi bo‘yicha tartibga solingan 
modullarning  ettita  sinfidan  iborat  to‘plamini  taklif  qiladi.  Moslik  bo‘yicha  mustahkam  modul  eng  kam 
darajali  mustahkamlikka  ega.  Bu  shunday  modulki,  uning  elementlari  o‘rtasida  ongli  aloqa  mavjud  emas. 
Bunday  modul  qanday  holatda  ajratib  olinishi  mumkin?  Masalan,  dasturning  turli  o‘rinlarida  bir  xil 
operatorlar  ketma-ketligi  takrorlansa,  mana  shu  ketma-ketlik  alohida  modul  sifatida  shakllantiriladi. 
Matnning  ma’noli  qismlaridan  biri  (kontekst)da  ushbu  ketma-ketlikni  o‘zgartirish  zarur  bo‘lib  qolsa,  bu 
modulning  ham  o‘zgarishiga  olib  kelishi  mumkin,  bu  esa  ushbu  modul  matnning  boshqa  ma’noli  qismlari 
(kontekstlari)da  qo‘llanganda  xatolikka  olib  kelishi  mumkin.  Dasturiy  modullarning  bu  sinfidan 
foydalanmaslik  ma’qul.  Umuman  olganda,  Mayers  taklif  qilgandek  modullar  sinfining  ularning 
mustahkamlik  darajasiga  qarab  tartibga  solinishi  anchayin  baxsli  masaladir.  Biroq  bu  uncha  ahamiyatli 
emas.  CHunki  mustahkamlik  bo‘yicha  modullarning  faqat  dastlabki  ikkita  oliy  sinfi  foydalanish  uchun 
tavsiya qilinadiki, biz mana shularni batafsilroq ko‘rib chiqamiz. 
Funksional  jihatdan  mustahkam  modul  biron-bir  bitta  muayyan  funksiyani  bajaruvchi  modul 
hisoblanadi.  O‘z  funksiyasini  amalga  oshirishda  bunday  modul  boshqa  modullardan  ham  foydalanishi 
mumkin. Dasturiy modullarning aynan shu sinfidan foydalanish tavsiya etiladi. 
Axboriy  jihatdan  mustahkam  modul  bitta  ma’lumotlar  tuzilmasi  (axborot  ob’ekti)  ustida  bir  nechta 
operatsiya (funksiya)ni bajaradigan (amalga oshiradigan) modul bo‘lib, bunda ma’lumotlar tuzilmasi ushbu 
moduldan  tashqarida  noma’lum  hisoblanadi.  Bunday  modulda  ushbu  operatsiyalarning  har  biri  uchun 
alohida  murojaat  shakliga  ega  bo‘lgan  maxsus  kirish  mavjud.  Modullarning  bunday  sinfi  oliy  darajadagi 
mustahkamlikka  ega  bo‘lgan  modullar  sinfi  sifatida  olib  qaralishi  lozim.  Axboriy  jihatdan  mustahkam 
modul, masalan, abstrakt turdagi ma’lumotlarni ishga sola oladi. 
Modulli  dasturlash  tillarida  kamida  funksional  jihatdan  mustahkam  modullarning  berilishi  uchun 
vositalar  mavjud  (masalan,  FORTRAN  tilidagi  FUNCTION  turdagi  modul  shular  jumlasiga  kiradi). 
Dastlabki dasturlash tillarida axboroiy jixatdan mustahkam modullarni berish uchun vositalar mavjud emas 
edi.  Bunday  vositalar  ancha  keyingi  tillarda  paydo  bo‘ldi.  Masalan,  Ada  dasturlash  tilida  axboriy  jihatdan 
mustahkam modulni berish vositasi paketdir. 
Modul  birikuvi  bu  modulning  ma’lumotlar  bo‘yicha  boshqa  modulga  qanchalik  tobe’ligini 
ko‘rsatuvchi  me’yordir.  Modulning  boshqa  bir  modul  bilan  birikuvi  qanchalik  zaif  bo‘lsa,  uning  boshqa 
modullardan  mustaqilligi  shunchalik  kuchli  bo‘ladi.  Birikuv  darajasini  baholash  uchun  Mayers  modullar 
birikuvining oltita turidan iborat bo‘lgan  tartibga keltirilgan to‘plamni taklif qiladi. Birikuvning eng yomon 
turi bu ichki tarkibga ko‘ra birikuvdir. Ikkita moduldan biri ikkinchisining ichki tarkibiga to‘g‘ridan-to‘g‘ri 
murojaat qilish imkoniga ega bo‘lsa, bunday modullar birikuvi eng zaif hsioblanadi. Mouddlarning bunday 
birikuviga yo‘l qo‘yib bo‘lmaydi. Umumiy soha bo‘yicha birikuvdan ham foydalanish tavsiya etilmaydi. Bu 
modullarning  shunday  birikuviki,  bunda  bir  nechta  modul  bitta  xotira  sohasidan  foydalanadi.  Modullar 
birikuvining  bunday  turi  FORTRAN  tilida  COMMON  bloklaridan  foydalanib  dasturlashda  amalga 
oshiriladi.  Hozirgi  zamon  dasturlash  texnologiyasi  tavsiya  etadigan  modullarning  yagona  birikuv  turi  bu 
parametrik  birikuvdir  (Mayersga  ko‘ra  ma’lumotlar  bo‘yicha  birikuv).  Bunda  ma’lumotlar,  modulga 
murojaat  qilinganda,  uning  parametrlarining  qiymati  sifatida  uzatiladi,  yoki  bo‘lmasa  ushbu  modulning 
biron-bir funksiyani echish uchun boshqa modulga murojaati natijasi sifatida uzatiladi. 
Modulning  mustaqilligi  (rutinnost  modulya)  bu  uning  o‘ziga  avvalgi  murojaatlardan  mustaqiligini 
bildiradi. Agar modulga murojaat etish natijasi (effekti) faqatgina shu modul parametrlariga bog‘liq bo‘lsa 
(ya’ni  unga  bo‘lgan  avvalgi  murojaatlarga  bog‘liq  bo‘lmasa),  bunday  modul  mustaqil  hisoblanadi.  Ayrim 
xollarda  modulga  murojaat  etish  natijasi  (effekti)  ushbu  modulning,  unga  bo‘lgan  avvalgi  murojaatlar 
natijasida o‘zgarishi mumkin bo‘lgan ichki horlatiga bog‘liq bo‘ladi. Bunday modul avvalgi murojaatlarga 
bog‘liq modul deb ataladi. Mayers avvalgi murojaatlarga bog‘liq (bashorat qilib bo‘lmaydigan) modullardan 
foydalanishni  tavsiya  qilmaydi,  chunki  ular  dasturda  «mug‘ombir»  (tutqich  bermaydigan)  xatolarni  kelib 
chiqishiga  sababa  bo‘ladi.  Ammo  bu  tavsiya  konstruktiv  emas,  chunki  ko‘p  hollarda  aynan  avvalgi 
murojaatlarga bog‘liq bo‘lgan modul axboriy jihatdan mustahkam modulni yaxshiroq ishga solishi mumkin. 
Shuning uchun bu o‘rinda quyidagi (ehtiyotkorroq) tavsiyaga amal qilish maqsadga muvofiqdir: 
-agar  mustaqil  modulni  qo‘llash  nomuvofiq  modullar  birikuviga  olib  kelmasa,  har  vaqt  shunday 
moduldan foydalanish zarur; 
-parametrik  birikuvni  ta’minlash  uchun  zarur  bo‘lib  qolgandagina,  avvalgi  murojaatlarga  bog‘liq 
bo‘lgan modullardan foydalanish mumkin; 
PDF created with pdfFactory trial version 
www.pdffactory.com


-bu  bog‘liqlik  bunday  modul  spetsifikatsiyasida  shunday  aniq  ifodalangan  bo‘lmog‘i  lozimki,  bunda 
ushbu  modulga  kelajakdagi  turli  xil  murojaatlarda  modulning  xatti-harakatlarini  istiqbollash  mumkin 
bo‘lsin. 
So‘nggi  tavsiya  bilan  bog‘liq  holda  mustaqil  (ya’ni  o‘ziga  bo‘lgan  avvalgi  murojaatlarga  bog‘liq) 
modul  holatlari  haqidagi  inson  bilimlaridan  kelib  chiqqan  tashqi  tasavvurlarga  berilgan  ta’rif  diqqatga 
sazovordir. Bu holda modul orqali amalga oshiriladigan har bir funksiya (operatsiya)ning bajarilish effektini 
mana  shu  tashqi  tasavvurlar  atamalari  vositasida  tavsiflash  lozim.  Bu,  o‘z  navbatida,  ushbu  modul  xatti-
harakatining istiqbolini belgilashni ancha osonlashtiradi. 
 

Download 2,87 Mb.

Do'stlaringiz bilan baham:
1   ...   50   51   52   53   54   55   56   57   ...   218




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish