Dasturiy Ta'minot tizimlarini loyihalash

MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI
Dasturiy Ta'minot tizimlarini loyihalash
MUSTAQIL ISH
Mavzu: Dasturiy ta'minot arxitekturasini loyihalash usullari
Bajardi: Abdullajono Firdavs 319-21 guruh
Tekshirdi Raxmonova Munisaxon
Reja:
1.Dasturiy taminot arxitekturasi va loyihalash tushunchasi
2. Arxitekturali loyihalash bosqichlari
3. Dasturiy taminot arxitekturasi konteksti
4. Arxitekturani tasniflash tillari
5. Qatlamli arxitektura tushunchasi.
6.Xulosa
7.Foydalanilgan adabyotlar
Umuman aytganda, "dasturiy ta'minot arxitekturasi" umuman qabul qilinmagan. Shunga qaramasdan, amalda ko'pincha ishlab chiquvchilar uchun qanday kod yaxshi va yomon bo'lganligi aniq. Yaxshi arxitektura, birinchi navbatda, dasturni yanada sodda va samarali bajarish va saqlash jarayonini ta'minlaydigan foydali me'morchilikdir. Yaxshi arxitekturaga ega dasturni kengaytirish va o'zgartirish, shuningdek, sinab ko'rish, disk raskadrovka va tushunish osonroq. Ya'ni, haqiqatdan ham juda oqil va universal mezonlardan birini tuzishingiz mumkin:
Tizim samaradorligi. Birinchidan, dastur, albatta, vazifalarni hal qilishi va o'z vazifalarini yaxshi va turli sharoitlarda bajarishi kerak. Bunga ishonchlilik, xavfsizlik, ishlash kabi xususiyatlar, ortib boruvchi yukni (kattalashtirish) engish va hokazo kabi xususiyatlar kiradi. Tizimning moslashuvchanligi. Har qanday dastur vaqt talablari o'zgarishi kerak, yangilar qo'shiladi. Mavjud funktsional o'zgarishlarni tezroq va qulayroq qilish, bu kamroq muammolar va xatolarni keltirib chiqarishi - tizimning yanada moslashuvchan va raqobatbardoshligi. Shuning uchun, rivojlanish jarayonida, keyinchalik uni qanday o'zgartirish kerakligi haqida olingan ma'lumotlarni baholashga harakat qiling. O'zingizdan so'rang: "Agar hozirgi me'moriy yechim noto'g'ri chiqsa nima bo'ladi?", "Bu kod qanchalik o'zgarishi mumkin?". Tizimning bir qismini o'zgartirish uning boshqa qismlariga ta'sir qilmasligi kerak. Iloji bo'lsa, me'moriy yechimlarni "toshda kesib tashlamaslik kerak" va me'moriy xatolar natijalari juda cheklangan bo'lishi kerak. "Yaxshi arxitektura asosiy qarorlarni qabul qilishni avaylash imkonini beradi" (Bob Martin) va xatolarning "narxini" kamaytiradi.
Arxitektura ta'rifi
Dasturning tarkibini muhokama qilish uchun, avvalo, me'morchilikning vakolatini, me'morchilikning muhim jihatlarini tavsiflovchi usulni aniqlash kerak. RUPda ushbu ta'rif Dasturiy ta'minot arxitekturasining hujjatiga kiritilgan. Mantiqiy vakillik loyihaning eng muhim sinflarini o'z ichiga oladi, paketlar va quyi tizimlar bilan taqsimlanadi va ular o'z navbatida qatlamlarga tarqatiladi. Bunga qo'shimcha ravishda, ushbu ko'rinishda ba'zi dasturlarni qo'llash mumkin. Ushbu fikr loyiha modelining kichik to'plamidir.
Dasturning bajarilishi modullar, paketlar va qatlamlar bo'yicha amalga oshiriladigan model va uning tuzilishi haqida umumiy ma'lumot beradi. Ushbu qarashda paketlarni taqsimlash va paketlar va taqdimotni taqdim etish modullari uchun mantiqiy vakillik sinflari haqidagi ma'lumotlar ham mavjud. Bu dastur modelining pastki qismidir.
Jarayon vakili vazifalar (jarayonlar va ish zarralari), ularning o'zaro ta'siri va konfiguratsiyasi va sinflar va loyiha ob'ektlari va vazifalari o'rtasidagi munosabatni o'z ichiga oladi. Bu fikr faqatgina parallelizmga ega bo'lgan tizimlar uchun qo'llaniladi. RUP da bu loyiha modelining kichik qismidir.
Deployment ko'rinishi eng keng tarqalgan platformadagi konfiguratsiyalarning jismoniy tugunlari va jismoniy tugunlar orasidagi vazifalarni taqsimlash (protsessual namoyishidan) haqida ma'lumotlarni o'z ichiga oladi. Ushbu fikr faqat tarqatilgan tizimlar uchun amal qiladi. Ushbu tarqatish modelining pastki qismi.
Arxitektura vakolatlari bo'yicha batafsil ma'lumotni dasturiy ta'minot arxitekturasidagi hujjatda topish mumkin. Tizimning turli jihatlarini aks ettiradigan boshqa ko'rinishlarni yaratishingiz mumkin: interfeyslarni taqdim etish, himoya qilishni taqdim etish, ma'lumotlarni taqdim etish va hk. Oddiy tizimlarda, 4 + 1 modelida mavjud bo'lgan ba'zi bir vakolatlarsiz bajarish mumkin. Asosiy elementlar eng muhim foydalanish hollari, sinflar, umumiy mexanizmlar va boshqalar. (modeldagi barcha elementlardan farqli o'laroq).
Bir nechta asosiy senaryolar tizimdagi asosiy boshqaruv oqimlarini ko'rsatadi.
Tizimning modullik xususiyatini belgilaydigan xizmatlar, mahsulotning tarkibiy qismlari bilan bog'liq ixtiyoriy komponentlar va aspektlar.
Aslida me'moriy vakillik mavhum, yoki keraksiz qismlarini olib va eng muhim xususiyatlarini ajratib ko'rsatish umumiy loyiha, soddalashtirilgan vakillik.
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: . Kichik arxitekturaga shaxsiy dasturlarning arxitekturalarini o’z ichiga oladi.. 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. 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 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'lnqo'ymaslik lozim
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. 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.
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
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.
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
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
Xulosa
Men dasturiy taminot arxitekturasi deb, narsalar o'rni bo'yicha ma'lumot olishim mumkinmi? Ushbu so'zlar orqali dasturiy taminotning arxitekturasi, ya'ni dastur vositalari va tuzilmalari tavsifi murakkab tizimning umumiy rejalashtirilish prinsiplari, komponentlari, va ularning ishlab chiqilishi haqida gaplashadi. Dasturiy taminot arxitekturasi, dastur tizimlarini boshqarish, ularning qo'llanilishi, va ularga xizmat ko'rsatish usullari haqida eng asosiy qoidalarni o'z ichiga oladi.
Foydalanilgan adabyotlar
Chat.openai.com
Fayllar.org
Andrea, J. (2007). ‘Envisioning the Next Generationof Functional Testing Tools’. IEEE Software, 24(3), 58–65. 2. “Software Engineering”, by Ian Sommerville, 2015
|