Байланысты: 2 пвт Қателердің белгілі бір түрлерімен есептер шығару
Сабақтың тақырыбы: Қателердің белгілі бір түрлерімен есептер шығару
Бағдарламалау қатесі (немесе қате деп аталатын) - өңдеу нәтижесінде белгілі бір код дұрыс емес нәтиже беретін әзірлеушілер арасындағы жағдай. Бұл құбылыстың көптеген себептері бар: компилятордың ақаулары, интерфейс ақаулары, бағдарлама кодындағы дәлсіздіктер және бұзушылықтар.
Қателер көбінесе отладтау немесе бета тестілеу кезінде анықталады. Азырақ - дайын бағдарламаның соңғы шығарылымынан кейін. Міне, кейбір мүмкін қателер:
Қате туралы хабар пайда болады, бірақ қолданба жұмысын жалғастырады.
• Бағдарламалық құрал бұзылады немесе қатып қалады. Бұл үшін ешқандай ескертулер немесе алғышарттар болған жоқ. Процедура пайдаланушы үшін күтпеген жерден жүзеге асырылады. Мазмұн тәуелсіз және күтпеген түрде қайта іске қосылуы мүмкін.
• Бұрын сипатталған оқиғалардың бірі әзірлеушілерге есептерді жіберумен бірге жүреді.
Бағдарламалардағы қателер сәйкес қолданбаны, сондай-ақ болжанбайтын жұмыс алгоритмдерін жарамсыз етуі мүмкін. Қателерді ерте әзірлеу немесе тестілеу сатысында анықтаған жөн. Тек осы жағдайда ғана бағдарламашы бағдарламалық жасақтаманы жөндеу үшін кодқа қажетті өзгерістерді тез және салыстырмалы түрде арзан енгізе алады.
Терминнің шығу тарихы/Bug — әзірлеушілер сленг ретінде қолданатын сөз. Бұл «қате» - «қоңыз» сөзінен шыққан. Сәйкес терминнің бағдарламалау мен IT-те қайдан шыққаны нақты белгісіз. Екі теория бар:
• 1945 жылы 9 қыркүйекте Гарвард ғалымдары тағы бір компьютерді сынақтан өткізді. Ол Марк II Айкен релелік калькулятор деп аталды. Құрылғы қателермен жұмыс істей бастады. Оны бөлшектеген кезде ғалымдар реле арасында тұрып қалған көбелекті байқады. Содан кейін белгілі бір Грейс Хоппер аталған терминмен болған сәтсіздікті атады.
• «Қате» сөзі Марк II-ден көп бұрын пайда болды. Бұл терминді Томас Эдисон қолданған және кішігірім кемшіліктер мен қиындықтарға сілтеме жасаған. Екінші дүниежүзілік соғыс кезінде «қателер» радиолокациялық электроникаға қатысты мәселелерге берілген атау болды.
Екінші нұсқа неғұрлым шынайы болып көрінеді. Бұл құжатталған факт. Уақыт өте келе біз АТ-дағы қателердің әртүрлі түрлерін ажыратуды үйрендік. Олар төменде толығырақ талқыланады.
Олар қалай жіктеледі / Бағдарлама жұмысындағы қателер әртүрлі факторларға байланысты бөлінеді. Классификация қарапайым пайдаланушылар мен әзірлеушілер арасында ерекшеленеді.
• Күрделі проблемалар. Бұл күтпеген үлкен өзгерістерге әкелуі мүмкін қолданба ақаулары.
• Бағдарламалардағы кішігірім қателер. Көбінесе олар бағдарламалық жасақтаманың жұмысына айтарлықтай әсер етпейді.
• Көрсеткіш. Қолданбадағы немесе аппараттық құралдағы маңызды мәселелер. Олар әрдайым дерлік бағдарламаның сәтсіздігіне әкеледі. Мысалы, сіз логин мен құпия сөзді пайдаланып жүйеге кіре алмайтын кез келген клиент-сервер қолданбасын ала аласыз.
• Соңғы нұсқа бағдарламашылардан ерекше назар аударуды талап етеді. Олар алдымен оларды анықтауға және жоюға тырысады. Маңызды қателер бастапқы бағдарламаның шығарылуын белгісіз уақытқа кешіктіруі мүмкін.
Әзірлеушілер күрделілік деңгейі бойынша қателердің келесі түрлерін ажыратады:
• «Борбуг» – «тұрақты» мәселе. Ол әзірлеу және құрастыру сатысында оңай анықталады. Кейде - бастапқы бағдарламаны іске қосу арқылы тестілеу кезінде.
• «Heisenbug» – қолданба іске қосылған ортаға тәуелділікті қоса, сипаттарды өзгертуді қолдайтын қателер. Бұған бағдарламалардағы мерзімді проблемалар кіреді. Олар біраз уақытқа жоғалып кетуі мүмкін, бірақ белгілі бір кезеңнен кейін олар қайтадан өздерін сезінеді.
• «Манделбуг» – күтпеген қателер. Олардың энтропиялық мінез-құлқы бар. Олардың не әкелетінін болжау мүмкін емес.
• «Шреддинбаг» – маңызды мәселелер. Бұл шабуылдаушылар бағдарламаны бұзуға мүмкіндік береді. Қатенің бұл түрін анықтау өте қиын, себебі ол өзін ешқандай жолмен көрсетпейді.
Қателердің түрлері
Бағдарламаларда қателер бар:
• логикалық;
• синтаксистік;
• өзара әрекеттесу;
• жинақтау;
• ресурс;
• арифметикалық;
• орындалу орталары.
Бұл қолданбалар мен операциялық жүйелердегі ақаулардың негізгі классификациясы. Логикалық, синтаксистік және «орындалу орталары» басқаларға қарағанда әзірлеуде жиі кездеседі. Оларға басты назар аударылады.
Синтаксистік қателер. Жаңадан бастаушылар арасында синтаксистік қателер жиі кездеседі. Олар «ең зиянсыз» санатына жатады. Белгілі бір тілдердің компиляторлары қателердің осы санатын өңдей алады. Сәйкес құралдар қай жерде дәлсіздік орын алғанын көрсетеді. Оны қалай түзетуге болатынын анықтау ғана қалады.