33
2 - ma’ruza. Dasturiy ta’minot dizaynini ishlab chiqish. Testlash va
tekshirish
Reja:
2.1. Dasturiy ta’minotning arxitekturaviy dizayni
2.2. Dasturiy ta’minot dizaynini qurish va moslashtirish
2.3. Dasturiy ta’minotni testlash
2.4. Dasturiy ta’minot evolutsiyasi
Kalit so’zlar:
arxitektura, dizayn, testlash, evolutsiya, xavfsizlik, ishinchlilik,
barqarorlilik, servis, uml, talab, servis.
Ushbu ma’ruzaning maqsadi dasturiy ta’minot arxitekturasi va arxitekturaviy
dizayn tushunchalariga kirish, dasturiy ta’minot dizaynini yaratish va uni tizimga
moslashtirish, daturiy ta’minotni testlash hamda dasturiy ta’minot evolyutsiyalarini
ko’rib chiqishdan iborat.
2.1. Dasturiy ta’minotning arxitekturaviy dizayni
5
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:
5
“Software Engineering”, by Ian Sommerville, pages 148-150
III. NAZARIY MATERIALLAR
34
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.
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-
III. NAZARIY MATERIALLAR
35
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.
|