Ushbu bobda dasturiy ta'minot dizayni tavsifi keltirilgan swebok qo'llanmasi uchun bilim maydoni Tosh odam



Download 195,75 Kb.
Sana26.01.2022
Hajmi195,75 Kb.
#411502

1

Ushbu bobda dasturiy ta'minot dizayni tavsifi keltirilgan

SWEBOK qo'llanmasi uchun bilim maydoni (Tosh odam

versiya). Birinchidan, bilim sohasining umumiy ta'rifi

berilgan. Keyin mavzular taqsimoti taqdim etiladi

bilim sohasi va turli xillarning qisqacha tavsiflari

mavzular. Ushbu mavzu tavsiflari ham qo'shiladi

batafsilroq ma'lumot beruvchi materiallarga havolalar

ushbu mavzularning taqdimoti va yoritilishi. The

keyin tavsiya etilgan havolalar qisqacha tavsiflanadi,

so'ngra keyingi o'qish uchun bir qator takliflar.

Shuni ta'kidlash kerakki, turli xil cheklovlar bo'lishi kerak edi

olingan bilim sohasi (KA) tavsifi bilan qanoatlantiriladi

ushbu tavsiflar uchun belgilangan talablarni qondirish

(SWEBOK bo'yicha to'liq qo'llanmaning A ilovasiga qarang).

Asosiy cheklovlar orasida KA tavsifi bor edi

emas, balki "umumiy qabul qilingan" bilimlarni tasvirlash kerak edi

har qanday dastur domenlari yoki ishlanmalariga xos

usullari va odatiy buzilishlarga mos kelishi kerak edi

adabiyotlarda topilgan. Qiziqqanlar uchun 4-bo'lim

Batafsilroq taqsimlash asosini tushuntirib beradi

KA tavsifi uchun turli talablar qanday edi

uchrashdi. Talablarga oid yakuniy eslatma shu edi

KA tavsifi ro'yxatini taklif qilish kerak edi "Tavsiya etiladi

ma'lumotnomalar" cheklangan miqdordagi yozuvlar bilan.

Bu talabni qondirish, afsuski, hammasi emas, degani edi

qiziqarli adabiyotlar tavsiya etilgan adabiyotlar ro'yxatiga kiritilishi mumkin, shuning uchun keyingi o'qishlar ro'yxati.

IEEE ta'rifiga ko'ra [IEE90], dizayn ikkalasi ham

"arxitekturani, tarkibiy qismlarini aniqlash jarayoni,

interfeyslar va tizimning boshqa xususiyatlari yoki

komponent” va “[bu] jarayonning natijasi”. sifatida qaraladi

jarayon, dasturiy ta'minot dizayni - bu dasturiy ta'minot ichidagi faoliyat

dasturiy ta'minot talablari bo'lgan rivojlanishning hayot aylanishi

ichki tavsifni ishlab chiqarish uchun tahlil qilinadi

bo'lib xizmat qiladigan tizimning tuzilishi va tashkil etilishi

uning qurilishi uchun asosdir. Aniqroq aytganda, dasturiy ta'minot

dizayn (natija) arxitekturasini tavsiflashi kerak

tizim, ya'ni tizim qanday parchalanadi va

komponentlarga ajratilgan va interfeyslarni tavsiflashi kerak

Ushbu komponentlar o'rtasida. Bularni ham tavsiflash kerak

komponentlarni o'zlariga ruxsat berish uchun mos bo'lgan detallar darajasiga

qurilish.

Klassik dasturiy ta'minotni ishlab chiqish hayotiy tsiklida, masalan

ISO/IEC 12207 Dasturiy ta'minotning hayot aylanish jarayonlari [ISO95b],

dasturiy ta'minot dizayni bir-biriga mos keladigan ikkita faoliyatdan iborat

dasturiy ta'minot talablarini tahlil qilish va dasturiy ta'minotni kodlash va

test: i) dasturiy ta'minot arxitektura dizayni - ba'zan deyiladi

yuqori darajadagi dizayn, bu erda yuqori darajadagi tuzilma va

tizimning tashkil etilishi tavsiflangan va turlicha

komponentlar aniqlanadi; ii) dasturiy ta'minotning batafsil dizayni -

bu erda har bir komponent imkon berish uchun etarlicha tavsiflangan

uning kodlanishi.

Dasturiy ta'minot dizayni ishlab chiqishda muhim rol o'ynaydi

ishlab chiquvchiga imkon beradigan dasturiy ta'minot tizimi

ning o'ziga xos rejasini tashkil etuvchi turli xil modellarni ishlab chiqaradi

yechim amalga oshirilishi kerak. Ushbu modellarni tahlil qilish mumkin

va ular turli ruxsat berish yoki yo'qligini aniqlash uchun baholanadi

bajarilishi kerak bo'lgan talablar. Turli xil alternativ echimlar

va o'zaro kelishuvlar ham tekshirilishi va baholanishi mumkin. Nihoyat,

Olingan modellar keyingisini rejalashtirish uchun ishlatilishi mumkin

3–2 © IEEE – Sinov versiyasi 1.00 – 2001 yil may

kiritish sifatida foydalanishdan tashqari rivojlantirish faoliyati

va kodlash va sinov faoliyatining boshlang'ich nuqtasi.

Dasturiy ta'minot dizayni KA doirasiga kelsak, u

Shuni ta'kidlash kerakki, so'zni o'z ichiga olgan barcha mavzular emas

Ularning nomlaridagi "dizayn" hozirgi KAda muhokama qilinadi

tavsifi. DeMarko [DeM99] terminologiyasida, the

Hozirgi KA asosan yuqoridagi paragraflarda muhokama qilinganidek D-dizayn (parchalanish dizayni) bilan bog'liq.

(tizimni tarkibiy qismlarga ajratish). Biroq,

ning o'sib borayotgan sohasida muhimligi tufayli

Dasturiy ta'minot arxitekturasi, FP-dizayn (Oilaviy naqsh dizayni,

uning maqsadi a ustidan ekspluatatsiya qilinadigan umumiyliklarni o'rnatishdir

tizimlar oilasi) ham ko'rib chiqiladi. Boshqa tomondan

qo'l, I-dizayn (Ixtiro dizayni, odatda tizim tomonidan amalga oshiriladi

kashf etilgan ehtiyojlar va talablarni qondirish uchun tizimni kontseptsiyalash va belgilash maqsadi bilan tahlilchilar) ko'rib chiqilmaydi, chunki bu oxirgi mavzu

talablarni tahlil qilishning bir qismi hisoblanishi va

spetsifikatsiya faoliyati. Nihoyat, shuni ham e'tiborga olingki, chunki

KA tavsifiga kiritilishi kerak bo'lgan talablar

har qanday dastur domenlariga xos bo'lmagan bilimlar va

ba'zi mavzular bilimda yaxshiroq yoritilganligi

Tegishli fanlar sohalari (to'liq D ilovasiga qarang).

Qo'llanma), ma'lum ixtisoslashgan sohalar - masalan, Foydalanuvchi

Interfeys dizayni yoki real vaqtda dizayn - aniq emas

Ushbu dasturiy ta'minot dizayni KA tavsifida muhokama qilingan.

Qo'shimcha ma'lumot uchun ushbu bobning 4-bo'limiga qarang

ushbu va boshqa maxsus "dizayn" mavzulariga tegishli. Of

Albatta, ushbu dasturiy ta'minotga kiritilgan ko'plab mavzular

Dizayn KA tavsifi hali ham ushbu ixtisoslashganlarga tegishli bo'lishi mumkin

hududlar.

3. DASTURIY DASTURLAR DIZAYNASI UCHUN MAVZULARNING BO’LGANISHI

Ushbu bo'limda dasturiy ta'minotning taqsimoti ko'rsatilgan

Dizayn bilim sohasi qisqacha tavsiflari bilan birga

asosiy mavzularning har biri. Tegishli havolalar ham mavjud

har bir mavzu uchun berilgan. 1-rasmda grafik ko'rsatilgan

ning yuqori darajadagi parchalanishining taqdimoti

Dasturiy ta'minotni loyihalash bo'yicha bilim sohasi uchun taqsimot. The

batafsil taqsimot keyingi sahifalarda keltirilgan.

Eslatma: Malumot tugmalaridagi raqamlar, masalan, [Bud94:8,

Pre97:23], havolaning muayyan bob(lar)ini ko'rsating. In

Mar94 ishi, masalan, [Mar94:D], harflar ko'rsatadi

ensiklopediyaning maxsus yozuvlari: "D" = Dizayn; "DR" =

Dizayn taqdimoti; "DD" = Tarqalgan dizayn

tizimlari”. Shuni ham unutmangki, taqdim etilgan matritsadan farqli o'laroq

5-bo'lim, faqat tegishli bob (yoki qism) raqami,

aniq bo'limlar yoki sahifalar ko'rsatilmagan.

I. Dasturiy ta'minotni loyihalashning asosiy tushunchalari

Ushbu birinchi bo'lim bir qator tushunchalarni taqdim etadi va

tushunish uchun asos bo'lgan tushunchalar

Dasturiy ta'minot dizaynining roli va ko'lami.

Š Umumiy dizayn tushunchalari: Dasturiy ta'minot yagona soha emas

dizayn ishtirok etgan joyda. Umumiy ma'noda, dizayn

shakli sifatida qarash mumkin muammolarni hal qilish [Bud94: 1]. Uchun

Masalan, yovuz muammo tushunchasi - bu muammo

aniq yechimga ega emas - dizayn chegaralarini tushunish uchun qiziqarli [Bud94: 1]. Bir qator

tushuncha va tushunchalarni tushunish ham qiziq

dizayn umumiy ma'noda: maqsadlar, cheklovlar,

muqobillar, taqdimotlar va yechimlar [SB93].

Š Dasturiy ta'minot dizayni konteksti: rolni tushunish

va dasturiy ta'minotni loyihalash joyi, muhim ahamiyatga ega

dasturiy ta'minot dizayni mos keladigan kontekstni tushunish,

ya'ni dasturiy ta'minotni ishlab chiqish hayotiy tsikli. Shunday qilib,

dasturiy ta'minot talablarini tahlil qilishning asosiy xususiyatlari

dasturiy ta'minot dizayni va boshqalar. dasturiy ta'minotni qurish va boshqalar

tushunish kerak [ISO95b, LG01:11, Mar94:D,

Pfl98:2, Pre97:2].

Š Dasturiy ta'minotni loyihalash jarayoni: Dasturiy ta'minot dizayni

odatda ikki bosqichli jarayon hisoblanadi: arxitektura

dizayn tizimning qanday parchalanishini tasvirlaydi va

komponentlarga ajratilgan (dasturiy ta'minot arxitekturasi),

holbuki, batafsil dizayn o'ziga xos xatti-harakatni tavsiflaydi

ushbu komponentlardan [DT97:7, FW83:I, ISO95b,

LG01:13, 94-mart:D]. Ushbu jarayonning natijasi to'plamdir

asosiy qarorlarni qayd etadigan modellar va artefaktlar

olingan [Bud94:2, IEE98, LG01:13,

Oldingi 97:13].

Š Dasturiy ta'minotni loyihalash uchun texnikani yoqish: Ko'ra

Oksford lug'atida printsip "asosiy haqiqat yoki a

fikr yuritish uchun asos sifatida foydalaniladigan umumiy qonun […] yoki a

harakat uchun qo'llanma". Dasturiy ta'minotni loyihalashning bunday tamoyillari,

[BMR+96] da faollashtirish usullari deb ataladi, bu asosiy tushunchalardir

ko'p turli dasturiy ta'minot uchun asosiy hisoblanadi

bir turni tashkil etuvchi dizayn yondashuvlari, tushunchalari va tushunchalari

ko'pgina yondashuvlar uchun asos bo'ldi. Ba'zilari

asosiy tushunchalar quyidagilardir [BCK98:6, BMR+96:6,

IEE98, Jal97:5,6, LG01:1,3, Pfl98: 5, Pre97:13,23]:

- Abstraksiya: “axborotni unutish jarayoni shunday

har xil bo'lgan narsalarga xuddi shunday munosabatda bo'lish mumkin

bir xil” [LG01]. Dasturiy ta'minot kontekstida

dizayn, ikkita asosiy abstraktsiya mexanizmi

parametrlash va spetsifikatsiya bo'yicha abstraktsiya,

Bu o'z navbatida uchta asosiy mavhumlik turiga olib keladi:

protsessual abstraktsiya, ma'lumotlarni abstraktsiyalash va nazorat qilish

(iteratsiya) abstraksiya [BCK98:6, LG01:1,3,5,6

Jal97:5, Pre97:13].

- Bog'lanish va birlashish: ulash choralari esa

o'rtasidagi mavjud munosabatlarning mustahkamligi

modullar, uyg'unlik qanday elementlarni o'lchaydi

modul yaratish bir-biriga bog'liq [BCK98:6, Jal97:5,

Pfl98:5, Pre97:13].

- parchalanish va modullashtirish: ishlashi

katta tizimni kichikroq sonlarga parchalash

mustaqil bo'lganlar, odatda joylashtirish maqsadi bilan

turli funktsiyalar yoki turli xil mas'uliyat

komponentlar [BCK98:6, BMR+96:6, Jal97:5, Pfl98:5,

Oldingi 97:13].

Loyihalashda bir qator asosiy masalalarni hal qilish kerak

dasturiy ta'minot tizimlari. Ulardan ba'zilari haqiqatan ham sifat bilan bog'liq

Bu barcha tizimlar tomonidan hal qilinishi kerak, masalan, ishlash. Yana bir muhim masala - qanday parchalanish,

dasturiy ta'minot komponentlarini tashkil qilish va paketlash. Bu shunday

bir tarzda yoki hal qilinishi kerakligi asosiy

boshqa, dizaynga barcha yondashuvlar bo'yicha; bu haqida muhokama qilinadi

Texnikalarni yoqish va dasturiy ta'minotni loyihalash strategiyalarida

mavzular. Boshqa tomondan, boshqa muammolar ham mavjud

"tizim xatti-harakatlarining ba'zi jihatlari bilan shug'ullanmang

ilova domenida, lekin ba'zilariga murojaat qiladigan

qo‘llab-quvvatlovchi domenlar” [Bos00]. Ko'pincha bunday muammolar

tizimning o'zaro faoliyat funksiyalari deb ataladi

aspektlar: “[aspektlar] tizimning funktsional parchalanish birliklari emas, balki ta'sir qiluvchi xususiyatlardir.

komponentlarning tizimli ishlashi yoki semantikasi

yo‘llari” [KLM+97]. Bu asosiy, o'zaro faoliyat bir qator

masalalar quyidagilar (alifbo tartibida keltirilgan):

Š Parametrlilik: tizimlarni qanday qismlarga ajratish kerak

jarayonlar, vazifalar va mavzular va ular bilan bog'liq

samaradorlik, atomiklik, sinxronizatsiya va rejalashtirish

masalalar [Bos00:5, Mar94:DD, Mey97:30, Pre97:21].

Š Hodisalarni boshqarish va boshqarish: oqimni qanday tashkil qilish kerak

ma'lumotlar va boshqaruv oqimi, reaktivni qanday boshqarish kerakligi

va turli mexanizmlar orqali vaqtinchalik hodisalar, masalan,

yashirin chaqiruv va qayta qo'ng'iroqlar [BCK98:5, Mey97:32,

Pfl98:5].

Š Tarqatish: dasturiy ta'minot tarmoqda qanday tarqatiladi

apparat, komponentlar qanday aloqa qiladi, qanday

o'rta dastur heterojen bilan kurashish uchun ishlatilishi mumkin

tizimlar [BCK98:8, BMR+96:2, Bos00:5, Mar94:DD,

Mey97:30, Oldin 97:28].

Š Xato va istisnolardan foydalanish va xatolarga chidamlilik: qanday qilib

xatolarning oldini olish va ularga toqat qilish va istisnolar bilan kurashish

shartlar [LG01:4, Mey97:12, Pfl98:5].

Š Interaktiv tizimlar: o'zaro ta'sir o'tkazish uchun qaysi yondashuvdan foydalanish kerak

foydalanuvchilar bilan [BCK98:6, BMR+96:2.4, Bos00:5, LG01:13,

May97:32].

(Eslatma: bu mavzu tafsilotlarning texnik xususiyatlari haqida emas

vazifasi sifatida qaraladigan foydalanuvchi interfeysi

UI dizayni, joriy KA doirasidan tashqaridagi mavzu.)

Š Qat'iylik: uzoq umr ko'radigan ma'lumotlar bilan ishlash qanchalik zarur

[Bos00:5, Mey97:31].

III. Dasturiy ta'minot tuzilishi va arxitekturasi

O'zining qat'iy ma'nosida "dasturiy ta'minot arxitekturasi tavsifdir

dasturiy ta'minot tizimining quyi tizimlari va komponentlari

va ular orasidagi munosabatlar” [BMR+96:6]. An

Shunday qilib, arxitektura ichki tuzilmani aniqlashga harakat qiladi -

"Biror narsaning tuzilishi yoki tashkil etilishi"

(Oksford lug'ati) - natijada olingan dasturiy ta'minot. davomida

90-yillarning o'rtalarida dasturiy ta'minot arxitekturasi paydo bo'la boshladi

dasturiy ta'minotni o'rganish bilan bog'liq bo'lgan kengroq intizom sifatida

tuzilmalar va arxitekturalar umumiyroq tarzda [SG96].

Bu bir qator qiziqarli tushunchalarni keltirib chiqardi

abstraktsiyaning turli darajalarida dasturiy ta'minotni loyihalash bilan. Ushbu tushunchalarning ba'zilari arxitektura dizayni (masalan, arxitektura uslubi) paytida ham foydali bo'lishi mumkin.

a ning batafsil dizayni (masalan, quyi darajadagi dizayn naqshlari).

maxsus dasturiy ta'minot tizimi. Lekin ular uchun ham foydali bo'lishi mumkin

umumiy tizimlarni loyihalash, oilalarni loyihalashga olib keladi

tizimlari (aka. mahsulot liniyalari). Qizig'i shundaki, bularning aksariyati

tushunchalarni tasvirlash va shu tariqa qayta ishlatishga urinish sifatida ko'rish mumkin,

umumiy dizayn bilimlari.

Š Arxitektura tuzilmalari va nuqtai nazarlari: dasturiy ta'minot dizaynining turli yuqori darajali tomonlari bo'lishi mumkin va bo'lishi kerak.

tasvirlangan va hujjatlashtirilgan. Bu tomonlar ko'pincha deyiladi

ko'rinishlar: "ko'rinish dasturiy ta'minotning qisman tomonini ifodalaydi

dasturiy ta'minotning o'ziga xos xususiyatlarini ko'rsatadigan arxitektura

tizimi” [BMR+96]. Bu turli qarashlarga tegishli

dasturiy ta'minotni loyihalash bilan bog'liq turli muammolar,

masalan, mantiqiy ko'rinish (funktsionalni qondirish

talablar) va jarayon ko'rinishi (moslashuv muammolari)

va boshqalar jismoniy ko'rinishi (tarqatish muammolari) va boshqalar

rivojlanish ko'rinishi (dizayn qanday bo'lingan

amalga oshirish birliklari). Boshqa mualliflar boshqacha foydalanadilar

terminologiyalar, masalan, xulq-atvor va funktsional va tizimli va ma'lumotlarni modellashtirish ko'rinishlari. Asosiy fikr shundan iboratki, a

dasturiy ta'minot dizayni tomonidan ishlab chiqarilgan ko'p qirrali artefaktdir

dizayn jarayoni va odatda nisbatan tashkil topgan

mustaqil va ortogonal qarashlar [BCK98:2,

BMR+96:6, BRJ99:31, Bud94:5, IEE98].

Š Arxitektura uslublari (makro-arxitektura naqshlari): An

me'moriy uslub - bu "cheklashlar to'plami

arxitektura [bu] arxitekturalar to'plami yoki oilasini belgilaydi

bu ularni qoniqtiradi” [BCK98:2]. Arxitektura uslubi bo'lishi mumkin

Shunday qilib, yuqori darajadagi tashkilotni (makro-arxitekturani) ta'minlaydigan meta-model sifatida ko'rish mumkin.

dasturiy ta'minot tizimi. Bir qator asosiy uslublar mavjud edi

turli mualliflar tomonidan aniqlangan. Bu uslublar mumkin

(taxminan) quyidagicha tashkil etilsin [BCK98:5,

BMR+96:1,6, Bos00:6, BRJ99:28, Pfl98:5]:

- Umumiy tuzilish (masalan, qatlamlar, quvurlar va filtrlar,

doska);

- taqsimlangan tizimlar (masalan, mijoz-server, uch darajali,

broker);

- Interaktiv tizimlar (masalan, Model-View-Controller,

Taqdimot-Avstraksiya-Nazorat);

- Moslashuvchan tizimlar (masalan, mikro-yadro, aks ettirish);

- Boshqa uslublar (masalan, to'plam, tarjimonlar, jarayon

nazorat, qoidaga asoslangan).

Š Dizayn naqshlari (mikroarxitektura naqshlari):

Qisqacha ta'riflangan holda, naqsh "umumiy yechimdir

ma'lum bir kontekstdagi umumiy muammoga"

[JBR99: p. 447]. Holbuki, arxitektura uslublari bo'lishi mumkin

yuqori darajadagi tashkilotni tavsiflovchi naqshlar sifatida qaraladi

dasturiy ta'minot tizimlari, shuning uchun ularning makro-arxitekturasi, boshqalar

dizayn naqshlari a da tafsilotlarni tasvirlash uchun ishlatilishi mumkin

pastroq, ko'proq mahalliy darajada, shuning uchun ularning mikroarxitekturasini tavsiflaydi. Naqshlarning keng doirasi bo'lgan

adabiyotlarda muhokama qilinadi. Bunday dizayn naqshlari mumkin

(taxminan) quyidagicha tasniflanadi [BCK98:13,

BMR+96:1, BRJ99:28]:

- Yaratilish naqshlari: masalan, quruvchi, zavod, prototip,

singleton.

- Strukturaviy naqshlar: masalan, adapter, ko'prik, kompozit,

dekorator, fasad, flyweight, proksi.

- xulq-atvor namunalari: masalan, buyruq, tarjimon,

iterator, vositachi, esdalik, kuzatuvchi, davlat,

strategiya, shablon, mehmon.

Š Dasturlar va ramkalar oilalari: bitta mumkin

dasturiy ta'minot dizaynlarini qayta ishlatishga imkon beradigan yondashuv va

komponentlar tizimlar oilalarini loyihalash uchun hamdir

dasturiy mahsulotlar qatori sifatida tanilgan - buni amalga oshirish mumkin

a'zolari o'rtasidagi umumiy xususiyatlarni aniqlash orqali

bunday oilalar va qayta foydalanish mumkin va moslashtirilgan foydalanish orqali

o'rtasidagi o'zgaruvchanlikni hisobga olish uchun komponentlar

oilaning turli a'zolari [BCK98:15, Bos00:7,10,

Oldingi 97:26].

OO dasturlash sohasida asosiy bog'liq tushuncha

ramka [BMR+96:6, Bos00:11, BRJ99:28]: a

Framework qisman to'liq dasturiy ta'minot quyi tizimidir

mos ravishda o'rnatish orqali kengaytirilishi mumkin ba'zi maxsus plaginlar (shuningdek, issiq nuqtalar sifatida ham tanilgan).

IV. Dasturiy ta'minot dizayni sifatini tahlil qilish va baholash

Butun bilim sohasi dasturiy ta'minot sifatiga bag'ishlangan

(11-bobga qarang). Bu erda biz shunchaki bir nechtasini eslatib o'tamiz

ko'proq dasturiy ta'minot dizayni bilan bog'liq mavzular.

Š Sifat atributlari: Odatda har xil atributlar mavjud

yaxshilik dizaynini olish uchun muhim hisoblanadi

2

Dasturiy ta'minot dizayni - bu foydalanuvchi talablarini qandaydir mos shaklga aylantirish jarayoni bo'lib, u dasturchiga dasturiy ta'minotni kodlash va amalga oshirishda yordam beradi. Dasturiy ta'minotni loyihalash bosqichida SRS hujjatida hujjatlashtirilgan mijozning talablaridan kelib chiqqan holda dizayn hujjati ishlab chiqariladi. Demak, ushbu bosqichning maqsadi SRS hujjatini loyiha hujjatiga aylantirishdir.



Dizayn bosqichida quyidagi elementlar ishlab chiqilgan va hujjatlashtirilgan:

Turli xil modullar talab qilinadi.

Modullar orasidagi munosabatlarni boshqarish.

Turli modullar orasidagi interfeys.

Turli modullar orasidagi ma'lumotlar tuzilishi.

Alohida modullar orasida amalga oshirish uchun zarur bo'lgan algoritmlar.

Dasturiy ta'minotni loyihalashning maqsadlari:

To'g'riligi:

Yaxshi dizayn to'g'ri bo'lishi kerak, ya'ni tizimning barcha funktsiyalarini to'g'ri amalga oshirishi kerak.

Samaradorlik:

Yaxshi dasturiy ta'minot dizayni resurslar, vaqt va xarajatlarni optimallashtirish masalalarini hal qilishi kerak.

Tushunuvchanlik:

Yaxshi dizayn oson tushunarli bo'lishi kerak, buning uchun u modulli bo'lishi kerak va barcha modullar qatlamlarda joylashtirilgan.

To'liqlik:

Dizaynda ma'lumotlar tuzilmalari, modullar va tashqi interfeyslar va boshqalar kabi barcha komponentlar bo'lishi kerak.

Xizmat ko'rsatish qobiliyati:

Yaxshi dasturiy ta'minot dizayni mijoz tomonidan o'zgartirish so'rovi berilganda osongina o'zgarishi mumkin bo'lishi kerak.

Dasturiy ta'minotni loyihalash tushunchalari:

Tushunchalar nimanidir tushunish uchun ongimizga yoki fikrimizga kiradigan asosiy g'oya yoki ixtiro sifatida aniqlanadi. Dasturiy ta'minotni loyihalash kontseptsiyasi shunchaki dizayn ortidagi g'oya yoki printsipni anglatadi. U dasturiy ta'minotni loyihalash muammosini qanday hal qilishni rejalashtirayotganingizni, mantiqni yoki dasturiy ta'minotni qanday loyihalash haqida o'ylashni tasvirlaydi. Bu dasturiy ta'minot muhandisiga ishlab chiqiladigan yoki quriladigan tizim yoki dasturiy ta'minot yoki mahsulot modelini yaratishga imkon beradi. Dasturiy ta'minotni loyihalash kontseptsiyasi to'g'ri dasturiy ta'minotni ishlab chiqish uchun yordamchi va muhim tuzilma yoki modelni taqdim etadi. Dasturiy ta'minot dizaynining ko'plab tushunchalari mavjud va ulardan ba'zilari quyida keltirilgan:

Dasturiy ta'minotni loyihalashda quyidagi fikrlarni hisobga olish kerak:

Abstraksiya - ahamiyatsiz ma'lumotlarni yashirish

Abstraktsiya shunchaki murakkablikni kamaytirish va samaradorlik yoki sifatni oshirish uchun tafsilotlarni yashirishni anglatadi. Abstraktsiyaning turli darajalari zarur va loyihalash jarayonining har bir bosqichida qo'llanilishi kerak, shunda dasturiy yechim samaradorligini oshirish va dasturiy yechimni takomillashtirish uchun mavjud bo'lgan har qanday xatolik bartaraf etilishi mumkin. Yechim mavhumlikning yuqori darajasida turli xil narsalarning keng doirasini qamrab oladigan keng yo'llar bilan tavsiflanishi kerak va mavhumlikning pastki darajasida dasturiy ta'minot yechimining batafsil tavsifi berilishi kerak.

Modullik - tizimni qismlarga bo'lish

Modullilik shunchaki tizim yoki loyihaning murakkabligini kamaytirish uchun tizim yoki loyihani kichikroq qismlarga bo'lish demakdir. Xuddi shu tarzda, dizayndagi modullik tizimni kichikroq qismlarga bo'lish demakdir, bu qismlar mustaqil ravishda yaratilishi va keyin bu qismlardan turli funktsiyalarni bajarish uchun turli tizimlarda foydalanishi mumkin. Dasturiy ta'minotni modullar deb nomlanuvchi komponentlarga bo'lish kerak, chunki bugungi kunda dastur muhandislari uchun tushunish qiyin bo'lgan Monolithic dasturiy ta'minot kabi turli xil dasturlar mavjud. Shunday qilib, dizayndagi modullik endi trendga aylandi va u ham muhim. Agar tizimda kamroq komponentlar bo'lsa, bu tizimning murakkabligini bildiradi, bu juda ko'p kuch talab qiladi (xarajat), lekin agar biz tizimni tarkibiy qismlarga bo'la olsak, xarajat kichik bo'ladi.

Arxitektura - biror narsaning tuzilishini loyihalash

Arxitektura shunchaki biror narsaning tuzilishini loyihalash texnikasini anglatadi. Dasturiy ta'minotni loyihalashda arxitektura - bu strukturaning turli elementlari va ma'lumotlariga qaratilgan tushunchadir. Ushbu komponentlar bir-biri bilan o'zaro ta'sir qiladi va arxitekturada strukturaning ma'lumotlaridan foydalanadi.

Tozalash - kirlarni yo'q qiladi

Tozalash shunchaki biror narsani tozalash, agar mavjud bo'lsa, kirlarni olib tashlash va sifatini oshirishni anglatadi. Dasturiy ta'minot dizaynining takomillashtirish kontseptsiyasi aslida dasturiy ta'minot yoki tizimni ishlab chiqish yoki taqdim etish jarayoni bo'lib, tizim yoki dasturiy ta'minotni ishlab chiqishni anglatadi. Agar mavjud bo'lsa, xatolikni aniqlash va keyin uni kamaytirish uchun tozalash juda zarur.

Naqsh - takroriy shakl

Naqsh shunchaki takrorlangan shakl yoki dizaynni anglatadi, unda bir xil shakl naqsh hosil qilish uchun bir necha marta takrorlanadi. Dizayn jarayonidagi naqsh ma'lum bir kontekstda umumiy takrorlanadigan muammoni hal qilishning takrorlanishini anglatadi.

Ma'lumotni yashirish - ma'lumotni yashirish

Axborotni yashirish shunchaki ma'lumotni istalmagan shaxsga kira olmasligi uchun yashirishni anglatadi. Dasturiy ta'minotni loyihalashda ma'lumotlarni yashirish modullarni bitta modulda to'plangan yoki mavjud bo'lgan ma'lumotlar yashiringan va boshqa modullar tomonidan foydalanilmaydigan tarzda loyihalash orqali erishiladi.

Refaktoring - biror narsani qayta qurish

Refaktoring shunchaki biror narsani boshqa xususiyatlarning xatti-harakatlariga ta'sir qilmaydigan tarzda qayta qurishni anglatadi. Dasturiy ta'minot dizaynidagi refaktoring dizaynni murakkablikni kamaytirish va xatti-harakatlarga yoki uning funktsiyalariga ta'sir qilmasdan soddalashtirish uchun qayta qurishni anglatadi. Fauler refaktoringni "dasturiy ta'minot tizimini dizayn xatti-harakatlariga ta'sir qilmaydigan va ichki tuzilmani yaxshilaydigan tarzda o'zgartirish jarayoni" deb ta'riflagan.

Dasturiy ta'minot dizaynining turli darajalari:

Dasturiy ta'minot dizaynining uch xil darajasi mavjud. Ular:

Arxitektura dizayni:

Tizim arxitekturasini tizimning umumiy tuzilishi va tizimning kontseptual yaxlitligini ta'minlash usuli sifatida ko'rish mumkin. Arxitektura dizayni dasturiy ta'minotni bir-biri bilan o'zaro ta'sir qiluvchi ko'plab komponentlarga ega tizim sifatida belgilaydi. Ushbu darajada dizaynerlar taklif etilayotgan yechim domenining g'oyasini oladilar.

Dastlabki yoki yuqori darajadagi dizayn:

Bu erda muammo modullar to'plamiga bo'linadi, turli modullar o'rtasidagi boshqaruv aloqasi aniqlanadi, shuningdek, turli modullar orasidagi interfeyslar aniqlanadi. Ushbu bosqichning natijasi dastur arxitekturasi deb ataladi. Ushbu bosqichda qo'llaniladigan dizayn vakillik usullari tuzilma diagrammasi va UML hisoblanadi.

Batafsil dizayn:

Yuqori darajadagi dizayn tugagandan so'ng, batafsil dizayn amalga oshiriladi. Batafsil loyihalashda har bir modul ma'lumotlar strukturasi va algoritmlarini loyihalash uchun diqqat bilan tekshiriladi. Bosqich natijasi modul spetsifikatsiyasi hujjati shaklida hujjatlashtiriladi.



3

Konstruktiv dastur (CP) - bu Mahatma Gandi tomonidan o'z satyagraxasining ikkita tarmog'idan birini tasvirlash uchun ishlab chiqilgan atama, ikkinchisi zo'ravonliksiz qarshilikning ba'zi bir shakli, masalan. fuqarolik itoatsizligi, ba'zan konstruktiv dasturning ahamiyatini tan oldi va uni 1894 yil Janubiy Afrikadagi kampaniyalarining birinchi yilidayoq muvaffaqiyatli qo'lladi. Aslida, Hindiston mustaqilligi uchun kurashda CPning ahamiyatini ortiqcha ta'kidlab bo'lmaydi, chunki u. fuqarolik itoatsizligini "konstruktiv harakatlarga yordam" deb ta'riflagan. [1] Gandi oʻzining doʻsti va tarafdori Jamnalal Bajajga shunday deb yozgan edi: “Mening haqiqiy siyosatim bu konstruktiv ishdir”. [2]



Zamonaviy zo'ravonliksiz kurashlar ko'pincha konstruktiv dasturga ega emas, ular osonlik bilan birlashtiriladi va ularni faol bo'lishga, to'g'ridan-to'g'ri qarshilik ko'rsatishning iloji bo'lmaganda sa'y-harakatlarning uzluksizligini ta'minlaydi va jamoatchilik va muxolifatni ular shunchaki buzg'unchi emas, balki ularni yaratish qobiliyatiga ega ekanligiga ishontiradi. yaxshi. Eng muhimi, konstruktiv dastur muqobil institutlarni qurishi mumkin, shunda muvaffaqiyatli qo'zg'olon shunchaki hokimiyat bo'shlig'iga olib kelmaydi, bu esa zulmning qaytib kelishiga imkon beradi, masalan, Misrda 2011 yilda prezident Muborak ag'darilganidan keyin [3].
Download 195,75 Kb.

Do'stlaringiz bilan baham:




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish