10 -bap boyınsha qadaǵalaw sorawları
1. Programmalıq támiynat arxitekturası degende neni túsinesiz.
2. Arxitektura ko'rinisi neshe komponentten ibarat?
3. Arxitektura ko'rinislerin neshe tiykarǵı túrge bolınedi?
4. Modullı ko'rinislerge mısallar keltiriń.
5. Jaylasıw túrlerine mısallar keltiriń.
6. Arxitektura shablonlarına mısallar keltiriń.
7. Programma arxitekturasınıń kriteryaları
8. Modullı arxitektura degende neni túsinesiz.
9. Masshtablılıq (Scalability) degende neni túsinesiz.
10. Modullardı almastırıw múmkinshiligi (Swappability)
11-BAP. PROGRAMMALASTÍRÍWDÍŃ KONSTRUKCIYALAWDÍŃ ÁMELIY TÁREPLERI
§ 11. 1. Programmalıq támiynat o'lshewleri
Waqıtı -waqıtı menen qızıǵıwshılıq payda balatuǵın hám joǵalatuǵın programmalastırıw temalarınan biri bul programmalıq kod ko'rsetkishleri máselesi bolıp tabıladı. Úlken programmalıq támiynat ortalıǵında waqıtı -waqıtı menen túrli o'lshewlerdi esaplaw mexanizmleri payda baladı. Temaǵa bolǵan qızıǵıwshılıq sonnan ibarat, alar menen ne qılıw kerekligini ele anıqlanbaǵan.
Yaǵnıy, birpara instrumentler birpara o'lshewlerdi jaqsı esaplaw imkaniyatın beretuǵın sanda de, keyin ne qılıw kerekligi ko'binese uǵımsız bolıp qoldmoqda. Álbette, ko'rsetkishler kod sapasın baqlaw, programmistlerdiń " islewi" (tırnaq belgilerinde) hám jaybardı islep shıǵıw tezligi.
Ulıwma olganda, ólshewlerdan foydalanish loyiha menejerlari va kárxanalarga ishlab chiqilgan yoki hatto ishlab chiqilayotgan loyihaning quramalılıǵın úyreniw, jumıs ko'lemin, islep shıǵılǵan programma usılın hám hár bir islep shıǵıwshınıń málim bir sheshimdi ámelge asırıw ushın sarplaǵan umtılıw- háreketlerin bahalaw imkaniyatın beredi. Biraq, o'lshewler tek máslahát xarakterinde bolıp xizmet etiwi múmkin, alardı tolıq qollap bolmaydı, sebebi programmistler programmalıq támiynattı islep shıǵıwda óz programması ushın al yamasa bul o'lshewdi minimallashtirish yoki maksimal darajada oshirishga harakat qilib, programma natiyjeliligin to'menletiwge shekem bolǵan usıllarǵa shaqırıq etiwleri múmkin. Bunnan tısqarı, eger, mısalı, programmist az sanlı kod Qatarların jazǵan bolsa yamasa az sanlı strukturalıq o'zgerislerdi ámelge asırǵan bolsa, bul onıń hesh nárse etpegenligin anglatmaydi, lekin bul programma nuqsanı júdá qıyın bolǵanlıǵın ańlatıwı múmkin. Biraq, aqırǵı shınıǵıwalanı bo'lekan quramalılıq ko'rsetkishleri járdeminde sheshiw múmkin, sebebi quramalılaw programmada qáteni tabıw qıyınlaw.
Programmalıq támiynat ko'rsetkishi - bul programmalıq támiynattıń birpara qásiyetleri yamasa onıń texnikalıq qásiyetleriniń cifrlı ma'nisin alıw imkaniyatın beretuǵın o'lshew. Muǵdarlıq usıllar basqa tarawlarda jaqsı islegenligi sebepli, ko'plegen kompyuter ilimpazları hám ámeliyatshılar bul jantasıwdı programmalıq támiynattı islep shıǵıwǵa o'tkeriwge háreket qılıwdı. Úshek DeMarko aytqanı sıyaqlı, " siz o'lchay almaytuǵın zattı qadaǵalaw ete almaysız". Ámeldegi o'lshewler kompleksine to'mendegiler kiredi:
- o'sish tártibi (asimptotik analiz hám O-notatsiya kózqarasınan algoritmlardı analiz qılıwdı ańlatadı ),
- kod Qatarları sanı,
- siklomatik quramalılıq,
- funktsiya noqatların analiz qılıw,
- kodning 1000 Katarı daǵı qáteler sanı,
- test arqalı kodtı qamtıp alıw dárejesi,
- talablarni oraw,
- sinflar hám interfeysler sanı,
- Robert Sesil Martin tárepinen islep shıǵılǵan programmalıq paket o'lshewleri,
- bog'liqlik.
Áwele, programmalardıń dáslepki kodınıń muǵdarlıq qásiyetlerin esapqa alıw kerek (alardıń ápiwayılıǵın esapqa alǵan halda ). Eń elementar ko'rsetkish bul kod Qatarları sanı (SLOC). Bul ko'rsetkish daslep jaybardıń miynet ǵárejetlerin bahalaw ushın islep shıǵılǵan. Biraq, birdey funktsiyanı bir neshe Qatarlarǵa bolıw yamasa bir Katarda jazıw múmkinligi sebepli, bir Katarda bir neshe buyrıqlar jazılıwı múmkin bolǵan tiller payda bolıwı menen metrikani derlik qollamaydı. Sal sebepli koddıń logikalıq hám fizikalıq Qatarları ortasında parıq etedi. Koddıń logikalıq Qatarları programma ko'rsetpeleri sanı bolıp tabıladı. Tariypning bul versiyası de ozıniń kemshiliklerine iye, sebebi al isletiletuǵın programmalastırıw tili hám programmalastırıw usılına júdá baylanıslı. Muǵdarlıq xarakteristikalarǵa SLOCdan tısqarı qosımsha túrde to'mendegiler de kiredi:
- bos qatarlar sanı ;
- kommentariyalar sanı ;
- kommentariyalar procenti (túsindirmelerdi óz ishine alǵan Qatarlar sanınıń ulıwma Qatarlar sanına qatnası, protsentte ko'rsetilgen);
- funksiyalar (klasslar, fayllar ) ushın Qatarlardıń ortasha sanı ;
- funktsiyalar (klasslar, fayllar ) ushın derek kodın óz ishine alǵan ortasha Qatarlar sanı ;
- modullar ushın ortasha Qatarlar sanı.
Geyde qosımsha retinde programmanıń usılın bahalaw parıq etedi (F). Bul programmanı n ta teń bo'leklerge bolıw hám Fi = SIGN (Ncomm. i / Ni - 0, 1) formulası boyınsha hár bir fragment ushın balldı esaplawdan ibarat, bul jerde Ncomm. i - i- chi fragment degi túsindiriwler sanı, Ni - i -ne fragment degi Katar kodlarınıń ulıwma sanı. Keyin pútkil programma boyınsha ulıwma ball to'mendegishe anıqlanadı :
F = SUM (Fi).
Sonıń menen birge, programma kodındaǵı birpara ko'rsetkishlerdi esaplawǵa tiykarlanǵan o'lshemler taparına Halsted o'lshemleri kiredi. Bul o'lshemler to'mendegilerge tiykarlanadı :
n1 — programmanıń tákirarlanmas operatorları sanı, atap aytqanda ajıratıwshı belgiler, procedura atları hám operatsiya belgileri (operatorlar sózligi);
n2 — programmanıń tákirarlanmas operandlari sanı (operandlar sózligi); N1 — programmadaǵı operatorlardıń ulıwma sanı ;
N2 — programmadaǵı operandlarning ulıwma sanı ;
n1' — programmanıń tákirarlanmas operatorlardıń teoriyalıq sanı ; n2' — programmanıń tákirarlanmas operandlarning teoriyalıq sanı.
Kiritilgen belgilerdi esapqa alǵan halda, biz to'mendegilerdi anıqlawımız múmkin:
n=n1+n2 — programma sózligi; N=N1+N2 — programma uzınlıǵı ;
n'=n1'+n2' — bul programmanıń teoriyalıq sózligi;
N'= n1*log2 (n1) + n2*log2 (n2) - programmanıń teoriyalıq uzınlıǵı (stilistik tárepten tuwrı bolǵan programmalar ushın N dıń N' den chetlanishi 10% ten aspaydı );
v=N*log2 n — programma ko'lemi;
v'=N'*log2 n' - programmanıń teoriyalıq ko'lemi, bul jerde n* - programmanıń teoriyalıq sózligi;
L=v'/v — programmalastırıw sapa dárejesi, ideal programma ushın L=1;
L'= (2 n2) / (n1*N2) — teoriyalıq parametrlerdi esapqa almaǵan halda tek real programma parametrlerine tiykarlanǵan programmalastırıw sapa dárejesi;
EC=v/ (L') 2 — programmanı túsiniwdiń quramalılıǵı ; D=1/ L' - programmanı kodlawdıń quramalılıǵı ;
y' = v/ D2 — ańlatpanıń til dárejesi;
I=v/D — programmanıń informaciya mazmunı, bul o'zgeshelik programmanı jaratıw ushın intellektuallıq ǵárejetlerdi anıqlaw imkaniyatın beredi;
E=N' * log2 (n/L) — programmanı islep shıǵıwda zárúr bolǵan intellektuallıqlıq háreketti bahalaw, programmanı jazıwda talap etiletuǵın elementar qararlar sanın xarakteristikalaw.
Halsted o'lshewlerinen paydalanǵande, birdey funktsiyanı hár qıylı Qatarlar hám operatoralr yoirdamida jazıw múmkinshiligi menen baylanıslı kemshilikler bo'lekan oraladı. Programmalıq támiynattıń muǵdarlıq o'lshewleriniń taǵı bir túri Jilba o'lshewleri bolıp tabıladı. Alar programmanıń shártli operatorlar yamasa udayı tákirarlanatuǵın operatorları menen toldırilganligiga tiykarlanǵan programmalıq támiynattıń quramalılıǵın ko'rsetedi. Bul ko'rsetkish, ápiwayılıǵına qaramay, programmanı jazıw hám túsiniwdiń quramalılıǵın áp-áneydey sáwlelendiredi hám shártli hám udayı tákirarlanatuǵın operatorlardı jaylastırıwdıń maksimal dárejesi sıyaqlı ko'rsetkishni qosqanda, bul ko'rsetkishtiń natiyjeliligi sezilerli dárejede asadı.
Do'stlaringiz bilan baham: |