Шығыс Қазақстан облысының білім басқармасы



Pdf көрінісі
бет31/180
Дата06.01.2022
өлшемі4,77 Mb.
#15026
1   ...   27   28   29   30   31   32   33   34   ...   180
Тармақталу операторы: 
o тармақталу (if) 
o ауыстыру (switch) 
if шартты операторы 
if ( a < 0 ) b = 1; 
if ( a < b && (a > d || a == 0)) ++b; 
else { b *= a; a = 0; 

if ( a < b ) if ( a < c ) m = a; 
else m = c; 
else if ( b < c ) m = b; 
else m = c; 
 
 


29 
 
ІІ тарау. Объектілі бағытталған бағдарламалау 
 
2.1 тақырып. Программалау технологиясы 
 
1 Программалау 
технологиясы. 
Негізгі 
түсініктер 
мен 
ұстанымдар. 
Программалау  технологиясының  даму  кезеңдері  Программалық  жабдықтардың 
технологиялық сипаттамаларын анықтау 
  
Программалау  технологиясы,  бұл -  программалық  жабдықтарды  жасау 
процесінде қолданылатын қолданылатын арнайы әдістер мен құралдардың жиынтығы.  
Электрондық-есептеуіш машиналар алғаш қолданыла бастаған кезеңнен бастап қазіргі 
уақытқа  дейін   оларға  арналған  программалар  жазу   негізгі  мәселелердің  бірі  болып 
саналады.  Программалық  жабдықтың  өмірлік  циклы  деп,  оны  құру  туралы  идея   пайда 
болған  кезден  бастап,  оны  жасаған  фирманың  программалық  жабдықты   әрі  қарай  қолдап 
жетілдіруі тоқтатылғанға  дейінгі уақытты айтады. 
Программаның  өмірлік  циклының  құрылымы    ISO  IEC  12207:  1995  Information 
Technologe  -  Software  Life  Cycle  Processes  (Информационные  технологии  -  Процессы 
жизненного  цикла программного обеспечения)  халықаралық  стандартымен  анықталған, 
мұндағы ISO – International Organization for Standardization (Международная организация по 
стандартизации)   және  ІЕС  -  International  Electrotechnical  Commission  (Международная 
комиссия по электротехнике). 
Аталған  стандарт  бойынша   программалық  жабдықты  құру  келесі  процесстерден 
тұрады: 
-         даярлық жұмыстары; 
-         болашақ жүйеге немесе программаға  қойылатын талаптарды анықтау; 
-         болашақ жүйенің немесе программаның архитектурасын жобалау; 
-         программаға қойылатын талаптарға талдау (анализ) жасау; 
-         программалық жабдықты детальды жобалау; 
-         программалық жабдықтың кодын жасау және тестілеу; 
-         программалық жабдықты жүйеге кірістіру; 
-         программалық жабдықты құжаттау; 
-         программалық жабдықты қолдап отыру. 
Программалау  технологиясының  даму  кезеңдерінің  бастапқысы, стихиялы 
программалау кезеңі болып табылады. Бұл кезеңде, қазіргі жоғары деңгейдегі программалау 
тілдері  болмағандықтан  программалар  машиналық  тілде  жазылды,  мысалы,  1958  жылы 
академик  С.  А.  Лебедевтің  басшылығымен  жасалған,  М-20   есептеулерге  арналған 
электронды  есептеуіш  машинасы  номерленген  командалардан  тұратын  программаны 
орындай алатын болды   (1-сурет). 
  
Номер  
Команда  
Операндалар  сақталатын  жедел  жады 
ұяшықтарының адрестері 
0100  
01  
1234  
6543  
3489 
0101  
02  
4563  
0567  
3456 
0102  
05  
3489  
3456  
2987 
  
1-сурет. М-20 ЭЕМ-на арналып жазылған программа мәтіні 
  
Алғашқы  кезеңдерден  бастап-ақ,  программистердің  алдындағы  міндет,  жадыдан  аз 
орын алатын және тез жұмыс жасайтын программа құру әдістерін табу керек болды, мысалы, 


30 
 
қазіргі  программалау  тілдерінде  сирек  болса  да  қолданылатын  GOTO  операторы  да  соның 
бір көрінісі болып табылады.  
Мұндай  тәсілдерді  қолдану  программаның  статикалық  түрінің  динамикалық  түрімен 
сәйкес келмеуіне әкеліп соқтыратын болғандықтан бұл программаларды программисттер өз 
тілдерінде  BS-программалар (Bowl Spaghetti  - блюдо спагетти) деп атайтын болған. Кейбір 
жағдайларда программисттің өзі құрған BS-программасының қатесін өзі таба алмай қалатын 
кездері болады (2-сурет): 
  
                                   
 
  
2-сурет. BS-программа листингісінің фрагменті 
  
Программалық  жабдықты  құрудағы  негізгі  міндеттердің  бірі  программаның 
статикалық  күйі,  яғни  бастапқы  жазылуымен  (немесе  листингісі)  оның  динамикалық  күйі, 
яғни  компьютердегі  орындалу  тәртібі  сәйкес  келуі  керек  немесе  программа  командалары 
жазылу реті бойынша орындалуы тиіс. 
Бұл  мәселені  шешу  үшін  жаңа  тиімді  программалау  технологиясын  жасау  қажет 
болды.  Бұл  ізденістің  нәтижесінде   70-  жылдардың  басында   IBM  корпорациясы  ұсынған, 
теориялық негізін профессор Э. Дейкстра қалаған құрылымдық программалау технологиясы 
пайда  болды.  Мұнда,  программалар  белгілі  бір  ережелерге  сәйкес  немесе  технологиялық 
әдістерге негізделіп құрылатын болды. Мұның негізінде күрделі программаларды кішкентай 
шағын  программаларға  жіктеп  алу  яғни  «декомпозиция»  принципі  жатыр.  Бұл  кезеңнің 
программалары  модульдерден  құралды.  Модульдерден  құралған  мұндай  программалар 
көптеген  мәселелерді  шешкенімен,  оның  тиімсіз  жақтары  да  болды.  Мысалы,  неғұрлым 
подпрограммалар  көп  болған  сайын,  ол  подпрограммаларда  программаға  қатысатын  кең 
ауқымды  (глобалдық) мәліметтердің  өзгеріп  кетуі  көбейеді,  сондықтан  әрбір  подпрограмма 
өзі орындалып болған ортақ пайдаланылатын кең ауқымды соң мәліметті қайтадан бастапқы 
қалпына  келтіріп  қоюы  қажет  болды.  Сондықтан  әрбір  подпрограмманың  ішінде  өзінің 
локальдық мәліметтерін жасау қажеттілігі туындады. 
 Мысалы  квадрат  теңдеуді  шешу  қажет  болса,  коэффициенттер  ғана  негізгі 
программадан алынады, ал дискриминантты табу ол локальдық айнымалы арқылы жасалады. 
Құрылымдық   программалаудағы  тағы  бір  мәселе,  бір  программаға  қатысты 
әртүрліподпрограммаларды  бірнеше  программисттің   бір  мезгілде  параллель  құра  алу 
мүмкіндігімен  байланысты  туындады.  Әрине,  бұл  тәсіл  программаны  құру  уақытын  біраз 
қысқарта  алады,  бірақ,  мұнда  стихиялы  түрде  «төменнен  жоғары»  қарай  программалау 
қағидасы   қолданылды,  яғни  әуелі  қарапайым  подпрограммалар  жасалып,  сонан  кейін 
оларды  біріктіріп  күрделі  программалар  жасалатын  болды.  Ал,  бұл  подпрограммаларды 
біріктіріп қалған кезде, ортақ ережелер болмағандықтан негізігі программаны алу өте қиын 
болды,  яғни түрліше  стильде  жасалған  подпрограммаларды  біріктіру  қиынға  соқты.  Мұны, 
ХХ  ғасырдың, 60-жылдары «подпрограммалаудағы кризис» деп атады. 


31 
 
Модульдік  программалау  (3-  сурет)  көп  мәселелерді  шешті  оның  тиімсіз  жағы,  егер 
программаға  бірнеше  модуль  қатынасатын  болса,  онда  олардың  өзара  байланысындағы 
қателер,  яғни  интерфейстегі  қателерді  тек  программаның  орындалуы  кезінде  ғана  байқау 
мүмкін  болатын  болды,  себебі  модульдер  программадан  тыс  өз  алдына  бөлек 
компиляцияланады.  Егер  программаға  қатысатын  модульдер  саны  көп  болса,  мұндай 
қателердің бәрінің алдын алу мүмкін емес екені белгілі болды. 
  
  
3-сурет. Модульдік – құрылымдық программалау элементтері 
  
Келесі  кезеңде,  объектілік  ұстаным  қолданыла  бастады.  Мұнда  программа 
объектілердің   жиынтығынан  жасалады.  Бұл  объектілер  белгілі  бір  класқа  жатады.  Ал  ол 
кластар белгілі бір иерархияға бағынады, және соңғысы алдынғысының барлық қасиеттерін 
қабылдайды,  және  олар  өзара   «оқиғалар»  арқылы  байланысады.   Бұл  кезеңдегі  ең  алғаш 
имитациялық  модельдеу  тілі  Simula  болды.  Қазіргі,   C#,  Visual  C++,  C++  Builder,  Visual 
Basic, Java бұлардың барлығы да RAD технологияларға жатады және объектілік ұстанымды 
барынша  қолдайды.  Бұл  технологиялардың  тиімсіз  тұсы  -   компиляциялаудағы   ортақ 
стандарттардың  болмауы.   Мысалы,  белгілі  бір  алгоритмге  сәйкес   Visual  C++  ортасында 
жазылған программаны,  сол алгоритм үшін C++ Builder ортасында пайдалану мүмкін емес, 
яғни сол алгоритмді қайтадан жазу керек болады,   сол сияқты  объектілік компоненттің бір 
сипаттамасы өзгертсе болды, онда соған сәйкес программаны да қайтадан компиляциялаудан 
өткізу қажет болады. 
Жоғарыда аталған мәселені шешуді программалаудағы компоненттік ұстаным (COM- 
технологияның) 
көмегімен 
шешуге 
болатыны 
қазір 
белгілі 
болып 
отыр. 
Компненттік   ұстанымның  мағынасы,  мұнда  программалар  өзара  бір-бірімен  стандарт 
түрдегі  екілік  интерфейс  арқылы  байланысады  және  бинарлық  (екілік  форматтағы) 
компоненттерден  құралады.  Мұндағы  объект–  компоненттердің  кәдімгі  объектілерден 
өзгешелігі оларды динамикалық кітапханаларға немесе exe-файлдарға біріктіріп екілік түрде, 
бастапқы мәтінсіз (без исходных текстов) тарата беруге болады және оны осы компоненттік 
технологияны  ұстанатын  кез-келген  тілде  пайдалана  беруге  болады.  COM-  технологияның 
қарапайым мысалы, Paint графиктік редакторында жасалған сурет-объектіні  Word- мәтіндік 
редакторындағы құжатқа апарып кіріктіруге болады. 
  


Достарыңызбен бөлісу:
1   ...   27   28   29   30   31   32   33   34   ...   180




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет