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.
Barqarorlik. Agar barqarorlik muhim talab bo’lsa, tizim arxitekturasi tez-tez o’zgarib turishi mumkin bo’lgan nozik, o’z-o’zini tarkibidagi komponentalardan
2
foydalangan holda qurilishi lozim. Ma'lumotlar ishlab chiqaruvchilar iste'molchilardan ajratilgan bo'lishi kerak va birgalikda ma'lumotlar tuzilmalari yo'l qo'ymaslik lozim.
2.1 Dasturiy ta’minot dizaynini qurish va moslashtirish
6Dasturiy ta’minot dizayni va uni ishlab chiqish bajariladigan dasturiy ta'minot tizimi ishlab chiqiladigan dasturiy injiniring jarayonidagi bosqichdir.
Ba'zi oddiy tizimlar uchun, dasturiy ta'minot dizayni va dasturni ishlab chiqish dasturiy injiniringdir, va boshqa barcha faoliyatlar bu jarayonda bilan birlashgan. Shu bilan birga, katta tizimlar uchun, dasturiy ta'minot dizayni va dasturni ishlab chiqish dasturiy injiniringda ishtirok etadigan jarayonlar majmuidan biridir.
Dasturiy ta’minot dizayni va dasturiy ta’minotni ishlab chiqish faoliyati o’zgarishsiz ketma-ketlikda kelmoqda. Dasturiy ta’minot dizayni foydalanuvchi talablariga asoslangan dasturiy ta’minot komponentalari va ularning o’zaro bog’liqligi ta’minlashda yaratiladigan faoliyatdir. Dasturiy ta’minotni ishlab chiqish bu dizaynni dasturga moslab joriy etish jarayonidir. Ba’zi hollarda, bo’lingan dizayn bosqichlari ham mavjud va bu dizayn modellashtirilgan va dokumentlashtirilgan bo’ladi. Boshqa hollarda esa, dizayn dasturchi miyasida yoki doskada yoki qog’ozlarda aks etadi. Dizaynlashtirish bu muammoni qanday bartaraf etishdir, shuning uchun har doim dizaynlash jarayoni mavjuddir. Shunga qaramasdan, UML yoki boshqa dizayn yaratuvchi tillardan foydalanishda dizaynni tushuntirish bu doimo muhim yoki mos ravishda bo’lmaydi.
Dizaynlashtirish jarayonidagi eng muhim bosqich bu sizga kerak bo’lgan dizayn modellari va ularda talab qilingan detallarning bosqichlari ustida qarorlar qabul qilishdir. Bu ayni vaqtda ishlab chiqilayotgan tizim turidan kelib chiqadi.
Tizim loyihasini umumiylikdan detallarigacha ishlab chiqishda, obyektga yo’naltirilgan dizaynda quyidagi bir qanch narsalarni bilishingiz lozim:
Tizim bilan bo’ladigan tashqi ta’sirlar va kontekstni aniqlash va ularni tushunish.
Tizim arxitekturasini loyihalash.
Tizimdagi asosiy obyektlarni birlashtirish.
Loyiha modellarini rivojlantirish.
Interfeyslarni aniqlash.
DasturdizayniniishlabchiqishdaUMLdanfoydalanganingizda, sizikkiturdagidizaynmodellarininormalholdaishlabchiqasiz:
Tizimli modellar. Ular obyekt sinflari va ularning o’zaro bog’liqligidan foydalanadigan tizimning dinamik tuzilmasini tasvirlaydi.
Dinamik modellar. Ular tizimning dinamik tuzilmasini tasvirlaydi va tizim
3
obyektlari o’rtasidagi o’zaro ta’sirlarni ko’rsatadi.
O’zaro ta’sirlar obyektlar tomonidan bajarilgan xizmat so’rovlarining ketma-ketligini o’z ichiga olgan holda hujjatlashtirilgan bo’lishi mumkin.
Ishlab chiqish jarayonining bir qismida, siz qanday qilib ishlab chiqilgan dasturiy ta’minot maqsaddagi platformada qanday tarqalgan bo’lishi haqida qarorlar qabul qilishingiz lozim. Tarqalgan tizimlar uchun tarqaladigan komponentalar mavjud maxsus platformalar ustida qaror qabul qilishingiz lozim bo’ladi. Qaror qabul qilishda ko’rib chiqishingiz kerak bo’lgan muammolar:
Komponentning qurilma va dasturiy talablari. Agar component maxsus qurilma arxitekturasi uchun loyihalashtirilgan bo’lsa, yoki boshqa dasturiy ta’minot tizimlarida qo’llanilsa, bu shubhasiz talab qilingan qurilma va dasturni qo’llab quvvatlovchi platformada tarqatiladi.
Tizim mavjudligi talablari. Yuqori-mavjud tizimlar bittadan ko’p platformada tarqalgan komponentalarni talab qilishi mumkin. Bu shuni anglatadiki, platform inkor qilgan holatda komponentning alternative ishlab chiqilishi mavjud.
Kommunikatsiya komponentlari. Agar komponentlar orasida yuqori darajali aloqa trafigi bo’sa, unda ularni o’sha platformada yoki fizik jihatdan bir- biriga yaqin bo’lgan platformalarda aralashtirish kerak. Bu aloqa ushlanib qolishini, vaqtlar orasidagi ushlanishni kamaytiradi, xabar bitta component tomonidan jo’natiladi va boshqasi tomonidan qabul qilinadi.
Nazorat savollari
Nima uchun dasturiy ta’minot arxitekturasini loyihalash muhim?
Internetda musiqalar sotuvchi iTunes kabi tizimlarning arxitekturasini tuzing.
Ob-havo stansiyasi dizaynini ishlab chiqing.
Quyidagi obyekt sinflari uchun UML grafik notatsiyalardan foydalanib dizayni quring.
Regression testash nima?
Testlashning dastlabki bosqichlarida foydalanuvchilarni jalb qilishning ahamiyati nimada?
Dasturiy ta’minot evolutsiyasi nima?
Dasturiyta’minotnimijozlargayetkazilganidankeyingihayotsiklifazasiqandayfa
oliyatlarnio’zichigaoladi?
Foydalanilgan adabiyotlar
4
“Software Engineering”, by Ian Sommerville, 2015, pages - 790.
Holdener, A. T. (2008). Ajax: The Definitive Guide. Sebastopol, Ca.: O’Reilly and Associates.
Abrial, J. R. (2005). The B Book: Assigning Programs to Meanings. Cambridge,
UK: Cambridge University Press.
http: //www.SoftwareEngineering-9 .com
http://www.pearsonhighered.com/sommerville
4- Ma’ruza. Dasturiy ta’minotni boshqarish.
Reja:
Dasturiy ta’minotni boshqarish.
Dasturiy ta’minotni rejalashtirish.
Dostları ilə paylaş: |