- •Программаны өңдеу принциптері: жиілік, модульдік, функционалдық іріктеуін көрсетіңіз.
- •Программалау тілдерінің негізгі түсініктері; синтаксис, семантика, программалау тілдерін сипаттаудың формальды тәсілдеріне сипаттама беріңіз.
- •3. Есептерді эем-де шешудің негізгі кезеңдері; программаның сапа критерийі; программаның өмірлік циклы; есептің қойылымы және программа спецификациясы; жоғарғы деңгейлі тілдегі программаға анықтаңыз.
- •Өрнекті жазу тәсілдері, модельдеу механизмдері және деректер құрылымын басқару: массивтер, құрылымдарын ашып жазыңыз.
- •Программаны құрудың технологиялық тәсілі (подход). «Кодтау және жөндеу» тәсілдеріне мысал келтіріңіз.
- •Программаны құрудың каскадты тәсіліне мысал (подход).
- •Құрылымдық программалау. Объектіге-бағытталған программалаудың негізгі принциптерін сипаттаңыз.
- •Динамикалық программалауға анықтама.
Программаны құрудың технологиялық тәсілі (подход). «Кодтау және жөндеу» тәсілдеріне мысал келтіріңіз.
Программаны құру кезінде технологиялық тәсілідің 3 негізгі тобы бар:
Нашар рәсімдеу тәсілі(подходы со слабой формализацией);
Икемді тәсілдер(гибкие);
Қатаң тәсілдер(строгие).
Бірінші жағдайда айқын технологиялар қолданылмайды. Ондай тәсіл тек өте кішкентай жобаларда орынды. Мұндай тәсілдерге ерте(ранние) технологиялық тәсілдер, мысалы «кодтау және жөндеу» тәсілі жатады.
Икемді тәсілдер анық емес немесе жүйеге талаптарды өзгертетін үлкен емес немесе орташа жобаларда қолданылады. Мұндай тәсілдер тапсырыс беруші және жасаушы қатысатын, интеграцияның қайта-қайта қайталануына негізделген. Әр интеграцияда бағдарлама нақтыланады және дамытылады.
Қатаң тәсілдерді орташа, масштабтық және алып жобаларда қолдану ұсынылады. Бұл топқа өзіне негізгі үдерістерді қосатын классикалық каскадтық тәсіл жатады. Мұндай жобаларға негізгі талаптар – болжамдылық.
Кез-келген тәсілде бағдарламаның өмірлің цикл кезеңі орындалады.
«Кодтау және жөндеу» тәсілдері(code and fix) жеңілдетілген келесі түрде сипатталады. Бағдарлама жасаушы жүйені кодтауды бірінші күннен бастап жасайды. Барлық қателіктер ереже бойынша кодтау соңында табылады және қайталанған кодтаудан кейін жөндеуді қажет етеді.
Нақты барлық программисттер бұл тәсілді қолданған. Бұл тәсілді қолданған кезде көп уақытты тек кодтау алады және тапсырыс берушіге прогрессті код жолында көрсету оңай.
Мұндай тәсілді екі жағдайда қолдануды ұсынады:
Өте кішкентай жобаларға;
Кейбір бағдарламалық концепцияларды дәлелдеу үшін.
Мысалы, бастапқы мәліметтер: 1111
Мәліметтер кодталғаннан кейін: ( 1 + 1 + 1 + 1 = 0 (mod 2) )
Қабылданған мәліметтер: 10110 (екінші бит өзгертілді)
Қабылданған пакеетердің бірлік сандары тақ, яғни берілу кезінде қате болды.
Мысал. Жіберілетін a=01 сөзі b=0110 сөзімен кодталсын, ал қателер қатары e=0010. Онда қабылданған сөзіміз r=0100 болады. Қателерді түзету жүйесі оны 0110-ге ауыстырады және одан кейін жіберілген 01 сөзін қалпына келтіреді.
Программаны құрудың каскадты тәсіліне мысал (подход).
Каскадты тәсіл (pure waterfall) өмірлік циклдарды жүргізудегі технологиялық тәсілдердің «атасы» деп есептеледі.
Оны үлкен көлемді басқа тәсілдер үшін жіберілетін нүкте ретінде қарастыруға болады. 1970 - 1985 жылдар аралығында классикалық каскадтық тәсілі құрылды.Спецификалық "таза" каскадтық тәсілді былай түсіндіруге болады, келесі жумыстың түріне көшу осы уақытта орындалып жатқан жұмыс аяқталғасын барып орындалады(сурет 3.1).Өткен жұмыстарға қайта оралу қарастырылмаған.
Сурет 3.1. Классикалық каскадты тәсіл
Бұл тәсіл ең басында барлық сұраныс дәл және толық тұжырымдалған болуы мүмкін,мысалы, тапсырмадағы есептеу сипаттамасы.Классикалық тәсілдің негізгі кемшілігі икемділіктің (гибкость) жоқтығы болып табылады.
Каскадты
қайтарымды тәсіл алдыңғы кезеңдерге
қайтару мүмкіндігінің арқасында және
алдын ала қабылданған шешімдерді
анықтаудың арқасында классикалық
тәсілдің кемшілігін жояды. Бағдарламалық
қамтаманы өңдеудегі итерациялық
сипаттаманы бейнелеп көрсетеді
3.2 сурет. Каскадты - қайтарымды тәсіл
Каскадты итерациялық тәсіл – белгілі нәтижеге жетпейінше жұмыстың әр түрінің кезекті итерацияларын ескереді(3.3 сурет).Әрбір итерация аяқталған болып саналады, және оның қорытындысында бірнеше маңызды нәтижелер болады.Мүмкін, бұл нәтиже функционалдық күтімін жүзеге асырмайтын аралық болады.
3.3 сурет Каскадты-итерациялық технологиялық тәсіл
