§ 11.3. Ma’lumotlar oqimining murakkabligi o’lchovlari
O’lchovlarning keyingi sinfi - bu ma’lumotlar oqimining murakkabligi o’lchovlaridir. Chapin o’lchovi: usulning mohiyati kirish / chiqish ro’yxatidagi o’zgaruvchilardan foydalanishni tahlil qilish orqali yagona dastur modulining axborot quvvatini baholashdan iborat.
Kirish - chiqish ro’yxatini tashkil etuvchi o’zgaruvchilarning butun to’plami 4 funktsional guruhga bo’lingan:
P - hisob-kitoblar va chiqishni ta’minlash uchun kirish o’zgaruvchilari
M – modifikatsiya qilingan yoki dastur ichida yaratilgan o’zgaruvchilar,
C - dastur modulining ishlashini boshqarishda ishtirok etuvchi o’zgaruvchilar (boshqaruvchi o’zgaruvchilar),
T - dasturda ishlatilmaydigan ("parazit") o’zgaruvchilar.
Har bir o’zgaruvchi bir vaqtning o’zida bir nechta funktsiyalarni bajarishi mumkinligi sababli, uni har bir tegishli funktsional guruhda hisobga olish kerak.
Chapin ko’rsatkichi:
Q = a1*P + a2*M + a3*C + a4*T,
bu yerda a1, a2, a3, a4 vazn koeffitsientlari.
Vaznlik koeffitsientlari har bir funktsional guruh dasturining murakkabligiga turli xil ta’sir ko’rsatish uchun ishlatiladi. O’lchov muallifining so’zlariga ko’ra, C funktsional guruhi eng yuqori 3 ga teng vaznga ega, chunki u dasturni boshqarish
oqimiga ta’sir qiladi. Qolgan guruhlarning vazn koeffitsientlari quyidagicha taqsimlanadi:
a1=1, a2=2, a4=0,5.
T guruhining vazn koeffitsienti 0 ga teng emas, chunki "parazit" o’zgaruvchilar dasturning ma’lumotlar oqimining murakkabligini oshirmaydi, lekin ba’zida uni tushunishni qiyinlashtiradi. Og’irlik koeffitsientlarini hisobga olgan holda:
Q = P + 2M + 3C + 0,5T.
Span o’lchovi har bir dastur bo’limi oralig’ida ma’lumotlarga kirishni mahalliylashtirishga asoslanadi. Span - dastur matnidagi berilgan identifikatorni o’z ichiga olgan birinchi va oxirgi takrorlanish oralig’idagi bayonotlar (komandalar) soni. Shuning uchun n marta paydo bo’lgan identifikator n-1 spanga ega. Katta qiymatga ega spanda testlash va dasturning xatolarini aniqlashni qiyinlashadi.
Ma’lumotlar oqimining murakkabligini hisobga oladigan yana bir o’lchov dasturning murakkabligini global o’zgaruvchilarga murojaatlar bilan bog’laydigan o’lchovdir. “Modul-global o’zgaruvchilar” juftligi (p,r) sifatida belgilanadi, bu yerda “p” - global o’zgaruvchi “r” ga kirish huquqiga ega bo’lgan modul. Dasturda “r” o’zgaruvchiga haqiqiy murojaat mavjudligiga qarab, ikki turdagi "modul - global o’zgaruvchi" juftlari hosil bo’ladi: haqiqiy va mumkin bo’lgan. “r” ga “p” yordamida mumkin bo’lgan murojaat shuni ko’rsatadiki, “r” ning mavjudlik sohasi “p” ni o’z ichiga oladi. Bu xususiyat Aup bilan belgilanadi va Up modullari global o’zgaruvchilarga murojaat qilish uchun necha marta haqiqatda ruxsat olganliklarini va Pup raqami ular necha marta ruxsat olish mumkinligini bildiradi. Haqiqiy murojaatlar sonining mumkin bo’lgan murojaatlar soniga nisbati quyidagi ifoda bilan belgilanadi:
Do'stlaringiz bilan baham: |