Management and Future Technologies | Volume 2, Issue 3 | № 007

Read the issue as a PDF

294 p. · PDF · 7.98 MB

Download
Text view 61–80 / 294 p.

The text was extracted automatically from the PDF file, so the formatting may be broken. Open the PDF copy for the correct view.

61-p.

bosqichning asosiy vazifasi jimlik, fon shovqinlari va boshqa keraksiz qismlarni olib tashlash orqali tizimning samaradorligini oshirishdir[10]. Bu jarayonlarda eng ko‘p qo‘llaniladigan usullar energybased VAD hamda deep learning-based VAD bilan birgalikda fitrlash algoritmlaridan ham foydalaniladi. Nutq signallarini nostatsionar signallar bo‘lgani uchun oddiy klassik fitrlar yaxshi samara bermasligi mumkin. Shuning uchun bu jarayonda adaptiv fitrlash algoritmlardan foydalanish tizim samaradorligini oshiradi. Jumladan LMS adaptiv filtrlash algoritm signal fitrlashning SNR, PESQ, STOI hamda speaker diarization tizimlari uchun WER, DER ko‘rsatkichlari bo‘yicha yaxshi samara ko‘rsatgan[11]. 𝑒(𝑛) = 𝑑(𝑛) − 𝑦(𝑛) (1) 𝑤(𝑛 + 1) = 𝑤(𝑛) + 𝜇𝑒(𝑛)𝑥(𝑛) (2) Bu yerda: 𝑑(𝑛) – maqsadli signal, 𝑦(𝑛) – filtr chiqish signali, 𝑒(𝑛) – xatolik signali, 𝑤(𝑛) – filtrning koeffisentlari, 𝜇 – o‘rganish tezligi, 𝑒(𝑛) – xatolik signali, 𝑥(𝑛) – kirish signali. Filtrlash natijasida hosil bo‘lgan signalda VAD jarayoni amalga oshiriladi. VAD algoritmi nutq segmentlarini aniqlash uchun har bir N uzunlikdagi ramka (frame) bo‘yicha signalning energiyasini hisoblaydi. 𝑁 1 𝐸𝑛 = √ ∑ 𝑥𝑖 2 𝑁 (3) 𝑖=1 𝑀 1 𝜃 = 𝛼 ∗ ∑ 𝐸𝑛 𝑀 (4) 𝑛=1 Bu yerda: 𝐸𝑛 – n-freymdagi enargiya, 𝑁 − freym uzunligi, 𝑥𝑖 − signalning i-diskret nuqtdagi signal amplitudasi, 𝑀 − umumiy freymlar soni, 𝛼 − tajriba natijalariga ko‘ra tanlangan bosag‘a(threshold) koeffienti Agar signal energiya chegarasidan (threshold) yuqori bo‘lsa, u nutq deb hisoblanadi, aks holda jimlik yoki shovqin deb belgilanadi. 1, 𝐸𝑛 > 𝜃 (𝑁𝑢𝑡𝑞 𝑚𝑎𝑣𝑗𝑢𝑑) 𝑆𝑛 = { 0, 𝐸𝑛 ≤ 𝜃 (𝐽𝑖𝑚𝑙𝑖𝑘 𝑦𝑜𝑘𝑖 𝑠ℎ𝑜𝑣𝑖𝑛) Xususiyatlarni ajratib olish (ing: Feature Extraction). Nutq mevjud segmentlari aniqlanganda so‘ng, ulardan so‘zlovchilarni farqlash uchun muhim akustik xususiyatlar ajratib olinadi. Akustik xususiyatlar nutq signal segmentlaridan ajratib olinadi va uni metematik jihatdan tasvirlash imkonini beradi. Nutq signallariga intellektual ishlov berish sohalarida xususan so‘zlovchilarni ajratish jarayonlarida eng ko‘p MFCC (ing: Mel-Frequency Cepstral Coefficent), Log-Mel (ing: Log-Mel Spectogram), BFCC (ing: Bark Frequency Cepstral Coefficent) va boshqa xususiyatlardan foydalaniladi[12]. So‘zlovchi xususiyatlar vektorlarini hosil qilish (ing: Speaker Embedding). Bu jarayon so‘zlovchining ovozining o‘ziga xos xususiyatlarini ifodalovchi past o‘lchamli, ixcham tarzada belgilanadigan vektor bo‘lib, u uzluksiz va o‘zgaruvchan uzunlikdagi nutq signalni doimiy uzunlikdagi latent fazoda tasvirlaydi. Bugungi kunda so‘zlovchilarni aniqlash, tekshirish va ularni ajratish jarayonlarida keng qo‘llanilmoqda. U bevosita xususiyatlarni ajratib olish jarayonlariga bog‘liq bo‘lib, shu xususiyatlar asosida so‘zlovchining xususiyatlar vektorlarini shakllantiriladi. 60

62-p.

Xususiyatlarga ajratish jarayonlarida olingan xususiyatlar koeffientlari kamroq farqlovchi ajratish belgilariga ega, so‘zlovchining xususiyatlar vektorlarini hosil qilish esa yuqori aniqlikdagi farqlovchi imkoniyatlarni taqdim etadi[13]. So‘zlovchining xususiyatlar vektorlarini hosil qilishning eng keng tarqalgan i-vector, d-vector, x-vector va ECAPA-TDNN usullari mavjud. Zamonaviy so‘zlovchilarni ajratish tizimlarida x-vector va ECAPA-TDNN modellaridan foydalaniladi[6,14]. 2-rasm. So‘zlovchi xususiyatlar vektorlarini hosil qilish jarayoni umumiy tuzilishi X-vectorni hosil qilish jarayoni quyidagi formulaga asoslanadi. Shu orqali xususiyatlar vektori shakllandi va keying jarayon uchun uzatiladi. 𝑥𝑣 = 𝑓(𝑊 ∗ 𝑥 + 𝑏) (5) bu yerda: 𝑊 − Neyron tarmoqning o‘rganilgan og‘irliklari, 𝑥 − nutq segmentining akustik xususiyatlari(MFCC), 𝑏 − bias parametrlari, 𝑓( ) − aktivatsiya funksiyasi ECAPA-TDNN (ing: Emphasized Channel Attention, Propagation, and Aggregation in TDNN) bu x-vector modelining takomillashgan versiyasi bo‘lib, speaker embedding olishda Transformer darajasidagi natijalarni bera oladi. U Time-Delay Neural Network (TDNN) asosida ishlaydi va turli modifikatsiyalar bilan takomillashgan. Klasterlash (ing: Clustering). Bu jarayonning asosiy maqsadi bir xil so‘zlovchiga tegishli bo‘lgan nutq segmentlarini aniqlash hamda ularni so‘zlovchining yorliqlarini bilan belgilashdan iborat. Klasterlash jarayonlarini asosan ikki xil yo‘nalishda ya’ni so‘zlovchilar soni avvalda ma’lum bo‘lgan holatda (intervyular, suhbatlar) hamda so‘zlovchilarni soni avvaldan ma’lum bo‘lmagan holat uchun amalga oshiriladi. Klasterlash algoritmlari sifatida esa K-means, Spektral klasterlash, AHC (ing: Agglomerative Hierarchical Clustering) algoritmlaridan foydalaniladi. AHC algoritmlari eng keng tarqalgan klasterlash usullaridan biri bo‘lib, u “pastdan yuqoriga” (bottom-up) tamoyili asosida ishlaydi. Ushbu usulda har bir so‘zlovchi xususiyatlar vektorlari alohida klaster sifatida qabul qilinadi, o‘zaro o‘xshash bo‘lgan klasterlar bosqichma-bosqich birlashtiriladi va oldindan belgilangan bo‘sag‘a qiymatlari (ing: threshold) bo‘yicha so‘zlovchilarga ajratiladi. Buning o‘ziga xos tomonlari ovoz segmentlari soniga umuman bog‘liq emas. Umumlashtirish jarayonlarida yaxshi samara beradi. Qo‘shimcha ishlov berish (ing: Post-Processing). So‘zlovchilarni ajratish jarayonining yakuniy bosqichi bo‘lib, natijalarni yaxshilash uchun qo‘shimcha ishlov berish. Bu bosqich quyidagilarni o‘z ichiga oladi: a. Klasterlarni tozalash (ing: Cluster Purification). Tajribalar davomida klasterlash natijalari har doim ham to‘g‘ri chiqmasligi mumkin, ya’ni bir so‘zlovchining nutq signallari alohida guruhlarga ajratilib yuborilishi mumkin. Klasterlarni tozalash jarayonida aniq natijalarni olish uchun qayta klasterlash, ishonchli embeddinglarni saqlash amalga oshiriladi. b. So‘zlovchilar sonini aniqlash . Juda ko‘p hollarda so‘zlovchilarning soni avvaldan ma’lum emas. Bu esa model aniqligiga ta’sir qiladi. Shuning uchun bu bosqichda so‘zlovchilarni aniqlash uchun BIC algoritmlarini ishlatish tavsiya qilinadi. 61

63-p.

c. Qo‘shma nutqni hal qilish (Handling Overlapping Speech). Bir vaqtning o‘zida bir nechta so‘zlovchilarning nutqlari ustma-ust tushib qoladi. Bun muammo diarizatsiyani amalga oshirishni murakkablashtirib yuboradi. Bundan muammolarda zamonaviy tizimlar End to end neural diarization(EEND) kabi chuqur o‘rganish modellaridan foydalaniladi. So‘zlovchilarni ajratish tizimlarini ishlab chiqish jarayonlarida uning aniqliklarini to‘g‘ri baholash asosiy jarayonlardan biri hisoblanadi. Bu jarayonda baholash usullari asosida tizimining ishlash samaradorligi aniqlanadi va tizimning parametrlarini tahlil qilinadi. Tahlil qilingan maqolalarda so‘zlovchilarni ajratish tizimlarining samaradorligini baholash uchun turli xil usullar qo‘llanilgan. Jumladan DER(ing: Diarization Error Rate), SER(ing: Speaker Error Rate), JI(ing: Jackard Index), NMI(ing: Normalized Mutual Information) va boshqalar tizimlarning samaradorligni baholashda keng foydalaniladi[4-8]. DER bu so‘zlovchilarni ajratish tizimlarining umumiy xatolik darajasini ko‘rsatadigan asosiy metrikalardan biri. DER qanchalik kichik bo‘lsa tizim shuncha yaxshi ishlaydi. Shuning uchun tajribalar natijasida olingan DER ko‘rsatkichlari solishtiriladi va parametrlari mos ravishda yangilanadi. DER quyidagi formular yordamida aniqlanadi. 𝐷𝐸𝑅 = 𝐹𝐴+𝑀𝐼𝑆𝑆+𝐸𝑅𝑅𝑂𝑅 𝑇𝑂𝑇𝐴𝐿 (6) Bu yerda: 𝐹𝐴(𝑓𝑎𝑙𝑠𝑒 𝑎𝑙𝑎𝑟𝑚) − noto‘g‘ri nutq aniqlash, 𝑀𝐼𝑆𝑆 − nutq bo‘lishiga qaramay aniqlanmagan segmentlar, 𝐸𝑅𝑅𝑂𝑅 − noto‘g‘ri spikerga tegishli segmentlar, 𝑇𝑂𝑇𝐴𝐿 − umumiy audio uzunligi. Jaccard Index (JI) so‘zlovchi ajratish tizimi aniqlagan segmentlar va ground-truth annotatsiyalar o‘rtasidagi o‘xshashlik darajasini o‘lchaydi. JI qiymati 1 ga yaqin bo‘lsa, speaker diarization tizimi mukammal ishlaydi. |𝐴∩𝐵| 𝐽(𝐴, 𝐵) = |𝐴∪𝐵| (7) Bu yerda: A va B - avvalgi hamda keying segment annoatsiyalari. Natijalar Yuqorida keltirilgan usullar yordamida speaker diarizationni amalga oshiriladi va ularning samaradorliklari baholanadi. Dastlab, audio signalidan MFCC va uning delta qiymatlari olinadi. Ushbu xususiyatlar nutqni spikerga xos jihatlarini saqlab qolgan holda past o‘lchamli vektor fazosida ifodalash imkonini beradi. Nutq segmentlari to‘rt xil klasterlash usuli orqali tahlil qilinadi: K-means, Spektral Klasterlash, AHC, DBSCAN (ing: Density-Based Spatial Clustering). Har bir algoritm uchun natijalar mustaqil hisoblanib, RTTM formatida saqlanadi. 3-rasm. Annotatsiya fayllarining tuzilishi 62

64-p.

Ishlab chiqilgan tizim bir nechta usullarni qo‘llab ularning orasidan samaralirog‘ini tanlab olish uchun mo‘ljallangan. Mavjud datasetdan foydalanib turli usullarni sinab ko‘riladi. Natijalarni grafik ko‘rinishida ekranga chiqariladi. Bunda alohida so‘zlovchilarning nutq signallari vaqt o‘qi bo‘yicha nutqlarining ajratilganligini tasvirlanadi. Annotatsiya faylida qaysi so‘zlovchining qachon gapirganini ko‘rish mumkin. Bitta so‘zlovchiga tegishli audiolar tizim so‘ngida tahlil qilish uchun birlashtiriladi. Dastlab klasterlash algoritmlarining turli usullari bo‘yicha natijalar tahlil qilinadi. 4-rasm. So‘zlovchilarni segmentlash jarayonlarida turli klasterlash algoritmlaridan foydalanish Olingan natijalarga ko‘ra xususiyatlarni o‘zgartirilganda so‘zlovchilarni ajratish masalasida K-means hamda Agglomerativ klasterlash usullari deyarli yaqin natijalar qayd etmoqda. Ma’lumotlar to‘plami sifatida dialog ko‘rinishida hosil qilingan audio signallar va ularga tegishli annotatsiyalar asosida ishlab chiqildi. Ishlab chiqilgan ma’lumotlar to‘plamida 30000 mingdan ortiq kichik suhbatlar bor. Har bir suhbat uzunligi turlicha 3s-20s bo‘lib unda 2 tadan 4 tagacha so‘zlovchilarning nutq yozuvlari mavjud. 1-jadval. So‘zlovchining ajratish jarayonlarining baholash jadvali Klasterlash Model DER JI usuli K-means MFCC,X-vector 25.61 89.14 Spectral 26.65 88.13 Agglomerativ 24.65 90.15 DBSCAN 27.65 87.23 20.48 90.17 24.01 89.22 e K-means MFCC+Log Mel+PLP,X-vector Spectral 63

65-p.

Agglomerativ 21.65 92.12 DBSCAN 24.65 88.53 20.01 90.84 23.12 90.02 Agglomerativ 19.45 92.45 DBSCAN 24.01 89.14 e K-means Spectral MFCC+Log Mel, ECAPATDNN e Xulosa Xulosa qilib aytganda, so‘zlovchilarni ajratish bu audio tahlili va ovoz tanish sohasida muhim rol o‘ynaydigan murakkab jarayondir. Ushbu jarayon avvalo VAD modeli yordamida audioni alohida nutq segmentlariga ajratishdan boshlanadi. Segmentatsiyadan so‘ng har bir segment uchun o‘ziga xos so‘zlovchilarni xususiyatlar vektorlari ajratib olinadi, bu esa har bir so‘zlovchining ovoziga xos xususiyatlarni ifodalaydi. Keyin spektral klasterlash orqali ushbu segmentlar o‘zaro o‘xshashlik darajasiga qarab guruhlanadi, shu tariqa individual so‘zlovchilar aniqlanadi. So‘zlovchilarni ajratish tizimini aniq baholash uchun u yerda mavjud bo‘lgan ma’lumotlar to‘plami bilan taqqoslanadi, odatda bu baholash DER kabi metrikalar yordamida amalga oshiriladi. DER ning pastroq qiymati ajratish jarayonining aniqroq ekanligini bildiradi. Ushbu jarayon turli sohalarda, masalan, matnli transkripsiya xizmatlari yoki ovoz bilan boshqariladigan yordamchilarda qo‘llaniladi, chunki spikerlarni ajratish va tanish juda muhimdir. So‘zlovchilarni ajratish bo‘yicha olib borilayotgan uzluksiz tadqiqot va rivojlanishlar ushbu texnologiyaning imkoniyatlarini kengaytirib, zamonaviy ovozga asoslangan tizimlarning ajralmas qismiga aylantirmoqda. Olib borilgan tadqiqot ishida eng past DER (19.45) va eng yuqori JI (92.45) natijalari MFCC+Log Mel va ECAPA-TDNN kombinatsiyasida AHC usuli ishlatilganda kuzatildi. Bu shuni anglatadiki, ECAPA-TDNN modeli kengroq akustik xususiyatlarni hisobga olib, optimal so‘zlovchi xususiyat vektorlarini hosil qilishda samarali ishlaydi. Foydalanilgan adabiyotlar 1. K. Shukurov, T. Boburkhon and U. Khasanov, “Implementation of speech processing algorithms based on Singular Value Decomposition and Hidden Markov Model,” 2021 International Conference on Information Science and Communications Technologies (ICISCT), Tashkent, Uzbekistan, 2021, pp. 01-03, doi: 10.1109/ICISCT52966.2021.9670357. 2. S. Kamoliddin Elbobo ugli, K. Shokhrukhmirzo Imomali ugli and K. Umidjon Komiljon ugli, “Uzbek speech commands recognition and implementation based on HMM,” 2020 IEEE 14th International Conference on Application of Information and Communication Technologies (AICT), Tashkent, Uzbekistan, 2020, pp. 1-6, doi: 10.1109/AICT50176.2020.9368591. 64

66-p.

Shukurov, Kamoliddin. “Analysis of algorithms and implementation of real time speaker identification system.” Bulletin of TUIT: Management and Communication Technologies 4.4 (2021): 2. 4. Dehak, N., Kenny, P. J., Dehak, R., Dumouchel, P., & Ouellet, P. (2011). Front-end factor analysis for speaker verification. IEEE Transactions on Audio, Speech, and Language Processing, 19(4), 788-798. https://doi.org/10.1109/TASL.2010.2064307 5. Snyder, D., Garcia-Romero, D., Sell, G., Povey, D., & Khudanpur, S. (2018). X-vectors: Robust DNN embeddings for speaker recognition. Proceedings of the IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP), 5329-5333. https://doi.org/10.1109/ICASSP.2018.8461375 6. Bredin, H., Yin, R., Coria, J. M., Gelly, G., Korshunov, P., Lavechin, M., Fustes, D., Titeux, H., Bouaziz, W., & Gill, M.-P. (2020). Pyannote.audio: Neural building blocks for speaker diarization. ICASSP 2020 - IEEE International Conference on Acoustics, Speech and Signal Processing, 7124-7128. https://doi.org/10.1109/ICASSP40776.2020.9052942 7. Tawara, N., Delcroix, M., Ando, A., & Ogawa, A. (2024). NTT speaker diarization system for CHiME-7: Multi-domain, multi-microphone end-to-end and vector clustering diarization. ICASSP 2024 - IEEE International Conference on Acoustics, Speech and Signal Processing. https://doi.org/10.1109/ICASSP48485.2024.10447817 8. Wang, Y., Xue, K., & Li, P. (2024). Active learning based constrained clustering for speaker diarization. IEEE Transactions on Audio, Speech, and Language Processing. 9. Li, H., Ma, X., & Liu, Y. (2023). Clustering driven multi-hop graph attention network for speaker diarization. IEEE Transactions on Neural Networks and Learning Systems. 10. K. Shukurov, U. Xasanov (2025). Faol nutq segmentlarini aniqlash: VAD texnologiyalari tahlili. “Kompyuter lingvistikasi: muammo va yechimlar” mavzusidagi xalqaro miqyosdagi ilmiy-amaliy konferensiya. 11. K. Shukurov, U. Berdanov, U. Khasanov, S. Kholdorov and B. Turaev, "The role of adaptive filters in the recognition of speech commands," 2021 International Conference on Information Science and Communications Technologies (ICISCT), Tashkent, Uzbekistan, 2021, pp. 1-4, doi: 10.1109/ICISCT52966.2021.9670084. 12. K.E. SHukurov, U.K. Xasanov, Sh.A. Javliyev (2024). Nutq signallarini xususiyatlarini ajratib olishda parallel qayta ishlashning ahamiyati. “Scientific foundations of raising the use of information texhnologies to a new level and modern problems of automation” III – international scientific conference. November 20, 2024. 13. Zhang, C., Wang, Q., & Zhang, Y. (2024). A cluster purification algorithm for speaker diarization system. Proceedings of the IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP). 14. Garcia-Romero, D., Villalba, J., & Povey, D. (2023). Analysis of clustering algorithms for speaker diarization using LSTM. Proceedings of the IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP). 15. Kunešová, M., Meignier, S., & Barras, C. (2022). End-to-end speaker diarization as postprocessing. Interspeech 2022, 4821-4825. 3. 65

67-p.

16. Wang, Q., Downey, C., Wan, L., Mansfield, P., & Moreno, I. L. (2018). Speaker diarization with LSTM. Proceedings of the IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP), 5239-5243. https://doi.org/10.1109/ICASSP.2018.8461714 66

68-p.

O‘ZBEK MATNLARI SENTIMENT TAHLIL TIZIMI: ARXITEKTURA VA LOYIHALASH Botir Elov; Abdulla Abdullayev Texnika fanlari falsafa doktori, dotsent. ToshDO’TAU Annotatsiya. Ushbu maqolada o‘zbek tilidagi matnlarni avtomatik sentiment tahlil qilishga mo‘ljallangan axborot tizimining arxitekturasi va uning komponentlarini loyihalash bosqichlari tahlil qilinadi. Tizim uch qavatli model (frontend, backend, ma’lumotlar bazasi) asosida ishlab chiqilgan bo‘lib, Flask asosidagi REST API orqali foydalanuvchi interfeysi bilan integratsiyalashgan. Backend qismida transformer modellariga asoslangan chuqur o‘rganish algoritmlari (masalan, XLM-RoBERTa) orqali sentiment klassifikatsiyasi amalga oshiriladi. Ma’lumotlar bazasi sifatida SQLServer tanlangan bo‘lib, tizim docker konteyner orqali joylashtirilgan. Shuningdek, maqolada tizimning UML diagrammalari, modul tuzilmasi, ishlov berish oqimi va foydalanuvchi interfeysi dizayni yoritilgan. Ilmiy va amaliy natijalar asosida ishlab chiqilgan arxitektura real vaqtli tahlil uchun barqaror va masshtablanuvchan yechim sifatida baholanadi. Kalit so‘zlar: sentiment tahlil, tizim arxitekturasi, REST API, Flask, React, SQLServer, Transformer modeli, SDLC, Docker, XLM-RoBERTa, UML. Kirish Hozirgi raqamli davrda matnlardagi fikr-mulohazalarni avtomatik ravishda tahlil qilish (sentiment tahlil) – axborot texnologiyalari va sun’iy intellekt sohalarining muhim yo‘nalishiga aylandi. Sentiment tahlil yordamida foydalanuvchilarning matnlarda ifodalagan kayfiyati va munosabatini (ijobiy, salbiy yoki betaraf) aniqlash imkoniyati paydo bo‘lib, bu turli sohalarda, ijtimoiy tarmoqlar tahlilidan tortib, mijozlar fikrlarini o‘rganish va hatto siyosiy kayfiyatni bashoratlashgacha keng qo‘llanmoqda. So‘nggi yillarda sun’iy intellekt va mashinali o‘qitish usullarining jadal rivojlanishi natijasida sentiment tahlil texnologiyasi yanada takomillashib, ko‘plab tillar uchun yuqori samaradorlikka erishilmoqda. Biroq, o‘zbek tilidagi matnlarni avtomatik baholash masalasi hali to‘liq yechimini topmagan va dolzarb muammo bo‘lib qolmoqda. O‘zbek tilining boy morfologik qurilishi, so‘z yasalishining affiksal tabiati va gap tuzilishidagi o‘ziga xosliklar sentiment tahlilni qiyinlashtiradi. Masalan, bir so‘zning turli grammatik shakllari va ma’nodagi o‘zgarishlari uning hissiy bo‘yoğini aniqlashni murakkablashtiradi. Natijada, jahon miqyosida keng qo‘llanilayotgan ba’zi metodlar o‘zbek tilida kutilgan darajada samarali natija bermasligi mumkin. Shunga qaramay, o‘zbek tili uchun ham sentiment tahlil sohasida dastlabki ilmiy izlanishlar boshlangan. Xususan, ayrim tadqiqotlarda ijtimoiy tarmoqlar va sharhlar korpusi yig‘ilib, mashinali o‘qitish modellari yordamida yuqori aniqlikka erishilganligi xabar berilgan [1]. Bu yutuqlar o‘zbek tilida sentiment tahlil usullarini qo‘llash mumkinligini ko‘rsatadi. Biroq, mavjud ishlanmalar asosan algoritmik yechimlar va dastlabki prototiplar darajasida bo‘lib, to‘liq funksional axborot tizimi shaklida joriy etilmagan. Hali o‘zbek tilida sentiment tahlilini amalga oshiruvchi, foydalanuvchiga qulay interfeysga ega va yuqori samarali komponentlardan tashkil topgan integrallashgan tizimlar kam uchraydi. 67

69-p.

Ushbu maqolada aynan o‘zbek matnlari uchun sentiment tahlil axborot tizimini ishlab chiqishga e’tibor qaratiladi. Tadqiqotning maqsadi – o‘zbek tilidagi matnlardan foydalanuvchi fikrlarini avtomatik tahlil qilib, ularning hissiy rangini aniqlovchi tizim arxitekturasini loyihalash va prototipini yaratishdir. Tizimni loyihalashda uning ko‘p moduldan iborat arxitekturasi, ma’lumotlar oqimini boshqaruvchi biznes jarayonlar modeli, dasturiy ta’minot kod tuzilmasi hamda foydalanuvchi uchun qulay interfeys elementlarini puxta o‘ylash talab etiladi. Maqolada aynan shu jihatlar tizimning umumiy arxitekturasi va qatlamlari, UML kabi modellashtirish vositasi yordamida loyihalash metodologiyasi, dasturiy yechimlar tanlovi, ishlab chiqish bosqichlari va yakuniy foydalanuvchi interfeysi ilmiy asosda yoritib beriladi. O‘zbekistonda bunday tizimni yaratish masalasi dolzarb bo‘lib, u milliy axborot resurslaridan samarali foydalanish, davlat va jamiyat ehtiyojlariga moslashtirilgan til texnologiyalarini rivojlantirishda muhim ahamiyat kasb etadi. Adabiyotlar sharhi Dunyo miqyosida sentiment tahlil tizimlarining arxitekturasi odatda ko‘p qatlamli va modular tuzilishga ega bo‘lib, u bosqichma-bosqich matnni qayta ishlash jarayonini aks ettiradi. Ilmiy manbalarda sentiment tahlil tizimlari odatda ma’lumotni kiritish, matnni oldindan qayta ishlash, klassifikatsiya (model) va natijalarni chiqish kabi asosiy komponentlardan tashkil topishi ta’kidlangan [2]. Xususan, Zamoto kabi restoran sharhlarida sentiment tahlil qilish bo‘yicha yaratilgan integrallashgan tizim misolida ikki asosiy qatlamli arxitektura taklif qilingan: birinchisi, matnlarni tahlil qiluvchi NLP pipeline (oldindan qayta ishlash – tokenizatsiya, tozalash, vektorlashtirish va klassifikatsiya); ikkinchisi esa foydalanuvchilar bilan o‘zaro aloqada bo‘ladigan veb-ilova qatlami. Bunday yondashuvda tahlil qilish moduli alohida komponent sifatida offline tarzda ishlaydi va o‘z natijalarini saqlaydi, veb-qism esa ushbu natijalarni foydalanuvchiga taqdim etadi va real vaqt rejimida yangi kiritilayotgan matnlarni ham yengil tahlil qilish imkonini beradi. Bunday modullik tamoyili tizimni kengaytirish va yangilashni yengillashtiradi va kelgusida matn hajmi oshsa yoki klassifikatsiya usullarini chuqur o‘rganishga (deep learning) almashtirish zarurati tug‘ilsa, arxitektura shunga mos holda o‘zgartirilishi mumkin. O‘zbekistonda ham axborot tizimlarini loyihalashda shunga o‘xshash arxitektura tamoyillariga rioya etilgan ishlar mavjud. Masalan, o‘zbek tilida gaplar semantik tahliliga doir yaratilgan tizim Django veb-frameworki asosida MVT (Model-View-Template) arxitekturasida ishlab chiqilgan [3,4]. Tadqiqotchilar dastlab tizim uchun konseptual model va biznes jarayonlarini ishlab chiqqan holda, keyinchalik Django platformasi imkoniyatlaridan foydalangan holda, ma’lumotlar modeli (Model), amalga oshirish qismi (View) va taqdimot qatlami (Template)ni ajratgan holda dasturiy realizatsiyani amalga oshirishgan [5]. Natijada yaratilgan prototip tizim polifunksional so‘zlarni aniqlash masalasini hal qilishga mo‘ljallangan bo‘lsa-da, uning arxitekturaviy yechimi boshqa sentiment tahlil tizimlariga ham o‘xshash tarzda ko‘p qatlamli tuzilgan. Umuman, tajriba shuni ko‘rsatadiki, uch qavatli arxitektura (ma’lumotlar bazasi, biznes mantiq va prezentatsiya qatlamlari) yoki maxsus holatlarda ikki asosiy modulga bo‘lingan arxitektura (tahlil moduli + interfeys moduli) sentiment tahlil tizimlarida samarali qo‘llanishi mumkin [6]. Bu modulli yondashuv yangi funksiyalar qo‘shish, algoritmlarni takomillashtirish yoki tizimni kengaytirishda katta qulaylik yaratadi. Keng ko‘lamli dasturiy tizimlarni ishlab chiqishda Unified Modeling Language (UML) va Business Process Model and Notation (BPMN) kabi standartlashtirilgan modellashtirish 68

70-p.

vositalaridan foydalanish jahon tajribasida keng tarqalgan. UML dasturiy ta’minot arxitekturasi va komponentlari o‘rtasidagi munosabatlarni grafik shaklda tasvirlashga xizmat qilsa, BPMN biznes jarayonlarning oqimlarini tartibli ravishda aks ettiradi. Sentiment tahlil axborot tizimi singari murakkab tuzilishga ega loyihalarni bosqichma-bosqich loyihalashda ushbu vositalar katta yordam beradi [7]. Xususan, UML ning use-case diagrammalari, klass diagrammalari va faoliyat diagrammalari tizim qanday ishlashini, foydalanuvchi va dastur o‘rtasidagi aloqalarni va dasturiy modul va sinflarning tarkibini ko‘rsatib beradi. BPMN esa foydalanuvchi so‘rovini qayta ishlashdan boshlab natijani taqdim etishgacha bo‘lgan ish jarayonini ketma-ket bosqichlar sifatida ifodalaydi. Ilmiy adabiyotlarda o‘zbek tilidagi matnlarni tahlil qiluvchi tizimlar loyihasida aynan BPMN modellashtirishidan foydalanilgan misollar ham uchraydi. Masalan, polifunksional so‘zlarni aniqlashga doir yaratilgan axborot tizimi loyihasida tadqiqotchilar tizimning har bir funksional jarayonini tahlil qilib, ularni BPMN notatsiyasida alohida biznes jarayon modellari shaklida ifodalashgan. Natijada, tizimda yuz beruvchi jarayonlar (masalan, matnni kiritish, uni qismlarga ajratish, so‘z turkumini aniqlash, natijani bazaga saqlash va hokazo) alohida sxemalar ko‘rinishida tasvirlanib, ularni oson tushunish va tahlil qilish imkoni yaratilgan [8]. Bundan tashqari, loyihalash jarayonida BPMN diagrammalari orqali turli modullar o‘rtasidagi o‘zaro aloqa va ma’lumotlar oqimi aniq belgilab olinganligi kelgusida dasturlash bosqichida xatoliklarni kamaytirishga xizmat qilgan [9]. Xulosa qilib aytganda, UML va BPMN metodologiyalari sentiment tahlil tizimini loyihalashda ham muhim yordamchi vositalar bo‘lib, ular yordamida tizimning konseptual tuzilmasini boshidanoq to‘g‘ri rejalashtirish va manfaatdor tomonlar (dasturchilar, buyurtmachilar) bilan samarali aloqa o‘rnatish mumkin. Tizim arxitekturasi (modul va qatlamlar) Tizimning umumiy arxitekturasi uch qavatli modelga asoslanadi: tashqi (frontend) qatlami, ilova (backend) qatlami va ma’lumotlar qatlami [10]. Frontend qatlami foydalanuvchi uchun grafik interfeys (React asosida veb-ilova)ni ta’minlaydi va brauzerda ishlaydi. Backend qatlami esa Flask yordamida yaratilgan REST API xizmatidan iborat bo‘lib, biznes mantiqini bajaradi va foydalanuvchidan kelgan so‘rovlarni qayta ishlaydi [11]. Ma’lumotlar qatlami sifatida SQLServer2022 ma’lumotlar bazasi qo‘llanilib, tahlil qilingan matnlar va ularning natijalari shu yerda saqlanadi. Shu qatlamlar o‘rtasida integratsiya xizmati (ichki API so‘rovlar yoki xabarlar tizimi) orqali o‘zaro ma’lumot almashinuvi yo‘lga qo‘yiladi. ML modeli alohida modul sifatida backend ichiga kiritilgan bo‘lib, matnlarni baholash uchun chaqiriladi. Bunday arxitekturaviy ajratish tizimning har bir qatlami mustaqil ishlab chiqilishi va kerak bo‘lsa alohida o‘lchamda masshtablanishini ta’minlaydi [12]. Frontend va backend o‘rtasidagi aloqalar HTTP(s) protokoli orqali JSON formatdagi so‘rovlar va javoblar shaklida tashkil etiladi. Quyidagi 1-rasmda o‘zbek matnlari sentiment tahlil tizim komponentlari va ularning o‘zaro aloqasi aks etgan arxitektura keltirilgan. Bu arxitekturada foydalanuvchi brauzer orqali tizimga murojaat qiladi va frontend komponenti orqali matnlarni kiritadi. Frontend UI komponenti kiritilgan ma’lumotni REST API orqali backend serveriga uzatadi. Backend esa kelgan so‘rovni qabul qilib, avvalo matnni oldindan tayyorlash (preprocessing) moduliga yuboradi va bu modul matndagi keraksiz belgilarni tozalash, normalizatsiya va tokenizatsiya kabi ishlarni bajaradi. Tozalangan matn so‘ng ML modeliga beriladi, u matnning sentymentini aniqlaydi. Natijada hosil bo‘lgan ijobiy, salbiy yoki neytral baho qiymati backend tomonidan qayta ishlanadi va ma’lumotlar bazasida natijalar saqlanadi. 69

71-p.

Integratsiya xizmati agar tizim boshqa tashqi servislar (masalan, ijtimoiy tarmoqlardan ma’lumot olish yoki messenjer botiga ulanish) bilan bog‘lanishi zarur bo‘lsa, buni amalga oshiradi. Matnlarni Twitter API orqali yig‘ish moduli yoki natijalarni chat-bot orqali yuborish xizmati shunday integratsion komponent sifatida qo‘shilishi mumkin. Yakunda backend olingan sentiment natijasini frontendga JSON javob ko‘rinishida qaytaradi. Frontend esa foydalanuvchiga natijani qulay ko‘rinishda, matnning umumiy sentimenti va ehtimoliy baholari bilan ekranga chiqaradi. Foydalanuvchi (Browser) Natijani ko`rsatish HTTP(s) so rovi Frontend (React UI) API natijasi (JSON) REST API chaqiruvi Backend API (Flask) Matnni baholash Ma`lumotlarni olish Sentiment tahlil natijasi Natijalarni saqlash Ma`lumotlar bazasi (SQL Server) ML modeli (RoBERTa) 1-rasm. O‘zbek matnlari sentiment tahlil tizim arxitekturasi. Tizimni loyihalash jarayonida Unified Modeling Language (UML) vositalari yordamida uning tarkibi va xatti-harakatlari modellashtiriladi. UML – bu dasturiy tizimlar arxitekturasini vizuallashtirish, belgilash, qurish va hujjatlashtirish uchun xizmat qiluvchi standartarashgan grafik modellash tili hisoblanadi. Ushbu tizim uchun bir nechta asosiy diagrammalar tuziladi: 1) Foydalanish holatlari diagrammasi (Use Case diagram); 2) Oqim diagrammasi (Flowchart yoki Activity diagram); 3) Komponentlar diagrammasi (Component diagram). Foydalanish holatlari diagrammasi tizimdan foydalanuvchi va tizimning o‘zaro aloqalarini ssenariy shaklida aks ettiradi. Masalan, foydalanuvchi uchun “Matn kiritish”, “Tahlil natijasini ko‘rish” kabi use-case’lar shakllantirilib, ular ushbu diagrammada foydalanuvchi aktori va tegishli use-case oval shakllari bilan ko‘rsatiladi. Use-case diagramma foydalanuvchining tizim orqali bajarishi mumkin bo‘lgan barcha asosiy funksional holatlarni umumiy ko‘rinishda beradi. Aktivlik (oqim) diagrammasi esa sentiment tahlil jarayonining bosqichma-bosqich oqimini ifodalaydi. Bunda ma’lumot oqimi va amallar ketma-ketligi bloklar va o‘qlar yordamida chizilib, masalan: “Matnni yuklash → Oldindan qayta ishlash → ML modelda baholash → Natijani chiqarish” kabi ketma-ketlik shaklida tasvirlanadi. Oqim diagrammasi bosqichlar orasidagi shartlar va tarmoqlanishlarni ham ko‘rsatib, tizimning ichki ishlash jarayonini yaxlit tushunishga yordam beradi. 70

72-p.

Ma’lumotlar oqimi diagrammasi vositasida matnlar qanday manbadan olinishi, qanday qayta ishlanib, natijalar qayerga yuborilishi ketma-ketlikda tasvirlanadi: “Foydalanuvchi sharhini yig‘ish → Polaritetini aniqlash → Natijani bazaga yozish → Vizualizatsiya” oqimi. Tadqiqotlarda keltirilishicha, bunday diagramma sentiment tahlil jarayonining bosqichlarini aniq tushunishga yordam beradi. Komponentlar diagrammasi tizimning moddiy tuzilishini, ya’ni dasturiy modullar va ularning bog‘lanishlarini ko‘rsatadi. Bizning holatda komponentlar diagrammasida quyidagilar bo‘ladi: Foydalanuvchi interfeysi moduli (frontend), REST API moduli (backend), ML model moduli, ma’lumotlar bazasi va Integratsiya xizmati. Ushbu diagrammada har bir modul alohida blok bilan ifodalanib, ular orasidagi bog‘lanishlar frontend → backend, backend → ML model, backend → MB o‘qlar bilan ko‘rsatiladi. Komponentlar diagrammasi tizim arxitekturasi haqida yuqori darajadagi tasavvur berib, dasturiy ta’minot qismlari qanday tashkil etilganini hujjatlashtiradi. O‘zbek matnlari sentiment tahlil tizimi ishlab chiqish bosqichlari Dasturiy ta’minotni ishlab chiqishning hayotiy sikli (Software Development Life Cycle, SDLC) – bu dasturiy mahsulotni konsepsiyadan to to‘liq ishga tushirishgacha bo‘lgan bosqichmabosqich rivojlantirish jarayonidir. SDLC dasturiy ta’minot sifati va ishlab chiqish samaradorligini oshirishga qaratilgan bo‘lib, u orqali loyiha bosqichlari aniq belgilab chiqiladi. Natijada, yuqori sifatli va foydalanuvchi talablariga javob beruvchi mahsulotni belgilangan muddat va byudjet doirasida yaratish imkoniyati ortadi. SDLC, xuddi binoni qurishdagi me’moriy reja singari, dasturiy loyihani oldindan puxta rejalash va boshqarish imkonini beradi. Bu jarayon axborot tizimlari, tabiiy tilni qayta ishlash (NLP) kabi murakkab loyihalarda ayniqsa muhim. NLP tizimini ishlab chiqishda dastlab til korpusini tayyorlash va talablarni aniqlash, keyin esa model arxitekturasini loyihalash va bosqichma-bosqich sinovdan o‘tkazish zarur bo‘ladi. SDLC 7 asosiy bosqichdan iborat: 1) Rejalashtirish (Planning) 2) Talablarni tahlil qilish (Analysis) 3) Loyihalash (Design) 4) Dasturlash (Development) 5) Sinovdan o‘tkazish (Testing) 6) Joriy etish (Deployment) 7) Texnik qo‘llab-quvvatlash (Maintenance) Quyida ushbu bosqichlarning mazmun-mohiyati va ularning axborot tizimlarini yaratishdagi o‘rni bosqichma-bosqich tahlil qilinadi. Akademik nuqtai nazardan, SDLC – bu tizimli metodologiya bo‘lib, har bir bosqichda bajariladigan jarayonlar va yaratiladigan hujjatlar jamlanmasini o‘z ichiga oladi. Har qanday axborot tizimi kabi, sentiment tahlil tizimini yaratish ham bir necha bosqichli jarayondan iborat bo‘lib, har bosqichda turli vazifalar hal etiladi. Jahon amaliyotida keng qo‘llaniladigan dasturiy ta’minotni ishlab chiqish hayotiy davri modeliga ko‘ra, tizim yaratish jarayoni quyidagi asosiy bosqichlarni o‘z ichiga oladi: 71

73-p.

Talablarni tahlil qilish Foydalanuvchi testlari Sinov keyslari (test cases) Validatsiya Tizimli testlar Sinov keyslari Validatsiya Loyihalash Arxitekturani loyihalash Integratsiya testi Sinov keyslari Validatsiya Tizim modullarini ishlab chiqish Sinov keyslari Validatsiya Funksional testlar Verifikatsiya Validatsiya Unit testlari Kod yozish Joriy etish (Implementatsiya) 2-rasm. O‘zbek matnlari sentiment tahlil tizimi ishlab chiqish bosqichlari 1. Rejalashtirish bosqichi. Rejalashtirish – SDLC ning birinchi va eng muhim bosqichi bo‘lib, loyiha muvaffaqiyatining poydevorini yaratadi. Ushbu bosqichda bajariladigan asosiy ishlar: − Muammoni aniqlash va maqsadni belgilash: Dasturiy ta’minot yechmoqchi bo‘lgan asosiy muammo va undan kutilayotgan foyda aniqlanadi. Sentiment tahlil tizimi yaratishdan maqsad – matnlardagi sentiment hissiyot skori (bahosi)ni aniqlash. − Loyiha doirasini va cheklovlarini belgilash: Kelajakdagi dasturiy ta’minotning funksional imkoniyatlari, ko‘lam (scope) va chegaralari belgilanadi. Bu jarayonda loyiha hajmi va murakkabligi baholanadi. − Texnik va iqtisodiy imkoniyatlarni o‘rganish (feasibility study): Loyihani amalga oshirish uchun zarur texnologiyalar va resurslar, dasturchilar jamoasi tajribasi va byudjet taxminan baholanadi. Shuningdek, loyiha oldidagi xavf-xatarlar (risklar) ro‘yxati tuziladi va ularning ehtimoli hamda ta’siri tahlil qilinadi. − Ish rejasi va jadval tuzish: Loyiha bosqichlari bo‘yicha ish reja (projekt rejasi) hamda taxminiy muddatlar grafigi tuziladi. Unda muhim bosqichiy vazifalar va milestonelar belgilanadi. Bu reja loyiha davomida bajarilayotgan ishlarni nazorat qilish imkonini beradi. Rejalashtirish bosqichining yakuniy natijasi sifatida odatda loyiha konseptsiyasi (Project Charter) va Dasturiy talablarlarni aniqlash hujjati (Software Requirement Specification, SRS) ishlab chiqiladi. Shu bilan birga dastlabki iqtisodiy modellash amalga oshiriladi. COCOMO 72

74-p.

(Constructive Cost Model) modeli yordamida dastur hajmi va kod qatorlari soniga qarab mehnat hajmi (Effort E) baholanadi. Bunday hisob-kitoblar rejalashtirish bosqichida loyiha narxi va davomiyligini prognoz qilish, byudjet ajratish hamda resurslarni rejalashtirishda qo‘l keladi. 2. Talablarni tahlil qilish bosqichi. Talablarni yig‘ish va tahlil qilish – dasturiy mahsulotdan foydalanuvchilar va buyurtmachi kutayotgan funksional va funksional bo`lmagan talablarni aniqlash bosqichidir. Bu bosqichda, sentiment tahlil tizimi qaysi turdagi matnlar bilan ishlashi, til modeli qamrovi, natijalarni ko‘rinish shakli kabi jihatlar belgilanadi. Ushbu bosqichda loyiha jamoasi quyidagilarni amalga oshiradi: − Manfaatdor tomonlar bilan muloqot: Tizimdan foydalanuvchilari, buyurtmachilar, tizim analitiklari va boshqa manfaatdor shaxslar (stakeholders) bilan intervyu, so‘rovnomalar va fokusguruhlar orqali aloqa o‘rnatiladi. Masalan, NLP asosida ishlovchi matnni tahlil qilish tizimi yaratayotgan bo‘lsak, lingvist-mutaxassislar va potensial foydalanuvchilarning istaklari o‘rganiladi. − Talablarni hujjatlashtirish: Olingan barcha ehtiyoj va istaklar tahlil qilinib, zarur va ikkinchi darajali funksiyalar ajratiladi. Bu jarayonda “zarur” (must-have) va “yaxshi bo‘lardi” (nice-to-have) funksiyalar farqlanadi. Foydalanuvchi talablarining to‘liq ro‘yxati va ularning ustuvorlik darajasi aniqlanadi. − Talablar spetsifikatsiyasi (SRS)ni tuzish: Barcha yig‘ilgan talablar asosida Talablar spetsifikatsiyasi hujjati ishlab chiqiladi. Ushbu hujjatda dasturiy ta’minotning maqsadi, vazifalari, funksional imkoniyatlari, ishlash unumdorligi, xavfsizlik talableri, interfeys talablarigacha batafsil bayon etiladi. Talablar hujjati loyiha jamoasi uchun kelgusida yo‘l xaritasi bo‘lib xizmat qiladi va loyiha miqyosini aniq belgilaydi. − Talablarni verifikatsiya va tasdiqlash: Yozib chiqilgan talablar buyurtmachi va foydalanuvchilar tomonidan qayta ko‘rib chiqilib, tasdiqlanadi. Bu bosqich talablarning to‘liq va to‘g‘ri tushunilganini tekshirish uchun muhim, aks holda keyingi bosqichlarda noaniqliklar yuzaga kelishi mumkin. Talablarni tahlil qilish bosqichining muvaffaqiyati butun loyiha muvaffaqiyatini belgilaydi. To‘g‘ri va aniq aniqlangan talablar natijasida yaratilgan dasturiy mahsulot foydalanuvchilarning ehtiyojlarini qondiradi yoki hatto ularning kutilmalaridan oshadi. Aksincha, noto‘g‘ri yoki noaniq talablar loyiha davomida jiddiy muammolarga va qayta ishlashga olib kelishi mumkin. Shu sababli, bu bosqichda manbalarga boy tahlil va muvofiqlashtirilgan muloqot katta ahamiyatga ega. 3. Loyihalash bosqichi. Loyihalash bosqichida dasturiy tizimning umumiy tuzilishi va yechimning “qurilishi” rejalashtiriladi. Agar talablar bosqichida nima qilish kerakligi belgilangan bo‘lsa, loyihalash bosqichida qanday qilish kerakligi aniqlashtiriladi. Belgilangan talablar asosida tizimning arxitekturasi, ma’lumotlar bazasi strukturalari, modullar va ularning o‘zaro aloqasi loyihalashtiriladi. Bu bosqichda yuqorida ta’kidlanganidek UML diagrammalari, konseptual sxemalar tuziladi va kelajakdagi dasturiy strukturaning “qurilishi” rejalashtiriladi. Bu bosqichda quyidagi masalalar hal etiladi: − Arxitektura tuzilmasi: Tizimning yuqori darajadagi arxitekturasi tuziladi. Tizimning asosiy komponentlar (modullar)i va ularning o‘zaro aloqasi aniqlanadi. Masalan, veb-ilova uchun “mijoz-server” arxitekturasi yoki NLP tizimi uchun modullar (matnni oldindan ishlov berish moduli, ML modeli, foydalanuvchi interfeysi va h.k.) o‘rtasidagi bog‘liqliklar chizib chiqiladi. − Ma’lumotlar bazasi va ma’lumotlar modeli tuzilmasi: Sentiment tahlil tizimi ma’lumotlar tuzilmasi va obyektlar o‘rtasidagi bog‘lanishlar (ER-diagramma) loyihalashtiriladi. Bu 73

75-p.

yerda muhim ma’lumot obyektlari va ularning atributlari, o‘zaro munosabatlari ko‘rsatiladi. Shuningdek, ma’lumotlar oqimi diagrammalari (DFD) tuzilib, tizim ichida ma’lumotlar qanday oqib o‘tishi tasvirlanadi. − Interfeys dizayni va foydalanish qulayligi (UX/UI): Foydalanuvchi interfeysi elementlari, navigatsiya sxemalari, dasturiy ta’minotning ko‘rinishi va funksional imkoniyatlarining foydalanuvchi uchun qulayligi rejalashtiriladi. Masalan, veb-ilovaning sahifalari uchun wireframe va mockuplar chiziladi, NLP tizimi uchun esa foydalanuvchidan matn kiritish va natijani ko‘rsatish jarayonining soddaligi ta’minlanadi. − Texnik yechimlar va integratsiya nuqtalarini aniqlash: Tizim qaysi dasturlash tilida yozilishi, qanday kutubxona va freymvorklardan foydalanilishi, agar mavjud tizimlar bilan integratsiya qilinishi lozim bo‘lsa, bunday bog‘lanish nuqtalari aniqlanadi. Masalan, kompyuter lingvistikasi tizimida mavjud til resurslari (lug‘atlar, korpuslar) bilan ishlash uchun tegishli API’lar belgilanadi. Loyihalash bosqichining yakunida Dasturiy tuzilma hujjati (Software Design Document, SDD) tayyorlanadi. Ushbu hujjatda tizim arxitekturasi, ma’lumotlar bazasi sxemasi, modul va komponentlarning vazifalari, ularning o‘zaro aloqasi va interfeyslari batafsil bayon etiladi. Tuzilma hujjati keyingi kod yozish bosqichida dasturchilar uchun yo‘l xaritasi vazifasini o‘taydi. Loyihalash bosqichi – bu talablar bilan ijro (kodlash) o‘rtasidagi ko‘prikdir: to‘g‘ri loyihalangan tizim nafaqat foydalanuvchi talablariga mos keladi, balki kelgusida oson kengaytiriladigan va xizmat ko‘rsatishga qulay tizim bo‘lishini ham ta’minlaydi. 4. Kodlash (ishlab chiqish) bosqichi. Kodlash bosqichi (ba’zan ishlab chiqish bosqichi deb ham yuritiladi) – bevosita dasturiy ta’minotni yaratish, ya’ni kod yozish jarayonidir. Ushbu bosqichda dasturchilar jamoasi loyihalashda belgilab olingan reja va blueprintlarga amal qilgan holda, tizim funksiyalarini dasturlashni boshlaydilar. Agar tizim murakkab bo‘lsa, ayrim qismi yoki algoritmlarini matematik modellashtirish, prototip dasturlar yaratib sinab ko‘riladi. Ilmiy ishlarda, xususan, o‘zbek tilida sentiment tahlil qilish tizimini yaratishda tadqiqotchilar avvalo matematik va lingvistik modellarni ishlab chiqqan holda, ularning samaradorligini kichik tajriba dasturlari orqali sinab ko‘rishgan. Bu bosqich kelgusida to‘liq tizimni ishlab chiqishda xatolarni barvaqt ko‘rib chiqish va yechimini topishga imkon beradi. Bunda oldingi bosqichlarda ishlab chiqilgan loyiha asosida alohida modullar (masalan, matnni tozalash, so‘zlarni belgilash, klassifikatsiya modeli, natija chiqarish, foydalanuvchi interfeysi) alohida dasturlanadi va so‘ngra yagona tizimga integratsiya qilinadi. Bir necha mahalliy loyiha va ilmiy ishlar tajribasida dasturlash uchun Python tili va uning sun’iy intellekt kutubxonalari tanlangan, natijada prototip tizim tayyor bo‘lgach, u Django veb-dasturi bilan integratsiya qilinadi. Kodlash bosqichining asosiy xususiyatlari: − Standartga amal qilgan holda kod yozish: Dasturchilar oldindan kelishilgan kod yozish standartlari (koding standartlari) va nomlash konvensiyalariga amal qilgan holda kod yozadilar. Bu source kodning yagona uslubda bo‘lishini, turli jamoa a’zolari yozgan kodning o‘zaro mos va tushunarli chiqishini ta’minlaydi. Masalan, barcha dasturchilar funksiyalar va o‘zgaruvchilarni nomlashda bir xil konvensiyaga rioya qilishadi, kodning tuzilishi yakdil qoidalarga bo‘ysunadi. − Modullar bo‘yicha ishlab chiqish: Katta dasturiy tizim bo‘limlarga (modullarga) bo‘linib, har bir dasturchi yoki kichik guruh aniq bir modul ustida ishlaydi. Bu modul tamoyili kodni tartibli va boshqariladigan holda yozishga yordam beradi. 74

76-p.

− Versiya nazorati va integratsiya: Dasturchilar versiya nazorati tizimlari (masalan, Git) orqali o‘zgarishlarni boshqarib boradilar. Har bir yozilgan kod bo‘lagi (commit) tizimga integratsiya qilinadi va dasturiy ta’minotning ishchi talqini muntazam yangilanib boradi. Bu CI (Continuous Integration) amaliyotiga mos keladi va jamoa kodni birlashtirib borar ekan, integratsion muammolar erta bosqichda aniqlanadi. − Kod tekshiruvi (Code Review): Jamoa ichida yozilgan kod o‘zaro tekshirib boriladi va bir dasturchi yozgan kodni boshqa hamkasbi ko‘rib chiqadi, potensial xatolar, kamchiliklar yoki yaxshilash imkoniyatlari yuzasidan fikr bildiradi. Bunday kod revyu jarayoni dasturiy ta’minot sifatini oshiradi, xatolarni erta bosqichda bartaraf etish va eng yaxshi amaliyotlarni joriy etishga xizmat qiladi. − Ichki sinov va prototiplash: Kodlash jarayonida har bir modul yozilgach, dasturchilar tomonidan dastlabki ichki testlar o‘tkaziladi. Ya’ni, modul asosiy funktsiyani bajarayotganbajarmayotganini tezkor tekshirish (unit-test) amalga oshiriladi. Shuningdek, agar loyiha prototiplar orqali iterativ rivojlantirilayotgan bo‘lsa, kodlash bosqichida ishlab chiqilgan dastlabki prototip foydalanuvchilarga yoki buyurtmachiga namoyish etib boriladi va bu feedback olib, kerak bo‘lsa, dizayn yoki talablarni tezda o‘zgartirish imkonini beradi. Kodlash bosqichi yakunida dasturiy ta’minotning ishlaydigan versiyasi (yoki minimal ishchi mahsulot – Minimum Viable Product, MVP) hosil bo‘ladi. Bu hali to‘liq xatolardan xoli bo‘lmasligi mumkin, ammo u oldingi bosqichlarda belgilangan funksional talablarning asosiy qismini amalda bajarib turadi. Axborot tizimlari va NLP loyihalarida kodlash bosqichi ayniqsa ijodiy jarayon bo‘lib, algoritmlar va modellarning bevosita hayotga tatbiq etilishidir. Masalan, NLP tizimi uchun bu bosqichda matnni tozalash va pars qilish algoritmlari, mashina o‘rganish modeli arxitekturasi kodda yoziladi, va dastlabki natijalar olinadi. Kodlash bosqichi – bu oldingi bosqichlardagi reja va loyihalarning “jonlanishi”, ya’ni real dasturiy mahsulotga aylanish jarayonidir. 5. Sinovdan o‘tkazish bosqichi. Sinov bosqichi – yozilgan dasturiy ta’minotni sifat nazoratidan o‘tkazish, xatolarni aniqlash va tuzatish bosqichidir. Bu bosqichni ishlab chiqarish tarmoqli zavodidagi mahsulot sifat tekshiruvi bilan qiyoslash mumkin. Tizimning barcha komponentlari tayyor bo‘lgach, ularni funksional va yuklama bo‘yicha sinovdan o‘tkazish bosqichi keladi. Bu yerda tizimga turli test ma’lumotlar kiritilib, uning to‘g‘ri ishlashiga ishonch hosil qilinadi; xatolar aniqlansa, tegishli tuzatishlar kiritiladi. Sentiment tahlil tizimi uchun sinov bosqichida har xil ko‘rinishdagi matnlar (ijobiy, salbiy, neytral, turli uzunlik va uslubdagi) sinab ko‘riladi va modelning aniqlik, to‘g‘rilik kabi ko‘rsatkichlari baholanadi. Ayrim manbalarda o‘zbek tilidagi model sinovlari natijasida 92–93% aniqlikka erishilgani qayd etilgan bo‘lib, sinovlar jarayonida aniqlangan zaif joylar asosida modelga tuzatishlar kiritilgan. Sinov bosqichida quyidagi jarayonlar amalga oshiriladi: − Test rejasi va test holatlari (test case) ishlab chiqish: Dasturiy ta’minotning talablariga mos holda sinov strategiyasi belgilanadi. Qaysi funksiyalarni qanday sharoitlarda tekshirish kerakligi, kutilayotgan natijalar nimalardan iborat bo‘lishi lozimligi aniqlanadi. Buning uchun test holatlari yoziladi va har bir test holatida dasturga beriladigan kiruvchi ma’lumotlar va kutilayotgan chiqishlar ko‘rsatiladi. Masalan, matn tarjimasi tizimi uchun bir necha turdagi jumlalar (oddiy, murakkab, idiomatik) kiritilib, tarjima natijasi inson tarjimasi bilan solishtiriladi. 75

77-p.

− Turli xil test turlarini o‘tkazish: Dasturiy ta’minotning barcha jihatlarini qamrab olish uchun bir necha bosqichli test sinovlari amalga oshiriladi. Jumladan: − Birlik testi (unit testing): Dasturiy ta’minotni tashkil etuvchi alohida modullar va funksiyalar izolyatsiya holda test qilinadi. Har bir modul o‘z vazifasini to‘g‘ri bajarayotgani tekshiriladi. − Integratsiya testi: Modullar birgalikda ishlaganda yuzaga keluvchi muammolarni aniqlash uchun o‘zaro bog‘liq qismlar birlashtirilib sinovdan o‘tkaziladi. − Tizim testi: Tizim to‘liq majmua holida ishga tushirilib, yakuniy foydalanuvchi nuqtai nazaridan barcha funksiyalarining to‘g‘ri ishlashi tekshiriladi. − Qabul testi (acceptance testing): Buyurtmachi yoki oxirgi foydalanuvchilar ishtirokida dasturiy mahsulot real foydalanish sharoitiga yaqin muhitda sinovdan o‘tadi. Agar bu testdan muvaffaqiyatli o‘tsa, dasturiy ta’minot qabul qilinishga tayyor hisoblanadi. − Xavfsizlik testi: Tizimning xavfsizlik talablariga javob berishi, ma’lumotlar himoyalanganligi, ruxsatsiz kirishlardan holi ekanligi sinovdan o‘tadi (agar dasturiy ta’minot uchun bu dolzarb bo‘lsa). − Yuklama va stress testi: Tizim ko‘p foydalanuvchilar, katta ma’lumotlar oqimi yoki chegaraviya holatlar (masalan, server resurslari kamayganda)da barqaror ishlash-qilmasligi tekshiriladi. − Xatolarni qayd etish va tuzatish: Har bir muvaffaqiyatsiz test holati natijasida aniqlangan xato va kamchiliklar batafsil hujjatlashtiriladi. Xatolikning alomati, qanday sharoitda sodir bo‘lishi, dasturiy ta’minotga ta’siri kabi ma’lumotlar qayd qilinadi. Ushbu xatolar dasturchilarga yetkazilib, kodni tuzatish ishlari amalga oshiriladi. Tuzatish kiritilgach, tegishli testlar takrorlanadi va xato bartaraf etilgunga qadar bu jarayon davom etadi. − Sinov natijalarini tahlil qilish: Barcha testlar bajarilgach, umumiy natijalar ko‘rib chiqiladi. Agar jiddiy xatolar qolmagan bo‘lsa va dastur belgilangan talablarga muvofiq ish bersa, loyiha keyingi bosqichga o‘tadi. Aks holda, kerak bo‘lsa, ayrim talablar qayta ko‘rib chiqilishi yoki orqaga kodlash bosqichiga qaytilishi ham mumkin. Sinov bosqichi dasturiy ta’minot sifatini ta’minlashda hal qiluvchi ahamiyatga ega. Ayniqsa, axborot tizimlari uchun, tizimning ishonchliligi va barqaror ishlashi muhim. Shu bois puxta test qilingan tizimgina iste’molchi qo‘liga topshiriladi. NLP tizimlari misolida, sinov bosqichida modelning aniqlik, to‘g‘rilik (precision/recall) kabi ko‘rsatkichlari baholanadi, turli sinov korpuslarida model ishlashi tekshiriladi va zarurat tug‘ilsa, model qayta o‘qitilib, natijalar takomillashtiriladi. 6. Joriy etish va ishga tushirish bosqichi. Joriy etish (deployment) bosqichi – dasturiy mahsulotni ishchi muhitga (production muhitiga) o‘tkazish va foydalanuvchilarga yetkazish bosqichidir. Sinovlardan muvaffaqiyatli o‘tgan tizim real muhitga joriy etiladi, foydalanuvchilar uchun foydalanish yo‘riqnomalari ishlab chiqiladi. Shuningdek, ushbu bosqichda tizimning ekspluatatsiya jarayonida monitoringi, foydalanuvchi fikr-mulohazalarini yig‘ish va keyingi versiyalar uchun takomillashtirish rejalari tuziladi. Bu bosqichga kelib dasturiy ta’minot sinovlardan o‘tgan va qabulga tayyor deb topilgan bo‘ladi. Joriy etish bosqichida: − Ishchi muhitga o‘tkazish: Dasturiy mahsulot ishlab chiqarish muhitiga o‘rnatiladi va ishga tushiriladi. Ko‘p hollarda kompaniyalar dasturiy ta’minotni bir yo‘la barcha foydalanuvchilarga emas, balki bosqichma-bosqich o‘tkazadilar. Masalan, dastlab sinov muhitida 76

78-p.

(staging) yoki sandbox muhitida ishga tushirib ko‘rishadi, so‘ngra cheklangan foydalanuvchilar guruhiga beta-versiya sifatida taqdim etishadi, oxirida esa to‘liq produktsion muhitga joylashadi. Bunday yondashuv dasturiy ta’minotni real muhitda ham tekshirib ko‘rish va kutilmagan muammolarni keng auditoriyaga chiqmasdan oldin tuzatish imkonini beradi. − Joylashtirish strategiyasini tanlash: Loyihaning xususiyatlariga qarab, joriy etishning turli strategiyalari qo‘llanadi. Masalan, “Big Bang” – mahsulotni bir zumda hamma foydalanuvchilarga ishga tushirish; “Blue-Green” – eski versiya (blue) yonida yangi versiya (green) parallel ishga tushirib, sinovdan so‘ng trafikni yangi versiyaga o‘tkazish; yoki “Kanareyka (Canary) joriy etish” – foydalanuvchilarning kichik qismida yangi versiyani sinab ko‘rib, so‘ng bosqichmabosqich ulushini oshirish. Bunday usullar foydalanuvchi tajribasiga minimal ta’sir bilan yangilanishlarni tatbiq etish imkonini beradi. − Foydalanuvchi qo‘llanmasi va o‘qitish: Yangi tizim foydalanuvchilarga taqdim etilayotganda, ularga yo‘riqnoma va qo‘llanmalar beriladi. Zarur hollarda trening va seminarlar o‘tkazilib, foydalanuvchilarga tizimdan foydalanish qoidalari o‘rgatiladi. Ayniqsa, korporativ axborot tizimlarini joriy etishda bu bosqich muhim va xodimlar yangi tizimga moslashishi va uning imkoniyatlaridan to‘liq foydalana olishi lozim. − Texnik infratuzilmani sozlash: Mahsulotni ishga tushirishda serverlar, ma’lumotlar bazasi, tarmoq sozlamalari kabi infratuzilma komponentlari tayyorlanadi. Agar bu bulutli servis bo‘lsa, DevOps jarayonlari (CI/CD pipeline) orqali avtomatlashtirilgan deploy qilinadi. − Foydalanuvchi fikr-mulohazalarini yig‘ish: Mahsulot ishga tushirilgach, dastlabki foydalanuvchilardan fikr va mulohazalar olinadi. Bu ma’lumotlar keyingi yangilanishlarda hisobga olinishi uchun jamlanadi. Joriy etish bosqichi mahsulotning loyiha rejimidan ishchi rejimga o‘tishini anglatadi. Ushbu bosqich yakunida dasturiy ta’minot real foydalanuvchilar qo‘lida o‘z vazifasini bajara boshlaydi. Bu bosqich yakuniy nuqta emas, balki yangi bosqich, ya’ni texnik xizmat va qo‘llab-quvvatlash bosqichining boshlanish nuqtasidir. Misol tariqasida, NLP modeli asosidagi xizmatni ishga tushirganimizda, real foydalanuvchi matnlarini qayta ishlash jarayonida model qanday natija berayotgani kuzatiladi, foydalanuvchilarning qoniqish darajasi tahlil qilinadi. 7. Texnik xizmat ko‘rsatish (qo‘llab-quvvatlash) bosqichi. Texnik xizmat va qo‘llabquvvatlash – dasturiy ta’minotni ishlab chiqishning yakuniy va doimiy davom etuvchi bosqichi bo‘lib, mahsulot ishga tushirilgandan so‘ng uning barqaror ishlashi, yangilanishi va takomillashtirib borilishini nazarda tutadi. Bu bosqichda quyidagilar amalga oshiriladi: − Xatolarni tuzatish: Foydalanuvchilar tizimdan foydalana boshlagach, avval topilmagan ba’zi xatolar (baglar) aniqlanishi mumkin. Texnik xizmat ko‘rsatish jarayonida ishlab chiquvchilar bunday nosozliklarni bartaraf etishadi va dasturiy yamalar (patch) tarzida tizimga joriy qilishadi. Bu doimiy monitoring va tezkor reaksiyani talab qiladi. Xususan, agar yangi versiya jiddiy xatoga ega bo‘lsa, hot-fix tarzida zudlik bilan tuzatish chiqarilishi zarur. − Funktsional imkoniyatlarni kengaytirish: Vaqt o‘tishi bilan foydalanuvchilarning yangi talab va ehtiyojlari paydo bo‘lishi mumkin, yoki bozor talabiga ko‘ra dasturga yangi funksiyalar qo‘shish zaruriyati tug‘iladi. Qo‘llab-quvvatlash bosqichida tizimga yangilanishlar va versiyalar orqali yangi funksiyalar qo‘shib boriladi. Bu aslida SDLC jarayonining yana dastlabki bosqichlariga ma’lum ma’noda qaytishni bildiradi. Ya’ni, yangi qo‘shimchalar uchun mini-rejalashtirish, dizayn, kodlash va testdan o‘tish jarayonlari takrorlanadi (spiral tarzda rivojlantirish). 77

79-p.

− Ishlash sifatini oshirish va optimizatsiya: Mahsulot ishlayotgan davrida uning ishlash ko‘rsatkichlari (performance) kuzatib boriladi. Masalan, veb-tizim bo‘lsa, uning javob berish vaqti, server yuklamasi, foydalanuvchi kirishlari soniga qarab ko‘rsatkichlari monitoring qilinadi. Zaruriyat tug‘ilganda, kod optimizatsiya qilinadi yoki server resurslari kengaytiriladi. NLP tizimi uchun, vaqt o‘tishi bilan modelni yangi ma’lumotlarda qayta o‘qitish (retraining) ham optimizatsiya turiga kiradi. Chunki til ma’lumotlari yangilanib boradi yoki dastlabki modelda yetarlicha hisobga olinmagan holatlar paydo bo‘lishi mumkin. − Xavfsizlik yangilanishlari: Dasturiy ta’minot uchun xavfsizlik juda muhim, ayniqsa axborot tizimlarida. Qo‘llab-quvvatlash bosqichida yangi aniqlangan kiberxavfsizlik xatarlari bo‘yicha tizim doimiy yangilanadi, xavfsizlik yamalari chiqariladi va foydalanuvchilarga o‘z dasturlarini yangilab borish tavsiya etiladi. − Foydalanuvchilarni qo‘llab-quvvatlash: Texnik xizmat tarkibiga foydalanuvchilarga yordam berish, ularning savollariga javob berish ham kiradi. Ko‘pincha maxsus texnik support jamoasi 24/7 rejimida ishlaydi, foydalanuvchilardan murojaatlar tushsa, muammoni hal qilishda ko‘mak beradi. Bu dasturiy mahsulotga bo‘lgan ishonch va qoniqishning muhim qismi sanaladi. − Mahsulotning hayotiy siklini yakunlash (sunsetting): Vaqt o‘tib tizim eskirganda yoki yangiroq platformaga o‘tish rejalashtirilganda, mahsulotni qo‘llab-quvvatlashni to‘xtatish haqida qaror qabul qilinishi mumkin. Bu bosqichda foydalanuvchilarga oldindan e’lon qilinadi, muqobil yechimlar taklif etiladi va tizim bosqichma-bosqich yopiladi. Misol uchun, eski versiyadagi dastur uchun oxirgi yangilanish va xavfsizlik yamasi chiqarilib, foydalanuvchilarga ma’lum muddatdan keyin ushbu versiya endi qo‘llab-quvvatlanmasligi haqida xabar beriladi. Qo‘llab-quvvatlash bosqichi eng uzoq davom etadigan bosqich bo‘lib, dasturiy ta’minotning butun foydalanish davomiyligini qamrab oladi. To‘g‘ri yo‘lga qo‘yilgan texnik xizmat dasturiy mahsulotning umrini uzaytiradi, foydalanuvchilarning qoniqishini yuqori darajada ushlab turadi va mahsulotning bozordagi raqobatbardoshligini ta’minlaydi. Yuqoridagi bosqichlar ketma-ket sanalgan bo‘lsa-da, zamonaviy metodologiyalarda ular iterativ tarzda takrorlanishi ham mumkin. Ya’ni kichik qism ishlab chiqilib sinovdan o‘tgach, navbatdagisiga o‘tiladi va tizim bosqichma-bosqich kengaytiriladi. Adabiyotlarda sentiment tahlil tizimini ishlab chiqishda ham xuddi shunday takrorlanuvchi yondashuv samarali ekani ta’kidlanadi, chunki dastlabki model natijalari va foydalanuvchi fikri asosida tizimni tezkor takomillashtirish imkoniyati bo‘ladi. Muhimi, rivojlanish bosqichlarida puxta rejalashtirish va har bir jarayonni hujjatlashtirish yakunda barqaror va sifatli axborot tizimini yaratishga zamin bo‘ladi. Axborot tizimlarini ishlab chiqishning hayotiy sikli – SDLC konsepsiyasi dasturiy mahsulot yaratish jarayonini nazariy va amaliy jihatdan asoslashga xizmat qiladi. SDLC doirasida ishlash: 1. Loyihani puxta rejalash va risklarni boshqarish imkonini beradi. 2. Talablar va dizaynda aniqlikni ta’minlaydi. 3. Ishlab chiqish jarayonida sifat nazoratini kuchaytiradi. 4. Yakuniy mahsulotni o‘z vaqtida va sifatli topshirishga zamin yaratadi. SDLC turli rollardagi mutaxassislarni (analitiklar, dasturchilar, testerlar, foydalanuvchilar) yagona maqsad sari birlashtiradi va ularning har bir bosqichdagi ishtirokini aniqlab beradi. SDLCning bir qator modellari mavjud bo‘lib, ularning har biri ma’lum sharoitda maqsadga muvofiqdir – bu haqda munozara qismida sharhlab o‘tildi. SDLC bosqichlarini ongli ravishda qo‘llash va mos modelni tanlash dasturiy mahsulot yaratuvchilariga ijodiy yondashuv va tizimli 78

80-p.

nazoratni birlashtirishga imkon beradi. Bu ayniqsa bugungi kunda tez o‘zgaruvchan IT sohasida juda muhim: yangi texnologiyalar (sun’iy intellekt, katta ma’lumotlar) shiddat bilan rivojlanar ekan, ular bilan bog‘liq loyihalarni muvaffaqiyatli amalga oshirish intizomli yondashuvni talab qiladi. SDLC esa aynan shunday intizom va izchillik uchun nazariy va amaliy poydevor bo‘lib xizmat qiladi. Shunday ekan, SDLC tamoyillariga rioya qilgan holda, dasturiy injiniring va axborot tizimlari sohasida yanada ishonchli, samarali va foydalanuvchi talablari darajasidagi yechimlarni yaratish lozim. SDLC nuqtai nazaridan, texnik xizmat bosqichi eng uzoq davom etadigan va ko‘p resurs talab qiladigan bosqich. Tadqiqotlar ko‘rsatadiki, dasturiy ta'minotga sarflanadigan umumiy resurs va xarajatlarning katta qismi aynan uning texnik xizmat ko‘rsatish davriga to‘g‘ri keladi. Shu sabab, dasturiy mahsulotni loyihalashda kelgusidagi texnik xizmatni yengillashtiradigan yechimlarni tanlash (masalan, kodning o‘qilishi oson bo‘lishi, hujjatlarning to‘liq yozilishi, modulning mustaqilligini saqlash) juda muhim. Axborot tizimlari va NLP mahsulotlari uchun muntazam yangilanish chiqarmasdan iloji yo‘q. NLP modellari yangi ma’lumotlar bilan qayta o‘qitilishi yoki til qoidalariga mos ravishda yangilanib turishi kerak. Texnik xizmat bosqichi mohiyatiga ko‘ra “loyiha boshidan boshlangan takomillashtirish jarayoni”ning davomidir. Ya’ni, dasturiy mahsulot hayotga kelgach ham, uni doimiy ravishda parvarishlash zarur. Aks holda, dasturiy mahsulot tez orada eskirolishi, foydalanuvchilarni qoniqtirmay qo‘yishi va natijada foydalanilmay qolishi mumkin. Yuqorida bayon etilgan SDLC bosqichlarini sarhisob qilar ekanmiz, quyidagi jadval ularning har birida bajariladigan asosiy vazifalar, ishlab chiqiladigan hujjatlar va bosqich yakunidagi natijani umumlashtirib ko‘rsatadi (1-jadval): 1-jadval. SDLC bosqichlari bo‘yicha bajariladigan asosiy ishlar va natijalar Bosqich Asosiy ishlar (vazifalar) Hujjat va natijalar 1. Rejalashtirish Loyiha maqsadini aniqlash; texnikiqtisodiy asoslash; risklarni baholash; jadval tuzish; resurslarni rejalashtirish; loyiha doirasini belgilash. Loyiha kontsepsiyasi; Loyiha rejasi; Dastlabki SRS (talablar ro‘yxati). 2. Talablar tahlili Foydalanuvchi va buyurtmachi talablarini yig‘ish; ularni tahlil qilish va ustuvorliklarini belgilash; aniq va tekshiriladigan talablar shakllantirish; talablarni hujjatlashtirish va tasdiqlatish. Talablar spetsifikatsiyasi (SRS) hujjati – dasturga qo‘yiladigan barcha talablar ro‘yxati. 3. Loyihalash Tizim arxitekturasi va komponentlarini aniqlash; ma’lumotlar modeli va interfeys dizaynini ishlab chiqish; DFD, ER diagrammalar tuzish; texnik yechimlarni (algoritmlar, platformalar) tanlash; integratsiya nuqtalarini belgilash. Dasturiy dizayn hujjati (SDD) – arxitektura tavsifi, komponentlar va ularning o‘zaro aloqa sxemasi, UI maketlar. 4. Dasturlash Kod yozish (modullarni dasturlash); versiya nazorati ostida hamkorlikda ishlab chiqish; kod standartlariga rioya qilish; Ishlovchi dasturiy ta’minotning dastlabki versiyasi (prototip yoki 79

PDF Document

1 / 1
Download

University Licenses

License preview