650-19-guruh Sevara Solijonova
Mavzu:
DT arxitekturasi va dizayni kontseptsiyasi
Arxitektura -bu uning ishlashini eng yuqori kontseptual darajada belgilaydigan
dasturiy va dasturiy tuzilma, shu jumladan apparat va dasturiy komponentlar,
tashqi tomondan ko'rinadigan bu tarkibiy qismlarning xususiyatlari, ular o'rtasidagi
munosabatlar va tizim hujjatlari.Arxitekturani hujjatlashtirishloyiha ishtirokchilari
o'rtasidagi o'zaro bog'liqlik jarayonini soddalashtiradi, yuqori darajadagi tizim
dizayni haqida dizaynning dastlabki bosqichlarida qabul qilingan qarorlarni qabul
qilishga imkon beradi va ushbu dizayn elementlari va naqshlarini boshqa
loyihalarda qayta ishlatishga imkon beradi.Tizim arxitekturasini rivojlantirish
uchun mutaxassislar quyidagi vazifalarnibajaradilar:tizim arxitektori(tizimni bir
butun sifatida, shuningdek uning tarkibiy qismlarini loyihalashtiradi),ma'lumotlar
bazasi arxitektori(ma'lumotlar bazasi va uning tuzilishini loyihalashtiradi),tizim
tahlilchisi(dizaynda qatnashadi, hujjatlarni tayyorlaydi),ma'murlar( tizim
uskunalarini loyihalashda ishtirok etish).Tizim me'morlari zimmasiga katta
mas'uliyat yuklangan.Agar ishlab chiqilgan arxitektura buyurtmachi tomonidan
qo'yilgan maqsadlarni bajara olmasa, bu, masalan, loyihani tugatish vaqtini
ko'paytirishi mumkin (chunki me'morchilikdagi kamchiliklarni tuzatish uchun
yaxshilanishlarni amalga oshirish kerak bo'ladi)vanatijada rivojlanish foydani
kamaytiradi.Dasturiy ta'minot arxitekturasining muammolari.Ilova arxitekturasini
rivojlantirish darajasida mijoz uchun muhim bo'lgan quyidagi asosiy vazifalarni
hal qilish kerak.Jarayonlar samaradorligini oshirish va oshirish.Ilovani amalga
oshirishda mijozlarningodatiy taxminlari quyidagilardir: har xil harakatlarni
bajarish uchun sarflangan vaqtni qisqartirish;turli xil operatsiyalarni
tezlashtirish;jarayonlarni avtomatlashtirish;kengayish qobiliyatining turli xil
yaxshilanishlari -tizim, tarmoq yoki jarayonresurslar, odatda qo'shimcha qurilmalar
qo'shilganda ish hajmining oshishiga (uning ish samaradorligini oshirishga) qarshi
turish qobiliyati.Xarajatlarni kamaytirish.Rivojlanish maqsadlaridan biri har
qanday harakatlarni bajarish uchun zarur bo'lgan xarajatlarni kamaytirish bo'lishi
mumkin.Buni jarayonlarning samaradorligini oshirish va operatsiyalarni bajarishni
tezlashtirish orqali amalga oshirish mumkin.Operatsion ish faoliyatini
takomillashtirish.Operatsion faoliyat odatda odatiy operatsiyalarnibajarish bilan
bog'liq (masalan, do'konda kassir bo'lib ishlash, kommunal to'lovlarni qabul qilish
va boshqalar).Bunday operatsion ishlarni avtomatlashtirish (soddalashtirish,
tezlashtirish) orqali siz xarajatlarni kamaytirishingiz yoki tizimning ish faoliyatini
oshirishingiz mumkin.Boshqaruv samaradorligini oshirish.Arxitektura yechimi
boshqaruv samaradorligini oshirishga yo'naltirilishi mumkin, masalan, korxonada
ish jarayonini avtomatlashtirish orqali (o'zgarishlarni, xabarnomalar tarixini
kuzatish bilan qog'oz hujjatlaridan elektron shaklga o'tish).Xatarlarni
kamaytirish.Har qanday faoliyat ma'lum xavflar bilan bog'liq.Ilovalarni ishlab
chiqish maqsadlaridan biri ularni kamaytirish bo'lishi mumkin.Masalan, moliyaviy
operatsiyalar uchun ikki tomonlama imzo qoidasi (bitta xodim tomonidan tuzilgan
moliyaviy operatsiya boshqa xodim tomonidan tasdiqlangan va imzolangan
bo'lsa).1T birliklarining samaradorligini oshirish.Ushbu natijaga turli jarayonlarni
avtomatlashtirish orqali erishiladi.Foydalanuvchi samaradorligini oshirish.
Foydalanuvchilar deganda kompaniyaning o'zi ishlaydigan xodimlar tushunilishi
mumkin (bu holda samaradorlikning yaxshilanishi jarayonlarga ta'sir qiladigan
maqsadlarga bog'liq bo'lishi mumkin) va ishlab chiqilgandasturiy ta'minotni
ishlatadigan kompaniyaning mijozlari(mijozlarqanchalikqulay bo'lsa,
raqobatchilarga murojaat qilish ehtimoli shunchalik kam bo'ladi).O'zaro ta'sir
o'tkazish imkoniyatini va oshkoraligini oshirish.Ko'pgina korxonalar o'zaro
ma'lumot almashish uchun zarur bo'lgan bir nechta tizimlardan foydalanadilar.
Dasturiy ta'minotni ishlab chiqish ushbu almashishni avtomatlashtirish va
soddalashtirishga yo'naltirilishi mumkin (uni yanada "shaffof", oxirgi
foydalanuvchilar uchun sodda qilish)."Qo'llab-quvvatlash" hayotiy tsiklining
narxini pasaytirish.HP hayotiy tsiklibilan bog'liq jarayonlar ham
avtomatlashtirishning maqsadi bo'lishi mumkin, chunki hayotiy tsikl jarayonida
amalga oshiriladigan xarajatlarni kamaytirish qo'shimcha foyda keltiradi.
Xavfsizlik ko'rsatkichlarini yaxshilash.Ilova xavfsizligi yildan yilga tobora muhim
ahamiyat kasb etmoqda.Ko'proq "xavfsiz" dasturlar tengdoshlarga qaraganda
raqobatdosh.Yaxshilangan boshqarish.Boshqarish deganda, ishlab chiqaruvchining
aralashuvisiz dasturda yuz beradigan turli jarayonlarga ta'sir ko'rsatiladi.Loyihalash
jarayonida alohida e'tibor talab qiladigan me'moriy jihatdan muhim foydalanish
holatlari va me'moriy jihatlar ro'yxati, dizayn jarayonida aniqlangan talab va
cheklovlarga javob beradiganmumkin bo'lganme'moriy
echimlaryaratiladi.Arxitekturani bosqichma-bosqich takomillashtirishning umumiy
usuli -bu besh asosiy bosqichni o'z ichiga olgan iterativ (barcha talablar va
cheklovlar bajarilgunga qadar) (5.1-rasm).1. Arxitektura maqsadlarini aniqlash.
Aniq maqsadlarga ega bo'lish sizga arxitektura va hal qilinadigan muammolarni
to'g'ri tanlashga yordam beradi.Aniq belgilangan maqsadlar har bir bosqichning
chegaralarini aniqlashga yordam beradi, ya'ni.joriy davr nihoyasiga va hamma
narsa bo'ladi on ko'chib o'tishga tayyoruchunkeyingi.2. Asosiy stsenariylarni
aniqlash. Eng muhim narsalarga e'tibor berish va ushbu stsenariylarga qarshi
mumkin bo'lgan arxitekturalarni tekshirish uchun siz asosiy (asosiy)
stsenariylardan foydalanishingiz kerak.3. Ilovaning prototipini yaratish.Dizayn siz
yaratadigan dasturishlaydigan muhitga mos kelishini ta'minlash uchun dastur
turini, joylashtirish arxitekturasini, me'moriy uslublarni va texnologiyalarni aniqlab
olishingiz kerak.4. Mumkin bo'lgan muammolarni aniqlash.Sifat parametrlari va
funktsiyalarning yakuniy ehtiyojlariga asoslangan asosiy muammoli joylarni
belgilash kerak.Ilovani loyihalashda xatolar ko'p uchraydigan joylar.5. Yechim
variantlarini aniqlash.Har bir iteratsiyada, "uchuvchi" yoki arxitekturaning
prototipi yaratilishi kerak, bu oldingi echimni ishlab chiqish va
takomillashtirishdir.Keyingi iteratsiyaga o'tishdan oldin, ushbu prototip asosiy
ssenariylarga, muammolarga va joylashtirish cheklovlariga mos kelishiga ishonch
hosil qilishingiz kerak.Ushbu arxitektura jarayoni dastlab dasturiy ta'minot
arxitekturasini yaratadigan iterativ va bosqichma-bosqich yondoshuvlarni o'z
ichiga oladi -umumiy stsenariy, talablar, ma'lum cheklovlar va sifat parametrlariga
qarshi sinovdan o'tkazilishi mumkin bo'lgan umumiy dizayn.Arxitekturaning
keyingi versiyasini aniqlashtirish jarayonida qo'shimcha tafsilotlar va dizayn
ma'lumotlari aniqlanadi, natijada asosiy stsenariylarning kengayishi, dasturning
umumiy ko'rinishi va muammolarni echishga yondashish
moslashtiriladi.Arxitektura maqsadlarini aniqlash.Arxitektura maqsadlari dasturiy
tizimlarning arxitekturasi va dizayni jarayonini tavsiflaydigan, ish hajmini
belgilaydigan va aslida qayta ko'rib chiqish jarayonini qachon tugash kerakligini
tushunishga yordam beradigan maqsad va cheklovlardir.Arxitektura maqsadlarini
belgilashda muhim jihatlar quyidagilarni o'z ichiga oladi.Arxitektura maqsadlarini
dastlabki aniqlash.Ushbu vazifalar arxitektura dizaynining har bir bosqichida sarf
qilingan vaqtni aniqlaydi.Siz nima qilayotganingizni hal qilishingiz kerak:
prototiplash, mumkin bo'lgan dasturlarni sinab ko'rish yoki yangi dastur uchun
uzoq vaqt davomida arxitekturani yaratish jarayonini bajarish.Arxitektura
iste'molchilarini aniqlash.Ishlab chiqilayotgan arxitekturani boshqa arxitektorlar
ishlatadimi yoki ishlab chiquvchilar vasinovchilar, IT mutaxassislari va menejerlari
uchun mo'ljallanganmi.Maqsadli auditoriyaning ehtiyojlari va tayyorgarligini
inobatga olish kerak, ular tuzilmani ular uchun imkon qadar qulay qilishlari
kerak.Cheklovlarni aniqlash.Texnologiyangizning barcha imkoniyatlari va
cheklovlarini, foydalanish va tarqatish cheklovlarini o'rganing.Ilovani ishlab
chiqishda vaqtni yo'qotmaslik yoki kutilmagan hodisalarga duch kelmaslik uchun
ishning boshidagi barcha cheklovlarni to'liq tushuniboling.Ilovaning turini
aniqlash.Loyihalashda foydalanuvchiga ma'lumot berish masalalariga, shuningdek,
foydalanuvchining tizim bilan o'zaro aloqasi masalalariga alohida e'tibor beriladi,
bu asosan ilova turiga qarab belgilanadi va buyurtmachi tomonidan so'rov sifatida
beriladi.Hozirgi vaqtdaishlab chiqaruvchiga ma'lum bir muammo uchun eng
maqbulini tanlashga imkon beradiganjuda ko'pturli xil dasturiy echimlar
mavjud.Konsol ilovalari.Konsolda faqat matnli ma'lumotlar aks etadi.Bunday
dastur vakillaridan birini DOS operatsion tizimida ishlatiladigan shunga o'xshash
dasturlarning "vorisi" bo'lgan FAR fayl menejeri deb atash mumkin.Klassikish
stolidasturlari.Bunday dasturlar, shuningdek, "shamollash" dasturlari deb
nomlanadi.Ular grafikinterfeysdanfoydalanadilar va klaviatura va sichqoncha
yordamida ma'lumot kiritadilar.Ushbu ilovalar deyarli har qanday murakkablikdagi
echimlarni yaratishga imkon beradi.Asosiy kamchilik -oxirgi foydalanuvchilar
uchun ilovalarni yangilashda qiyinchilik.Veb-ilovalar.Ushbu ilovalar sinfiInternet
texnologiyalariningrivojlanishi bilan paydo bo'ldi, ulardan foydalanuvchilar soni
ko'p bo'lgan tez-tez o'zgarib turadigan tizimlarda foydalanish juda qulay.Dasturni
yangilash uchun serverda o'zgarishlar qilish kifoya va ular darhol oxirgi
foydalanuvchilarning brauzerlarida paydo bo'ladi.Mobil ilovalar.Uyali telefonlar
Java tilini qo'llab-quvvatlay boshlagandan so'ng, mobil telefonlaruchun dasturlarni
yaratish bosqichi boshlandi.Hozirgi vaqtda ularni rivojlantirish uchun turli xil
platformalar mavjud.Uyali telefonlar uchun ilovalarning xususiyati kichik ekran
o'lchamlari bo'lib, unda ma'lumotlarni namoyish qilish kerak.Shuningdek, mobil
telefonlar uchun bitta kirish qurilmasi -klaviatura mavjud.Smartfonlar uchun
qo'shimcha ravishda "stylus" yordamida ma'lumot kiritishingiz mumkin.O'yin
ilovalari. Ko'pgina o'yin ilovalari to'liq ekranli, shuning uchun ular o'zlarining
menyu tizimini va boshqalarni ishlab chiqishlari kerak.Joylashtirish cheklovlarini
aniqlash. Ilova arxitekturasini loyihalashda siz korporativ siyosatingiz va
protseduralaringizni, shuningdek dasturni o'rnatishni rejalashtirgan muhitni
hisobga olishingiz kerak.Agar maqsad muhiti barqaror yoki egiluvchan bo'lsa,
unda dastur arxitekturasi ushbu muhitdagi cheklovlarni aks ettirishi kerak.
Xavfsizlik, ishonchlilik va boshqalar kabi funktsional bo'lmagan talablar ham
e'tiborga olinishi kerak: quyida joylashtirishning asosiy cheklovlari
keltirilgan.Uskuna talablariga cheklovlar.Masalan, siz ma'lum texnologiyalarni
qo'llab-quvvatlaydigan protsessorlardan foydalanishingiz kerak.Dastur talablarini
cheklash. Masalan, ma'lum bir operatsion tizimdan foydalanish. Haqiqiy
joylashtirishni cheklash.Ilovani o'rnatish yoki bunday xizmatlarni etkazib
beruvchilardan server uchun joy sotib olish uchun alohida serverdan foydalanish
mumkin. Agar apparat o'rnatishni amalga oshirish mumkin bo'lmagan tizimda
amalga oshirilsa, kanalning o'tkazish qobiliyati cheklovlarini, mavjud RAM
hajmini ta'kidlash mumkin.Xavfsizlik talablarining ortishi.Ushbu talablar
serverning joylashuvini cheklashi mumkin yokimen tizimning istalgan darajadagi
ishonchliligini ta'minlashiuchunqo'shimcha uskunalar (dasturiy ta'minot) dan
foydalanishni talab qilishi mumkin.Dastur arxitekturasining xususiyatlariYuqorida
aytib o'tganimdek,dasturiy ta'minotningxususiyatlaridasturiy ta'minotgabo'lgan
talablar va funktsional va texnik darajada taxminlarni tushunishgayordam
beradi.Shunday qilib, agar mahsulot egasi tez o'zgaradigan bozorda raqobatlashishi
kerakligini aytsa,unda ular o'zlarining biznes modellarini tezda moslashtirishlari
kerak.Agar biz uni sifatli va o'z vaqtida tayyorlamoqchi bo'lsak, dasturiy ta'minot
"o'z funksionalligini osongina kengaytirishi, bloklardan iborat bo'lishi va xizmat
ko'rsatishi oson bo'lishi kerak".Agar siz dasturiy ta'minot arxitektori bo'lsangiz,
unda siz uchun asosiy parametrlar ish sifati va past nosozliklarga chidamlilik,
o'lchovlilik va ishonchlilik bo'lishi kerakligini bilishingiz kerak.Va endi barcha
asosiy parametrlarni belgilab, menejeringizdan ushbu loyihaning byudjeti
cheklanganligini eshitasiz.Bu erda o'ynaydigan yana bir parametr -bu texnik
imkoniyatlar.
Dasturiy ta'minot parametrlarining to'liq ro'yxati yoki "sifat tavsiflari" bilan bu
erda tanishishingiz mumkin.Arxitektura dasturiy naqshlariKo'pchiligingiz
"mikroservis"atamasi bilan allaqachon tanish bo'lgansiz.Microservicesqatlamli
arxitektura, bilan birga, model dasturiy ta'minot me'morchiligi uchun bir yo'l
bor,voqea-gijgijlasharxitektura,sunucusuzko'proq arxitektura va.Yuqoridagi
naqshlarning ba'zilari quyida tavsiflanadi. Arxitektura mikro servis uslubi
AmazonvaNetflix-da muvaffaqiyatli qo'llanilgandan keyin mashhur bo'ldi.Endi
tafsilotlarni ko'rib chiqaylik va me'moriy uslublarni batafsilroq muhokama
qilamiz.** Diqqat: Iltimos, me'moriy uslublarni dizayn naqshlari, masalan, zavod
dizayni yoki adapterlar bilan aralashtirmang.Serversizarxitektura uslubiUshbu
element uchinchi tomon xizmatlarini server echimi vatiqilib qolish
muammolarinihal qilish uchun echim sifatida ishlatadigan dasturlarga nisbatan
qo'llaniladi.Serversizarxitektura ikkita asosiy toifaga bo'linadi.Birinchisi,xizmat
sifatidabackend(BaaS), ikkinchisi -xizmat sifatida xususiyat (FaaS). Serversiz
arxitektura sizga vaqtni tejashga yordam beradi va ko'chirish xatolarini tuzatadi va
oddiy server vazifalarini hal qiladi.ServersizAPI-ning eng mashhur namunasi
AmazonAWS "Lambda".Bu haqda ko'proq ma'lumotni bu erda o'qishingiz
mumkin. Hodisalarga asoslangan arxitekturaUshbu arxitektura tadbir ishlab
chiqaruvchilari va iste'molchilariga bog'liq.Asosiy g'oya -bu sizning tizimingiz
qismlarini ajratish, shunda har bir qism qiziqarli voqea sodir bo'lganda boshqasida
faollashadi.Murakkabmi?Buni sodda saqlaylik.Tasavvur qiling, sizInternet-do'kon
uchun tizim yaratmoqdasizva u ikki qismdan iborat: xarid qilish moduli va savdo
moduli.Xaridor xaridni amalga oshirganda, xarid qilish moduli "orderPending"
tadbirini ko'taradi.Savdo moduli ushbu voqeaga qiziqish bildirganligi sababli, agar
u chaqirilsa, jarayonni kuzatib boradi.Tez orada savdo modul sifatida bu tadbirni
qabul kelsak, u muayyan vazifalarni bajarish yoki tovarlarni sotib davom ettirish
uchun yana bir voqea turtki bo'ladia dananiqsotuvchi.Esda tutingki, voqea
prodyuseriqaysi voqeani qaysi iste'molchi tomosha qilayotganini bilmaydi.
Shuningdek, boshqa iste'molchilar ularning qaysi biri qaysi voqeani
kuzatayotganini bilishmaydi.Shunday qilib, asosiy g'oya tizimning qismlarini
ajratishdir.Agar siz tadbirga asoslangan arxitektura haqida ko'proq bilmoqchi
bo'lsangiz, bu erni bosing.MicroservicesarxitekturasiSo'nggi
yillardamikroservislararxitekturasieng mashhurlaridan biriga aylandi.U kichik,
mustaqil modulli xizmatlar asosida qurilgan bo'lib, ularning har biri har xil
muammoni hal qiladi yoki o'ziga xos vazifani bajaradi.Ushbu modullar ma'lum bir
biznes maqsadini bajarish uchun dasturlashtirilgan API orqali o'zaro
ta'sirlashadi.DasturarxitekturasiningasosiyramkalariQuyidagiramkalar(uzb.Dastur
Arxitekturaramkalar, arxitektura sohasidagi bilan bog'liq)dasturiy.
Do'stlaringiz bilan baham: |