kengaytirib, dasturiy mahsulotlarning murakkablik darajasining ortishiga ham
sabab bo’ldi.
70-80 yillarda dasturiy mahsulotlarning murakkablik darajasini hal qilish
uchun ko’plab metodlar ishlab chiqildi. Ularning ichida yuqoridan pastga usulidagi
strukturali dasturlash keng tarqaldi. Bu usul yuqori bosqichli
FOR
TRAN va
COBOL tillarining topologiyasiga asoslangan edi. Bu tillarda asosiy bazaviy birlik
bo’lib qism dastur xizmat qiladi. Dastur shakli jihatidan daraxtni eslatib, bitta
qism dastur boshqasiga murojaat qilar edi. Strukturali dasturlashda aynan shunday
yondoshuvdan foydalaniladi: algoritmik dekompozitsiya
katta masalalarni kichik
masalachalarga bo’lish uchun qo’llanadi.
XX asrning 60-70 yillarida halq xo’jaligining ko’plab masalalarini
komp’yuter yordamida yechish uchun BASIC, PASKAL, FORTRAN kabi
dasturlash tillari, DBASE. CLIPPER, FOXBASE, KARAT kabi ma’lumotlar
bazasini boshqaruv tizimlari yetarli bo’lgan. Bu til va tizimlar asosan IBM*86
tipidagi komp’yuterlarga mo’ljallangan bo’lib, ularning asosiy kamchiliklari shu
davrga hos bo’lgan komp’yuterlarning imkoniyatlari bilan bog’liq edi:
Foydalanuvchi uchun qulay bo’lgan grafik Interfeys yaratish
imkoniyatining yo’qligi yoki juda
ham katta mehnat talab qilishi;
Bitta dasturda foydalanish mumkin bo’lgan o’zgaruvchilar sonining
chegaralanganligi;
Dasturda foydalnish mumkin bo’lgan sonli ma’lumotlar dipazonining
chegaralanganligi;
Kiritilayotgan va chiqarilayotgan ma’lumotlarni nazorat qilish;
Buyruqlar tizimining «kambag’alligi»;
Grafiklar bilan ishlash imkoniyatining chegaralanganligi;
Tovushli ma’lumotlarni qayta ishlashdagi kamchiliklari;
Ma’lumotlar bazasi va fayllar bilan ishlashdagi imkoniyatlarning
chegaralanganligi;
Yangi tipdagi ma’lumotlar faqat shartli ravishda yaratish mumkin
mumkinligi va h.k.
Keyingi yillarda strukturali dasturlashning o’ndan ortiq usullari ishlab
chiqildi. Bu usullarning ko’pchiligi bitta mavzuning turli ko’rinishlaridan
iborat
bo’ldi. Ammo, Sommervil’
i
ularni uchta guruhga bo’lishni taklif qildi:
Yuqoridan quyiga qarab strukturali loyihalash usuli;
Ma’lumotlar oqimini tashkil qilish usuli;
Obyektga yo’naltirilgan loyihalash.
Strukturali loyihalash usuliga namunalar Yordan va Konstantin
ii
asarlarida
keltirilgan. Asosiy g’oyalar esa Virtning
iii
ko’plab ilmiy ishlarida ochib berilgan.
Bu asarlarda strukturali dasturlashga nisbatan bo’lgan har bir yondoshuvda
algoritmik dekompozitsiya ishtirok etadi. Yozilgan dasturlarning kattagina
qismining asosini strukturali dasturlash printsipi tashkil qiladi. Strukturali
dasturlash abstraktsiyalarni
ajratishga imkon bermaydi, ma’lumotlarni samarali
himoya qilishni ta’minlamaydi, parallelizmni tashkil qilish uchun yetarlicha
vositalarni taklif qila olmaydi. Strukturali dasturlash murakkab sistemalarni ishlab
chiqishga imkon bermaydi, obyektga yo’naltirilgan dasturlashda samara bermaydi.
Ma’lumotlar oqimini tashkil qilish usuli Djekson
iv
hamda Orrlarning
v
ishlarida keng yoritilgan. Bu usulda dasturiy sistemaning
strukturasi xuddi
kiruvchi ma’lumotlarni chiquvchi ma’lumotlar qimiga almashtirish tashkil qilish
kabi quriladi. Ma’lumotlar oqimini tashkil qilish usuli ham strukturali
dasturlash
usuli kabi bir qator murakkab masalalarda, hususan axborot ta’minot sistemalarida
qo’llanilgan. Bu masalalarda kiritilyotgan va chiqarilayotgan ma’lumotlar o’rtasida
bevosita bog’liqlik mavjud hamda dasturlarning bajarish tezligiga katta e’tibor
berilmaydi.
80-yillarga kelib, imkoniyatlari yanada katta bo’lgan komp’yuterlar ishlab
chiqildi. Strukturali dasturlashning ahamiyati esa o’zgarmadi. Ammo Stayn shuni
ta’kidlaydiki «dasturning hajmi 100 000 satrdan o’tganidan keyin strukturali
dasturlash mexanizmi ishlamay qolar ekan». Demak, katta dasturiy sistemalarni
ishlab chiqishda strukturali dasturlash mexanizmi ham o’z ahamiyatini yo’qotadi.
SHu munosabat bilan dasturiy ta’minotda obyektga yo’naltirilgan dasturlash
texnologiyalariga o’tish taklif qilindi.
Obyektga yo’naltirilgan dasturlash atamasi dastlab 60-yillarning
o’rtalarida, Simula-67 dasturlash tilida paydo bo’lgan. Ammo, bu til
FOR
TRAN,
ALGOL, PL
1 kabi tillarga nisbatan o’zining imkoniyatlari past bo’lganligi
hamda shu davrda yechish talab qilingan masalalar uchun yetarli vositalarni taklif
qila olmagani uchun dasturchilar orasida keng ommalasha olmadi. Keyinchalik
obyektga yo’naltirilgan dasturlash Smalltalk, Object Pascal, C
, Ada, hozirda
esa C# kabi yuqori darajali dasturlash tillarining topologiyasi asosida rivojlandi va
ommalashmoqda.
Obyektga yo’naltirilgan dasturlash – bu dasturlashning shunday yangi
yo’nalishiki, dasturiy sistema o’zaro aloqada bo’lgan obyektlar majmuasi sifatida
qaraladi va Har bir obyektni ma’lum bir klassga
mansub hamda Har bir klass
qandaydir shajarani hosil qiladi deb hisoblanadi. Alohida olingan klass
ma’lumotlar to’plami va ular ustida bajariladigan amallarning to’plami sifatida
qaraladi. Bu klassning elementlariga faqat shu klassda aniqlangan amallar orqali
murojaat qilish mumkin. Dasturdagi ma’lumotlar va ular ustida bajariladigan
amallar o’rtasidagi o’zaro bog’liqlik an’anaviy dasturlash tillariga nisbatan
dasturiy sistemalarning ishonchliligini ta’minlaydi.
Dostları ilə paylaş: