1-ma’ruza. Murakkab programma tizimlarini ishlab chiqish muammolari. Programma ta’minotining hayotiy sikli. Programma ta’minotining arxitekturasi


-MA’RUZA. QURILMALI TIZIMLARNI PROGRAMMALASH TEXNOLOGIYALARI


Download 326.49 Kb.
bet23/31
Sana17.06.2023
Hajmi326.49 Kb.
#1539617
1   ...   19   20   21   22   23   24   25   26   ...   31
Bog'liq
Dasturiy injenering ma\'ruzalar

8-MA’RUZA. QURILMALI TIZIMLARNI PROGRAMMALASH TEXNOLOGIYALARI.


Dasturlash texnologiyasi
Dasturlash texnologiyasi - bu dasturiy ta'minotni ishlab chiqish uchun usul va vositalar birikmasi. Texnologiya operatsiyalar ketma-ketligini, har bir operatsiya bajariladigan sharoitlarni, operatsiyalarning o'zlarini tavsiflashi kerak: manba ma'lumotlari, me'yoriy hujjatlar, shu jumladan standartlar, mezonlar va baholash usullari, natijalar va boshqalar.

Har qanday vazifa vazifaning sharti deb nomlangan og'zaki tavsifdan boshlanadi, dasturlashda esa - muammoning spetsifikatsiyasi. Bundan tashqari, shart rasmiylashtirilishi kerak, ya'ni uni kompyuterda hal qilish uchun spetsifikatsiyani yozib qo'ying. Shartni rasmiylashtirish muammoni matematik shakllantirish deb nomlanadigan bosqichni boshlaydi. Formulalar olinadi va muammoni hal qilish usullari tanlanadi, ya'ni masalaning matematik modeli tuziladi. Bundan tashqari, algoritm shaklida standart harakatlar ketma-ketligi tuziladi, uni amalga oshirish kerakli natijani beradi. Tanlangan dasturlash tilida kompyuter dasturi yaratilgan va yozilgan. Keyin u sinovdan o'tkaziladi va kompyuterda disk raskadrovka qilinadi. Kerakli hisob-kitoblar amalga oshiriladi. Shunday qilib, muammoni hal qilish quyidagi bosqichlardan o'tadi (3.7-rasm).



Dasturlash texnologiyasi algoritmdan dasturga o'tishni ta'minlaydi. Dasturlarni mutaxassislar - dasturchilar, ya'ni dasturlarni yaratish sohasida o'qitilgan odamlar yozadilar. Har bir protsessor turida kompyuter dasturlari yaratiladigan o'z o'qitish tizimi mavjud. Ammo mashina kodlari odamni idrok etishda qiyin, shuning uchun tabiiy holatga yaqin bo'lgan tillar asta-sekin rivojlana boshladi. Dasturchilar dasturlarni (dasturlarni) o'zlari tushungan dasturlash tillarida qulay usulda yoza boshladilar. Va dasturchining yozganlarini o'qib, mashina kodlariga tarjima qila oladigan yozma maxsus dasturlar (tarjimonlar) dasturlash vositasiga aylandi.


Asta-sekin, ayniqsa, ko'pincha bajariladigan jarayonlarda to'plangan dasturlar, masalan, klaviaturadan ma'lumotlarni kiritish, ekranda ma'lumotlarni aks ettirish va boshqalar. Bunday kichik dasturlar (protseduralar) standart deb ataladi. Hozirgi vaqtda dasturchi katta dasturni yaratishda standart dasturlar kutubxonalariga murojaat qiladi, kerakli dastur protseduralarini ajratib oladi va ularni o'z dasturiga kiritadi. Bu dasturlash jarayonini sezilarli darajada osonlashtiradi.


Dasturlash deganda dasturlarni ishlab chiqish va ularni amalga oshirish bilan bog'liq jarayonlar majmui tushuniladi.


Maqsadga qarab dasturlash quyidagilarga bo'linadi.


• tizim - umumiy dasturiy vositalarni, shu jumladan operatsion tizimlarni, yordamchi dasturlarni, avtomatlashtirilgan boshqarish tizimlari, ma'lumotlar bazasini boshqarish tizimlari va boshqalarni umumiy tizim maqsadlari uchun dasturiy ta'minotni ishlab chiqish;


• amaliy - oxirgi foydalanuvchilar uchun dasturlarni ishlab chiqish va tuzatish, masalan, buxgalteriya hisobi, so'zlarni qayta ishlash va boshqalar.
Usulga qarab dasturlash quyidagilarga bo'linadi.

• protsessual - dasturlar ketma-ket bajariladigan buyruqlar ro'yxati sifatida yoziladigan usul. Bunday holda protseduraga yo'naltirilgan dasturlash tillari qo'llaniladi, masalan, PL / 1, Algol-68, Paskal, C;


tarkibiy, modulli - har biri protsedura yoki funktsiya bilan bog'liq bo'lgan kichik mustaqil tuzilgan qismlarga (modullarga) dasturlarni yozish usuli. Olingan dastur ma'lum qoidalarga muvofiq bir-biriga bog'langan modullar to'plami sifatida tashkil etilgan. Bu murakkab dasturiy mahsulotlar ishlab chiqarishni va ularni sinovdan o'tkazishni soddalashtiradi. Turbo Paskal, C ++, Ada, Modula modulli dasturlash uchun tillar;

• deklarativ - sun'iy intellekt muammolarini hal qilish uchun mo'ljallangan usul. Shu nuqtai nazardan, dastur asosan tafsilotlarni kiritmasdan nima qilish kerakligini ko'rsatib, muammoni hal qilishning mantiqiy tuzilishini tavsiflaydi. Prolog kabi dasturlash tillari qo'llaniladi;


• parallel - ma'lumotlarni qayta ishlash bilan bog'liq operatsiyalarni bir vaqtning o'zida bajarilishini ta'minlaydigan dasturlarni ishlab chiqish;
Ob'ektga yo'naltirilgan (OOP) - ob'ekt tushunchasidan foydalanishga asoslanib, uni ushbu sohada amalga oshirilishini mavhumlashtiradigan usul. Shu bilan birga, ma'lumotlar ob'ektlarda bajariladigan protseduralar bilan chambarchas bog'liq;
• funktsional - muammoni hal qilish algoritmini alohida funktsional modullarga bo'lishga asoslangan usul, shuningdek ularning o'zaro munosabatlari va o'zaro ta'sirning tavsifi. Buning uchun Nore va M tillari eng ko'p ishlatiladi, qisman C va boshqa tillar;
• evristik - inson aqliy faoliyatini modellashtirishga asoslangan usul. Qattiq rasmiylashtirilgan algoritmga ega bo'lmagan yoki to'liq bo'lmagan manba ma'lumotlari bilan bog'liq bo'lgan muammolarni hal qilish uchun foydalaniladi;
• komponent - standartlashgan ikkilik interfeys orqali bir-biri bilan o'zaro ishlaydigan komponentli ob'ektlarni (dasturiy ta'minotning alohida mavjud qismlarini) to'plash orqali dasturlarni yaratish usuli, kutubxonalar yoki bajariladigan fayllar.
Dasturchilar tobora kuchliroq va murakkab dasturlarni ishlab chiqmoqdalar. Sifatli dasturlarni ishlab chiqishning zamonaviy usullari ularni yaratish vaqti va xarajatlarini sezilarli darajada kamaytiradi. Bu tarkibiy dasturlash, bosqichma-bosqich pastga qarab tozalash, funktsiyalarga (modullarga) bo'linish, ob'ektga yo'naltirilgan va komponentli dasturlash. Bir vaqtning o'zida bir nechta vazifalar yoki dasturlar kompyuter resurslaridan birgalikda foydalanishda ko'p dasturlash keng qo'llaniladi.

Dasturlash texnologiyasi kompyuterlar va dasturlash tillarining rivojlanishi bilan birga rivojlandi. U dasturlar mashina kodlari yoki montajchilar va ishlov berilgan ma'lumotlardan iborat bo'lgan "o'z-o'zidan" dasturlash bosqichidan o'tdi.


1949 yilda Pensilvaniya universiteti texnik kolleji a'zosi J. Mauchli dasturchilariga mashinaga an'anaviy shaklda yozilgan algebraik tenglamalarni idrok etishga imkon beradigan dastur yaratishni buyurdi. Qisqa kod deb nomlangan yaratilgan kodlash tizimi bizga tenglamalarni ikkilik shaklida emas, balki ikki belgili kombinatsiyalardan foydalanib yozish imkonini berdi. Masalan, A = B + C shaklidagi tenglamani 00 S0 03 S1 07 S2 ketma-ketlik shaklida kiritish mumkin, bu erda A, B, C o'zgaruvchilar SO, si, S2 bilan belgilanadi va tenglik va qo'shilish amallari 03 va 07 ni tashkil etadi (00 kombinatsiyasi 00 sonini aniqlaydi). dastur chiziqlari). Keyin dasturchi (kodlovchi) S0 o'zgaruvchisini, masalan, 5 qiymatini va 3 o'zgaruvchini 3 qiymatini tayinlashni buyurishi mumkin. Shundan so'ng, kompyuter o'zi S2 o'zgaruvchining qiymatini aniqladi.

Strukturaviy dasturlash bosqichi 1960-1970 yillarda boshlangan. Bu kichik dasturlar va modullar ko'rinishida amalga oshiriladigan eng sodda tuzilmaning (chiziqli ketma-ketlik, alternativa, ko'p takrorlash - tsikl) sub-vazifalari ierarxiyasi ko'rinishida vazifani ifodalashga asoslangan.


Modulli dasturlash - alohida tarjima qilingan modullarda bir xil global ma'lumotlarni ishlatadigan kichik dasturlar guruhlarini ajratish (kichik dasturlar kutubxonalari). Modullar interfeys orqali o'zaro bog'langan. Modulli dasturlash bilan birgalikda tarkibiy yondashuv 100 mingdan oshiq operatorni o'z ichiga olgan ishonchli dasturlarni ishlab chiqishga imkon beradi.


Murakkab dasturiy ta'minot uchun ob'ektga yo'naltirilgan dasturlash (OOP) 1980 - 1990 yillarda foydalanila boshlandi, shunda dastur ob'ektlarning to'plami sifatida taqdim etildi, ularning har biri ma'lum sinfning namunasi bo'lib xizmat qiladi. Sinf - bu xususiyatlarning umumiyligi va amaliy ishlov berish usullari bilan tavsiflanadigan ob'ektlar to'plami. Sinflar mulkni meros qilib olish bilan ierarxiyani tashkil qiladi. Dastur ob'ektlarining o'zaro ta'sirini ta'minlash uchun xabarlardan foydalaniladi. Meros, polformizm, kompozitsion, to'ldirish mexanizmlari oddiy narsalardan murakkab ob'ektlarni qurishga imkon beradi. OOP turli xil vazifalarga qaratilgan juda ko'p sonli sinf kutubxonalarini yaratishga imkon berdi. Ushbu kutubxonalardan takroriy foydalanish dasturlarni ishlab chiqarish samaradorligini oshirishi va xatolarni kamaytirishi mumkin.


OOP vizual dasturlash uchun boshlang'ich so'z edi. Vizual dasturlash tizimlari yaratilgan: Visual C ++ Builder, Visual Basic, Visual Fox Pro, Delphi va boshqalar.


OOP quyidagi tushunchalarga asoslanadi: ob'ekt, sinf, kapsülasyon, meros, polimorfizm. Ob'ekt haqiqiy dunyo ob'ektiga va uning xatti-harakatlariga mos keladigan ba'zi bir tuzilish sifatida qaraladi. OOP texnikasidan foydalangan holda hal qilingan muammo ob'ektlar va ular ustida bajariladigan ishlar nuqtai nazaridan tavsiflanadi. Ushbu yondashuv bilan dastur ob'ektlar va ular o'rtasidagi munosabatlar to'plami sifatida taqdim etiladi.


Ob'ektlar dinamik ravishda ajratilgan tuzilmalar. Ob'ekt turiga sinf deyiladi. Ob'ektning yangi turini yaratishda aslida sinf yaratiladi. Yangi dasturiy ta'minot konstruktsiyasini yaratishda sinf namunasi - ob'ekt - ma'lum bir sinf asosida yaratiladi. Har bir ob'ekt o'zining asosiy sinfida belgilangan har bir maydonning noyob nusxasini o'z ichiga oladi. Bir xil sinfdagi barcha ob'ektlar bir xil usullarga ega. Ob'ektlarni yaratish va yo'q qilish uchun konstruktorlar va buzuvchilar deb nomlangan maxsus usullar qo'llaniladi.



Download 326.49 Kb.

Do'stlaringiz bilan baham:
1   ...   19   20   21   22   23   24   25   26   ...   31




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