Ilova ortidagi qatlamlar, hayotiy sikl va jamoa: professional dasturchi xaritasi
11-sinfProfessional IT development1-hafta · 1-dars
Bugun nimani o'rganamiz?
IT ekotizimi
4 qatlam va ular qanday gaplashadi
SDLC
6 bosqich, artefaktlar, sikl
Jamoa va rollar
Kim nima qiladi, yolg'iz ishlasangiz-chi?
Natija: portfolio-loyihangiz uchun birinchi hujjat, mini-SRS.
01
IT ekotizimi
Siz ko'radigan ilova — aysbergning uchi
Telegram'ga rasm yuborasiz
Bir tugma bosish, soniyaning bir bo'lagida nechta qatlam ishga tushadi?
1. Ilova
Ilova rasmni siqadi va yuboradi
2. Server
Server so'rovni qabul qilib, kim kimga yuborayotganini tekshiradi
3. Saqlash
Xabar ma'lumotlar bazasiga, fayl saqlashga yoziladi
4. Ma'lumot markazi
Hammasi ma'lumot markazidagi serverlarda ishlaydi
Soddalashtirilgan tasvir: Telegram ichki tuzilishi aynan shunday emas, g'oya muhim.
IT ekotizimining 4 qatlami
Har qatlamning vazifasi
Klient
Foydalanuvchi bilan muloqot: tezlik, qulaylik, dizayn
Ilova
Tizimning «miyasi»: buyurtma, to'lov, qoidalar
Platforma
Ma'lumot va xizmatlar: tayanch
Infratuzilma
Poydevor: resurs, xavfsizlik, barqarorlik
Qo'shimcha: restoran o'xshatishi uchun pastga ↓
Restoran o'xshatishi
Mehmon oshxonaga kirmaydi, oshpaz elektr simini bilmaydi. Har kim o'z qatlamida.
Zal = klientOshpaz = ilovaOmbor = platformaBino va gaz = infratuzilma
3 qatlammi yoki 4?
O'quv qo'llanma ekotizimni avval 3 qatlamda (infratuzilma, platforma, foydalanuvchi xizmatlari), keyin amaliy tahlilda 4 qatlamda beradi.
Biz 4 qatlamni olamiz: «ilova–platforma–infratuzilma» uchligi bor, ustida klient turadi. Muhimi — g'oya: mas'uliyatni ajratish.
So'rov qatlamlarni kesib o'tadi
Qismning ustiga olib boring yoki bosing.
Real so'rov: terminalda 3 daqiqa
$ curl -s https://api.github.com/zen
Mind your words, they are important.
$ curl -sI https://api.github.com | head -3
HTTP/2 200
date: Thu, 01 Oct 2026 ...
Klient — curl. Ilova — api.github.com. Qolganini siz ko'rmaysiz: bu qatlamlashning foydasi.
Nega qatlamlash kerak?
Izolyatsiya
Muammo bitta qatlamda qoladi, hammasini buzmaydi
Kengaytirish
Yuk oshsa, faqat kerakli qatlamni kuchaytirasiz
Almashtirish
Bazani yoki serverni almashtirsangiz, klient bilmaydi
Bundan tashqari: xavfsizlik, monitoring va operatsion intizom soddalashadi.
Qaysi qatlam?
Redis (kesh) qaysi qatlamga kiradi?
To'g'ri: Platforma. Yana: Chrome brauzeri = klient; REST API serveri = ilova; Linux serveri, AWS = infratuzilma.
02
SDLC: hayotiy sikl
Kod yozish — ishning faqat bir bo'lagi
SDLC: 6 bosqich, bitta sikl
Mini-test: SDLC
SDLC nega «sikl» deyiladi?
To'g'ri: ish ekspluatatsiyada tugamaydi, monitoring yangi talab beradi.
Har bosqich: savol va artefakt
Bosqich
Asosiy savol
Artefakt
Talab
Nima qurmoqchimiz?
SRS, user stories
Dizayn
Qanday quramiz?
Arxitektura sxemasi, ERD, API spetsifikatsiya
Kod
Kodda qanday ifodalaymiz?
Kod bazasi, unit testlar
Test
Ishlayaptimi va to'g'rimi?
Test protokoli, bug-raportlar
Deploy
Qayerda va qanday ishlatamiz?
Docker image, CI/CD YAML, release note
Monitoring
Qanday ushlab turamiz?
Loglar, metrikalar, changelog
Talab: user story anatomiyasi
Yomon talabdan yaxshisiga
Talab:
Sayt tez va chiroyli bo'lsin
Qanday tekshirasiz? «Tez» necha soniya?
Yomon talabdan yaxshisiga
Talab:
Bosh sahifa oddiy aloqada 3 soniyadan
kam vaqtda ochiladi.
Qabul mezoni:
1. Rasmlar 300 KB dan katta emas
2. 360 px ekranda surish chiqmaydi
3. Kontrast: matn o'qiladi
Yaxshi talab: aniq, o'lchanadigan, testlanadigan.
Testlash piramidasi
Pastga ↓: deploy va release
Deploy va release
Deploy
Texnik amal: artefaktni muhitga joylash (image, server, Nginx sozlamasi).
VS
Release
Qaror: foydalanuvchilarga qaysi versiya ko'rinadi.
Release artefaktlari: release note, versiya raqami (semver), alert, rollback rejasi.
Monitoring halqani yopadi
Loglar va metrikalar: kechikish, xatolar, yuk
Foydalanuvchi fikri: nima sekin, nima ishlatilmayapti?
Yangi talablar → yangi sikl
Mini-test: deploy yoki release?
Kod serverga joylandi, lekin feature flag bilan foydalanuvchilardan yashirin. Bu nima?
Deploy: texnik joylash. Release: foydalanuvchilarga versiyani ochish qarori.
Waterfall va Agile
Bosqichlar o'sha-o'sha, farq — qanday tashkil etilishida. Agile/Scrum: 49-darsda.
03
Jamoa va rollar
SDLC faqat texnika emas, odamlar ham
Kim nima qiladi? (kartani bosing)
Product owner
bosing
Nima qurilishi va nima muhimligini hal qiladi
Biznes analitik
bosing
Talablarni yig'adi va hujjatlaydi
Arxitektor
bosing
Qatlam va texnologiyalarni tanlaydi
Developer
bosing
Kod yozadi, bir-birining kodini review qiladi
QA
bosing
Sifatni tekshiradi, testlarni avtomatlashtiradi
DevOps / SRE
bosing
Deploy, infratuzilma, monitoring, ishonchlilik
Yolg'iz ishlasangiz-chi?
Freelance'da va portfolio-loyihada siz bir o'zingiz butun jamoasiz.
Siz — PO: nima qurasiz
Siz — developer
Siz — QA
Siz — DevOps
Shuning uchun hujjat va tartib muhim: ertaga o'zingiz ham o'z kodingizni unutasiz.
04
Amaliyot
Portfolio-loyihangiz boshlanadi
Portfolio shu kursda o'sadi
0
dars
0
hafta
0
bob
1-hafta. Talab (SRS), Git, GitHub
8–9-hafta. CI: avtomatik testlar
10–13-hafta. Deploy va bulut
15-hafta. Portfolio va case study
Amaliy topshiriq 22 daqiqa
OsonSevimli ilovangizning 4 qatlamli xaritasi: har qatlamga 2 komponent (taxminni «?» bilan belgilang)
O'rtaSRS-mini.md: maqsad, 5 user story, har birida 2+ qabul mezoni, 3 cheklov
Qiyin3 voqea (mijoz «so'ramagan edim» dedi; 100 foydalanuvchida qulash; eskisiga qaytib bo'lmadi): qaysi bosqichda nima yetishmagan?
2-darsga tayyorgarlik: Git bormi?
$ git --version
git version 2.50.1
macOS
xcode-select --install
Windows
Git for Windows (git-scm.com)
Linux
sudo apt install git
Odatiy xatolar
«Dasturchi = kod yozuvchi». Real vaqtning katta qismi talab, review, test va muloqotga ketadi.
Talabni tashlab, darrov kodlash: eng qimmat xato kech topiladi.
SDLC ni «bir marta o'tiladigan yo'l» deb bilish. Ish ekspluatatsiyada tugamaydi.
Mavhum mezon: «tez», «chiroyli», «qulay». Son va tekshiriladigan shart yozing.