Muhammad Al-Xorazmiy nomidagi
Toshkent Axborot Texnologiyalari Universiteti
Fan: Dasturiy Injineringa kirish
Mustaqil ish
Bajardi: ISE_004_M guruh talabasi Mirzayev Jaloliddin
Tekshirdi: Raxmonova Munisaxon
Toshkent 2022
Asosiy arxitekturaviy patternlar haqida qisqacha ma’lumot Arxitekturaviy patternlar va loyihalash. Tanlangan loyihangiz asosida shablon arxitekturalarga moslang va arxitekturasini ishlab chiqing. Ishlab chiqilgan dasturiy vositangizni qismlari bo’yicha testlashni amalga oshiring
Dasturiy ta'minot arxitekturasida ma'lum bir kontekstda tez-tez uchraydigan muammoning umumiy, qayta ishlatilishi mumkin bo'lgan echimi. Arxitektura arxitekturalari dasturiy ta'minot dizayni arxitekturaiga o'xshash, ammo kengroq doiraga ega.Quyidagi 10 ta keng tarqalgan me'moriy arxitekturalarni ulardan foydalanish, ijobiy va salbiy tomonlari bilan qisqacha tushuntirib berilgan:
Qatlamli arxitektura
Mijoz-server namunasi
Mijoz server namunasi
Quvurlar filtri namunasi
Broker arxitekturalari
Peer-to-peer arxitektura
Voqealar avtobusining namunasi
Model-view-controller modeli
Qora taxta arxitekturasi
Tarjimon arxitekturalari
1. Qatlamli arxitektura
Bu namuna tizimli uchun foydalanish mumkin t ajralmaslikka muayyan darajada har biri Alt topshiriqlardan guruhga chirigan mumkin qobiliyatsiz dasturlari. Har bir qatlam keyingi yuqori qatlamga xizmatlarni taqdim etadi.
Umumiy axborot tizimining eng ko'p topilgan 4 qatlami quyidagilar.
Taqdimot qatlami ( UI qatlami deb ham ataladi )
Dastur qatlami (shuningdek, xizmat qatlami deb ham ataladi )
Biznes mantiqiy qatlami ( domen qatlami deb ham ataladi )
Ma'lumotlarga kirish darajasi (shuningdek qat'iylik qatlami deb ham ataladi )
Foydalanish
Umumiy ish stoli dasturlari.
Elektron tijorat veb-ilovalari.
Qatlamli arxitektura
2. Mijoz-server namunasi
Ushbu arxitektura ikki partiyadan iborat; Agar server va bir necha mijozlar . Server komponentasi bir nechta mijoz komponentlariga xizmatlarni taqdim etadi. Mijozlar serverdan xizmatlarni so'rashadi va server ushbu mijozlarga tegishli xizmatlarni taqdim etadi. Bundan tashqari, server mijozlarning so'rovlarini tinglashni davom ettiradi.
Foydalanish
Elektron pochta, hujjatlarni almashish va bank kabi onlayn dasturlar.
Mijoz-server namunasi
3. mijos-server namunasi
Ushbu arxitektura ikki partiyadan iborat; xo'jayin va qullar . Asosiy komponent ishni bir xil qul komponentlari o'rtasida taqsimlaydi va qullar qaytgan natijalardan yakuniy natijani hisoblab chiqadi.
Foydalanish
Ma'lumotlar bazasini replikatsiya qilishda asosiy ma'lumotlar bazasi vakolatli manba sifatida qabul qilinadi va unga ma'lumotlar bazalari sinxronlashtiriladi.
Kompyuter tizimida avtobusga ulangan tashqi qurilmalar (asosiy va qul drayvlar).
mijos-server namunasi
4. Quvurlarni filtrlash usuli
Ushbu arxitektura ma'lumotlar oqimini ishlab chiqaradigan va qayta ishlaydigan tizimlarni tuzishda ishlatilishi mumkin. Har bir ishlov berish bosqichi filtr tarkibiy qismiga kiritilgan. Qayta ishlash kerak bo'lgan ma'lumotlar quvurlar orqali uzatiladi . Ushbu quvurlar buferlash yoki sinxronlashtirish uchun ishlatilishi mumkin.
Foydalanish
Tuzuvchilar. Ketma-ket filtrlar leksik tahlil, tahlil, semantik tahlil va kod yaratishni amalga oshiradi.
Bioinformatikadagi ish oqimlari.
Quvurlar filtri namunasi
5. Broker arxitekturalari
Ushbu arxitektura ajratilgan komponentlar bilan taqsimlangan tizimlarni tuzish uchun ishlatiladi. Ushbu komponentlar bir-birlari bilan masofaviy xizmat chaqiruvlari orqali o'zaro ta'sir qilishi mumkin. A broker butlovchi o'rtasidagi muloqot muvofiqlashtirish uchun mas'ul bo'lgan komponentlarini .
Serverlar o'zlarining imkoniyatlarini (xizmatlari va xususiyatlarini) brokerga e'lon qilishadi. Mijozlar brokerdan xizmatni so'rashadi, shundan keyin broker mijozni o'z registridan mos xizmatga yo'naltiradi.
Foydalanish
Apache ActiveMQ , Apache Kafka , RabbitMQ va JBoss Messaging kabi xabarlarni tarqatuvchi dasturiy ta'minot .
Broker arxitekturalari
6. Peer-to-peer arxitektura
Ushbu arxitekturada individual komponentlar tengdoshlar sifatida tanilgan . Tengdoshlar boshqa tengdoshlaridan xizmat so'rab , mijoz sifatida ham, boshqa tengdoshlariga xizmat ko'rsatuvchi server sifatida ham ishlashi mumkin . Tengdosh mijoz yoki server sifatida yoki ikkalasi sifatida harakat qilishi mumkin va vaqt o'tishi bilan o'z rolini dinamik ravishda o'zgartirishi mumkin.
Foydalanish
Gnutella va G2 kabi fayllarni almashish tarmoqlari )
P2PTV va PDTP kabi multimedia protokollari .
Bitcoin va Blockchain kabi kripto-valyutaga asoslangan mahsulotlar
Peer-to-peer arxitektura
7. Voqealar avtobusi sxemasi
Ushbu arxitektura birinchi navbatda voqealar bilan shug'ullanadi va 4 ta asosiy tarkibiy qismlardan iborat; voqea manbai , voqea tinglovchisi , kanal va voqea avtobusi . Manbalar voqealar avtobusida ma'lum kanallarga xabarlarni nashr etadi. Tinglovchilar ma'lum kanallarga obuna bo'lishadi. Tinglovchilar ilgari obuna bo'lgan kanalda e'lon qilingan xabarlar to'g'risida xabardor qilinadi.
Foydalanish
Android ishlab chiqish
Xabarnoma xizmatlari
Voqealar avtobusining namunasi
8. Model-view-controller modeli
Ushbu arxitektura, shuningdek MVC arxitekturalari sifatida tanilgan, interaktiv dasturni 3 qismga bo'linadi,
model - asosiy funktsiyalar va ma'lumotlarni o'z ichiga oladi
view - ma'lumotni foydalanuvchiga ko'rsatadi (bir nechta ko'rinish aniqlanishi mumkin)
kontroller - foydalanuvchidan kirishni boshqaradi
Bu ma'lumotlarning ichki ko'rinishini foydalanuvchiga taqdim etish va qabul qilish usullaridan ajratish uchun amalga oshiriladi. U tarkibiy qismlarni ajratib turadi va kodni samarali qayta ishlatishga imkon beradi.
Foydalanish
Asosiy dasturlash tillarida World Wide Web dasturlari uchun arxitektura.
Django va Rails kabi veb-ramkalar .
Model-view-controller modeli
9. Qora taxtali arxitektura
Ushbu arxitektura hech qanday deterministik echim strategiyasi ma'lum bo'lmagan muammolar uchun foydalidir. Qora taxta arxitekturalari 3 ta asosiy komponentdan iborat.
qora taxta - echim maydonidagi moslamalarni o'z ichiga olgan tizimli global xotira
bilim manbai - o'z vakolatiga ega bo'lgan ixtisoslashgan modullar
boshqaruv komponenti - modullarni tanlaydi, sozlaydi va bajaradi.
Barcha komponentlar doskaga kirish huquqiga ega. Komponentlar doskaga qo'shiladigan yangi ma'lumotlar moslamalarini yaratishi mumkin. Komponentlar ma'lum turdagi ma'lumotlarni taxtada izlaydi va ularni mavjud bilim manbasiga mos ravishda topishi mumkin.
Foydalanish
Nutqni aniqlash
Avtotransport vositalarini identifikatsiyalash va kuzatib borish
Oqsil tarkibini aniqlash
Sonar izohlash signallari.
Qora taxta arxitekturalari
10. Tarjimon namunasi
Ushbu arxitektura maxsus tilda yozilgan dasturlarni sharhlaydigan komponentni loyihalash uchun ishlatiladi. Unda asosan ma'lum bir tilda yozilgan jumlalar yoki iboralar sifatida tanilgan dasturlarning qatorlarini qanday baholash kerakligi ko'rsatilgan. Asosiy g'oya shundaki, tilning har bir belgisi uchun sinf bo'lishi kerak.
Ilova arxitekturasi Tibbiy asboblarni tijoratlashtirish loyihalari ko'pincha loyiha yoki dastur menejeridan "Dastur me'mori" shlyapasini kiyishni talab qiladi. "Maqsadlarga erishib bo'lmasligi aniq bo'lsa, maqsadlarni o'zgartirmang, harakat bosqichlarini o'zgartiring." Konfutsiy Sizning mahsulotga qarashingiz qanday? Va u erga borish uchun qanday vazifani zimmangizga olasiz? Bu dasturlar va loyiha menejerlarini tijoratlashtirish loyihalari davomida qiziqtiradigan katta savollar. Aynan shu erda dastur arxitekturasi san'ati o'ynaydi. Tizimlar me'mori mahsulotning texnik maqsadlariga erishish uchun qurilish bloklarini birlashtirgani kabi, dastur me'morlari mahsulotning strategik maqsadlariga erishish uchun qurilish bloklarini yig'adilar.
Strategik rejalashtirish va moslashtirish haqida gap ketganda, tibbiy asboblarni tijoratlashtirish loyihalari ko'pincha loyiha yoki dastur menejeridan "Dastur arxitektori" shlyapasini kiyishni talab qiladi. Yuqori darajada dastur me'morining roli quyidagi jarayon bilan dastur arxitekturasini yaratishdan iborat: ko'rish va missiyani aniqlash, rejani me'mor qilish, o'rganish va moslashtirish. Bu ta'riflash, qurish va moslashtirishning davomiy tsiklidir.
Vizyon va Missiyani aniqlang
Vizyon va missiyani belgilashda dastur arxitektorlari mahsulot ishlab chiqishda etarlicha keng ko'lamda ekanligimizni va aynan qanday ko'rinish va missiya ekanligini ta'minlash uchun Pathfinder jarayoniga , Dastur Nizomiga va Dastur Xatarlarini boshqarishga asoslanadi. Ko'rish mahsulotning asosiy maqsadi bo'lib, butun rivojlanish davomida yo'naltiruvchi nur bo'lib xizmat qiladi. Misol tariqasida, "Ushbu skaner mavjud MRI apparatlari narxining 1/10 qismini tashkil qiladi va bir xil ishlashni taklif qiladi".
Dastur missiyasi ham yuksak maqsaddir, lekin natija jihatidan yanada aniqroqdir. Missiya jamoa uchun Shimoliy Yulduz bo'lib xizmat qiladi va erishilgan aniq bosqich bilan belgilanadi. "Keyingi 18 oy ichida biz 10 ta saytdagi muhim klinik sinovlarimiz uchun skanerni ishlab chiqamiz." Vizyon va missiyaning aniqligi dastur muvaffaqiyati uchun juda muhimdir. U katta maqsadlarga erishish uchun to'g'ri yo'nalishni belgilashda dastur yoki loyiha menejerining muammolarni hal qilish va ijodkorligini yo'naltiradi.
Reja arxitektori
Biz missiya va moliyalashtirish strategiyasiga e'tibor qaratadigan katta rasmni ta'kidlaydigan strategik rejani tuzamiz. Yuqori darajada u maqsadlar va cheklovlar (byudjet va jadval) bilan ma'lum qilinadi. Biz yo'lda asosiy bosqichlarni belgilab, orqaga qarab ishlashdan boshlaymiz. Mana bir nechta mumkin bo'lgan muqobil maqsadlar, ularning har biri o'ziga xos rejani talab qiladi: Loyihaning maqsadi Rekord ishlab chiqaruvchisini yaratishmi? Yoki bu qurilmaning samaradorligi o'rnatiladigan, tartibga soluvchi tasdiqlar tozalangan va keyin dasturdan mahrum bo'lgan oldingi chiqishni qo'llab-quvvatlash uchunmi? Qurilma erta bosqichdagi klinik sinovlarda foydalanish uchunmi yoki litsenziyalanadigan texnologiyami?
Dizayn, muhandislik va tartibga solish uchun takrorlanmaydigan muhandislikka (NRE) investitsiyalar yakuniy nuqta sifatida "Rekord ishlab chiqaruvchisi" bo'lgan dastur uchun litsenziyalash uchun texnologiyaning maqsadga muvofiqligini ko'rsatadigan dasturdan ancha farq qiladi. Xuddi shunday, moliyalashtirish strategiyasi korporativ daromadlar hisobidan moliyalashtiriladigan mahsulot va xususiy kapitalning ko'p bosqichlariga tayanadigan mahsulot uchun juda boshqacha ko'rinadi. Qiymat yaratish har doim asosiy harakatlantiruvchi kuch bo'lib qoladi, lekin qiymat qanchalik tez va prognoz qilinadigan tarzda yaratilishini hisobga olish zarurati ko'p bosqichli aktsiyalarni oshirish uchun juda katta ahamiyatga ega. Dastur tavakkalchiligini boshqarish rejalashtirishning yana bir aniq tomoni hisoblanadi. Agar ular amalga oshsa, jamoa ularni aniqlash uchun yaxshi joylashishiga ishonch hosil qilish uchun maksimal noaniqlik joylarini qidiring.
O'rganing va moslashtiring
Va keyin ish boshlanadi va birlashgan va yaxshi tushunilgan vazifa va rejaga ega bo'lgan jamoani yaratishga bo'lgan intilish o'z samarasini beradi. Nega? Chunki barcha sa'y-harakatlarga qaramay, hamma narsa o'zgaradi. Texnologik to'siqlar, inson omillarini kuzatish va fikr-mulohazalar kabi ba'zi o'zgarishlar manbalari kutilmoqda, ammo boshqalar kamroq tez-tez va juda ta'sirli. Bularga moliyalashtirishdagi uzilishlar, raqobat muhitidagi o‘zgarishlar yoki tartibga soluvchi talablar va standartlarning yangilanishi kiradi.
Vizyon, missiya va reja haqida umumiy bilimga ega bo'lgan holda, loyiha jamoasi ularni aniqlash va ularni Loyiha menejeri e'tiboriga etkazish uchun o'zgarishlar sohalarini birgalikda izlaydi. Keyin Bosh vazir dastur me'mori shlyapasini kiyadi va kerak bo'lganda baholash va sozlash imkoniyatiga ega bo'ladi. Ushbu jarayondan so'ng, loyihani iloji boricha tez va samarali davom ettirish uchun barcha kerakli o'zgarishlar amalga oshirilishini ta'minlaydi.
Savollar;
Dostları ilə paylaş: |