Программаны жасақтаудың негізгі кезеңдері




Презентация қосу
Программаны
жасақтаудың негізгі
кезеңдері
Сабыржанов Темірлан ВТ-405
Қолмен программалаудың жеке
жұмыстарын автоматтандыру тәсілдері.
Қолмен программалаудағы жұмыстарды автоматтандыруда жұмыс
программаларын түзетуді негізгі назарда ұстау керек.
Қазіргі кезде программаның дұрыстығын тексеру үшін жоғарыда айтқандай
тест тәсілі кеңінен қолданылады. Тест тәсілі бойынша жауаптарды алдын ала
белгілі есептердің бірнеше нұсқасы компьютерде құрыл ған программаны
пайдаланып шығарылады. Алынған нәтижелер алдын ала белгілі жауаптармен
салыстырылады. Ол жауаптар біріне – бірі сәйкес келмесе, онда программада
қателіка кеткен болып шығады.
Программаны жөндеу процесі бірнеше әмбебеп жөндеуші программаларды
жасау және компьютердің өзін пайдалану арқылы автоматтандырылады. Б ұл
программалар командалардың қалай орындалып жатқандығы туралы
информацияны баспаға бере отырып жөнделіп жатқан программаның кез
келген бөлігінің жұмысын қадағалап бақылауға мүмкіндік береді.
Программаны автоматты түрде жөндеуде программалаушыны қызықтыратын
барлық информация құжатқа жазылады, соның арқасында ол компьютерді
пайдаланбай-ақ есептің компьютерде шншілу процесінің дұрыстығын
бақылай алады.
  Программаны жасақтау процесі
мынадай формуламен өрнектеуге болады:
Программаны жасақтау→даярлау+тексеру ж әне ж өндеу
Жаңадан ғана жасалған программада қателіктің болуы-б ұл қалыпты ж әне за ңды құбылыс. Іс-ж үзінде
нақты және жеткілікті дәрежеде күрделі програманы қателіксіз құру м үмкін емес.
Программаны компьютердің қабылдауына және оны ң н әтижесін беруіне қарап оны д ұрыс құрыл ған деген
қорытынды жасауға болмайды. Өйткені берілген жа ғдайда д ұрыс болмаса да қандай да бір н әтиже алу ға
қолымыз жетті. Осының өзінде программада көптеген логикалы қ қателіктерді ң болуы м үмкін. Кеткен
қателіктерді анықтау үшін программаны компьютерге ендіріп, іске қос қан ға дейін былай тексереміз.
Программа мәтінін «қолмен» қарап шығу, тексеру және айналдыру ар қылы тексеруге болады.
Программа мәтінін қарап шығу. Программа мәтінін жазуда кеткен қателіктерді ж әне программаны ң
алгоритмнен алшақтығын анықтау үшін қарап шы ғады. Атап айтқанда итерация санын беуші
операторлардың дұрыстығына көз жеткізу үшін барлық циклдерді ң ұйымдастырылуын қарап шы ғу өте
маңызды. Шартты операторлардағы шарттарды, бағыныңқы программалар ға қатынас жасауда ғы
аргументтерді тексеріп шығу пайдалы.
Программаны жөндеу және тестілеу

Программаны жөндеу (debugging- жөндеу ағылшын сөзі сөзбе- сөз аударғанда қоңыздарды аулау деген мағына
береді.) дегеніміз программаны компьютерден өткізуді ң нәтижесі бойынша онда ғы қателіктерді іздеу ж әне жою
процесі.
Тестілеу (test ағылшын сөзі сынау деген мағына береді) дегеніміз программаны ң немесе оны ң жеке б өліктеріні ң
дұрыс жұмыс істейтіндігін сынау, тексеру.
Жөндеу және тестілеу бұлар бірінен бірі айқын ажыратыл ған ж әне біріне- бірі ұқсамайтын екі кезе ң:
жөндеу кезінде синтаксистік қателіктердің ж әне кодтауды ң айқын қателіктерін т өңіректеу ж әне жою орындалады.
тестілеу процесі кезінде айқын қателіктері жоқ программаны ң ж ұмыс істеу қабілеттілігі тексеріледі.
Тестілеу қателіктің бар екендігін тағайындайды, ал жөндеу программаны ң д ұрыс ж ұмыс істемеу себептерін
анықтайды.
Қазіргі заманғы программалауды жөндеу жұмысы жөндеуші деп аталатын арнайы программалы қ құралды
пайдалану жолымен жүзеге асырылады. Бұл құралдар программаны ң ішкі ж ұмысын зерттеуге м үмкіндік береді.
Тестілеу процесінің кезеңдері
Тестілеу процесін екі кезеңге бөлуге болады.
1.Қалыпты жағдайда тексеру. Программалардың жұмыс істеуінің нақты жағдайына тән алғашқы деректер
негізінде тестілеу болжанады.
2.Экстремальды жағдайда тексеру. Бұл жерде тестілік деректер дегеніміз алғашқы деректер жиыныны ң
шекаралық мәндері. Бұл жиын программа дұрыс жұмыс істеуге тиісті алғашқы деректерден т ұрады. Өте кіші
немесе өте үлкен сандар және деректердің болмауы мұндай деректердің типтік мысалдары болып табылады.
Барлық программалар қандайда бір шектеулі алғашқы деректер жиынын өңдеуде есептеліп жаса қталатынды ғы
белгілі. Сондықтан мына төмендегі сұрақтарға жауап алу ма ңызды:
Айнымалының теріс және нолдік мәндерін өңдеуге арналмаған программаға қандай да бір кеткен қателікті ң
себептерінен дәл сол мәндерді өңдеуге тура келсе не болар еді?
Егер массив элементтері оны хабарлауда көрсетілген саннан асып кетсе, онда массивтермен ж ұмыс істеп
жатқан программа өзін қалай ұстар еді?
Егер өңделіп жатқан сан өте кіші немесе өте үлкен болса, онда не болар еді?
Программа дұрыс емес деректерді дұрыс деректер ретінде қабылдап, д ұрыс н әтижеге ұқсас, біра қ д ұрыс емес
нәтиже беретін жағдайлар ең жаман жағдайлар болып есептеледі.
Программа өзі дұрыс өңдей алмайтын кез келген деректерді теріске шығаратын болу тиіс.
Программалауда кездесетін қателіктер
Синтаксистік қателіктердің мысалдары:
тыныс белгілерінің қалып кетуі;
жақшалардың сәйкес келмеуі;
оператордың дұрыс жазылмауы;
қызметші сөздің дұрыс жазылмауы;
айнымалы атының дұрыс жазылмауы;
циклдің аяқталу шартының жоқ болуы;
массив сипаттамасының жоқ болуы т.с.с.
Логикалық қателіктер:
кейбір шартты тексергенмен кейін алгоритмні ң қай
тармағын орындауға өтуді дұрыс көрсетпеу;
мүмкін болатын шарттарды толық есептемеу;
программада алгоритм блоктарын орындау үшін
қажет болатын бір немесе бірнеше шамаларды
қалдырып кету.
Циклдерде кездесетін қателіктер:
циклдің басын дұрыс көрсетпеу;
циклдің аяқталу шарттарын дұрыс көрсетпеу;
итерация санын дұрыс көрсетпеу;
шексіз цикл.
Ендіру-шығару қателіктері; деректермен жұмыс істеудегі қателіктер:
деректердің түрін дұрыс бермеу;
талап етілген аз немесе көп деректерді оқуды ұйымдастыру;
деректерді дұрыс түзетпеу;
Айнымалыларды пайдалануда кететін қателіктер:
айнымалыларды олардың бастапқы мәндерін көрсетпей пайдалану;
бір айнымалыны басқа айнымалының орнына қате көрсету.
Массивтермен жұмыс істеуде кететін қателіктер:
алдын ала нолге келтірілмеген массивтер;
дұрыс сипатталмаған массивтер;
индекстерінің берілу реттілігі дұрыс емес массивтер.
Арифметикалық операцияларды орындауда кететін қателіктер:
айнымалының түрін дұрыс көрсетпеу (мысалы, нақты айнымалыны ң орнына б үтін айнымалыны к өрсету);
әрекеттер ретін дұрыс анықтамау;
нөлге бөлу;
теріс санның квадрат түбірін табу;
санның мәнді разрядын жоғалту.
Осы қателіктердің бәрін тестілеудің көмегімен табу ға болады.

Ұқсас жұмыстар
Эксперттік жүйелер
Трансляция түсінігі. Формальды тілдер түсінігі
Трансляция түсінігі. Формальды граматика
Программалық жабдықтарды құжаттау. МЕМСТ пен бекітілген программалық құжаттаудың түрлері. Құжаттаудың ортақ жүйесі
Паскаль программалау тілдері
Программалық жабдықтарды құжаттау. Құжаттаудың ортақ жүйесі. МЕМСТ пен бекітілген программалық құжаттаудың түрлері
Экперттік жүйе дегеніміз бұл әдістер мен ұйымдастыру жолдарының жиынтығы, күрделі міндеттерді шешуге арналған білімдердің сақталуы мен қолданылуы
Эксперттік жүйе
Компьютерлік желі және топология түрлері
Турбо Паскаль программалау ортасында қарапайым программа құру туралы ақпарат
Пәндер