зертханалық жұмыс №9. Зертханалы жмыс 9 Таырыбы
Скачать 183.5 Kb.
|
Зертханалық жұмыс № 9 Тақырыбы: Жүйені жақсартуға арналған юзабилити талаптары. Юзабилити тестілеуді жүзеге асыру. Прототип құру. Прототиптің эвристикалық бағалануы. Прототиптің юзабилити тестіленуі. Өңдеушіні баптау Өңдеушіні баптау терезесін Tools/Debugger Options командасы арқылы шақырамыз. Осы кезде көп беттен тұратын баптау терезесі пайда болады (8.1-сурет): 8.1-сурет. Debugger Options терезесі Бұл терезенің басты опциясы барлық терезенің төменгі бөлігінде көрінетін, өңдеушіні іске қосатын, Integrated debugging болып табылады. Егер бұл опция өшірулі болса, онда өңдеушінің бір де бір жұмысы орындалмайтын болады. General бетінде өңдеушінің жұмысы кезіндегі пайдаланушы интерфейсін анықтайтын келесі опциялар орналасқан:
Inspector Defaults тобының индикаторлары класстың мұралық элементтерін бейнелеуді (Show inherited) және модуль мен класс атын қоса алғанда, толық қасиеттер атауларын бейнелеуді (Show fully qualified names) басқарады. Paths тобы келесі мәндерді анықтайды:
Event Log беті оқиғалар туралы хабарламалар опцияларын орнатуға мүмкіндік береді . Қосымшаның орындалуын сүйемелдейтін бұл оқиғалар хаттамасын, View/Debug Windows/Event Log командасын орыйндау немесе Ctrl+Alt+E перелерін басу арқылы, орындалу барысында немесе орындалу аяқталғаннан кейін көруге болады. Осы кезде ашылған терезеде оқиға хаттамасын көресіз. Осы терезеде тышқанның оң тетігін басу арқылы осы хаттаманы файлда сақтай аласыз, түсініктеме қосып, тазарта аласыз. 8.2-сурет. Event Log беті Event Log бетінің General бөлігіндегі келесі опциялар оқиғалардың бейнелену тәсілдерін анықтайды:
Messages бөлімінің опциялары оқиғалар хаттамасына енетін хабарламалар типтерін анықтайды:
Use Event Log Colors индикаторы түрлі хабарламалардың түспен ерекшеленуін қамтамасыз етеді. Төменде орналасқан терезелер ерекшелену түстерін орнатуға мүмкіндік береді. Түрлі типтегі хабарламаларды әр түрлі түстермен беру оқиғалар хаттамаларында хабарламаларды жылдам ажыратуға мүмкіндік береді. Language Exceptions беті (8.3-сурет) қосымшада өзгешеліктердің туындауы кезінде өңдеушінің үзілулерін басқаруға мүмкіндік береді. Stop On Delphi Exceptions опциясын өшіру, өзгешеліктер туралы хабарламаның қосымша терезесінің пайда болуымен байланысты, өңдеу кезінде тоқтаулардың болмауын қамтамасыз етеді. Басқаша айтқанда, қосымша өңдеу барысында кәдімгі жүктелген кездегідей жұмыс істейді. 8.3-сурет. Language Exceptions беті Егер Stop On Delphi Exceptions опциясы қосылған болса, Exception Types to Ignore терезесінде келтірілген және индекаторларына жалаушалар орнатылған өзгешеліктерден басқа, кез келген өзгешеліктерде тоқтаулар болатын болады. Add батырмасының көмегімен тізімге басқа да өзгешеліктерді де қосуға болады. Мысалы, егер өзгешеліктер тізіміне EmathEror қоссаңыз, онда қосымшалар отладка барысында нольге бөлу, толып кету және т.б. кезінде тоқтамайтын болады. Remove батырмасы ерекшеленген өзгешелікті тізімнен өшіруге мүмкіндік береді. OS Exceptions беті (8.4-сурет) өзгешеліктерді өндеу опцияларын анықтайды. Беттің жоғарғы бөлігінде өзгешеліктер тізімі орналасқан. Add батырмасын пайдаланып осы тізімге өз өзгешеліктеріңізді қоса аласыз. Remove батырмасы тізімнен өзгешеліктерді өшіруге көмектеседі. Бірақ пайдаланушымен анықталған өзгешеліктерді ғана өшіруге болады. Delphi-де алдын ала орнатылған өзгешеліктер үшін Remove батырмасы жұмыс істемейді. 8.4-сурет. OS Exceptions беті Handled By радиобатырмалары өзгешеліктердің немен өнделетіндігін анықтайды: Debugger – өңдеуші, User Program –пайдаланушы бағдарламасы. On Resume радиобатырмалары Delphi өзгешеліктерді өндеуді жалғастырады ма (Run Handled) немесе жалғастырмайды ма (Run Unhandled) екендігін анықтайды. Debugger батырмасын таңдаған кезде осы өзгешеліктің қасында қызыл дөңгелек пайда болады, ал Run Handled батырмасын таңдағанда жасыл бағыттауыш пайда болады. Қателердің классификациясы Бағдарламада кездесетін қателер үш топқа бөлінеді: синтаксистік; орындау уақытындағы қателер; алгоритмдік; Синтаксистік қателер, оларды компиляция уақытындағы қателер (Compile-time error) деп те атайды, оңай жөнделеді. Оларды компилятор тауып береді, ал бағдарламаны құрушыға бағдарлама мәтініне өзгерістер енгізіп, қайтадан компиляцияға жіберу ғана қалады. Орындау уақытындағы қателер Delphi –де олар өзгешеліктер (exception) деп аталады, бұл қателер де оңай жөнделеді. Олар әдетте алғашқы орындауға жіберген кезде және тестілеу кезінде байқалады. Delphi –ден жіберілген бағдарламада қателер туындаған кезде, бағдарлама жұмысы тоқтайды да, яғни Delphi-дің басты терезесінің тақырыбында жақша ішінде Stopped жазуы пайда болады, және экранда қате мен оның типі (класс) туралы ақпараттан тұратын хабарламадан тұратын диалогтық терезе пайда болады. 8.5-суретте жоқ файлды ашуға тырысқан кезде туындаған қате туралы хабарлама мысалы келтірілген. Қате туындаған кезде бағдарламашы бағдарламаның орындалуын тоқтатады (ол үшін Run мәзірінен Program Reset командасын таңдау керек) немесе оны, мысалы, әрбір нұсқаулықтың орындалу нәтижесін қадағалай отырып, қадам бойынша орындауды жалғастырады (ол үшін Run мәзірінен Step командасын орындау керек). 8.5-сурет. Жоқ файлды ашуға тырысқан кезде туындаған қате туралы хабарлама Егер бағдарлама Windows-тан жіберілген кезде де қате туындағанда экранда қате туралы хабарлама пайда болады, бірақ қате типі (өзгешеліктер) көрсетілмейді (8.6-сурет). ОК батырмасын басқан кезде бағдарлама жұмысы жалғасады. 8.6-сурет. Қате типі көрсетілмеген хабарлама Ал алгоритмдік қателермен барлығы басқаша. Алгоритмдік қатесі бар бағдарлама компиляциясы сәтті аяқталады. Сынау үшін орындаған кезде бағдарлама дұрыс жұмыс істейді, бірақ нәтижені талдаған кезде ол дұрыс болмай шығады. Алгоритмдік қатені түзету үшін алгоритмді талдауға, оның орындалуын қолмен айналдырып шығуға тура келеді. Өңдеуші Delphi ортасы бағдарламашыға қателерді іздеу мен оларды жөндеудің мықты құралын – өңдеушіні ұсынады. Өңдеуші бағдарламаның трассировкасын орындауға, айнымалылар мәндерін қадағалауға, бағдарламаның шығаратын мәндерін бақылауға мүмкіндік береді. Бағдарлама трассировкасы Бағдарлама дұрыс жұмыс істемей тұрған кезде нұсқаулардың шынайы орындалу ретін көру қажет болады. Бұны бағдарлама трассировкасын орындау арқылы жасауға болады. Трассировка – бұл бағдарламаны қадаммен (step-by-step), нұсқадан кейін нұсқану орындау процесі болып табылады. Трассировка барысында бағдарламашы бағдарламаның кезекті нұсқасын орындауға бұйрық береді. Delphi екі трассировка режимін ұсынады, олар: процедураға кірмей (Step over) және процедураға кіре отырып (Trace into). Процедураға кірмей трассировка жасау режимі тек басты процедураның трассировкасын ғана орындайды, ал ішкі программа трассировкасы орындалмайды, барлық ішкі программа бір қадаммен орындалады. Процедураға кіре отырып трассировка жасау редимінде программаның толық трассировкасы орындалады, яғни қадаммен тек басты программа ғана емес, барлық ішкі программалар да орындалады. Тарссировканы бастау үшін Run мәзірінен Step over немесе Trace into командасын таңдау керек. Нәтижесінде код редакторы терезесінде бағдарламаның бірінші нұсқаулығы орындалады. Ерекшеленген нұсқаулықты орындау үшін, Run мәзірінен Step over ( Кез келген уақытта трассировканы аяқтап бағдарламаның шынайы қарқындағы орындалуын жалғастыруға болады. Ол үшін Run мәзірінен Run командасын таңдау керек. Бағдарлама бөлігінің трассировкасын орындау үшін меңзерді трассировка басталуы керек бағдарлама нұсқаулығына апарып қойып, Run мәзірінен Run to cursor командасын таңдау керек немесе Трассировка барысында бағдарлама нұсқаулықтарының орындалу ретін ғана қадағалап қоймай, айнымалылар мәндерінін өзгерісін де қадағалауға болады. Бағдарламаның тоқтау нүктелері Өңдеу барысында тоқтау нүктелері әдісі кең қолданылады. Бұл әдістің мәні мынада, бағдарламашы бағдарламаның кейбір нұсқаулықтарын белгілейді (тоқтау нүктелерін қояды), осы нүктелерге жеткен кезде бағдарлама өз жұмысын тоқтатады және бағдарламашы осы жерден бастап трассировканы бастай алады немесе айнымалылар мәндерін қадағалай алады. Бағдарламаға тоқтау нүктелерін қою үшін Run – Add Breakpoint – Source Breakpoint командаларын орындау керек. Нәтижесінде Add Source Breakpoint диалогтық терезесі ашылады (8.7-сурет), осы жерде қосылатын тоқтау нүктесі туралы ақпараттар шығарылады. Filename өрісі тоқтау нүктесі қосылатын бағдарлама файлы атауын қамтиды, Line number өрісінде тоқтау нүктесі қосылатын бағдарлама жолының нөмірі көрсетіледі. ОК батырмасын шеркеннен кейін тоқтау нүктесі бағдарламаға қосылады, ал тоқтау нүктесі қойылған жол қызыл нүктемен белгіленіп, осы жол басқа түспен ерекшеленеді (8.8-сурет). 8.7-сурет. Add Source Breakpoint диалогтық терезесі Тоқтау нүктесін қажет бағдарлама нұсқаулығынын алдында тұрған көк түсті нүктені шеру арқылы да орнатуға болады (егер бағдарламада қате болмаса компилятор орындалатын нұсқаулықтарды көк түсті нүктелермен белгілейді). 8.8-сурет. Тоқтау нүктесі Тоқтау нүктелеріне шарт та қосуға болады, яғни осы шарт орындалған кезде бағдарлама өз жұмысын осы нүктеде тоқтатады (мысалы, егер айнымалы мәні белгілі бір шамаға тең болса). Шарт (логикалық өрнек) Add Source Breakpoint диалогтық терезесінің Condition өрісіне енгізіледі. Егер тоқтау нүктесіне шарт қойылған болса, онда бағдарлама өз жұмысын Condition өрісіндегі өрнек мәні ақиқат болғанда ғана тоқтатады. Сонымен қоса тоқтау нүктесін өткізіп жіберу санын да беруге болады. Егер бағдарламаға тоқтау нүктесін қосқан кезде Add Source Breakpoint диалогтық терезесінің Pass count (өткізіп жіберу саны) өрісіне нөлден өзгеше сан жазатын болсақ, онда тоқтау нүктесімен белгіленген жолдағы нұсқаулық көрсетілген сан рет орындалғаннан кейін ғана, бағдарлама өз жұмысын осы нүктеде тоқтатады. Тоқтау нүктелерінің сипаттамаларын өзгертуге болады. Ол үшін View – Debug Windows – Breakpoints командаларын орындау керек. Ашылған Breakpoint List диалогтық терезеде (8.9-сурет) қажет тоқтау нүктесі туралы ақпараттан тұратын жолды тышқаннын оң жақ тетігімен шертіп, контекстік мәзірден Properties командасын таңдау керек. Нәтижесінде диалогтық терезесі ашылады, осы жерде қажет сипаттамаларды, мысалы шартын (Condition өрісі) өзгертуге болады. Осы контекстік мәзірді пайдаланып, тоқтау нүктесі орнатылған нұсқаулыққа жылдам өтуге болады, ол үшін Edit Source командасын таңдау жеткілікті. 8.9-сурет. Breakpoint List диалогтық терезесі Тоқтау нүктесін жою үшін Breakpoint List диалогтық терезесінде қажет тоқтау нүктесінің ақпаратынан тұратын жолды тышқанның оң тетігімен шертіп, пайда болған контекстік мәзірден Delete командасын таңдау керек. Сонымен қоса код редакторындағы тоқтау нүктесі орналасқан жолды белгілейтін қызыл нүктені шертсе де жеткілікті. Айнымалы мәндерін қадағалау Өңдеу барысында, бағдарламаны қадаммен орындау барысында көбіне белгілі бір айнымалы мәні неге тең екендігін біліп отыру пайдалы болады. Ол үшін сол айнымалы атын қадағаланатын элементтер тізіміне (Watch List) қосу керек. Ол үшін Run мәзірінен Add Watch (Қадағаланатын элемент қосу) командасын таңдап, пайда болған Watch Properties диалогтық терезесінің Expression өрісіне айнымалы атын енгізу керек (8.10-сурет). Нәтижесінде Watch List диалогтық терезесіндегі (8.11-сурет) тізімге жаңа элемент қосылатын болады. Бағдарлама айнымалылары бағдарламаның орындалуы барысында ғана бар (және сәйкесінше қол жетімді) болатындықтан, айнымалы атынан кейін process not accessible (процесс қол жетімді емес) хабарламасы пайда болады 8.10-сурет. Watch Properties диалогтық терезесі 8.11-сурет. Watch List диалогтық терезесі Айнымалы атын Watch List тізіміне қоспай-ақ оның мәнін қадағалауға болады. Ол үшін бағдарлама тоқтау нүктесіне келіп жеткен кезде, код редакторы терезесі пайда болады, осы кезде тексеру керек айнымалы атына меңзерді апарып кою керек. Осы кезде код редакторы терезесінде айнымалы мәні көрсетілген көмек терезесі пайда болады (8.12-сурет). Бағдарламаны қадаммен орындау процессін аяқтау үшін Run мәзірінен Program Reset командасын таңдау керек. 8.12-сурет. Көмек терезесі |