Uploaded by Komiljon Komilov

Dasturiy taminot arxitekturasi 1-amaliy ish

advertisement
1-Amaliy mashg'ulot
Mavzu: “Dasturiy ta’minot arxitekturasi” fanidan amaliy
ishlarning borishi haqida kirish va dastlabki ma’lumotlar.
MOODLE tizimining arxitekturasi bilan tanishish.
Kerakli jihozlar: Kompyuter va Internet tarmog'i.
1.Maqsadni aniqlash
1.1 Loyihaning asosiy maqsadi
Mazkur loyiha o‘quv markazining jarayonlarini tizimlashtirish va
boshqarishni avtomatlashtirish uchun web-sayt yaratishni ko‘zda tutadi.
Web-sayt orqali o‘quv markazning barcha ishtirokchilari (student, teacher,
qabulxona, admin va ota-ona) uchun alohida interaktiv interfeys taqdim
etiladi. Sayt o‘quv markaz faoliyatini yanada samaraliroq qilish va
ma’lumotlarni kuzatib borishni osonlashtirishni ta'minlaydi.
1.2 Loyihaning asosiy vazifalari
Login tizimi:
Saytga kirish faqat ro'yxatdan o'tgan foydalanuvchilar uchun bo‘ladi.
Login orqali foydalanuvchilar quyidagi kategoriyalardan biriga ajratiladi:
Student (o‘quvchi)
Teacher (o‘qituvchi)
Qabulxona xodimi
Admin (tizim boshqaruvchisi)
Ota-ona
Har bir kategoriya uchun alohida UI (interfeys) yaratiladi.
O‘quv markazning moliyaviy tahlili:
Oylik va yillik daromadni kuzatish: O‘quv markazning moliyaviy holatini
ko‘rsatadigan diagrammalarni taqdim etish.
To‘lovlar bo‘yicha avtomatik hisobotlar (kategoriyalar va davrlarga
bo‘lingan holda).
O‘quvchilar bo‘yicha kuzatuv:
Darsga qatnashuv: O‘quvchilarning darsga kelgan yoki kelmagan
holatlari qayd qilinadi va tizimda aks etadi.
Ota-onalar uchun monitoring:
Ota-onalar farzandlarining o‘quv markazdagi faoliyatini diagrammalar
orqali kuzatib borishi mumkin bo‘ladi.
O‘quvchi haqida o‘qituvchi tomonidan muntazam ravishda fikrmulohazalar (feedback) beriladi, bu orqali ota-onalar farzandining
rivojlanishidan xabardor bo‘lib boradi.
O‘qituvchilarning hisobotlari:
Har bir o‘quvchi uchun individual feedback yozish imkoniyati.
Har bir guruh yoki dars bo‘yicha hisobotlarni yaratish.
Qabulxona faoliyati avtomatlashuvi:
Ro‘yxatdan o‘tgan o‘quvchilar va to‘lovlar haqidagi ma’lumotlarni
avtomatik qayd qilish.
Yangi o‘quvchilarni tizimga kiritish.
1.3 Foydalanuvchilar uchun asosiy interfeys imkoniyatlari
Student:
Shaxsiy kabinet (profil ma’lumotlari, dars jadvali, qatnashuv holati).
Fikr-mulohazalarni ko‘rish (feedback).
Teacher:
Dars davomida o‘quvchilar qatnashuvini belgilash.
Har bir o‘quvchi uchun feedback yozish.
Guruhlar va darslar bo‘yicha hisobot yaratish.
Ota-ona:
Diagramma va grafikalar orqali farzandining rivojlanishini kuzatish.
O‘quv markazdan kelgan feedbacklarni ko‘rish.
Qabulxona:
O‘quvchilarni ro‘yxatga olish va to‘lovlarni boshqarish.
Hisobotlarni ko‘rish va chop etish.
Admin:
Barcha foydalanuvchilarni boshqarish.
Statistik hisobotlarni ko‘rish (daromad, o‘quvchilar soni, guruhlar
bo‘yicha).
1.4 Maqsadga erishish uchun natijalar
O‘quv markaz faoliyatini samarali boshqarish.
Moliyaviy holatni kuzatish va nazorat qilishning osonlashuvi.
Har bir foydalanuvchi uchun shaxsiy interfeys orqali interaktiv
foydalanish imkoniyati.
Ota-onalar va o‘qituvchilar o‘rtasidagi aloqani mustahkamlash.
O‘quvchilarning darslarga qatnashuvi va rivojlanishini real vaqt rejimida
kuzatish.
1. Foydalanuvchi auditoriyasini aniqlash
2.1 Auditoriya turlari
Mazkur web-sayt faqat o‘quv markaz bilan bog‘liq foydalanuvchilar
uchun mo‘ljallangan. Foydalanuvchilar quyidagi guruhlarga bo‘linadi:
O‘quvchilar:
Ushbu markazda tahsil olayotgan talabalar.
Sayt orqali shaxsiy profil, dars jadvali, qatnashuv holati va
o‘qituvchilardan olingan feedback ma’lumotlarini kuzatib borishadi.
Hodimlar (o‘qituvchilar va qabulxona xodimlari):
O‘qituvchilar o‘quvchilar haqida feedback kiritish, dars davomida
qatnashuvni belgilash va guruhlar bo‘yicha hisobotlar tayyorlash
imkoniyatiga ega bo‘lishadi.
Qabulxona xodimlari esa ro‘yxatdan o‘tgan foydalanuvchilarni
boshqarish, to‘lov ma’lumotlarini kiritish va hisobotlarni yaratishadi.
Ota-onalar:
Sayt orqali farzandlarining rivojlanishini diagrammalar va feedbacklar
orqali kuzatishadi.
Darslarga qatnashuv va umumiy faoliyat haqida ma’lumot olishadi.
Administrator:
Foydalanuvchilarni boshqarish, statistik hisobotlarni ko‘rish va tizimni
umumiy nazorat qilish uchun javobgar shaxs.
2.2 Qurilmalar orqali foydalanish
Web-sayt barcha asosiy qurilmalardan qulay foydalanish imkonini
ta’minlaydi:
Kompyuter:
Tizimga keng ko‘lamda ishlov berish va ma’lumotlarni kiritish uchun
mo‘ljallangan.
Asosan qabulxona va administratorlar foydalanadi.
Telefon:
Foydalanuvchilar (student, teacher va ota-onalar) uchun asosiy interfeys.
Mobil moslashuvchanlik orqali dars jadvali, qatnashuv, va hisobotlarni
real vaqtda ko‘rish imkoniyati yaratiladi.
Planshet:
Hodimlar uchun katta ko‘rinishda qulay ishlash imkoniyati.
Diagrammalarni ko‘rish va ma’lumotlarni tahrirlash uchun moslashadi.
2.3 Foydalanuvchilarning ehtiyojlari va maqsadlari
O‘quvchilar: Shaxsiy dars jadvalini, qatnashuv holatini va o‘qituvchilar
feedbacklarini kuzatib borish.
Ota-onalar: Farzandlari darsga qatnashish va rivojlanishini real vaqt
rejimida kuzatish.
Hodimlar: Foydalanuvchilar haqida tahliliy hisobotlar tayyorlash va
tizimga doimiy ma’lumotlar kiritish.
Administrator: Tizimni umumiy nazorat qilish va boshqarish.
2. Funksional talablar
Mazkur bo‘limda barcha foydalanuvchilar uchun talab etiladigan
funksionalliklar va har bir foydalanuvchi turiga xos imkoniyatlar batafsil
bayon etiladi.
Umumiy funksionallik
Shaxsiy kabinetHar bir foydalanuvchi tizimga kirgach, quyidagi
amallarni bajarishi mumkin:
Profil ma’lumotlarini ko‘rish va tahrirlash: ism, familiya, tug‘ilgan sana,
yashash manzili, qiziqishlar.
Profilga shaxsiy rasm (avatar) yuklash va o‘zgartirish.
Tizimga kirish uchun dastlab berilgan login va parolni o‘zgartirish.
1. O‘qituvchi (Teacher) uchun funksionallik
Darslar jadvali va boshqaruvi
Jadvalni ko‘rish: O‘qituvchi o‘ziga biriktirilgan darslarni haftalik yoki
oylik jadval ko‘rinishida ko‘rishi mumkin.
Darslar bo‘yicha ma’lumot kiritish:
Har bir dars uchun mavzu, ishtirokchilar ro‘yxati, va uy vazifalarni
kiritish imkoniyati.
Uy vazifalarini to‘ldirish bo‘limi mavjud.
Filtrlash:
Jadval bo‘yicha haftalik yoki oylik saralash.
Har bir guruh bo‘yicha o‘quvchilarni saralash: ism, faol yoki passiv
(alochi, o‘rtacha, passiv) bo‘yicha.
O‘quvchilar ro‘yxati va ishtiroki
Har bir guruhdagi o‘quvchilar ro‘yxatini ko‘rish.
Davomatni belgilash: Har bir darsda qatnashgan yoki qatnashmagan
o‘quvchilarni belgilash.
Feedback yozish: Har bir o‘quvchi uchun individual sharh va tavsiyalar
kiritish.
Imtihonlar (Exam)
Imtihon savollarini kiritish bo‘limi (har bir imtihon uchun 3 ta variant va
javoblar).
Imtihon natijalarini kuzatish va o‘quvchilarning ko‘rsatkichlarini
ko‘rsatish.
2. Qabulxona (Reception) uchun funksionallik
Yangi foydalanuvchi qo‘shish
Foydalanuvchilarni ro‘yxatdan o‘tkazish:
Foydalanuvchi turini tanlash (ota-ona, o‘qituvchi, o‘quvchi).
Har bir foydalanuvchi uchun vaqtinchalik login va parol yaratish.
Davomatni kuzatish va boshqarish
Dars davomida o‘qituvchi tomonidan belgilanadigan davomat natijalarini
ko‘rish:
Jami o‘quvchi soni, qatnashgan va qatnashmaganlar ro‘yxati.
Davomatni kechiktirgan o‘quvchilar sababini kiritishi uchun maxsus
bo‘lim.
To‘lovlar bo‘limi
Har bir o‘quvchi uchun kurs to‘lovi ma’lumotlarini kuzatish: jami
to‘lanishi kerak bo‘lgan summa, qoldiq va to‘langan summa.
To‘lovlarni boshqarish va yangi to‘lovlarni tizimga kiritish.
3. O‘quvchi (Student) uchun funksionallik
Darslarim bo‘limi
Dars ro‘yxati: O‘quvchi nechta kursga qatnashayotgan bo‘lsa, ularning
ro‘yxati ko‘rsatiladi.
Har bir darsga kirganda:
O‘tgan mavzularni ko‘rish.
Kelgusi mavzular (faqat keyingi mavzu ko‘rinadi).
Imtihonlar (Exam)
O‘quvchi uchun mavjud imtihonlarni ko‘rish va javoblarini kiritish
imkoniyati.
4. Administrator (Admin) uchun funksionallik
Dashboard
Umumiy statistik ma’lumotlarni ko‘rsatish:
Oylik va yillik daromad (filter orqali saralash).
O‘quvchilarning o‘sish dinamikasi (oylik va yillik).
Har bir o‘qituvchining dars o‘tish faoliyati va o‘quvchilarning fikrmulohazalarini kuzatish.
Foydalanuvchilarni boshqarish
Foydalanuvchi turiga qarab boshqaruv: o‘quvchilar, o‘qituvchilar, otaonalar va xodimlarni tizimdan qo‘shish yoki olib tashlash.
3. Dizayn talablari
Umumiy dizayn
Minimalistik
uslubga
amal
qilinadi:
ortiqcha
bezaklardan
foydalanilmaydi.
Maksimum 4 ta rang ishlatiladi. Ranglar: neytral va minimalist, masalan:
Oq (#FFFFFF) yoki och kulrang (#F9F9F9) fon uchun.
Qora (#000000) yoki quyuq kulrang (#333333) matn uchun.
Qiziqish yoki ogohlantirish uchun: och ko‘k (#007BFF) yoki yashil
(#28A745).
Nisbatan sezilarli bloklar uchun och sariq (#FFC107) yoki quyuq qizil
(#DC3545).
Rangsizlik
Har bir bo‘lim bir xil uslubga ega bo‘ladi.
Brend rangi ishlatilmaydi, asosiy diqqat minimalistik ranglarni tanlashga
qaratiladi.
Rasmlar va shriftlar haqida
Rasmlar iloji boricha kamroq ishlatiladi, asosiy kontent matnga
asoslanadi.
Agar ishlatilsa, rasmlar sifatli va oddiy, SVG formatida bo‘lishi tavsiya
etiladi.
Shrift talablari:
Google Fonts’ning minimalistik va o‘qilishi oson shrifti (masalan,
"Roboto", "Open Sans").
Harflarning o‘lchami mobil qurilmalarda 14px-16px, kompyuterda 16px18px.
Sarlavhalar uchun 20px yoki undan katta bo‘lishi kerak.
4. Texnik talablar
Frontend
Texnologiya: React + TypeScript + Material-UI (MUI).
Qo‘shimcha kutubxonalar:
Formik yoki React Hook Form – formalarni boshqarish uchun.
Yup – ma’lumotlarni tasdiqlash uchun.
React Query yoki Axios – API bilan ishlash uchun.
React i18next – ko‘p tilda ishlash imkoniyati.
React Router – sahifalar o‘rtasida navigatsiya qilish uchun.
Chakra UI yoki Tailwind CSS – qo‘shimcha stilizatsiya uchun (lozim
bo‘lsa).
Backend
Texnologiya: Python (Django yoki Flask).
Talablar:
RESTful API yoki GraphQL arxitekturasi qo‘llaniladi.
Ma’lumotlar bazasi: PostgreSQL (tavsiya etiladi) yoki MySQL.
JWT yoki OAuth 2.0 orqali autentifikatsiya.
Ma’lumotlarni kechiktirmaslik uchun Redis yoki keshlash mexanizmi.
Foydalanuvchilarning turli huquqlarini boshqarish uchun: Django REST
Framework (DRF) yoki Flaskda mos modul.
Foydalanuvchi rasmlarini yuklash va boshqarish uchun: Cloudinary yoki
AWS S3.
SEO talablar
Sahifalarning meta ma’lumotlari (title, description, keywords) avtomatik
ravishda ishlab chiqiladi.
To‘g‘ri URL-struktura: har bir sahifa uchun oson va tushunarli
yo‘nalishlar (masalan, /teacher-dashboard, /student-courses).
SSR (Server Side Rendering) yoki Next.js yordamida sahifalar yuklanadi.
OpenGraph va Schema.org ma’lumotlar qo‘shiladi (masalan, ijtimoiy
tarmoqlarda chiroyli ko‘rinish uchun).
5. Ish grafigi va vaqt
Vaqt jadvali: Umumiy loyihani tugatish muddati mart oyiga qadar (3 oy).
Har hafta amalga oshirilgan ishlar test qilinadi:
Frontend va Backend alohida test qilinadi.
Integratsiya testi (frontend va backend o‘zaro bog‘lanishi) har oyda
amalga oshiriladi.
Dizayn uchun vaqt belgilangan emas, lekin o‘zgarishlar va takliflar
asosida dinamik ravishda tuzatiladi.
6. Qo‘shimcha talablar
Til versiyalari:
Foydalanuvchilarga tanlash uchun til menyusi mavjud bo‘ladi (O‘zbek,
Rus, Kiril; optional: Ingliz).
Tillarni qo‘llash uchun React i18next yoki Flask-Babel kabi kutubxonalar
ishlatiladi.
Yangi funksiyalarni qo‘shish:
Frontend va Backend uchun modulli tuzilma yaratiladi, bu yangi
funksiyalarni qo‘shishni osonlashtiradi.
Microservices yoki modul arxitektura afzalroq bo‘lishi mumkin (kattaroq
loyihalar uchun).
Download