logo

METROLOGIYA VA QIYOSLASH MCHJNING ISH FAOLIYATINI TASHKIL ETISHNING VEB ILOVASI LOYIHALASH

Yuklangan vaqt:

20.11.2024

Ko'chirishlar soni:

0

Hajmi:

7490.4443359375 KB
METROLOGIYA VA QIYOSLASH MCHJNING ISH FAOLIYATINI
TASHKIL ETISHNING VEB ILOVASI LOYIHALASH
MUNDARIJA
KIRISH ................................................................................................................................................................ 3
I BOB. “METROLOGIYA, STANDARTLASHTIRISH VA SERTIFIKATLASHTIRISH” SOHASINING MAQSAD VA 
VAZIFALARI ........................................................................................................................................................ 5
1.1. Metrologiyaning asosiy tushunchalari va atamalari ............................ 5
1.2. Metrologiyada sertifikatlashtirish va uning asosiy tushunchalari . . . 10
II BOB. VEB ILOVANI LOYIHALASH UCHUN JAVASCRIPTGA MOʻLJALLANGAN VEB-FREYMVORKLAR ............... 14
2.1. Node.js ilovalari uchun Express.js veb-freymvorki ............................ 14
2.2. Node.js ilovalarida shablon mexanizmlariga moʻljallangan Pug.js 
veb-freymvorki .............................................................................................. 16
III BOB. DASTURIY TA’MINOTNI LOYIHALASH VA ISHLAB CHIQISH .................................................................. 26
3.1. Dasturiy ta’minotning mantiqiy loyihasi ............................................. 26
3.2. Dasturiy ta’minotning fizik jihatdan yaratilishi ................................... 30
XULOSA ............................................................................................................................................................ 39
FOYDALANILGAN ADABIYOTLAR ROʻYXATI ...................................................................................................... 40
ILOVALAR ......................................................................................................................................................... 42
2 KIRISH
Zamonaviy   axborot   va   kommunikatsiya   texnologiyalari   sohasida   turli
metrologik,   standartlashtirish   sifat   va   sifat   boshqaruvi,   sertifikatlashtirish   bo yichaʻ
masalalar   bilan   shug’ullanish,   hamda   me’yoriy   hujjatlar   va   standartlar   bilan   ishlash
borasida   yo nalishga   mos   yetarli   bilim,   ko nikma   va   malakalarini   shakllantirishdir.	
ʻ ʻ
Shuning   uchun   o lchashlar   birliligini   ta’minlash,   standartlashtirish   va	
ʻ
sertifikatlashtirish tizimlarini o rganish dolzarb masalalardan biri hisoblanadi.	
ʻ
So nggi   yillarda   axborot   texnologiyasi   kirib   bormagan   sohalar   soni   tobora	
ʻ
kamayib bormoqda. Shu jumladan metrologiya sohasida ham bu o zgarishlar yaqqol	
ʻ
ko zga tashlanmoqda. Metrologiya sohasi o lchovlar, ularning bir xilligini ta minlash	
ʻ ʻ ʼ
usullari   va   vositalari   hamda   talab   etilgan   aniqlikka   erishish   yo llari   haqidagi   fandir	
ʻ
Mazkur   soha   tabiiy   fanlarni   o zlashtirishda,   keyinchalik   esa   ishlab   chiqarish,	
ʻ
loyihalash   va   tadqiqot   ishlarida   kerak   bo ladigan   asosiy   negiz   tushunchalarni	
ʻ
o rganadi.   Axborot   tizimlar   orqali   ushbu   sohadagi   jarayonlarni   raqamlashtirishimiz,	
ʻ
qo lda bajarilayotgan murakkab masalalarni avtomatlashtirishimiz mumkin. 
ʻ
Metrologiyada   mahsulot   (buyum,   tovar)   yoki   xizmat   muayyan   standartga   yoki
texnikaviy   shartlarga   muvofiq   kelishini   tasdiqlash   maqsadida   o tkaziladigan   faoliyat	
ʻ
ham   ko rsatiladi.   Ushbu   faoliyat   sertifikatlashtirish   deb   ataladi.   Sertifikatlashtirish	
ʻ
faoliyati   natijasida   mahsulot   (buyum,   tovar)ning   sifati   haqida   iste’molchini
ishontiradigan   tegishli   hujjat   -   sertifikat   beriladi.   Sertifikatlashtirish   jarayonining
qo lda bajarilishi murakkab bo lib, ushbu vazifa ko p vaqtni talab qiladi. 	
ʻ ʻ ʻ
Ushbu   bitiruv   malakaviy   ishda   “Metrologiya   va   qiyoslash   MCHJning   ish
faoliyatini tashkil etishning veb ilovasi loyihalash” masalasi ko rib chiqilgan. Bitiruv	
ʻ
malakaviy   ishi   natijasida   MCHJning   ish   faoliyati   o rganilgan   hamda   uning	
ʻ
sertifikatlash   tizimining   murakkabliklari   tahlil   qilinib,   tahlilllar   asosida   veb   ilova
ishlab chiqilgan.
Ishning maqsadi.  Bitiruv malakaviy ishining maqsadi   metrologiya va qiyoslash
MCHJning ish faoliyatini tashkil etishning veb ilovasini  ishlab chiqishdan iborat.
3 Ishning ilmiy va amaliy ahamiyati.  Bitiruv malakaviy ishining ilmiy ahamiyati
metrologiya   xizmati   haqida   ko nikmalarga   ega   bo lish,   axborot   tizimlariningʻ ʻ
integratsiya   bosqichlari   haqida   tasavvur   hosil   qilish,   ma lumotlar   xavfsizligini	
ʼ
ta minlash uchun amaliy ishlarni o rganib chiqish vazifalarini shakllantiradi.	
ʼ ʻ
Bitiruv malakaviy ish strukturasi.   Ish uchta bob, xulosa,  adabiyotlar  ro yxati	
ʻ
va ilovalardan iborat. 
Birinchi   bobda   metrologiya   xizmati,   uning   asosiy   vazifalari,   unda   mavjud
bo lgan   murakkabliklar,   asosiy   masalalari   o rganib   chiqilgan.   Shuningdek,	
ʻ ʻ
metrologiya   xizmatida   mavjud   bo lgan   tushunchalar,   atamalarning   ta’riflari,	
ʻ
metrologik   faoliyatni   boshqarish   va   amalga   oshirish   haqida   ma’lumotlar
keltirilgan . 
Ikkinchi bobda  dasturiy ta’minotni ishlab chiqish uchun qo llanilgan dasturlash	
ʻ
tili,   tanlab   olingan   web   texnologiya   haqida   ma’lumotlar   keltirilgan.   Jumaladan,
JavaScript   dasturlash   tili,   Node.js   texnologiyasi   va   uning   tarkibida   qo llaniladigan	
ʻ
Express.js haqida tushunchalar berilgan.
Uchinchi   bob da ,  unda  tanlab  olingan  texnologiyani  amaliy  qo llash  masalalari	
ʻ
batafsil   ko rib   chiqiladi.   Bobning   birinchi   qismida	
ʻ   dasturiy   ta minot   ma lumotlar	ʼ ʼ
bazasining mantiqiy strukturasi  va uni shakllantirish haqida to xtalib o tilgan bo lib,	
ʻ ʻ ʻ
keyingi   qismlarda   dasturiy   ta minotning   fizik   jihatdan   yaratilishi   va   dasturiy	
ʼ
ta minotning imkoniyatlari haqida ma lumotlar berilgan. 	
ʼ ʼ
Xulosada   asosiy   natijalar   va   takliflar,   adabiyotlar   ro yxatida	
ʻ   qo llanilgan	ʻ
materiallar va internet-resurslar, ilovalarda esa, boshqaruvchi va qo shimcha dasturiy	
ʻ
modullar matnlari keltirilgan. 
4 I BOB. “METROLOGIYA, STANDARTLASHTIRISH VA
SERTIFIKATLASHTIRISH” SOHASINING MAQSAD VA VAZIFALARI
1.1. Metrologiyaning asosiy tushunchalari va atamalari
So nggi   yillarda   metrologiya   sohasida  ʻ zamonaviy   texnologiyalardan
foydalangan   holda   bir   qancha   o zgarishlar   kiritilishi   mumligini   kuzatish   mumkin.	
ʻ
Jumladan,   tizimlar   orqali   ushbu   sohadagi   jarayonlarni   raqamlashtirishimiz,   qo lda	
ʻ
bajarilayotgan murakkab masalalarni avtomatlashtirishimiz mumkin . 
Metrologiya bu o lchovlar, ularning bir xilligini ta minlash usullari va vositalari	
ʻ ʼ
hamda   talab   etilgan   aniqlikka   erishish   yo llari   haqidagi   fandir   [6].   Ushbu   sohaning	
ʻ
asosiy muammolariga sirasiga quyidagilarni kiritishimiz mumkin:
1) o lchashlarning umumiy nazariyasi; 	
ʻ
2) kattaliklar birliklarini va ularning tizimlarini yaratish; 
3) o lchash usullari va vositalari; 
ʻ
4) o lchashlar bir xilligini ta minlash; 
ʻ ʼ
5) etalonlarni yaratish; 
Metrologiyada   mahsulot   (buyum,   tovar)   yoki   xizmat   muayyan   standartga   yoki
texnikaviy   shartlarga   muvofiq   kelishini   tasdiqlash   maqsadida   o tkaziladigan   faoliyat	
ʻ
ham ko rsatiladi. Ushbu faoliyat sertifikatlashtirish deb ataladi [7]. Sertifikatlashtirish	
ʻ
faoliyati   natijasida   mahsulot   (buyum,   tovar)ning   sifati   haqida   iste’molchini
ishontiradigan   tegishli   hujjat   -   sertifikat   beriladi.   Sertifikatlashtirish   jarayonining
qo lda   bajarilishi   murakkab   bo lib,   ushbu   vazifa   ko p   vaqtni   talab   qiladi.   Bundan	
ʻ ʻ ʻ
tashqari   mahsulot   (buyum,   tovar)larga   berilgan   sertifikatlarning   soxta   variantini
tayyorlash,   tayyorlangan   sertifikatda   noto g’ri   ma’lumotlarning   aks   etish   holatlari	
ʻ
ham mavjud bo lishi mumkin. 	
ʻ
Metrologik   me’yorlar   va   qoidalarning   xalqaro   va   tarmoqlararo   ahamiyatini
hisobga   olgan   holda   o zaro   tushunish   va   harakatlarni   kelishishda   metrologik	
ʻ
atamalarning   birliligi   va   qabul   qilingan   tushunchalarga   aniq   rioya   qilish   muhim
ahamiyat   kasb   etadi.   O zbekiston   Respublikasining   “Metrologiya   to g’risida”
ʻ ʻ
5 Qonunida [1], O z O DT ning asos bo luvchi hujjatlari O z DSt 8.010:2002 [3], O zʻ ʻ ʻ ʻ ʻ
DSt   8.010.2:2003   [3],   O z   DSt   8.010.3:2004   [4],   O z   DSt   8.010.4:2002   [5]   da   va	
ʻ ʻ
aloqa   va   axborotlashtirish   sohasida   foydalaniladigan   “Tst   45.025.2000.   Metrologik
ta’minot. Atamalar.” tarmoq standartida metrologiya bo yicha quyidagi asosiy atama	
ʻ
va tushunchalar keltirilgan [6]:
Metrologiya   – o lchashlar, ularning birliligini ta’minlash metodlari va vositalari	
ʻ
va talab etilgan aniqlikka erishish usullari to g’risidagi fan;	
ʻ
O lchashlar   birliligi	
ʻ   –   O lchashlarning   natijalari   qonunlashtirilgan   birliklarda	ʻ
ifodalangan   va   o lchashlarning   xatoliklari   berilgan   ehtimollik   bilan   ma’lum   bo lgan	
ʻ ʻ
holat;
O lchash  	
ʻ –   maxsus   texnik   vositalar   yordamida   fizik   kattaliklar   qiymatlarini
tajriba yo li bilan topish;	
ʻ
O lchash   vositasi	
ʻ   normalashtirilgan   metrologik   tavsifga   ega   bo lgan   o lchash	ʻ ʻ
asbobidir.   O lchash   vositasi,   o z   navbatida,   o lchov,   o lchash   o zgartirgichlari,	
ʻ ʻ ʻ ʻ ʻ
o lchov   asboblari,   o lchash   axborot   tizimi   va   o lchash   qurilmalari   kabi   turkumlarga	
ʻ ʻ ʻ
bo linadi;
ʻ
O lchash   asbobi   (pribor)	
ʻ   deb,   kuzatuvchi   idrok   qilishi   uchun   qulay   shakldagi
o lchov informasiyasi signalini ishlab chiqishga xizmat qiladigan o lchash vositasiga	
ʻ ʻ
aytiladi;
O lchov   kattaliklari	
ʻ   deb,   berilgan   o lchamli   fizik   qayta   tiklash   uchun	ʻ
mo ljallangan   o lchash   vositasiga   aytiladi.  	
ʻ ʻ O lchovlar   to plami	ʻ ʻ   deb,   maxsus
tanlangan,   faqat   alohidagina   emas,   balki   turli   birikmalarda   turli   o lchamli   qator   bir	
ʻ
nomli   kattaliklarni   qayta   o lchash   maqsadida   qo llaniladigan   o lchovlar   majmuiga	
ʻ ʻ ʻ
aytiladi;
Birlik  etaloni   –  Fizik kattalikning  o lchamini   boshqa  o lchash   vositasiga  berish	
ʻ ʻ
maqsadida   fizik   kattalik   birligining   o lchamini   qayta   tiklash   va   saqlash   uchun
ʻ
mo ljallangan o lchashlar vositasi;	
ʻ ʻ
6 Davlat   etaloni   –   O zbekiston   Respublikasi   hududida   kattalik   birliginingʻ
o lchamini   o rnatish   uchun   milliy   idora   vakilining   qarori   bilan   boshlang’ich   etalon	
ʻ ʻ
sifatida tan olingan etalon;
Etalonlar   –   fan   va   texnikaning   eng   yuksak   saviyasida   aniqlik   o lchovlarga	
ʻ
aytiladi;
O lchov birligi	
ʻ   – o lchash  natijasi  ko rsatilgan birlikda ifodalangan va o lchash	ʻ ʻ ʻ
xatoligi berilgan ehtimollikda ma’lum bo lgan o lchash holatidir;	
ʻ ʻ
O lchash   aniqligi	
ʻ   –   bu   o lchash   natijalarini   va   o lchanayotgan   kattalik   haqiqiy	ʻ ʻ
qiymatining mos kelish darajasidir;
O lchash   xatoligi	
ʻ   –   o‘lchash   natijasining   o lchanayotgan   kattalikning   asl	ʻ
qiymatidan farqlanishidir;
Fizikaviy   kattalikning   asl   qiymati   xatoliklardan   xoli   bo lgan   qiymatdir.	
ʻ
O lchanayotgan   kattalikning   haqiqiy   qiymati   yo l   qo yilgan   xatoliklar   ta’sirida	
ʻ ʻ ʻ
olingan natijalar qiymatidir. O lchash obyekti u yoki bu fizik kattalikdir;	
ʻ
Qonunlashtiruvchi   metrologiya   –   bu   metrologiyaning   bir   qismi   bo lib	
ʻ
metrologiya   bo yicha   milliy   organ   tomonidan   amalga   oshiriladigan   faoliyatga	
ʻ
taalluqli   va   birliklar,   o lchash   vositalari,   o lchash   laboratoriyalariga   doir   davlat	
ʻ ʻ
talablariga ega;
Metrologiya   xizmati   –   davlat   idoralari   va   yuridik   shaxslarning   metrologik
xizmatlari   tarmoqlari   hamda   ularning   o lchashlar   birliligini   ta’minlashga	
ʻ
yo naltirilgan faoliyati;	
ʻ
O lchash   vositalarining   qiyoslanishni   olib   borish   uchun   metrologik   xizmatni	
ʻ
akkreditlash  – bu qiyoslashishlarini bajarishga davlat tomonidan, davlatning ishonchli
vakili   tomonidan   rasmiy   tan   olinishi.   O lchash   vositasini   qiyoslash   usuli	
ʻ   –   bu
qiyoslash   sxemasi   bo yicha   yuqoridagi   o lchash   vositalaridan   quyidagi   o lchash	
ʻ ʻ ʻ
vositalariga birlikning o lchamini uzatish usuli;
ʻ
7 O lchash   vositalarining   qiyoslash   natijalarini   rasmiylashtirishʻ   –   bu   o lchash	ʻ
vositalarini qiyoslash natijalari bo yicha rasmiy hujjatni tuzish va o lchash vositasini	
ʻ ʻ
yaroqliligini ko rsatish;	
ʻ
O lchash   vositalarini   taqqoslash	
ʻ   –   bu   sistematik   xatoliklarni   aniqlash   uchun
o lchash vositasini etalon yoki o sha turdagi namuna o lchash vositasiga solishtirish,	
ʻ ʻ ʻ
ya’ni o lchovni o lchov bilan, priborni pribor bilan;	
ʻ ʻ
Bazaviy   (asos)   metrologiya   xizmati   –   bu   aloqa   va   axborotlashtirish   sohasidagi
xizmat   bo lib,   biriktirilgan   xo jalik   yurituvchi   subyektlarning   metrologik   ta’minot	
ʻ ʻ
masalalari bo yicha ish faoliyatini muvofiqlashtiruvchi xizmat;	
ʻ
Davlat   metrologiya   nazorati   –   bu   o lchash   vositalarining   turi   va   qiyoslanishi,	
ʻ
sotilishi   va   ularning   prokatini   lisenziyalash   bo yicha   davlat   metrologiya   xizmati	
ʻ
organi tomonidan amalga oshiriladigan faoliyatdir;
Davlat metrologiya tekshiruvi   – bu davlat metrologiya xizmati organi tomonidan
amalga   oshiriladigan   metrologiya   qoidalariga   rioya   qilinishi   tekshirish   maqsadidagi
faoliyatdir;
O lchanadigan kattalik	
ʻ  – o lchashga tortiladigan kattalik;	ʻ
O lchash vositasini kalibrlash  	
ʻ - bu kalibrlash laboratoriyasi tomonidan o lchash	ʻ
vositasining   metrologik   xarakteristikasi   haqiqiy   qiymatlarini   va   qo llanilishga	
ʻ
yaroqliligini aniqlash va tasdiqlash maqsadidagi muolajalar majmuidir;
O lchash   vositalarini   qiyoslash	
ʻ   –   o lchash   vositalarining   o rnatilgan   texnik	ʻ ʻ
talablarga   muvofiqligini   aniqlash   va   tasdiqlash   maqsadida   davlat   metrologik   xizmat
idoralari (boshqa vakolatlangan idoralar, tashkilotlar) bajaradigan amallar majmui;
O lchash vositalarini tayyorlash (ta’mirlash, sotish, ijaraga berish) ga lisenziya	
ʻ
– ko rsatilgan faoliyat turlari bilan shug’ullanishga huquqini tasdiqlovchi, yuridik va	
ʻ
jismoniy shaxslarga davlat metrologik xizmat idoralari tomonidan beriladigan hujjat;
O lchash vositalarini  metrologik attestatlash	
ʻ   – donalab ishlab chiqarilgan (yoki
O zbekiston   hududiga   donalab   keltirilgan)   o lchash   vositalarining,   ularning	
ʻ ʻ
8 xossalarini sinchiklab tadqiq etish asosida, qo llanishga huquqli ekanligini metrologikʻ
xizmat tomonidan tan olish;
Metrologik   laboratoriyalarni   xizmatlar,   markazlar,   akkreditlash   –   metrologik
xizmatlar,   markazlar,   laboratoriyalarning   o rnatilgan   akkreditlash   doirasida	
ʻ
o lchashlar birliligini ta’minlash bo yicha ishlarni o tkazishga huquqligini rasmiy tan	
ʻ ʻ ʻ
olish;
Yuridik   shaxslarning   metrologik   xizmatlarini   o lchash   vositalarini   kalibrlash	
ʻ
huquqiga   akkreditlash   –   yuridik   shaxslar   metrologik   xizmatlarining   o rnatilgan	
ʻ
doirada o lchash vositalarini kalibrlashni o tkazish huquqini rasmiy tan olish;	
ʻ ʻ
O lchashlarni   bajarish   metodikalarini   metrologik   attestatlash	
ʻ   –   o lchashlarni	ʻ
bajarish metodikasining unga qo yilgan metrologik talablarga muvofiqligini baholash	
ʻ
va tasdiqlash maqsadida o tkaziladigan tadqiqot;	
ʻ
O lchashlarni   bajarish   metodikasi  	
ʻ –   o lchashlar   natijalariga   avvaldan   ma’lum	ʻ
bo lgan xatolik bilan erishishni ta’minlaydigan ishlar va qoidalar majmui;	
ʻ
Tekshirish   -   bu   belgilangan   talablarni   to laqonli   ta’minlash   uchun   obyektiv	
ʻ
dalillar yordamida ko rikdan o tkazishni ta’minlash. 	
ʻ ʻ
Met rologik  faoliy at ni  boshqarish  v a  amalga  oshirish.   Oʻzbekiston
Respublikasida   metrologiyaga   oid   faoliyatni   davlat   tomonidan
boshqarishni   metrologiya   boʻyicha   milliy   organ   –   Oʻzbekiston   texnik
jihatdan  tartibga   solish  agentligi   amalga  oshiradi. Agentlikning vakolatiga
quyidagilar kiradi:
● metrologiya   sohasida   yagona   davlat   siyosatini   amalga   oshirish,
metrologiyaga   oid   faoliyatni   mintaqalararo   va   tarmoqlararo
muvofiqlashtirish;   milliy   etalonlarni   yaratish,   tasdiqlash,   saqlash   va
qoʻllab-quvvatlash   hamda   ularning   xalqaro   darajada   solishtirishni
ta’minlash qoidalarini belgilash;
9 ● oʻlchov   vositalari,   usullari   va   natijalariga   qoʻyiladigan   umumiy
metrologik talablarni aniqlash;
● davlat metrologiya tekshiruvi va nazoratini amalga oshirish;
● metrologiya masalalari boʻyicha normativ hujjatlarni, shu jumladan
davlatning   boshqa   boshqaruv   organlari   bilan   hamkorlikda   Oʻzbekiston
Respublikasining butun hududida majburiy kuchga ega boʻlgan normativ
hujjatlarni   qabul   qilish;   metrologiya   sohasida   ilmiy   va   muhandis-texnik
kadrlar   tayyorlash;   Oʻzbekiston   Respublikasining   metrologiya   sohasidagi
xalqaro shartnomalariga rioya etilishi ustidan nazoratni amalga oshirish;
● metrologiya   masalalari   boʻyicha   xalqaro   tashkilotlar   faoliyatida
qatnashish kiradi;
● Oʻzbekiston   Respublikasining   oʻlchovlarning   yagona   birlikda
boʻlishini   ta’minlash   tizimi   faoliyat   olib   borishi   va   rivojlanishini   hamda
uning   xalqaro   oʻlchov   tizimi   va   boshqa   mamlakatlarning   oʻlchovlar
tizimlari bilan uyg’unlashuvini ta’minlash;
● iste’molchilar   xuquqlarini,   fuqarolarning   sog’lig’i   va   xavfsizligi,
atrof-muhitni   hamda   davlat   manfaatlarini   notoʻg’ri   oʻlchov   natijalarining
salbiy   oqibatlaridan   muhofaza   qilishga   doir   chora-tadbirlarni   amalga
oshirish.
1.2. Metrologiyada sertifikatlashtirish va uning asosiy tushunchalari
Metrologiyada   sertifikatlashtirish   jarayoni   o lchov   vositalarining   va   o lchashʻ ʻ
natijalarining aniq va ishonchli bo lishini ta’minlash maqsadida amalga oshiriladi. Bu	
ʻ
jarayon   davlat   yoki   xalqaro   standartlarga   muvofiqlikni   tekshirish,   tasdiqlash   va
sertifikat berishni o z ichiga oladi [6].	
ʻ
10 Sertifikatlashtirish   –   mahsulot   (buyum,   tovar)   yoki   xizmat   muayyan   standartga
yoki   texnikaviy   shartlarga   muvofiq   kelishini   tasdiqlash   maqsadida   o tkaziladiganʻ
faoliyat   tushunilib,   ushbu   faoliyat   natijasida   mahsulot   (buyum,   tovar)ning   sifati
haqida iste’molchini ishontiradigan tegishli hujjat –  sertifikat  beriladi;
Sinash   –   bu   o rnatilgan  	
ʻ muolajaga   muvofiq   holda   bir   yoki   bir   nechta
xarakteristikani aniqlash;
Sinash laboratoriyasi  – sinashlarni o tkazadigan laboratoriya;	
ʻ
Akkreditlash   tizimi   –   a kkreditlashni   o tkazish   uchun   protseduralar   va	
ʻ
boshqaruvning o z qoidalariga ega bo lgan tizim;	
ʻ ʻ
Akkreditlash   –   p rotsedura   bo lib,   uning   vositasida   vakolatli   idora   shaxs   yoki	
ʻ
idoraning muayyan ishni bajarish huquqiga ega ekanligini rasmiy tan oladi;
Akkreditlash   bo yicha   idora	
ʻ   –   a kkreditlash   tizimini   boshqaruvchi   va
akkreditlashni o tkazuvchi idora;	
ʻ
Inspeksiya   tekshiruvi   –   sertifikatlashtirish   va   akkreditlashda   o rnatilgan	
ʻ
talablarga   muvofiqligini   tasdiqlash   maqsadida   sertifikatlashtirilgan   mahsulot,   sifat
yoki   ishlab   chiqarishni   boshqarish   tizimlari,   sertifikatlashtirish   bo yicha   idoralar,	
ʻ
sinash laboratoriyalari (markazlari) ning faoliyatini takroriy baholash protsedurasi;
Sifat  –  o	
ʻ z tafsilotlari majmuining talablarga muvofiqlik darajasi.
Sifat   menejmenti   tizimi   –   sifatga   nisbatan   tashkilotga   rahbarlik   qilish   va
boshqarish uchun menejment tizimi.
“ Sertifikatlashtirish   tizimi”   atamasidan   tashqari,   sertifikatlashtirish   sxemasi
kiritilib,   u   quyidagicha   ta’riflanadi:   “Muvofiqlikning   sertifikatlashtirilishini
o tkazishdagi uchinchi tomon faoliyatining tarkibi va tartibi”.	
ʻ  
O‘zbek ist on   Respublik asi   met rologiy a   xizmat ining   t uzilishi.
Mamlakatimizda   metrologiya   xizmati   davlat   metrologiya   xizmatidan   va
yuridik shaxslarning metrologiya xizmatlaridan tarkib topadi.
11 Oʻzbekiston   texnik   jihatdan   tartibga   solish   agentligi   boshchilik
qiladigan   davlat   metrologiya   xizmatiga   Qoraqalpog’iston   Respublikasi,
viloyatlar   va   Toshkent   shahridagi   davlat   metrologiya   xizmati   organlari
kiradi.
Davlat metrologiya xizmati organlari davlat metrologiya tekshiruvi va
nazoratini,   shuningdek   faoliyatning   boshqa   turlarini   amaldagi   qonun
hujjatlariga   muvofiq   amalga   oshiradi.   Yuridik   shaxslarning   metrologiya
xizmatlari   zarurat   boʻlgan   hollarda   oʻlchovlarning   yagona   birligini
ta’minlash   boʻyicha   ishlarni   bajarish   va   metrologiya   nazoratini   amalga
oshirish   uchun   tuziladi.   Yuridik   shaxslar   metrologiya   xizmatlarining
huquq   va   burchlari   davlat   metrologiya   xizmati   organlari   bilan   kelishib
olingan nizomlar bilan belgilanadi [1].
Davlat metrologik tekshiruv va nazoratdan o‘tkaziladigan obyektlar. 
Quyidagilar davlat metrologik tekshiruv va nazorati obyektlari hisoblanadi:
- etalonlar;
- o‘lchov vositalari;
- moddalar va materiallar tarkibi hamda xossalarining standart namunalari;
- axborot-o‘lchov tizimlari;
- o‘lchovlarni bajarish uslubiyatlari;
- metrologiya normalari va qoidalarida nazarda tutilgan o‘zga obyektlar.
Yuqoridagi   vazifalarga   ko ra   metrologiya   sohasida  ʻ sertifikatlashtirish
jarayonining qo lda bajarilishi murakkab bo lib, ushbu vazifa ko p vaqtni talab qiladi.	
ʻ ʻ ʻ
Bundan   tashqari   mahsulot   (buyum,   tovar)larga   berilgan   sertifikatlarning   soxta
variantini   tayyorlash,   tayyorlangan   sertifikatda   noto g’ri   ma’lumotlarning   aks   etish	
ʻ
holatlari ham mavjud bo lishi mumkin. 	
ʻ
12 Yuqorida   keltirilgan   muammolarni   bartaraf   etish   maqsadida   metrologiyada
sertifikatlashtirish dasturiy ta’minotining veb ilovasini yaratish hamda uni amaliyotga
joriy etish dolzarb vazifalardan biri hisoblanadi. 
13 II BOB. VEB ILOVANI LOYIHALASH UCHUN JAVASCRIPTGA
MO LJALLANGAN VEB-FREYMVORKLARʻ
2.1. Node.js ilovalari uchun Express.js veb-freymvorki
JavaScript   –   bu   interaktiv   va   dinamik   veb-saytlarni   yaratish   uchun   keng
qo llaniladigan  dasturlash  tili. U  birinchi   marta 1995-yilda Brendan  Eich tomonidan	
ʻ
ishlab   chiqilgan   va   hozirda   ECMAScript   standartlari   organi   tomonidan   qo llab-	
ʻ
quvvatlanadi.   JavaScript   barcha   asosiy   veb-brauzerlar   tomonidan   qo llab-
ʻ
quvvatlanadigan yuqori darajali, talqin qilingan  dasturlash tilidir [9].
JavaScript   asosan   veb-brauzerda   ishlaydigan   mijoz   tomoni   skriptlarini   yaratish
uchun   ishlatiladi.   Bu   shuni   anglatadiki,   u   serverda   emas,   balki   foydalanuvchining
kompyuterida   bajariladi.   Bu   foydalanuvchi   tajribasini   tezroq   va   sezgirroq   qilish
imkonini   beradi,   chunki   kod   to g’ridan-to g’ri   brauzerda   serverga   borishni   talab	
ʻ ʻ
qilmasdan   ishlashi   mumkin.   Bundan   tashqari,   JavaScript   tilidan   Node.js   kabi
texnologiyalar   yordamida   server   tomonidagi   skriptlarni   yaratish   uchun   foydalanish
mumkin [10].
Node.js  - bu ishlab chiquvchilarga JavaScript-dan server tomonida skript yaratish
uchun foydalanish imkonini beradi, bu avval faqat PHP va Ruby kabi tillarda mumkin
edi.   Node.js   yordamida   ishlab   chiquvchilar   bloklanmaydigan   kiritish-chiqarish
modelidan   foydalangan   holda   kengaytiriladigan   va   yuqori   unumli   ilovalar   yaratishi
mumkin [11].
Node.js   freymvorki ning   veb   ilovalarni   ishlab   chiqishdagi   asosiy   afzalliklaridan
biri   uning   katta   hajmdagi   so rovlarni   ko rib   chiqish   va   ularni   bir   vaqtning   o zida	
ʻ ʻ ʻ
qayta ishlash qobiliyatidir. Uning  hodisalarga  asoslangan arxitekturasi yangi mavzular
yoki   jarayonlar   yaratmasdan   bir   nechta   so rovlarni   bajarishga   imkon   beradi,   bu   esa	
ʻ
uni tezroq va samaraliroq ishlashin i ta’minlaydi.
Node.js shuningdek, modullar va kutubxonalarning keng ekotizimiga ega bo lib,	
ʻ
ilovalarga   funksiya   qo shishni   osonlashtiradi.   Ishlab   chiquvchilar   bog’liqliklarni	
ʻ
14 boshqarish   va   boshqa   ishlab   chiquvchilar   bilan   kod   almashish   uchun   Node   Package
Manager (NPM) dan foydalanishlari mumkin [11].
Express.js   –   bu   MIT   (Massachusetts   Institute   of   Technology)   litsenziyasi
ostida       bepul   va   ochiq   kodli   dasturiy   ta’minot.   Express.js   Node.js   bilan   REST
(REpresentational   State   Transfer)   full   API   ( application   programming   interface )
yaratish uchun mo ljallangan veb-ilovalar uchun backend qismidir (2.1-rasm) [12]ʻ
2.1 - rasm.  Express.js REST APIning ishlash prinsipi  
Express.js   –  bu  MEAN (MongoDB, Express.js, Angular.js, Node.js),  MERN
( MongoDB,   Express.js,   React.js,   Node.js )   yoki   MEVN   ( MongoDB,   Express.js,
Vue.js ,   Node.js   )   steklari     backend   qismi   komponentasidir.   MEAN,   MERN     va
MEVN   steklari     butun     boshli   veb-ilovaning   qurilish     arxitekturasidir,   bunda     veb-
ilova   uchun   ma’lumotlar   bazasi,   backend   server     skripti,   frontend   foydalanuvchi
interfeysi,   ushbu   skriptlarni   runtime   muhitida   ishlatish   uchun   dasturlash   muhiti
komponentalari   jamlanmasidir   [12]   .   Express.js   ishlash   mexanizimini   2.1-listingda
berilgan   kod   orqali   ko	
ʻ rib   chiqamiz.   U shbu   kod ni   Node.js   muhitida   kompilyatsiya
qilish natijasi  2.2 - rasmda  keltirilgan .
2.1-listing.  Expres.js da yozilgan kod fragmenti
const express = require(‘express’)
const app = express()
app.get(‘/’, function (req, res) {
  res.send(‘express js  kutibxonasi asosida qurilgan veb ilovaga xush kelibsiz’)
})
15 app.listen(3000)
2.1-rasm.  Express.js  serveriga brauzer oynasidan murojat natijasi
Ushbu     kodda   (2.1-listingga   qarang)   express     kutubxonasi   tarkibidagi   HTTP,
HTTPS   va   yana     bir   qancha     tarmoq     kutubxonalari     yordamida     dastur   kodi
joylashgan server (port 3000) veb ilovani  ishga tushirmoqda.
2.2. Node.js ilovalarida shablon mexanizmlariga mo ljallangan Pug.js veb-ʻ
freymvorki
Node.js   ilovalarida   shablon   mexanizmlari   yordamida   veb-sahifalarni   dinamik
ravishda   yaratish,   ma’lumotlarni   foydalanuvchi   interfeysiga   kiritish   va   server
tomonida   HTML   generatsiya   qilish   mumkin.   Shablon   mexanizmlari   bu   jarayonda
katta   rol   o ynaydi.   Quyida   Node.js   ilovalarida   keng   qo llaniladigan   ba’zi   mashhur	
ʻ ʻ
shablon mexanizmlarini ko rib chiqamiz [10]:	
ʻ
EJS   (Embedded   JavaScript)   –   bu   Node.js   muhitida   ishlatiladigan   shablon
mexanizmidir .   U   HTML   elementlariga   dinamik   ma’lumotlar   qo shishga   imkon	
ʻ
beradi. EJS orqali JavaScript kodini HTML ichida yozish va ulardan foydalanuvchiga
ko rsatiladigan   ma’lumotlarni   yaratishda   foydalanish   mumkin	
ʻ   [12].   EJSdan
foydalanish sintaksisi quyidagicha:
 <% if (user) { %>
   <h2><%= user.name %></h2>
 <% } %>
Express.js da foydalanish sintaksisi 2.2-listingda keltirilgan.
2.2-listing.   Express.js da EJSdan foydalanish sintaksisi kod fragmenti
16 const express = require(‘express’)
const app = express()
let ejs = require(‘ejs’);
let people = [‘Alisher’, ‘Asror’, ‘Shahzod’];
let framework = {
    name:"EJS",
    age:8,
    language:"js"
}
let str_framework= `<% if (framework) { %>
                        <h2><%= framework.name %></h2>
                    <% } %>
                    `;
let   html   =   ejs.render(‘<p><%=   people.join(",   ");   %></P>‘   +   str_framework,
{people: people,framework:framework});
app.get(‘/’, function (req, res) {
    res.send(html)
    console.log(html);
})
app.listen(3000,()=>{
    console.log("3000 portda  express  server ishlamoqda.")
})
2.2-listingda   berilgan   kod   fragmentining   bajarilish   natijasi   2.2-rasmda
keltirilgan. 
2.2-rasm.  Express.js da EJSdan foydalanish kodining natijasi
Handlebars   —   bu   shablonlar   yaratish   uchun   mo ljallangan   shablon  ʻ mexanizmi
bo lib,   JavaScript   tilida   ishlatiladi.   U   dasturchilarga   HTML   kodini   dinamik	
ʻ
ma’lumotlar   bilan   to ldirishga   yordam   beradi.   Handlebars   sintaksisi   oddiy   va	
ʻ
foydalanish   qulayligi   bilan   ajralib   turadi.   Bu   shablon   mexanizmi   orqali   kodni   qayta
17 takrorlash   majburiyatidan   xalos   bo lishingizʻ   va   kodni   o qish   va   tushunish   osonroq	ʻ
bo lishiga erishishingiz mumkin	
ʻ   [12].
Handlebarsdan   foydalanish sintaksisi quyidagicha :
<script id="entry-template" type="text/x-handlebars-template">
  <div class="entry">
    <h1>{{title}}</h1>
    <div class="body">
      {{body}}
    </div>
  </div>
   </script>
Express.js da foydalanish sintaksisi 2.3-listingda keltirilgan.
2.3-listing.   Express.js da Hanlebarsdan foydalanish sintaksisi kod fragmenti
const express = require(‘express’)
const app = express()
const Handlebars = require("handlebars");
var   source   =   "<p>Hello,   my   name   is   {{name}}.   I   am   from   {{hometown}}.   I
have " +
             "{{kids.length}} kids:</p>" +
             "<ul>{{#kids}}<li>{{name}} is {{age}}</li>{{/kids}}</ul>";
var template = Handlebars.compile(source);
var data = { "name": "Alan", "hometown": "Somewhere, TX",
                          "kids":   [{"name":   "Jimmy",   "age":   "12"},   {"name":   "Sally",   "age":
"4"}]};
var result = template(data);
app.get(‘/’, function (req, res) {
    res.send(result)
    console.log(result);
})
app.listen(3000,()=>{
    console.log("3000 portda  express  server ishlamoqda.")
 })
2.3-listingda   berilgan   kod   fragmentining   bajarilish   natijasi   2.3-rasmda
keltirilgan. 
18 2.3-rasm.  Express.js da Hanlebarsdan foydalanish kodining natijasi
Mustache   –  bu   soddaligi   va  ko p  tillarda   ishlatilishi   mumkinligi   bilan   mashhurʻ
bo lgan   shablonlar   yaratish   uchun   mo ljallangan   shablonlash   vositasidir.   U   HTML,	
ʻ ʻ
XML   va   boshqa   matn   asosidagi   formatlarda   shablonlarni   yaratish   uchun   ishlatiladi.
Mustache   o zining   o zaro   mosligi   va   platformalararo   ishlashi   bilan   ajralib   turadi,	
ʻ ʻ
chunki u ko plab dasturlash tillari va muhitlarda qo llab-quvvatlanadi.
ʻ ʻ
Mustachedan   foydalanish sintaksisi quyidagicha: 
Salom,   mening   ismim   {{ism}}.   Men   {{yosh}}   yoshdaman.   Mening   sevimli
hobbylarim:
<ul>
  {{#hobbylar}}
        <li>{{.}}</li>
  {{/hobbylar}}
 </ul>
Express.js da foydalanish sintaksisi 2.4-listingda keltirilgan .
2.3-listing.   Express.js da Hanlebarsdan foydalanish sintaksisi kod fragmenti
const express = require(‘express’)
const app = express()
const Mustache = require("mustache");
var view = {
    title: "Joe",
19     calc: function () {
      return 2 + 4;
    }
  };
  
var output = Mustache.render("{{title}} spends {{calc}}", view);
app.get(‘/’, function (req, res) {
    res.send(output)
    console.log(output);
})
app.listen(3000,()=>{
    console.log("3000 portda  express  server ishlamoqda.")
 })
2.4-listingda   berilgan   kod   fragmentining   bajarilish   natijasi   2.4-rasmda
keltirilgan :
2.4-rasm.  Express.js da  Mustachedan   foydalanish kodining natijasi
Pug   -   bu   HTML   shablonlarini   yaratish   uchun   ishlatiladigan   yuqori   darajadagi
shablonlash   mexanizmidir .   U   avval   "Jade"   deb   nomlangan   va   Node.js   muhitida
ishlatiladi. Pugning asosiy afzalliklaridan biri uning soddaligi va aniq sintaksisidir, bu
esa kodni qisqartirish va o qilishi oson bo lishiga yordam beradi. ʻ ʻ
Biz   dasturiy   ta’minotni   ishlab   chiqishda   aynan   Pug.jsdan   foydalanamiz.   Ushbu
20 shablon   mexanizmini   batafsilroq   ko rib   chiqamiz.   Bu   ishlab   chiquvchilargaʻ
foydalanuvchilar   uchun   qulay   sintaksis   yordamida   HTML   maketlarini   yaratishga
imkon beradi. Pug.jsning asosiy xususiyatlari va funksionalligi quyidagilardan iborat:
1. Foydalanish   qulayligi   -     Pug.js   minimalistik   sintaksisdan   foydalanadi,   bu
oddiy HTML bilan solishtirganda kodni yanada ixcham qiladi;
2. JavaScript   iboralarini   interpolyatsiya   qilish   va   kiritish   -     Pug.js   JavaScript
ifodalarini   to g ridan-to g ri   shablonlarda   ishlatish   imkonini   beradi,   bu   esa   dinamik	
ʻ ʻ ʻ ʻ
tarkibni yaratishni osonlashtiradi;
3. Shablonni meros qilib olish - freymvork shablonni meros qilib olishni qo'llab-
quvvatlaydi,   bu   ko'p   qismlardan   iborat   murakkab   sxemalarni   yaratishni
osonlashtiradi.
4. Sikllar va shartlar: Pug.js sikllar va shartlar kabi JavaScript konstruksiyalarini
qo‘llab-quvvatlaydi,   bu   shablonlaringizdagi   kontent   chiqishini   moslashuvchan
boshqarish imkonini beradi;
Pugdan   foydalanish sintaksisi:
//- template.pug
   p #{name}’s Pug source code!
Express.js da foydalanish sintaksisi 2.5-listingda keltirilgan .
2.5-listing.   Express.js da Pugdan foydalanish sintaksisi kod fragmenti
const express = require(‘express’)
const app = express()
const Mustache = require("mustache");
const pug = require(‘pug’);
const compiledFunction = pug.compileFile(‘template.pug’);
app.get(‘/’, function (req, res) {
    res.send(compiledFunction({name:"Express"}))
    console.log(compiledFunction({name:"Pug"}));
})
app.listen(3000,()=>{
    console.log("3000 portda  express  server ishlamoqda.")
 })
21 2.5-listingda   berilgan   kod   fragmentining   bajarilish   natijasi   2.5-rasmda
keltirilgan :  
Pug sintaksisini batafsilroq ko rib chiqamiz. ʻ
Teg   atributlari   HTML   ga   o xshaydi   (ixtiyoriy   vergul   bilan),   lekin   ularning
ʻ
qiymatlari oddiy JavaScript  s intaksisi hisoblanadi.
Pug shablon sintaksisi 2.6-listingda berilgan. 
2.6-listing.  Pug shablon sintaksisi
a(href=‘//google.com’) Google
|
|
a(class=‘button’ href=‘//google.com’) Google
|
|
  a(class=‘button’, href=‘//google.com’) Google
htmlga render(‘ogirilsa) qilinsa:
<a href="//google.com">Google</a>
<a class="button" href="//google.com">Google</a>
   <a class="button" href="//google.com">Google</a>
Oddiy JavaScript ifodalari ham yaxshi ishlaydi:
- var authenticated = true
22    body(class=authenticated ? ‘authed’ : ‘anon’)
Ushbu kod fragmenti htmlga render qilinsa quyidagi shaklda bo ladi:ʻ
  <body class="authed"></body>
Koʻp qatorli atributlar uchun qulay foydalanish mumkin. Ushbu 
foydalanish holati 2.7-listingda berilgan. 
2.7-listing.  Pug da ko p qatorli atributlardan foydalanish	
ʻ
input(
  type=‘checkbox’
  name=‘agreement’
  checked
)
Ushbu kod fragmenti htmlga render qilinsa quyidagi shaklda bo ladi:	
ʻ
<input type="checkbox" name="agreement" checked="checked" />
Shablon tarkibini switch-casedan foydalanib tuzishga oid kod fragmenti 2.8-
listingda berilgan. 
2.8-listing.  Pugda  Shablon tarkibini switch-casedan foydalanib tuzish 
- var friends = 10
case friends
  when 0
    p sizning do stlaringiz yo q	
ʻ ʻ
  when 1
    p  sizning do stingiz bor
ʻ
  default
    p sizning #{friends} ta do stingiz bor	
ʻ
Ushbu kod fragmenti htmlga render qilinsa quyidagi shaklda bo ladi:	
ʻ
<p> sizning 10 ta do stingiz bor </p>	
ʻ
Shablon tarkibida takrorlanish operatorlaridan foydalanish sintaksisi 2.9-
listingda berilgan. 
2.9-listing.  Standart for va foreach sintaksisi kod fragmenti
- for (var x = 0; x < 3; x++)
23        li element
-  var list = ["Uno", "Dos", "Tres",
          "Cuatro", "Cinco", "Seis"]
each item in list
  li= item
Ushbu kod fragmenti htmlga render qilinsa quyidagi shaklda bo ladi:ʻ
<li> element </li>
<li> element </li>
<li> element </li>
<li>Uno</li>
<li>Dos</li>
<li>Tres</li>
<li>Cuatro</li>
<li>Cinco</li>
<li>Seis</li>
Shablon modullardan foydalanish kod fragmenti 2.10-listingda berilgan. 
2.10-listing.  Shablon modullaridan foydalanish kod fragmenti
//- index.pug
doctype html
html
  include includes/head.pug
  body
    h1 My Site
    p Welcome to my super lame site.
    include includes/foot.pug
//- head.pug
head
  title My Site
  script(src=‘/javascripts/jquery.js’)
  script(src=‘/javascripts/app.js’)
//- foot.pug
footer#footer
  p Copyright (c) foobar
Ushbu kod fragmenti htmlga render qilinsa quyidagi shaklda bo ladi:
ʻ
<!DOCTYPE html>
<html>
<head>
  <title>My Site</title>
24   <script src="/javascripts/jquery.js"></script>
  <script src="/javascripts/app.js"></script>
</head>
<body>
  <h1>My Site</h1>
  <p>Welcome to my super lame site.</p>
  <footer id="footer">
    <p>Copyright (c) foobar</p>
  </footer>
</body>
</html>
Shablon komponentalaridan foydalanish kod fragmenti 2.11-listingda berilgan. 
2.11-listing.  Shablon komponentalaridan foydalanish kod fragmenti
//- Yaratilishi
mixin list
  ul
    li foo
    li bar
    li baz
//- Foydalanish
+list
+list
Ushbu kod fragmenti htmlga render qilinsa quyidagi shaklda bo ladi:ʻ
<ul>
  <li>foo</li>
  <li>bar</li>
  <li>baz</li>
</ul>
<ul>
  <li>foo</li>
  <li>bar</li>
  <li>baz</li>
</ul>
Pug.js   shablonlarini   yuqoridagi   tartibdagi   sintaksisdan   foydalangan   holda
dasturiy ta’minotning interfeysi hosil qilingan. 
25 III BOB. DASTURIY TA’MINOTNI LOYIHALASH VA ISHLAB
CHIQISH
3.1. Dasturiy ta’minotning mantiqiy loyihasi
Berilgan   masala   yuzasidan   ma’lumotlar   bazasida   jadvallar   hosil   qilindi.   Ular
orasidagi   bog’lanishlar   mos   keluvchi   (ustma-ust   tushuvchi)   maydonlari   yordamida
bog’langan.   Ma’lumotlar bazasidagi  jadvallar orasidagi  munosabatlar  quyidagi uchta
turda   bo lishi   mavjud:   birga-ko p,   ko pga-bir,   ko pga-ko p.   Masala   yuzasidanʻ ʻ ʻ ʻ ʻ
ma’lumotlar   bazasini   loyilahashda   birga-ko p   va   ko pga-ko p   bog’lanish	
ʻ ʻ ʻ
munosabatlaridan   foydalanildi.   Birga-ko p   bog’lanish   munosabati   ma’lumotlar	
ʻ
bazasini   loyihalashda   ko p   uchraydi   va   uning   vazifasi   takrorlanmaydigan   qiymat	
ʻ
oluvchi   (kalit)   maydonga   ega   bo lgan   jadvalning   har   bir   yozuvi   qiymatiga   ushbu	
ʻ
maydon   qiymatlari   orqali   bog’langan   jadvaldagi   ko p   sondagi   yozuvlarini   mos	
ʻ
qo yishdir.	
ʻ
Ma’lumotlar   bazasidagi   jadvallar   va   uning   tarkibiy   qismlari   –   maydonlari
haqidagi ma’lumotlarni keltiramiz:
“action” – tizimdagi barcha harakatlarni saqlovchi jadval
Maydon nomi Tipi Izoh
idaction   (Primary) int (11) bajarilgan harakatning identifikatori
module varchar (40) bajarilgan harakatni qaysi modul yoki
bo limda bajarilganligini bildiradi.	
ʻ
description varchar (80) harakatning  aynan  qaysi manoda ekanligi
haqidagi  tavsif. Masalan “1254 – id raqamli
hujjat tahrirlandi”
date_time datetime bajarilgan harakat sana va vaqti
user_iduser   (Primary) int (11) harakatni amalga oshirgan foydalanuvchi
26 identifikator raqami
user_role_id   (Primary) int(11) harakatni amalga oshirgan foydalanuvchi 
lavozimining identifikator raqami.
“certificate” – yaratilgan sertifikatlarning ma’lumotlarini saqlovchi jadval
Maydon nomi Tipi Izoh
id   (Primary) int(11) Hujjatning  identifikator maydoni.
orginal_number int(11) Hujjatning   tashkilot tomonidan berilgan
seriya raqami
type int(11) Hujjatning  turi, ya’ni  sertifikat,
dalolatnoma, attestatsiya, guvohnoma va
boshqalar. 
lang varchar(15) Hujjatning  tili ya’ni  o zbek va rus. ʻ
status tinyint(4) Hujjatning  holati (tasdiqlangan yoki
tasdiqlanmagan )
date date Hujjat yaratilgan s ana
time time Hujjat yaratilgan v aqt
link varchar(120) Hujjat  yuklab olish manzili
url varchar(120) Hujjat  asl manzili yani server qismdagi
manzil
data blob Hujjatning m a’lumotlari, ya’ni hujjat
yaratish uchun kerakli malumotlar:
korxona nomi, tovar nomi, tovar davlati  va
hokazolar
comply_with varchar(80) Hujjatning   amal qilish muddati
compare varchar(80) Qiyoslash sanasi ya’ni hujjat yaratilishidan
oldin standartga asosan tovar yoki buyumni
qiyoslash
27 organization varchar(80) Hujjat tegishli bo lgan  tʻ ashkilot nomi
user_iduser int(11) Hujjatni  y aratgan foydalanuvchi
identifikator raqami.
“user” – foydalanuvchilarni saqlovchi jadval
Maydon nomi Tipi Izoh
iduser   (Primary) int(11)
Foydalanuvchining identifikator maydoni.
name varchar(50)
Foydalanuvchining i smi.
phone varchar(35)
Foydalanuvchining t elefon raqami
email varchar(45)
Foydalanuvchining e mail manzili
password varchar(250)
Foydalanuvchining tizimga kirish p aroli
role_id   (Primary) int(11) Foydalanuvchining tizimdagi lavozimi
identifikatori
“role” – foydalanuvchilarning huquqlarini saqlovchi jadval
Maydon nomi Tipi Izoh
id   (Primary) int(11) Lavozimning indiftikator maydoni.
name varchar(45) Lavozimning  nomi
“task” – vazifalarni saqlovchi jadval
Maydon nomi Tipi Izoh
id   (Primary) int(11) Vazifaning identifikator raqami.
name varchar(50) Vazifaning  nomi
path varchar(65) Vazifaning  javobgar  yo li	
ʻ
description varchar(450) Vazifa tasnifi aynan qanday vazifani bara
olishi haqida qisqacha ta’rif.
28 “role_has_task” –vazifalar va role jadvalining bog’lanishidan hosil bo lgan jadval ʻ
Maydon nomi Tipi Izoh
id   (Primary) int(11) Jadval  identifikator raqami 
role_id   (Primary) int(11) Lavozim  identifikator raqami
task_id   (Primary) int(11) Vazifa  identifikator raqami
Static - tizimdagi statistik malumotlarni saqlovchi jadval.
Maydon nomi Tipi Izoh
idstatic   (Primary) int(11) Statistika  identifikator raqami
add_count int(11) Tizimda yaratilgan hujjatlarning soni
update_count int(11) Jami hujjatlarning tahrirlashlar soni
delete_count int(11) Tizimdan o chirilgan hujjatlarning soni	
ʻ
view_count int(11) Tizimdan hujjatlarning haqiqiylini
tekshirishlar soni
document_count int(11) Tizimdan  hozirda tasdiqlangan  hujjatlarning
soni
day int(11) Statistik malumotlarni saqlangan kuni
month int(11) Statistik malumotlarni saqlangan oy
year int(11) Statistik malumotlarni saqlangan yil
Ma’lumotlar   bazasi   tarkibida   yaratilgan   jadvallardagi   ma’lumotlar   orasidagi
relyatsion bog’lanishlarni keltiramiz. Usbu relatsion bog’lanishlar natijasida jadvallar
o rtasidagi munosabatlar aniqlanadi (3.1-rasm). 	
ʻ
29 3.1-rasm.  Dasturiy ta’minotning relatsion modeli
3.2. Dasturiy ta’minotning fizik jihatdan yaratilishi
“ Metrologiyada sertifikatlashtirishni avtomatlashtirish ” dasturiy ta’minoti server
tarmog’ida joylashtirilgan holda foydalaniladi. Dasturiy ta’minot tarmoqqa ulanganda
unga tarmoq manzili beriladi. 
Dasturiy ta’minotning fizik jihatdan yaratilishi quyidagi bosqichlarni  o z ichigaʻ
oldi. Ushbu bosqichlarni ketma-ket qarab chiqamiz.
1-bosqich.   Dasturiy   ta’minotning   maqsad   va   vazifalarini   aniqlash.   Dasturiy
ta’minotni ishlab chiqish natijasida quyidagi maqsadlarga erishish ko zda tutildi:	
ʻ
- metrologiya sohasidagi sertifikatlashtirish jarayonini avtomatlashtirish; 
- mahsulot (buyum, tovar)larga sertifikat olish uchun onlayn ariza berish;
- jarayonni real vaqt rejimida kuzatib borish; 
- mavjud bo lgan sertifikatlarni bekor qilish.	
ʻ
30 2-bosqich.   Dasturiy   mahsulotni   ishlab   chiqish   uchun   texnologiyani
tanlash.  Dasturiy ta’minotning mobil ilovasi uchun React Native JavaScript
freymvork   hamda   veb   ilovasi   uchun   esa   Express.js   va   Pug.js   JavaScript
freymvorki tanlab olindi. Ushbu freymvorklar hozirgi kunda mobil ilovalar
va   veb   ilovalar   ishlab   chiqish   sohasida   yetakchi   oʻrinlarda   turadi   [3].
Ushbu   freymvorklar   tanlanishiga   yana   bir   sabab,   JavaScript   tili   orqali
amalga oshirilishidir.
3-bosqich.   Dasturiy   ta’minotning   mantiqiy   strukturasi.   Dasturiy   ta’minotning
mantiqiy   strukturasi   dasturiy   ta’minotda   mavjud   bo lgan   bo limlar,   qismlar   vaʻ ʻ
vazifalarni o zida aks ettiradi. Mantiqiy strukturaning ko rinishi 3.2-rasmda berilgan.	
ʻ ʻ
3.2-rasm.  Dasturiy ta’minotning mantiqiy strukturasi
Zamonaviy   axborot   tizimlarining   o ziga   xos   xususiyati,   boy   kontentni   ilg’or	
ʻ
texnologik   o zgarishlar   bilan   birlashtirish   zaruriyati   hisoblanadi.   Buning   sababi	
ʻ
shundaki, yangi ma’lumotlar va hujjatlar bilan birgalikda axborotni qayta ishlashning
muayyan   usullari,   hujjat   xavfsizligi   va   axborot   tizimining   boshqa   tarkibiy   qismlari
31 bilan   tizimli   va   semantik   aloqalar   mavjud   bo lishi   mumkin.   Bunday   tizimlarningʻ
ma’lumotlar   bazasida   turli   toifadagi   ma’lumotlar   joylashadi   hamda   bu
ma’lumotlarning   ko pchiligi   turli   tipdagi   foydalanuvchilar   uchun   yashirin   holatda	
ʻ
bo lishi   mumkin.   Shu   sababli   ham,   axborot   tizimlarida   ma’lumotlarning	
ʻ
toifalanishiga,   vazifalarning   taqsimlanishiga   qarab,   foydalanuvchining   farqli
kontentini yaratish muhim ahamiyat kasb etadi. 
Foydalanuvchilarning   farqli   kontentini   yaratish   juda   katta   hajmdagi   axborot
tizimlarida   vazifalarni   taqsimlash,   yashirin   axborotlarni   himoyalash   kabi
imkoniyatlarni   beradi.   Bu   imkoniyatlar   foydalanuvchi   huquqlarini   chegaralash   yoki
kengaytirish orqali amalga oshiriladi.
Yuqorida   keltirilgan   sabablarga   ko ra,   tizimdan   foydalanish   uchun   quyidagi	
ʻ
rollar ishlab chiqilgan:
1) Admin   –   tizimning   barcha   parametrlarini,   ma’lumotlarini   o zgartirish	
ʻ
huquqiga ega bo lgan foydalanuvchi turi	
ʻ
2) Direktor   –   tizimda   sertifikatlarni   tahrirlash,   yangi
foydalanuvchilarni   roʻyxatdan   oʻtkazadi  va   boshqaradi,   sertifikatni
tasdiqlash,   tasdiqlangan   hujjatni   tahrirlash   huquqlariga   ega
boʻlgan foydalanuvchi turi
3) Qiyoslovchi   –   tizimda   sertifikatlarni   yaratish,   tasdiqlanmagan
hujjatlarni tahrirlash huquqlariga ega boʻlgan foydalanuvchi turi
4) Foydalanuvchi – tizimda tasdiqlangan hujjatlarni koʻrish huquqiga
ega boʻlgan foydalanuvchi turi
Dasturiy ta’minot faoliyat strukturasi quyidagi tarzda tashkil topgan:
1)   Foydalanuvchi   autentifikatsiyasi.   Tizimda   roʻyxatdan   oʻtmagan
foydalanuv-chilar uchun yopiq boʻlib, dasturdan foydalanish faqat admin
hamda   direktor   rolida   oldindan   mavjud   boʻlgan   foydalanuvchi   orqali
32 amalga oshiriladi (3.3-rasm).
3.3-rasm.  Dasturiy ta’minotga kirish oynasi
2)   Sertifikat   yaratish   uchun   ariza   berish.   Ariza   beruvchi   mahsulot
(buyum, tovar)larga sertifikat olishi uchun  tashkilot  direktoriga  murojaat
qiladi.   Direktor   esa   tizimda   foydalanuvchini   roʻyxatdan   oʻtkazadi.
Foydalanuvchi   roʻyxatdan   oʻtganligi   tasdiqlanganidan   soʻng,   mahsulot
(buyum,   tovar)larga   sertifikatni   shakllanish   jarayonini   kuzatib   borish
imkoniyatiga ega boʻladi (3.4-rasm).
3.4-rasm.  Dasturiy ta’minotda foydalanuvchini ro yxatdan o tkazish oynasiʻ ʻ
3)   Qiyoslovchining   sertifikatlar   bilan   ishlashi.   Qiyoslovchi   rolidagi   xodim
mahsulot   (buyum,   tovar)   standart   o lchovlardan   o tkazadi.   Natijalarni   sertifikatda	
ʻ ʻ
shakllantiradi (3.5-rasm).
33 4) Sertifikatni tasdiqlash va mijozga taqdim etish. Direktor sertifikatni
koʻrib   chiqadi   va   foydalanuvchiga   taqdim   etish   uchun   tasdiqlaydi.
Tasdiqlangan sertifikat foydalanuvchining shaxsiy profilida aks etadi (3.6-
rasm)
3.5-rasm.  Qiyoslovchining sertifikatlar bilan ishlash oynasi
34 35 6-rasm.  Sertifikatni tasdiqlash va mijozga taqdim etish: a) veb ilova interfeysi c)
taqdim etilgan sertifikat namunasi
Dasturiy ta’minot tarmoq texnologiyasi asosida Express.js freymvorki va Pug.js
shablon   freymvorkidan   foydalanib   ishlab   chiqildi.   Bunda   web-sahifalar   yaratish   va
uning dizaynini hosil qilish uchun HTML5 (Hyper Text Markup Language) va CSS3
(Cascading   Style   Sheets)   interfeysidan   foydalanildi.   Web-sahifalarni   qayta   ishlash
uchun JavaScript tilining skriptlari qo llanildi. ʻ
D astur   quyidagi   4   katta   qismdan   tashkil   topadi:   ma’lumot   bazasi   boshqarish
fayllari,   ko rinishlar,   routerlar   va   oraliq   funksiyalar.   Ushbu   to rt   xil   fayllar   mos	
ʻ ʻ
36 ravishda   db,   views,   routers   va   middlware   kabi   papkalarda   joylashishi   talab   qilinadi.
db   papkasida   joylashgan   fayllar   ma’lumotlar   bazasida   joylashgan   jadvallarni
bog’laydi,   oraliq   funksiyalar   (middlware)   papkasida   joylashgan   fayllar   esa
ma’lumotlarni   qayta   ishlashdan   oldinga   qayta   ishlashni   amalga   oshiradi.   Views
papkasida   esa     foydalanuvchiga   yuklanadigan   resurslar,   HTML,   CSS   fayllari
joylashadi. 
Dasturni   ishlab   chiqish   jarayonida   yuqorida   keltirilgan   quyidagi   to rt   turdagiʻ
fayllar ishlab chiqildi:
rout ers v iew s db middlew ire
auth.js index.pug mongodb Auth.js
Certificate.js View.pug Certificate.js Document.js
Role.js user.pug Role.js
Task.js task.pug Task.js
User.js role.pug User.js
login.pug Static.js
loading.pug role_has_task.js
loading.pug
Dasturdan foydalanish uchun qo yiladigan talablar:	
ʻ
Server kompyuterning tizimiga qo yiladigan talablar:
ʻ
Server   texnologiya   asosida   ishlashga   mo ljallangan   Linux   yoki   Windows	
ʻ
operatsion   tizimlardan   birida   Python   3.10   va   Node.js   18.X   dasturlash   muhitlari
o rnatilgan bo lishligi. Tizim bulutli texnologiya asosida MongoDb Cloudga ulanadi. 	
ʻ ʻ
Server kompyuterga qo yiladigan texnik talablar:	
ʻ
- 4.0 Gb tezkor xotira, qattiq diskda 10 Gb bo sh joy talab qilinadi.	
ʻ
Mijoz kompyuterning tizimiga qo yiladigan talablar:	
ʻ
- Internet Explorer 7.0 va undan yuqori versiya s i, Mozilla Firefox 34.0 va undan
yuqori   versiyadagi,   Opera   10.0   va   undan   yuqori   versiyadagi,   Safari   7.0   va   undan
yuqori   versiyadagi,   GoogleChrome   45.0   va   undan   yuqori   versiyadagi   brauzerlardan
biri kompyuterda o rnatilgan bo lishligi.	
ʻ ʻ
37 Mijoz kompyuterga qo yiladigan texnik talablar:ʻ
- Dastur   ishlatilayotgan   server   kompyuter   bilan   aloqa   o rnatilgan   (o rtacha	
ʻ ʻ
tezlikdagi (100 Mb/sek)) tarmoqga ulangan kompyuterdan foydalanish.
Dasturiy   ta’minotning   keyingi   rivojlanishi   uchun   foydalanuvchilarni
ariza   berishlarini   avtomatlashtirish,   elektron   raqamli   imzo   orqali   onlayn
shartnomani   shakllantirish,   arizalarni   koʻrib   chiqish   va   foydalanuvchiga
tizimga roʻyxatdan oʻtishga ruxsat berish uchun yangi rolni shakllantirish
masalalarini yechish koʻzda tutilgan.
38 X ULOSA
39 FOY DA LA N ILGA N  ADA BIY OTLA R ROʻY X A T I
1.   “Metrologiya   to‘g‘risida”gi   o‘zbekiston   respublikasi   qonuniga   o‘zgartish   va
qo‘shimchalar   kiritish   haqida,   O‘zbekiston   Respublikasining   Qonuni,   07.04.2020
yildagi O‘RQ-614-son. 
2.   Государственный   стандарт   Республики   Узбекистан   Узбекское   Агентство
Стандартизации   метрологии   и   сертификации,   государственная   система
обеспечения  единства  измерений  Республики  Узбекистан. метрология.  термины
и   определения.   Часть   I .   основные   и   общие   термины,   Утвержден   и   введен
постановлением Агентства «Узстандарт» за № 12-17 от 3.05.2002 г.
3.   Государственный   стандарт   Узбекистана,   Узбекского   агентства
стандартизации,   метрологии   и   сертификации,   метрология,   термины,
определения,   утвержден   и   введен   в   действие   постановлением        узбекского
агентства   стандартизации,   метрологии   и   сертификации   (агентство   «узстандарт»)
от 14.02.2003 г. № 117
4.   Ўзбекистон   стандартлаштириш,   метрология   ва   сертификатлаштириш
агентлиги,   Ўзбекистон   республикасининг   давлат   стандарти,   Ўзбекистон
Республикасининг   ўлчашлар   бирлилигини   таъминлаш   давлат   тизими
метрология.   Атамалар   ва   таърифлар,   «ўзстандарт»   агентлигининг   2004   йил   24
майдаги 05-14-сонли   қарори        билан тасдиқланган ва жорий этилган.
5.   Государственный   стандарт   Республики   Узбекистан   Узбекское   агентство
стандартизации   метрологии   и   сертификации,   Государственная   система
обеспечения единства измерений республики узбекистан. Метрология. Термины
и определения. Часть 4. метрологическое обеспечение аналитического контроля,
утвержден   и   введен   постановлением        агентства   «узстандарт»   за   №   12-12   от
15.04.2002 г.
6.   A.   Qurbanov   A.   Axmedovich,   “Metrologiya,   standartlashtirish   va
sertifikatlashtirish” 2007
7.  I.Kh. Siddikov, Kh.A.Sattarov, O.I.Siddikov, X.E. Khujamatov, G.N. Suleymanova,
D.T.Khasanov,   Sh.B.Olimova,   METROLOGY,   STANDARDIZATION   AND   CERTIFICATION,
Toshkent, 2018
8.  Toru Yoshizava, Handbook of optical metrology,2008.
9. Фленаган Д.,   JavaScript . Подробное руководства, 6-е издание. –пер с. Англ.
– СПб: Символ-Плюс, 2012. – 1080 с. ил.
10.   Дронов   Владимир   Александрович,                  Прохоренок   Николай   
Анатольевич    JavaScript  и  Node . js  для веб-разработчиков,  , 2022, 768, БХВ
11.   Янг   А.,   Мек   Б.,   Кантелон   М,   Node . js   в   действии.   2-е   изд.   —   СПб.:   Питер,
2018. — 432 с.: ил. — (Серия «Для профессионалов»).
12.  Node.js, Express, MongoDB и React.  23 урока для начинающих , Дронов
Владимир Александрович, 2024
40 FOYDALANILGAN INTERNET MANBAALARI:
1. https://ejs.co/#about.
2.   https://handlebarsjs.com/
41 ILOVALAR
1.  certificate.js
var crypto = require('crypto');
const express = require("express");
const router = express.Router();
var db = require('../db/mongodb');
var generateId = require('../resurs/functions/getid');
const validate = require("../resurs/validate/certificate");
var auth = require("../middlewire/auth");
var toPdf = require("../resurs/functions/pdf")
const formatDoc = require('../resurs/functions/formatDoc');
const action = require("../resurs/functions/action");
const fiil_up = require("../resurs/functions/fill_up");
const { unlinkSync } = require('fs');
setTimeout(async () => { db = await db }, 100);//
router.get("/", auth, async (req, res) => {
  let docs = await (await db).certificate.getCertificateAll();
  let tasks = await (await db).certificate.getCertificateAllFilter(0, 15, {});
  // toPdf();
  // let id = (await (await db).role.getRoleForObj({ name: "Qiyoslovchi" }))
[0].id;
  let employee = (await (await db).user.getUserAll()).map((el) => {
    return el.name
  });
  // console.log(id,employee);
  let lang = {
    uz: "o'zbekcha",
    ru: "ruscha"
  };
  let doc_name = {
    1: 'qiyoslash guvohnomasi',
    2: 'yuqori aniqlikdagi qiyoslash guvohnomasi',
    3: 'avtosisterna qiyoslash guvohnomasi',
    4: 'attestatsiyadan o‘tkazish sertifikati',
    5: 'O‘lchash vositasining  yaroqsizlikgi',
    6: 'sinov vositasining yaroqsizligi',
    7: 'pasport',
42   };
  let bolimlar = {
    update: false,
    deletes: false,
    deletesAll: false,
    add: false,
    view: false,
    role: false,
    user: false,
    certifcate: false,
    task: false,
    activeDocumentUpdate: false,
    activeDocumentDelete: false,
  };
  if (req.user.rolePath.includes("/certifcate")) {
    bolimlar.certifcate = true;
  }
  if (req.user.rolePath.includes("/role")) {
    bolimlar.role = true;
  }
  if (req.user.rolePath.includes("/task")) {
    bolimlar.task = true;
  }
  if (req.user.rolePath.includes("/user")) {
    bolimlar.user = true;
  }
  if (req.user.rolePath.includes("/certifcate/update")) {
    bolimlar.update = true;
  }
  if (req.user.rolePath.includes("/certifcate/delete")) {
    bolimlar.deletes = true;
  }
  if (req.user.rolePath.includes("/certifcate/all/delete")) {
    bolimlar.deletesAll = true;
  }
  if (req.user.rolePath.includes("/certifcate/add")) {
    bolimlar.add = true;
  }
  if (req.user.rolePath.includes("/document")) {
    bolimlar.view = true;
  }
  if (req.user.rolePath.includes("activeDocumentUpdate")) {
43     bolimlar.activeDocumentUpdate = true;
  }
  if (req.user.rolePath.includes("activeDocumentDelete")) {
    bolimlar.activeDocumentDelete = true;
  }
  // (await db).certificate.allDocUpdate();
  res.render('public/pages/certificate', {
    path: '',
    docs: tasks,
    count: docs.length,
    filter_count:docs.length,
    page: 1,
    lang: lang,
    doc_name: doc_name,
    employee: employee,
    ...bolimlar,
    user: req.user
  });
})
2. index.pug
doctype html
html(lang='en')
  head
    // Required meta tags
    meta(charset='utf-8')
    meta(name='viewport', content='width=device-width, initial-scale=1, shrink-
to-fit=no')
    title REAL  ELECTRONICS  MChJ
    // plugins:css
    link(rel='stylesheet', 
href='assets/vendors/mdi/css/materialdesignicons.min.css')
    link(rel='stylesheet', href='assets/vendors/css/vendor.bundle.base.css')
    // endinject
    // Plugin css for this page
    link(rel='stylesheet', href='assets/vendors/jvectormap/jquery-jvectormap.css')
    link(rel='stylesheet', href='assets/vendors/flag-icon-css/css/flag-icon.min.css')
    link(rel='stylesheet', 
href='assets/vendors/owl-carousel-2/owl.carousel.min.css')
    link(rel='stylesheet', 
href='assets/vendors/owl-carousel-2/owl.theme.default.min.css')
44     // End plugin css for this page
    // inject:css
    // endinject
    // Layout styles
    link(rel='stylesheet', href='assets/css/style.css')
    // End layout styles
    link(rel='shortcut icon', href='assets/images/favicon.png')
  body
    .container-scroller
      // partial:partials/_sidebar.html
      nav#sidebar.sidebar.sidebar-offcanvas
        .sidebar-brand-wrapper.d-none.d-lg-flex.align-items-center.justify-content-
center.fixed-top
          a.sidebar-brand.brand-logo(href='/')
            img(src='assets/images/logo.svg', alt='logo')
          a.sidebar-brand.brand-logo-mini(href='/')
            img(src='assets/images/logo-mini.svg', alt='logo')
        ul.nav
          li.nav-item.profile
            .profile-desc
              .profile-pic
                .count-indicator
                  img.img-xs.rounded-circle(src='./assets/images/faces/images.jpg', 
alt='')
                  span.count.bg-success
                .profile-name
                  h5.mb-0.font-weight-normal #{user.name}
                  span #{user.role}
          li.nav-item.nav-category
            span.nav-link Bo&apos;limlar
          li.nav-item.menu-items
            a.nav-link(href='/')
              span.menu-icon
                i.mdi.mdi-speedometer
              span.menu-title Asosiy panel
          if task || role || user
            li.nav-item.menu-items
              a.nav-link(data-toggle='collapse', href='#ui-basic', aria-expanded='false',
aria-controls='ui-basic')
                span.menu-icon
                  i.mdi.mdi-laptop
                span.menu-title Admin bo&apos;limi
45                 i.menu-arrow
              #ui-basic.collapse
                ul.nav.flex-column.sub-menu
                  if task
                    li.nav-item
                      a.nav-link(href='/task') Vazifalar
                  if role
                    li.nav-item
                      a.nav-link(href='/role') Rollar
                  if user
                    li.nav-item
                      a.nav-link(href='/user') Foydalanuvchilar
          if certifcate
            li.nav-item.menu-items
              a.nav-link(href='/certifcate')
                span.menu-icon
                  i.mdi.mdi-table-large
                span.menu-title Sertiftikatlar
      // partial
      .container-fluid.page-body-wrapper
        // partial:partials/_navbar.html
        nav.navbar.p-0.fixed-top.d-flex.flex-row
          .navbar-brand-wrapper.d-flex.d-lg-none.align-items-center.justify-content-
center
            a.navbar-brand.brand-logo-mini(href='/')
              img(src='./assets/images/logo-mini.svg', alt='logo')
          .navbar-menu-wrapper.flex-grow.d-flex.align-items-stretch
            button.navbar-toggler.navbar-toggler.align-self-center(type='button', 
data-toggle='minimize')
              span.mdi.mdi-menu
            ul.navbar-nav.navbar-nav-right
              li.nav-item.dropdown
                a#profileDropdown.nav-link(href='#', data-toggle='dropdown')
                  .navbar-profile
                    img.img-xs.rounded-circle(src='./assets/images/faces/images.jpg', 
alt='')
                    p.mb-0.d-none.d-sm-block.navbar-profile-name #{user.name}
                    i.mdi.mdi-menu-down.d-none.d-sm-block
                .dropdown-menu.dropdown-menu-right.navbar-dropdown.preview-
list(aria-labelledby='profileDropdown')
                  h6.p-3.mb-0 Profil
                  .dropdown-divider
46                   a.dropdown-item.preview-item
                    .preview-thumbnail
                      .preview-icon.bg-dark.rounded-circle
                        i.mdi.mdi-settings.text-success
                    .preview-item-content
                      p.preview-subject.mb-1 Sozlamalar
                  .dropdown-divider
                  a(href="/signout").dropdown-item.preview-item
                    .preview-thumbnail
                      .preview-icon.bg-dark.rounded-circle
                        i.mdi.mdi-logout.text-danger
                    .preview-item-content
                      p.preview-subject.mb-1 Hisobdan chiqish
                  .dropdown-divider
            button.navbar-toggler.navbar-toggler-right.d-lg-none.align-self-
center(type='button', data-toggle='offcanvas')
              span.mdi.mdi-format-line-spacing
        // partial
        .main-panel
          .content-wrapper
            .row
              .col-xl-3.col-sm-6.grid-margin.stretch-card
                .card
                  .card-body
                    .row
                      .col-9
                        .d-flex.align-items-center.align-self-start
                          h3.mb-0 #{static?static.add?static.add:0:0}
                      .col-3
                        .icon.icon-box-success
                          span.mdi.mdi-arrow-top-right.icon-item
                    h6.text-muted.font-weight-normal Yaratilgan Hujjatlar
              .col-xl-3.col-sm-6.grid-margin.stretch-card
                .card
                  .card-body
                    .row
                      .col-9
                        .d-flex.align-items-center.align-self-start
                          h3.mb-0 #{static?static.update?static.update:0:0}
                      .col-3
                        .icon.icon-box-success
                          span.mdi.mdi-arrow-top-right.icon-item
47                     h6.text-muted.font-weight-normal Tasdiqlanga  Hujjatlar
              .col-xl-3.col-sm-6.grid-margin.stretch-card
                .card
                  .card-body
                    .row
                      .col-9
                        .d-flex.align-items-center.align-self-start
                          h3.mb-0 #{static?static.delete?static.delete:0:0}
                      .col-3
                        .icon.icon-box-danger
                          span.mdi.mdi-arrow-bottom-left.icon-item
                    h6.text-muted.font-weight-normal Bekor qilingan hujjatlar  
              .col-xl-3.col-sm-6.grid-margin.stretch-card
                .card
                  .card-body
                    .row
                      .col-9
                        .d-flex.align-items-center.align-self-start
                          h3.mb-0 #{static?static.view?static.view:0:0}
                      .col-3
                        .icon.icon-box-success
                          span.mdi.mdi-arrow-top-right.icon-item
                    h6.text-muted.font-weight-normal Hujjatlarni Ko'rishlar
            
              .col-sm-4.grid-margin
                .card
                  .card-body
                    h5 Revenue
                    .row
                      .col-8.col-sm-12.col-xl-8.my-auto
                        .d-flex.d-sm-block.d-md-flex.align-items-center
                          h2.mb-0 $32123
                          p.text-success.ml-2.mb-0.font-weight-medium +3.5%
                        h6.text-muted.font-weight-normal 11.38% Since last month
                      .col-4.col-sm-12.col-xl-4.text-center.text-xl-right
                        i.icon-lg.mdi.mdi-codepen.text-primary.ml-auto
              .col-sm-4.grid-margin
                .card
                  .card-body
                    h5 Sales
                    .row
                      .col-8.col-sm-12.col-xl-8.my-auto
48                         .d-flex.d-sm-block.d-md-flex.align-items-center
                          h2.mb-0 $45850
                          p.text-success.ml-2.mb-0.font-weight-medium +8.3%
                        h6.text-muted.font-weight-normal  9.61% Since last month
                      .col-4.col-sm-12.col-xl-4.text-center.text-xl-right
                        i.icon-lg.mdi.mdi-wallet-travel.text-danger.ml-auto
              .col-sm-4.grid-margin
                .card
                  .card-body
                    h5 Purchase
                    .row
                      .col-8.col-sm-12.col-xl-8.my-auto
                        .d-flex.d-sm-block.d-md-flex.align-items-center
                          h2.mb-0 $2039
                          p.text-danger.ml-2.mb-0.font-weight-medium -2.1% 
                        h6.text-muted.font-weight-normal 2.27% Since last month
                      .col-4.col-sm-12.col-xl-4.text-center.text-xl-right
                        i.icon-lg.mdi.mdi-monitor.text-success.ml-auto
            .row
              .col-12.grid-margin
                .card
                  .card-body
                    h4.card-title Kuzatilgan holatlar
                    .table-responsive
                      table.table
                        thead
                          tr
                            th  № 
                            th  Xodim 
                            th  Bo'lim 
                            th  Tafsif 
                            th  Sana 
                            th  Vaqt
                        tbody
                          - for (var x = 0; x < actions.length; x++)
                            tr 
                              td #{x+1}
                              td #{actions[x].user}
                              td #{actions[x].module}
                              td(style="width:30%;") #{actions[x].description}
                              td #{actions[x].date}
                              td #{actions[x].time}
49                           
3. pdf.js
const PizZip = require("pizzip");
var ImageModule = require('docxtemplater-image-module-free');
const Docxtemplater = require("docxtemplater");
var QRCode = require('qrcode');
var fs = require('fs');
const path = require("path");
const util = require('util');
const exec = util.promisify(require('child_process').exec);
async function createPDF(doc, pdf) {
    try {
        const { stdout, stderr } = await exec(`docx2pdf "${path.resolve(__dirname, 
"../../views/certifcate/" + doc)}"  "${path.resolve(__dirname, "../../views/certifcate/" +
pdf)}"`);
        console.log('ishladi :', stdout);
        return true;
    } catch (error) {
        console.log("xatolik :", error);
        return false;
    }
}
async function getContent(doc, lang) {
    if (lang == "uz") {
        if (doc == 1) {
            return fs.readFileSync(
                path.resolve(__dirname, "../template/demo1uz_lotin.docx"),
                "binary");
        }
        if (doc == 2) {
            return fs.readFileSync(
                path.resolve(__dirname, "../template/demo2uz_lotin.docx"),
                "binary");
        }
        if (doc == 3) {
            return fs.readFileSync(
                path.resolve(__dirname, "../template/demo3uz_lotin.docx"),
                "binary");
        }
50         if (doc == 4) {
            return fs.readFileSync(
                path.resolve(__dirname, "../template/demo4uz_lotin.docx"),
                "binary");
        }
        if (doc == 5) {
            return fs.readFileSync(
                path.resolve(__dirname, "../template/demo5uz_lotin.docx"),
                "binary");
        }
        if (doc == 6) {
            return fs.readFileSync(
                path.resolve(__dirname, "../template/demo6uz_lotin.docx"),
                "binary");
        }
        if (doc == 7) {
            return fs.readFileSync(
                path.resolve(__dirname, "../template/demo7uz_lotin.docx"),
                "binary");
        }
    }
    if (lang == "ru") {
        if (doc == 1) {
            return fs.readFileSync(
                path.resolve(__dirname, "../template/demo1ru_end.docx"),
                "binary");
        }
        if (doc == 2) {
            return fs.readFileSync(
                path.resolve(__dirname, "../template/demo2ru_end.docx"),
                "binary");
        }
        if (doc == 3) {
            return fs.readFileSync(
                path.resolve(__dirname, "../template/demo3ru_end.docx"),
                "binary");
        }
        if (doc == 4) {
            return fs.readFileSync(
                path.resolve(__dirname, "../template/demo4ru_end.docx"),
                "binary");
        }
51         if (doc == 5) {
            return fs.readFileSync(
                path.resolve(__dirname, "../template/demo5ru_end.docx"),
                "binary");
        }
        if (doc == 6) {
            return fs.readFileSync(
                path.resolve(__dirname, "../template/demo6ru_end.docx"),
                "binary");
        }
        if (doc == 7) {
            return fs.readFileSync(
                path.resolve(__dirname, "../template/demo7ru_end.docx"),
                "binary");
        }
    }
}
async function toPdf(data, name_doc, url_doc, doc, lang, imageFlag=false) {
    // console.log(data, name_doc, url_doc, doc, lang)
    const content = await getContent(doc, lang);
    const zip = new PizZip(content);
    var opts = {}
    opts.centered = false; //Set to true to always center images
    opts.fileType = "docx"; //Or pptx
    opts.getImage = function (tagValue, tagName) {
        // console.log("opts.getImage : ",tagValue);
        return fs.readFileSync(__dirname + '\\' + tagValue);
    }
    opts.getSize = function (img, tagValue, tagName) {
        if (doc == 2) return [130, 130];
        // if (doc == 6) return [140, 140];
        return [140, 140];
    }
    var imageModule = new ImageModule(opts);
    var name = 'natija.jpg';
    if (imageFlag) {
        data.image = name;
    }
    let name_docx = name_doc + "_" + (new Date()).valueOf() + ".docx";
    let name_pdf = name_doc + "_" + (new Date()).valueOf() + ".pdf";
52     var segs = "https://re-metrologiya.uz/documents/" + name_pdf || (new 
Date()).toUTCString();
    const file = __dirname + '\\' + name;
    // console.log(file);
    const file_docx = __dirname + '\\' + name_docx;
    await QRCode.toFile(file, segs, async function (err) {
        if (err) throw err;
        try {
            var doc = new Docxtemplater()
                .attachModule(imageModule)
                .loadZip(zip)
                .setData(data)
                .render();
            var buffer = doc
                .getZip()
                .generate({ type: "nodebuffer" });
            fs.writeFileSync("./views/certifcate/" + name_docx, buffer);
            fs.unlinkSync(file);
            if (await createPDF(name_docx, name_pdf)) {
                try {
                    fs.unlinkSync("./views/certifcate/" + name_docx);
                } catch (error) {
                    return false;
                }
            }else{
                return false;
            }
        } catch (error) {
            console.log(error);
            return false;
        }
    });
    return { url: path.resolve(__dirname, "../../views/certifcate/" + name_pdf), 
link: "/documents/" + name_pdf };
}
53

METROLOGIYA VA QIYOSLASH MCHJNING ISH FAOLIYATINI TASHKIL ETISHNING VEB ILOVASI LOYIHALASH MUNDARIJA KIRISH ................................................................................................................................................................ 3 I BOB. “METROLOGIYA, STANDARTLASHTIRISH VA SERTIFIKATLASHTIRISH” SOHASINING MAQSAD VA VAZIFALARI ........................................................................................................................................................ 5 1.1. Metrologiyaning asosiy tushunchalari va atamalari ............................ 5 1.2. Metrologiyada sertifikatlashtirish va uning asosiy tushunchalari . . . 10 II BOB. VEB ILOVANI LOYIHALASH UCHUN JAVASCRIPTGA MOʻLJALLANGAN VEB-FREYMVORKLAR ............... 14 2.1. Node.js ilovalari uchun Express.js veb-freymvorki ............................ 14 2.2. Node.js ilovalarida shablon mexanizmlariga moʻljallangan Pug.js veb-freymvorki .............................................................................................. 16 III BOB. DASTURIY TA’MINOTNI LOYIHALASH VA ISHLAB CHIQISH .................................................................. 26 3.1. Dasturiy ta’minotning mantiqiy loyihasi ............................................. 26 3.2. Dasturiy ta’minotning fizik jihatdan yaratilishi ................................... 30 XULOSA ............................................................................................................................................................ 39 FOYDALANILGAN ADABIYOTLAR ROʻYXATI ...................................................................................................... 40 ILOVALAR ......................................................................................................................................................... 42 2

KIRISH Zamonaviy axborot va kommunikatsiya texnologiyalari sohasida turli metrologik, standartlashtirish sifat va sifat boshqaruvi, sertifikatlashtirish bo yichaʻ masalalar bilan shug’ullanish, hamda me’yoriy hujjatlar va standartlar bilan ishlash borasida yo nalishga mos yetarli bilim, ko nikma va malakalarini shakllantirishdir. ʻ ʻ Shuning uchun o lchashlar birliligini ta’minlash, standartlashtirish va ʻ sertifikatlashtirish tizimlarini o rganish dolzarb masalalardan biri hisoblanadi. ʻ So nggi yillarda axborot texnologiyasi kirib bormagan sohalar soni tobora ʻ kamayib bormoqda. Shu jumladan metrologiya sohasida ham bu o zgarishlar yaqqol ʻ ko zga tashlanmoqda. Metrologiya sohasi o lchovlar, ularning bir xilligini ta minlash ʻ ʻ ʼ usullari va vositalari hamda talab etilgan aniqlikka erishish yo llari haqidagi fandir ʻ Mazkur soha tabiiy fanlarni o zlashtirishda, keyinchalik esa ishlab chiqarish, ʻ loyihalash va tadqiqot ishlarida kerak bo ladigan asosiy negiz tushunchalarni ʻ o rganadi. Axborot tizimlar orqali ushbu sohadagi jarayonlarni raqamlashtirishimiz, ʻ qo lda bajarilayotgan murakkab masalalarni avtomatlashtirishimiz mumkin. ʻ Metrologiyada mahsulot (buyum, tovar) yoki xizmat muayyan standartga yoki texnikaviy shartlarga muvofiq kelishini tasdiqlash maqsadida o tkaziladigan faoliyat ʻ ham ko rsatiladi. Ushbu faoliyat sertifikatlashtirish deb ataladi. Sertifikatlashtirish ʻ faoliyati natijasida mahsulot (buyum, tovar)ning sifati haqida iste’molchini ishontiradigan tegishli hujjat - sertifikat beriladi. Sertifikatlashtirish jarayonining qo lda bajarilishi murakkab bo lib, ushbu vazifa ko p vaqtni talab qiladi. ʻ ʻ ʻ Ushbu bitiruv malakaviy ishda “Metrologiya va qiyoslash MCHJning ish faoliyatini tashkil etishning veb ilovasi loyihalash” masalasi ko rib chiqilgan. Bitiruv ʻ malakaviy ishi natijasida MCHJning ish faoliyati o rganilgan hamda uning ʻ sertifikatlash tizimining murakkabliklari tahlil qilinib, tahlilllar asosida veb ilova ishlab chiqilgan. Ishning maqsadi. Bitiruv malakaviy ishining maqsadi metrologiya va qiyoslash MCHJning ish faoliyatini tashkil etishning veb ilovasini ishlab chiqishdan iborat. 3

Ishning ilmiy va amaliy ahamiyati. Bitiruv malakaviy ishining ilmiy ahamiyati metrologiya xizmati haqida ko nikmalarga ega bo lish, axborot tizimlariningʻ ʻ integratsiya bosqichlari haqida tasavvur hosil qilish, ma lumotlar xavfsizligini ʼ ta minlash uchun amaliy ishlarni o rganib chiqish vazifalarini shakllantiradi. ʼ ʻ Bitiruv malakaviy ish strukturasi. Ish uchta bob, xulosa, adabiyotlar ro yxati ʻ va ilovalardan iborat. Birinchi bobda metrologiya xizmati, uning asosiy vazifalari, unda mavjud bo lgan murakkabliklar, asosiy masalalari o rganib chiqilgan. Shuningdek, ʻ ʻ metrologiya xizmatida mavjud bo lgan tushunchalar, atamalarning ta’riflari, ʻ metrologik faoliyatni boshqarish va amalga oshirish haqida ma’lumotlar keltirilgan . Ikkinchi bobda dasturiy ta’minotni ishlab chiqish uchun qo llanilgan dasturlash ʻ tili, tanlab olingan web texnologiya haqida ma’lumotlar keltirilgan. Jumaladan, JavaScript dasturlash tili, Node.js texnologiyasi va uning tarkibida qo llaniladigan ʻ Express.js haqida tushunchalar berilgan. Uchinchi bob da , unda tanlab olingan texnologiyani amaliy qo llash masalalari ʻ batafsil ko rib chiqiladi. Bobning birinchi qismida ʻ dasturiy ta minot ma lumotlar ʼ ʼ bazasining mantiqiy strukturasi va uni shakllantirish haqida to xtalib o tilgan bo lib, ʻ ʻ ʻ keyingi qismlarda dasturiy ta minotning fizik jihatdan yaratilishi va dasturiy ʼ ta minotning imkoniyatlari haqida ma lumotlar berilgan. ʼ ʼ Xulosada asosiy natijalar va takliflar, adabiyotlar ro yxatida ʻ qo llanilgan ʻ materiallar va internet-resurslar, ilovalarda esa, boshqaruvchi va qo shimcha dasturiy ʻ modullar matnlari keltirilgan. 4

I BOB. “METROLOGIYA, STANDARTLASHTIRISH VA SERTIFIKATLASHTIRISH” SOHASINING MAQSAD VA VAZIFALARI 1.1. Metrologiyaning asosiy tushunchalari va atamalari So nggi yillarda metrologiya sohasida ʻ zamonaviy texnologiyalardan foydalangan holda bir qancha o zgarishlar kiritilishi mumligini kuzatish mumkin. ʻ Jumladan, tizimlar orqali ushbu sohadagi jarayonlarni raqamlashtirishimiz, qo lda ʻ bajarilayotgan murakkab masalalarni avtomatlashtirishimiz mumkin . Metrologiya bu o lchovlar, ularning bir xilligini ta minlash usullari va vositalari ʻ ʼ hamda talab etilgan aniqlikka erishish yo llari haqidagi fandir [6]. Ushbu sohaning ʻ asosiy muammolariga sirasiga quyidagilarni kiritishimiz mumkin: 1) o lchashlarning umumiy nazariyasi; ʻ 2) kattaliklar birliklarini va ularning tizimlarini yaratish; 3) o lchash usullari va vositalari; ʻ 4) o lchashlar bir xilligini ta minlash; ʻ ʼ 5) etalonlarni yaratish; Metrologiyada mahsulot (buyum, tovar) yoki xizmat muayyan standartga yoki texnikaviy shartlarga muvofiq kelishini tasdiqlash maqsadida o tkaziladigan faoliyat ʻ ham ko rsatiladi. Ushbu faoliyat sertifikatlashtirish deb ataladi [7]. Sertifikatlashtirish ʻ faoliyati natijasida mahsulot (buyum, tovar)ning sifati haqida iste’molchini ishontiradigan tegishli hujjat - sertifikat beriladi. Sertifikatlashtirish jarayonining qo lda bajarilishi murakkab bo lib, ushbu vazifa ko p vaqtni talab qiladi. Bundan ʻ ʻ ʻ tashqari mahsulot (buyum, tovar)larga berilgan sertifikatlarning soxta variantini tayyorlash, tayyorlangan sertifikatda noto g’ri ma’lumotlarning aks etish holatlari ʻ ham mavjud bo lishi mumkin. ʻ Metrologik me’yorlar va qoidalarning xalqaro va tarmoqlararo ahamiyatini hisobga olgan holda o zaro tushunish va harakatlarni kelishishda metrologik ʻ atamalarning birliligi va qabul qilingan tushunchalarga aniq rioya qilish muhim ahamiyat kasb etadi. O zbekiston Respublikasining “Metrologiya to g’risida” ʻ ʻ 5

Qonunida [1], O z O DT ning asos bo luvchi hujjatlari O z DSt 8.010:2002 [3], O zʻ ʻ ʻ ʻ ʻ DSt 8.010.2:2003 [3], O z DSt 8.010.3:2004 [4], O z DSt 8.010.4:2002 [5] da va ʻ ʻ aloqa va axborotlashtirish sohasida foydalaniladigan “Tst 45.025.2000. Metrologik ta’minot. Atamalar.” tarmoq standartida metrologiya bo yicha quyidagi asosiy atama ʻ va tushunchalar keltirilgan [6]: Metrologiya – o lchashlar, ularning birliligini ta’minlash metodlari va vositalari ʻ va talab etilgan aniqlikka erishish usullari to g’risidagi fan; ʻ O lchashlar birliligi ʻ – O lchashlarning natijalari qonunlashtirilgan birliklarda ʻ ifodalangan va o lchashlarning xatoliklari berilgan ehtimollik bilan ma’lum bo lgan ʻ ʻ holat; O lchash ʻ – maxsus texnik vositalar yordamida fizik kattaliklar qiymatlarini tajriba yo li bilan topish; ʻ O lchash vositasi ʻ normalashtirilgan metrologik tavsifga ega bo lgan o lchash ʻ ʻ asbobidir. O lchash vositasi, o z navbatida, o lchov, o lchash o zgartirgichlari, ʻ ʻ ʻ ʻ ʻ o lchov asboblari, o lchash axborot tizimi va o lchash qurilmalari kabi turkumlarga ʻ ʻ ʻ bo linadi; ʻ O lchash asbobi (pribor) ʻ deb, kuzatuvchi idrok qilishi uchun qulay shakldagi o lchov informasiyasi signalini ishlab chiqishga xizmat qiladigan o lchash vositasiga ʻ ʻ aytiladi; O lchov kattaliklari ʻ deb, berilgan o lchamli fizik qayta tiklash uchun ʻ mo ljallangan o lchash vositasiga aytiladi. ʻ ʻ O lchovlar to plami ʻ ʻ deb, maxsus tanlangan, faqat alohidagina emas, balki turli birikmalarda turli o lchamli qator bir ʻ nomli kattaliklarni qayta o lchash maqsadida qo llaniladigan o lchovlar majmuiga ʻ ʻ ʻ aytiladi; Birlik etaloni – Fizik kattalikning o lchamini boshqa o lchash vositasiga berish ʻ ʻ maqsadida fizik kattalik birligining o lchamini qayta tiklash va saqlash uchun ʻ mo ljallangan o lchashlar vositasi; ʻ ʻ 6