1. Dasturiy ta’minot arxitekturasi va loyihalash tushunasi


Download 25.63 Kb.
Sana11.10.2023
Hajmi25.63 Kb.
#1697946
Bog'liq
1. Dasturiy ta’minot arxitekturasi va loyihalash tushunasi (1)


1.Dasturiy ta’minot arxitekturasi va loyihalash tushunasi
Dasturiy ta’minotning arxitekturaviy dizayn, tizimning umumiy tuzilishi
dizayni va uni qanday tashkillashtirish tushunchalari bilan bog’liqdir.
Siz dasturiy ta’minot arxitekturasini ikkita ajralmas bosqichlarda
dizaynlashtira olasiz. Bular, kichik arxitektura va katta arxitektura:
1. Kichik arxitekturaga shaxsiy dasturlarning arxitekturalarini o’z ichiga
oladi.
2. Katta arxitektura boshqa tizimlarni, dasturlarni va dasturiy
komponentalarni qamrab oladigan murakkab korxona tizimlari
arxitekturasini o’z ichiga oladi.
Dasturiy ta’minot arxitekturasi tizimni ishlab chiqishda muhim o’rin tutadi,
sababi u tizimni ishlab chiqilishiga, ishonchliligiga, keng ko’lamda qo’llanilishiga
va qayta ishlab chiqilishiga ta’sir qiladi. Shaxsiy komponentalar funksional tizim
talablarini bajaradi. Nofunksional talablar tizim arxitekturasidan kelib chiqadi – bu
komponentalar tashkil qilinadigan va bir-biriga bog’lanadigan yo’ldir. Ko’plab
tizimlarda, nofunksional talablar ham shaxsiy komponentalar tomonidan bajariladi,
lekin bu yerda shubxasiz tizim arxitekturasi ustuvor hisoblanadi.
Bass va boshqalar(2003) dasturiy ta’minot arxitekturasini ochiq
loyihalashtirish va hujjjatlashtirishning uchta afzalliklarini muhokama qilishdi:
1. Manfaatdor aloqalar. Arxitektura tizimning yuqori darajadagi taqdimoti
bo’lib, bir qator turli manfaatdor tomonlar tomonidan muhokama qilish
uchun bir muammo markazi sifatida foydalaniladi.
2. Tizim tahlili. Tizimni ishlab chiqishning erta bosqichlarida tizim
arxitekturasini yaratish bir qancha tahlillarni talab qiladi. Arxitekturaviy
loyiha yechimlari tizimning ishlab chiqilish, ishonchlilik, keng ko’lamda
qo’llanilish va qayta ishlab chiqilish talablarini qondira olishiga chuqur
ta’sir ko’rsatadi.
3. Keng ko’lamli qayta qo’llash. Tizim arxitekturasi modeli tizimning qanday
tashkil qilingani va komponentalar qanday o’zaro ta’sir qilishini ixcham,
boshqarilga ta’rifidir
2. Arxitekturali loyihalash bosqichlari
Dasturiy tizim arxitekturasi alohida arxitekturaviy shablonlar va stillarga
asoslangan. Arxitekturaviy shablonlar xuddi klient-server tashkillanishi yoki
bosqichlangan arxitektura kabi tizimni tashkillashtirish tushunchasidir.
Arxitekturaviy shablonlar turli dasturiy tizimlarda qo’llanilgan arxitekturalar
jamlanmasini o’z ichiga oladi. Tizim uchun arxitektura tanlashda ehtiyotkorlik bilan
qaror qabul qilishingiz lozim.
Nofunksiyaviy talablar va dastur arxitekturasi o’rtasida yaqin bog’liqliklar
bo’lganligi sababli, siz tanlayotgan arxitekturaviy stil va tizim, nofunksional tizim
talablaridan kelib chiqqan holda tanlanishi lozim:
1. Ishlab chiqish. Ishlab chiqish bu muhim talabi bo'lsa, arxitektura kichik
komponentlar soni doirasida muhim operatsiyalarini mahalliylashtirishga
mo'ljallangan bo'lishi kerak, bu komponentlar bilan hammasi bitta kompyuterda
yozilgan, butun tarmoq bo'ylab tarqalmagan bo’lishi lozim.
2. Xavfsizlik. Agar xavfsizlik muhim talab bo’lsa, arxitektura uchun qatlamli
tuzilishi chuqur qatlamlarda himoyalangan eng muhim aktivlardan foydalanish
kerak, bu qatlamlar uchun xavfsizlikni tekshirish yuqori darajada qo'llaniladi.
3. Ichonchlilik. Agar ishonchlilik muhim talab bo'lsa, arxitektura shunday
mo'ljallangan bo'lishi kerakki, bunda xavfsizlik bilan bog'liq operatsiyalarning
barchasi yoki yagona komponentada yoki kichik sonli komponentlarda joylashgan
bo’lishi kerak. Bu xavfsizlik tekshirish xarajatlarni va muammolarini kamaytiradi
va qobiliyatsiz taqdirda tizimini xavfsiz yopilishiga imkon beradigan tegishli
himoya tizimlarini taqdim qiladi.
4. Mavjudlik. Agar mavjudlik muhim talab bo'lsa, arxitektura tizimi
to'xtamasdan komponentlarini yangilash va almashtirish imkoniga ega ortiqcha
komponentlarini o'z ichiga olgan bo'lishi kerak.
5. Barqarorlik. Agar barqarorlik muhim talab bo’lsa, tizim arxitekturasi tez tez o’zgarib turishi mumkin bo’lgan nozik, o’z-o’zini tarkibidagi komponentalardan
foydalangan holda qurilishi lozim. Ma'lumotlar ishlab chiqaruvchilar
iste'molchilardan ajratilgan bo'lishi kerak va birgalikda ma'lumotlar tuzilmalari yo'l
qo'ymaslik lozim
3.Dasturiy taminot arxitekturasi konteksti?
Tizim modelining eng muhim tomoni shundaki unda tizim haqidagi batafsil
ma’lumotlar tashlab ketiladi. Model o’rganilayotgan tizimning mavhum
ko’rinishidir.
Siz tizimni turli xil ko’rinishlarini ko’rsatish uchun turli xil modellarni ishlab
chiqishingiz mumkin. Masalan:
1. Tashqi ko’rinish, tizimning konteksti yoki muhitini modellashtirish.
2. O’zaro munosabatlar ko’rinishi, tizim bilan muhit yoki tizim komponentalari
o’rtasidagi o’zaro munosabatni modellashtirish.
3. Strukturaviy ko’rinish, tizim tomonidan ishlov berilayotgan ma’lumotlar
strukturasi yoki tizim tashkilotini modellashtirish.
4. Xatti harakatlar ko’rinishi, tizimning dinamik xatti harakatlari va hodisalarga
qanday javob berishini modellashtirish.
Konteks modellar tizimning tezkor kontekstini ko’rsatishda foydalaniladi.
Arxitekturaviy modellar tizim va uning boshqa tizimlar bilan munosabatini
ko’rsatadi.
Tizim chegaralari
Tizim chegaralari nima tizim ichida va nima tizim tashqarisidaligini
ko’rsatadi. Ular ishlab chiqarilayotgan tizimda foydalanilayotgan yoki bog’liq
bo’lgan boshqa tizimlarni ko’rsatadi.
Konteks modellar muhitdagi ishlab chiqarilayotgan tizimni emas balki
muhitdagi boshqa tizimlarni ko’rsatadi.
Jarayon modellar ishlab chiqarilayotgan modellarni ko’rsatadi. UML
diagrammalar jarayon modellarda foydalaniladi.
4 MVC
MVC "model-view-controller" degan ma'noni anglatadi. Bu turli muammolarni hal qilish uchun mas'ul bo'lgan bloklarni ajratib ko'rsatishni o'z ichiga olgan kodni tashkil qilish usuli. Bitta blok dastur ma'lumotlari uchun javob beradi, ikkinchisi tashqi ko'rinish uchun javob beradi, uchinchisi esa dasturning ishlashini nazorat qiladi. MVC komponentlari:

Model - Ushbu komponent ma'lumotlar uchun javob beradi va shuningdek, dastur tuzilishini belgilaydi. Misol uchun, agar siz Vazifa dasturini yaratayotgan bo'lsangiz, model komponent kodi vazifalar ro'yxatini va individual vazifalarni belgilaydi.


Ko'rish - Ushbu komponent foydalanuvchining o'zaro ta'siri uchun javobgardir. Ya'ni, ko'rish komponentining kodi ilovaning ko'rinishini va undan qanday foydalanishni belgilaydi.
Controller - bu komponent model va ko'rinish o'rtasidagi aloqa uchun javobgardir. Tekshiruvchi komponent kodi sayt foydalanuvchi harakatlariga qanday javob berishini aniqlaydi. Asosan, bu MVC ilovasining miyasi.

5.Incremental model tushunasi


Incremental Model - bu dasturiy ta'minotni ishlab chiqish jarayoni bo'lib, unda talablar dasturiy ta'minotni ishlab chiqish tsiklining bir nechta mustaqil modullariga bo'linadi. Ushbu modelda har bir modul talablar, dizayn, amalga oshirish va sinov bosqichlaridan o'tadi. Modulning har bir keyingi versiyasi oldingi versiyaga funksiya qo'shadi. Jarayon to'liq tizimga erishilgunga qadar davom etadi.
Incremental modelning turli bosqichlari quyidagilardan iborat:
1. Talablarni tahlil qilish: qo'shimcha modelning birinchi bosqichida mahsulotni tahlil qilish bo'yicha ekspertiza talablarni aniqlaydi. Va tizimning funktsional talablari talablarni tahlil qilish guruhi tomonidan tushuniladi. Incremental model ostida dasturiy ta'minotni ishlab chiqish uchun ushbu bosqich hal qiluvchi rol o'ynaydi.
2. Dizayn va ishlab chiqish: SDLC ning Incremental modelining ushbu bosqichida tizim funksionalligini loyihalash va ishlab chiqish usuli muvaffaqiyatli yakunlandi. Dasturiy ta'minot yangi amaliylikni ishlab chiqqanda, incremental model uslub va rivojlanish bosqichidan foydalanadi.
3. Sinov: Incremental modelda sinov bosqichi har bir mavjud funktsiyaning ishlashini, shuningdek, qo'shimcha funktsiyalarni tekshiradi. Sinov bosqichida har bir topshiriqning xatti-harakatini tekshirish uchun turli usullar qo'llaniladi.
4. Amalga oshirish: Amalga oshirish bosqichi ishlab chiqish tizimining kodlash bosqichiga imkon beradi. Bu loyihalash va ishlab chiqish bosqichida loyihalashning yakuniy kodlashni o'z ichiga oladi va sinov bosqichida funksionallikni sinab ko'radi. Ushbu bosqichni tugatgandan so'ng, ishlaydigan mahsulot soni ko'paytiriladi va yakuniy tizim mahsulotigacha yangilanadi
6.Arxitekturani tasniflash tillari
Dasturiy ta'minot arxitekturasi ishlab chiquvchilarning e'tiborini kod satrlaridan qo'pol arxitektura elementlariga va ularning umumiy o'zaro bog'liqlik tuzilishiga o'tkazadi. Arxitekturani tavsiflash tillari (ADL) arxitekturaga asoslangan rivojlanishni qo'llab-quvvatlash uchun modellash belgilari sifatida taklif qilingan. Biroq, tadqiqot hamjamiyatida ADL nima, arxitekturaning qaysi jihatlari ADLda modellashtirilishi kerakligi va bir nechta mumkin bo'lgan ADLlardan qaysi biri ma'lum bir muammoga eng mos kelishi haqida juda kam konsensus mavjud. Bundan tashqari, bir tomondan ADLlar va boshqa tomondan rasmiy spetsifikatsiya, modullarning o'zaro bog'lanishi, simulyatsiya va dasturlash tillari o'rtasida farq kamdan-kam uchraydi. Ushbu maqola ushbu savollarga javob berishga harakat qiladi. U ADL uchun ta'rif va tasniflash tizimini rag'batlantiradi va taqdim etadi. Ta'rifning foydaliligi ADL ni boshqa modellash belgilaridan farqlash uchun foydalanish orqali ko'rsatiladi. Ramka bir nechta mavjud ADLlarni tasniflash va solishtirish uchun ishlatiladi, bu bizga jarayonda ADLlarning asosiy xususiyatlarini aniqlash imkonini beradi. Taqqoslashda mavjud ADLlar keng ko'lamli qo'llab-quvvatlanadigan va ular etishmayotgan sohalarni ta'kidlab, kelajak uchun tadqiqot kun tartibini taklif qiladi.
7.Scrum-master
Skrum ustasi - bu loyihani boshqarishning tezkor usullaridan foydalangan holda loyiha orqali jamoani boshqaradigan professional. Skrum ustasi muvaffaqiyatli natijani ta'minlash uchun etakchilik va jamoa o'yinchilari o'rtasidagi barcha aloqa va hamkorlikni osonlashtiradi.
Skrum ustasi nima qiladi?
Scrum - bu murakkab loyihalarni, ko'pincha dasturiy ta'minotni ishlab chiqish uchun tezkor ramka. Loyihani boshqarishning tezkor metodologiyasi mahsulot yoki xizmatni doimiy ravishda takomillashtirishga olib keladigan sprintlar deb ataladigan qisqa rivojlanish tsikllaridan foydalanadi. Ko'plab tezkor ramkalar mavjud va Scrum tez harakatlanuvchi loyihalar uchun mashhur variantdir. Metodologiya yuqori darajada hamkorlikka asoslangan va samarali jarayonlarni talab qiladi va jarayonning natijalari scrum ustasining tajribasiga bog'liq.
Agile metodologiyalari texnologik kompaniyalarda boshlangan bo'lishi mumkin, ammo scrum master ish o'rinlarini barcha sohalarda va butun dunyo bo'ylab barcha turdagi kompaniyalarda topish mumkin.
Skrum ustasining roli loyihani, jamoalarni va jamoa a'zolarini himoya qilish uchun tezkor loyiha boshqaruvidan foydalanishdir. Skrum ustalari ko'p sozlamalarda ishlashi mumkinligi sababli, sizning vazifalaringiz va mas'uliyatingiz farq qilishi mumkin. Qayerda ishlayotganingizga qarab, siz o'zingizni yordamchi, murabbiy yoki loyiha menejeri rolini o'z zimmangizga olishingiz mumkin. Sizning vazifalaringiz ko'pincha kundan-kunga o'zgarib turadi, ammo quyidagilarni o'z ichiga olishi mumkin:
Kundalik stend-up yig'ilishlari, sharhlar, demolar va boshqa loyiha bilan bog'liq uchrashuvlarni olib borish
Jamoa a'zolarini o'z vazifalarida qo'llab-quvvatlash
Jamoani scrum tamoyillari va eng yaxshi amaliyotlar bo'yicha o'rgatish
Ochiq muhokama va nizolarni hal qilishga yordam berish
Muammolarni faol ravishda aniqlang va hal qiling
Loyiha boshqaruvini kuzatish vositasida faoliyatni yangilash
8.Qatlamli arxitektura tushunchasi.
qatlamli arxitektura - bu uch bosqichli texnologiya. Bunday tarmoqda mijoz va dastur serveridan tashqari qo'shimcha ma'lumotlar bazasi serveri mavjud.
Quyidagi uchta daraja:
Pastroq. Ushbu havola foydalanuvchi interfeysiga ega mijoz dasturiy ta'minotini va ma'lumotlarni qayta ishlashning keyingi darajasi bilan o'zaro ta'sir tizimini o'z ichiga oladi.
O'rta. Mijoz dasturlaridan kelib tushgan so'rovlar dastur serveri tomonidan qayta ishlanadi, bu erda server o'rtasida ma'lumotlarni qayta ishlash va o'tkazish uchun operatsiyalar amalga oshiriladi yuqori daraja va mijoz. Bu sizga ma'lumotlarni saqlashni keraksiz yukdan tushirish va turli foydalanuvchilarning so'rovlarini tarqatish imkonini beradi.
Yuqori. Bu barcha ma'lumotlarni saqlaydigan mustaqil ma'lumotlar bazasi serveri. Dastur serveridan tayyorlangan so'rovni qabul qiladi va uni mijoz dasturlari bilan bevosita aloqada bo'lmasdan kerakli ma'lumotlar bilan ta'minlaydi.
1 foydalanish interfeysi
2 foydalanuvchi interfeysi boshqarish
autentifikatsiya va avtorizatsiya
3 ISH mantiq/ dastur funktsional tizimi kommunal
4 tizim qo'llab-quvvatlash (OS, ma'lumotlar bazasi va hokazo)
Download 25.63 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling