Кіріспе

Джексонның құрылымдық бағдарламалауы (JSP) – британдық бағдарламалық қамтамасыз ету консультанты Майкл А. Джексон әзірлеген және 1975 жылы жарияланған «Программалық жобалау принциптері» кітабында сипатталған құрылымдық бағдарламалау әдісі. JSP техникасы бағдарламаның кіріс ретінде оқитын және шығыс ретінде жасайтын файлдардың дерек құрылымдарын талдаудан және содан кейін осы дерек құрылымдарына негізделген бағдарламалық жобаны құрудан тұрады, нәтижесінде бағдарламаның басқару құрылымы осы дерек құрылымдарын табиғи және түсінікті етіп басқарады. JSP деректер мен бағдарламалардың құрылымдарын сипаттау үшін үш негізгі құрылымды қолданады: реттілік, қайталау және таңдау (немесе баламалар). Бұл құрылымдар тұрақты өрнектің визуализациясы ретінде схемалық түрде бейнеленеді.

Кіріспе

Майкл А. Джексон 1970 жылдары JSP-ді жасады. Ол осы жүйені 1975 жылы жарық көрген «Программалық жобалау принциптері» атты кітабында сипаттады. Ол әдістің бастапқы қозғаушы күштеріне ретроспективті талдау жасап, оны бағдарламалық жасақтаманы жасау саласындағы кейінгі дамулармен байланыстырды. Джексонның мақсаты COBOL пакеттік файлдарды өңдеу бағдарламаларын өзгерту және күтіп ұстауды жеңілдету болды, бірақ бұл әдіс құрылымдық басқару конструкциялары бар кез келген бағдарламалау тілі үшін бағдарламаларды жобалау үшін де қолданылуы мүмкін – тізбек, қайталау және таңдау («егер/сол болса/әйтпесе»). Джексонның құрылымдық бағдарламалауы Уорнье/Оррдың құрылымдық бағдарламалауына ұқсас болды, алайда JSP кіріс және шығыс деректерінің құрылымдарын ескерді, ал Уорнье/Орр әдісі негізінен шығыс ағынының құрылымына ғана назар бөлді.

Әдістің мотивациясы

JSP әзірленген кезде, көптеген бағдарламалар лентада сақталған тізбекті файлдарды өңдейтін топтық COBOL бағдарламалары болды. Типик бағдарлама кіріс файлын жазбалар тізбегі ретінде оқитын, сондықтан барлық бағдарламалардың құрылымы бірдей – файлдағы барлық жазбаларды бірінен соң бірі өңдейтін жалғыз негізгі цикл. Джексон мұндай бағдарлама құрылымы көбінесе дұрыс емес екенін айтты және бағдарламашыларды күрделірек дерек құрылымдарын іздеуге ынталандырды. «Бағдарламаны жобалау қағидалары» кітабының 3-тарауында.