Sharof rashidov nomidagi samarqand davlat universiteti matematika fakulteti
Dasturiy modulning asosiy tavsiflari
Download 0.53 Mb.
|
dasturlash Abdulhafiz 2201 AA
Dasturiy modulning asosiy tavsiflari
Наr qanday dasturiy modul ham dastumi 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; - modullning mustaqilligi (ya’ni uning avvalgi murojaatlardan mustaqilligi). Modul о‘lchami uning tarkibidagi operatorlar yoki satrlar soni bilan o‘lchanadi. Modull o‘ta katta yoki o‘ta kichik bo‘lmasligi lozim. Kichkina modullar dasturiy modul tuzilmasming qo‘pollashib ketishiga olib keladi hamda ulami rasmiylashtirish bilan bog‘liq sarfharajatlarni qoplamasligi rnumkin. Katta modullar esa ulami о‘rganish va o‘zgartirishda noqulayliklar tug‘diradi, ular dastumi 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 boisa, u dastuming o‘ziga nisbatan tashqi qismidan shu darajada ko‘proq aloqalami berkitishi hamda buning natijasi o‘laroq, dastuming soddalashuviga shu darajada ko‘proq hissa qo‘shishi mumkin. Modul mustahkamligi darajasini baholash uchun Mayers mustahkamlik darajasi bo‘yicha tartibga solingan modullaming yettita 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, dastuming turli o‘rinlarida bir xil operatorlar ketmaketligi 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 modullaming bu sinfidan foydalanmaslik ma’qul. Umuman olganda, Mayers taklif qilgandek modullar sinfining ulaming mustahkamlik darajasiga qarab tartibga solinishi anchayin bahsli masaladir. Biroq bu uncha ahamiyatli emas, chunki mustahkamlik bo‘yicha modullaming faqat dastlabki ikkita oliy sinfi foydalanish uchun tavsiya qilinadiki, biz mana shulami 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 modullaming aynan shu sinfidan foydalanish tavsiya etiladi. (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 operatsiyalaming har biri uchun alohida murojaat shakliga ega bo’lgan maxsus kirish mavjud. Modullaming bunday sinfi oliy darajadagi mustahkamlikka ega bo’lgan modullar sinfi sifatida olib qaralishi lozim. axboriy jihatdan mustahkam modul, masalan, abstrakt turdagi ma’umotlarni ishga sola oladi. Modulli dasturlash tillarida kamida funksional jihatdan mustahkarn modullarning berilishi uchun vositalar mavjud (masalan,V tilidagi FUNCTION turdagi modul shular jumlasiga). dastlabki dasturlash tillarida axboroiy jixatdan mustahkammodullami 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 kо‘ra birikuvdir. Ikkita moduldan biri ikkinchisining ichki tarkibiga to‘g‘ridan-to‘g‘ri murojaat qilish imkoniga ega bo‘lsa, bunday moduUar birikuvi eng zaif hisoblanadi. Modullarning 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 modullaming yagona birikuv turi bu parametrik birikuvi (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 yechish uchun boshqa modulga murojaati natijasi sifatida uzatiladi. Modulning mustaqilligi (rutinnost modulya) bu uning o‘ziga avvalgi murojaatlardan mustaqilligini bildiradi. Agar modulga murojaat etish natijasi (effekti) faqatgina shu modul parametrlariga bog‘liq bo‘lsa (ya’ni unga bo‘lgan awalgi murojaatlarga bog‘liq bo‘Imasa), 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 holatigabog‘liq bo‘ladi. Bunday modul awalgi murojaatlarga bog‘liq modul deb ataladi. Mayers awalgi murojaatlarga bog‘liq (bashorat qilib bolmaydigan) modullardan foydalanishni tavsiya qilmaydi, chunki ular dasturda "mug‘ombir" (tutqich bermaydigan) xatolar kelib chiqishiga sabab bo‘ladi. Ammo bu tavsiya konstruktiv emas, chunki ko‘p hollarda aynan awalgi 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: Modulning funksional spetsifikatsiyasi ham xuddi dasturiy vositaning funksional spetsifikatsiyasi kabi tuziladi. Download 0.53 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling