• N1 koddagi operatorlarning umumiy soni
Download 0.72 Mb.
|
8.2.1.3 Halstead murakkablik ko'rsatkichlari Halstead murakkablik metrik to'plami [66] - bu LOC va Cyclomatic Complexitydan sezilarli farq qiladigan ko'rsatkichlar to'plami. Oddiy qatorlar yoki mantiqiy tuzilmalarga e'tibor qaratish o'rniga, ular to'liq manba kodining haqiqiy matn mazmuniga - manba kodidagi o'zgaruvchilar va operatorlarning nomlariga e'tibor qaratadilar. Ular kamdan-kam hollarda mustaqil ko'rsatkichlar sifatida qo'llaniladi, lekin ular keng qo'llaniladi; Buning sababi, birinchi navbatda, ular sanoatda mashhur bo'lib qoladigan va biz keyinroq to'xtaladigan yuqori darajadagi "Texnik barqarorlik indeksi" ko'rsatkichi uchun asos bo'lib xizmat qiladi. Halstead ko'rsatkichlari asosan dastlabki kod matnini ikki toifaga bo'lish mumkin degan fikrga asoslanadi: operatorlar va operandlar. Operatorlar manba kodidagi "control" elementlariga, masalan, if yoki while ko'rsatmalariga va funksiya deklaratsiyasiga ishora qiluvchi manba kodi tokenlarini tashkil qiladi. Boshqa tomondan, operandlar o'zgaruvchilar va funktsiyalar nomlari va o'zgaruvchilar qiymatlari kabi ma'lumotlarga mos keladi. Metrik to'plam ko'rib chiqilayotgan manba kodini ushbu ikki toifaga bo'lish yo'li bilan hisoblanadi - operatorlar va operandlar to'plamini ishlab chiqarish. Keyin ular to'rtta qiymatni ishlab chiqarish uchun ishlatiladi: • n1 - alohida operatorlar soni. • N1 - koddagi operatorlarning umumiy soni. • n2 - alohida operandlar soni. • N2 - koddagi operandlarning umumiy soni. Ushbu qiymatlardan haqiqiy ko'rsatkichlar quyidagicha hisoblanadi: • Dastur uzunligi N = N1+N2 • Dastur lug'ati= n = n1+n2 • Hajm = N ∗(log2n) • Qiyinchilik = • Harakat = Qiyinchilik∗Hajm Mashq: Sevimli tilingizda yozilgan (kichik) manba kod faylini tanlang. Buning uchun Halstead ko'rsatkichlarini hisoblang. Agar siz yuqoridagi mashqni bajarishga urinib ko'rgan bo'lsangiz, Halsteadning zaif tomonlaridan biri tezda aniq bo'ladi: operator nima va operandni tashkil etishi har doim ham aniq emas. Biroq, bu ikki tushuncha o'rtasidagi chegaralar metrik qiymatlar uchun juda muhimdir. Aniq boshqaruv va ma'lumotlar tuzilmalari (masalan, yuqorida sanab o'tilganlar) mavjud bo'lsa-da, boshqalari ko'proq muammoli bo'lishi mumkin. Masalan, qavs yoki nuqtali vergul kabi sintaksis haqida nima deyish mumkin? Izohlangan matn haqida nima deyish mumkin? Bu haqiqiylik haqida jiddiy savollar tug'diradi. Mashq: Vakillik o’lchov birligi teoremasidagi ishonchlilik mazmuniga ko’ra, nima uchun ba’zi kattaliklarning ishonchlikligini asoslash murakkab hisoblanadi? 8.2.1.4 Funktsiya nuqtalari Hajmi o'lchovlari faqat manba kodidan oshib ketishi mumkin. Ko'pincha, dasturiy ta'minot tizimining o'lchami yoki murakkabligi haqida fikr yuritganda, manba kodi hali mavjud bo'lmasligi mumkin (masalan, hali ishlab chiqilmagan tizimning narxini taxmin qilishda). Dasturiy ta'minot hajmining o'lchovini ta'minlashda manba kodiga asoslangan ko'rsatkichlarga (ehtimol hayratlanarli) juda kam alternativalar mavjud.
Funktsiya nuqtalari tizim va uning muhiti o'rtasidagi har bir "iteratsiya" ni quyidagicha tasniflash orqali hisoblanadi: 1. Tashqi kirishlar: Kirishlar foydalanuvchi tomonidan taqdim etiladi. 2. Tashqi chiqishlar: Chiqishlar tashqaridan taqdim etiladi (masalan, foydalanuvchiga GUI orqali). 3. Tashqi so'rovlar: ma'lumotlar foydalanuvchidan so'raladi (masalan, dialog oynalari orqali). 4. Ichki fayllar: Ma'lumotlar fayllarga saqlanadi. 5. Tashqi fayllar: Ma'lumotlar tashqi mexanizmlar (masalan, ma'lumotlar bazalari) orqali saqlanadi. Har bir shovqin, shuningdek, uchta qiyinchilik darajasiga ko'ra baholanadi - oddiy, o'rtacha va qiyin. Kategoriya va qiyinchilikning har bir kombinatsiyasi uchun "qiyinchilik vazni" (w) taqdim etiladi (bu qat'iy qiymat). O'zaro ta'sirlarni hisoblash va tortishishlarning natijaviy kombinatsiyasi 8.1-jadvalda ko'rsatilganidek, jadval ko'rinishida ko'rsatilishi mumkin.
Download 0.72 Mb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling