Коммерциялық емес акционерлік қоғам

АЛМАТЫ ЭНЕРГЕТИКА ЖӘНЕ БАЙЛАНЫС ИНСТИТУТЫ

Инженерлік кибернетика кафедрасы

 

 

БАҒДАРЛАМАЛАУ  ТЕХНОЛОГИЯСЫ  

Есептік-сызба жұмыстарын орындауға арналған әдістемелік нұсқау

5В0702 – Автоматтандыру мен басқару мамандығы бойынша

барлық оқу түрінің студенттері үшін

 

 

Алматы 2010

ҚҰРАСТЫРУШЫЛАР: Сябина Н.В. Сүйебаева Л.Б. Бағдарламалау технологиясы. Есептік-сызба жұмыстарын орындауға арналған әдістемелік нұсқау 5В0702 – Автоматтандыру мен басқару мамандығы бойынша барлық оқу түрінің студенттері үшін - Алматы: АЭжБИ, 2010. -  48 б.   

Бағдарламалау технологиясы курсынан студенттердің өздік жұмыс нәтижесінде алған білімдерін бақылау үшін үш есептік-сызба жұмыстары қарастырылған. Әдістемелік нұсқау қысқаша теориялық мағлұматтан, тапсырмалар нұсқаларынан және оларды орындауға арналған нұсқаулықтардан, тақырыптар бойынша бақылау сұрақтардан тұрады:   

1)   Бағдарламалық өнімді жобалауда құрылымдық жақындауды пайдалану.

2)   Таңдалған бағдарламалау ортасында қолданушы интерфейсін жобалау  мен дайындау.

3)   Бағдарламалық өнімді тестілеу мен жөндеу. Бағдарламалық кұжаттаманы құрастыру.

Қосымшаларда барлық қажетті анықтамалық материалдар бар.

    Әдістемелік нұсқау 5В0702 – Автоматтандыру мен басқару мамандығы бойынша барлық оқу түрінің студенттеріне арналған.

  

Мазмұны 

1 Кіріспе                                                                                                        

3 №1 есептік-сызба жұмыс. Бағдарламалық өнімді жобалауда құрылымдық жақындауды пайдалану  

№2 есептік-сызба жұмыс. Таңдалған бағдарламалау ортасында қолданушы интерфейсін жобалау мен жүзеге асыру     

4  № 3 есептік-сызба жұмыс. Бағдарламалық өнімді тестілеу мен жөндеу. Бағдарламалық құжаттаманы құрастыру       

А қосымшасы                                                                                               

Б қосымшасы                                                                                                

В қосымшасы                                                                                                

Әдебиеттер тізімі                                                                                           

  

Кіріспе 

 «Бағдарламалау технологиясы» пәнінде бағдарламалық қамтама дайындаудың заманауи технология мәселелері оқытылады. Курс  «Информатика» және  «Алгоритмдеу мен бағдарламалау тілдері» пәндерінің логикалық жалғасы болып табылады. «Бағдарламалау технологиясы» пәнін оқытуға бөлінген аудиториялық сағаттар көлемі барлық оқу материалын толығымен қамтуға мүмкіндік бермейді, сондықтан да кейбір тараулар өз бетінше оқып үйренуге негізделді. Студенттің өздік жұмысы (СӨЖ) дәріс материалдарын талқылаудан, машықтану мен зертханалық жұмыстарға дайындалудан ғана емес, сонымен қатар қосымша материалды оқып білуден тұрады. Бағдарламалау технологиясы курсынан студенттердің өздік жұмыс нәтижесінде алған білімдерін бақылау үшін үш есептік-сызба жұмыстары қарастырылған. Әдістемелік нұсқау қысқаша теориялық мағлұматтан, тапсырмалар нұсқаларынан және оларды орындауға арналған нұсқаулықтардан, тақырыптар бойынша бақылау сұрақтардан тұрады:   

4)   Бағдарламалық өнімді жобалауда құрылымдық жақындауды пайдалану.

5)   Таңдалған бағдарламалау ортасында қолданушы интерфейсін жобалау  мен дайындау.

6)   Бағдарламалық өнімді тестілеу мен жөндеу. Бағдарламалық кұжаттаманы құрастыру.

Қосымшаларда барлық қажетті анықтамалық материалдар бар.

Студент есептік-сызба жұмыстарын орындау үшін ақпараттың қосымша көзі ретінде оқулықтарды, оқу әдістемелік құралдарды, компьютер мен компьютерлік технология бойынша мерзімдік басылымдарды, түрлі бағдарламалық өнімдер туралы анықтамалық әдебиеттерді, компьютер жадысындағы әрбір бағдарламаның анықтамалық жүйе мен Internet-тің анықтамалық жүйесін пайдаланады.

Тапсырмалардың ұсынылған нұсқалары оқытушының нұсқауымен таңдалады. Оқытушы студенттің жалпы дайындығын ескере отырып, есептік-сызба жұмысты өзгертіп немесе толықтыра алады. Есептік-сызба жұмыстар кафедра белгілеген мерзімде тексеруге электронды нұсқада, яғни дискетада  (дискіде) өткізіледі. Әрбір есептік-сызба жұмысқа А4 форматты қағазда (оқытушы ұсынысымен келісілген) немесе  электронды түрде (MS Word форматында) орындалған  түсіндірме хат қыстырылады. Бұл түсіндірме хатта титул беті, берілген тапсырма мен  тапсырманың орындалуына қажетті түсіндірмелер бар. Егер жұмыста қате болса, толық көлемде орындалмаса немесе таңдалған нұсқаға сәйкес келмесе, онда жұмыс студентке түзетулер енгізу үшін қайтарылады. Әрбір есептік-сызба жұмыс тексерілгеннен кейін қорғалуы тиіс.   

 

 №1 есептік-сызба жұмыс. Бағдарламалық өнімді жобалауда құрылымдық жақындауды пайдалану

 

Жұмыстың мақсатыбағдарламалық қамтаманы жобалау бойынша және сәйкес құжаттаманы құрастыруға машықтану.

 

2.1 Есептік-сызба жұмысқа тапсырма

а)     таңдалған нұсқаға орай (А.1) тақырып аумағына  жобаны алдын ала зерттеуді жүргізу және берілген тапсырманы орындау;

б)    титул беті, кіріспе және стандарт бойынша пункттерден тұратын техникалық тапсырманы дайындау;

в)    MS Project пакетінің көмегімен жобаны басқаруды ұйымдастыру, яғни жұмысты бөлу сызбасын дайындау мен оның орындалуын бақылау;

г)     есепті шешу алгоритмін дайындау, оның сызбалық сипаттамасын тапсырма нұсқасында көрсетілген тәсілмен орындау;

д)    саралауды нақтылау, терминдер сөздігін жасау.

Тапсырманы орындауға нұсқаулар. Тапсырманың күрделілігіне байланысты ұсынылған деңгейлерді ескере отырып, нұсқалар оқытушының нұсқауы бойынша таңдалады. Барлық қабылданған шешімдердің  негіздемесін, сонымен қатар дайындалған сызбалар мен құжаттарды есептік-сызба жұмыстың түсіндірме хатына қосу керек. Техникалық тапсырманы дайындауда тақырыптық аумақтың саралауын ескеру керек және стандарт бойынша пункттердің кейбір қайта қарауды қажет ететіндерін қосу.  MS Project жобасымен жұмыс жасағанда жобаның  статистикалық мәліметтерін, жобада қолданылатын кешенді күнтізбені анықтау, жобаның тапсырмалар тізімін қалыптастыру, тапсырманың ұзақтығын, тапсырмалар арасындағы тәуелділікті, жоба ресурстарының тізімін анықтау. Жобаны дайындау үрдісінде  оның орындалуын әркез бақылап отыру керек. Жаңа мәліметтерді жиі енгізу керек және әрбір есептік-сызба жұмыстың соңында жобаның нақты жағдайы туралы ақпарат беретін кесте көрсетілімі бар жобаның орындалуын қадағалау.

 

2.2 Жұмыстың орындалуына жалпы нұсқаулар

2.2.1 Есептің берілуі мен техникалық тапсырманы дайындау

Есептің қойылуыбағдарламалық өнімді жасау үрдісінде бағдарламалық қамтаманың тағайындалуын айқын тұжырымдайтын және де оған қойылатын негізгі талапты анықтайтын кезеңнің бірі. Әрбір талап бағдарламалық қамтаманың қажетті немесе қалаулы құрамын сипаттаудан тұрады. Жасалған бағдарламалық қамтаманың орындауға тиіс қызметі анықтаушы функционал талап пен оның жұмыс істеу ерекшелігін анықтайтын эксплуатациялық талапты ажыратады.

Түп тұлғалары бар бағдарламаға қойылатын талап, әдетте қолданыстағы бағдарламалық қамтаманың сипаты мен құрылымын ескере отырып, аналог бойынша анықталады. Аналогы жоқ бағдарламалық қамтамаға қатысты талапты тұжырымдау үшін кейде жоба алды деп аталатын арнайы зерттеуді жүргізу қажет. Мұндай зерттеулер үрдісінде есептердің шешілетіндігі анықталады, оны шешудің әдісін (егер олар жаңа болса) дайындауы мүмкін және дайындалған бағдарламалық қамтаманың көбірек қолданылған сипатын орнатуы мүмкін, яғни болашақ қамтаманың оған қатысты қарағанда дәл талаппен арналғаны туралы жалпы айқын емес білімнің түрленуі жоба алды зерттеуінің мақсаты болып саналады. Олардың іске асуы үшін тәртіп бойынша ғылыми-зерттеу жұмысының орындалуына келісім-шарт жасалады. Қандай жағдайда болса да, есептің қойылу кезеңі ұстанымдық талап пен негізгі жобалық шешімдер қабылдауын белгілейтін техникалық тапсырманы дайындаумен аяқталады.

Техникалық тапсырма бағдарламалық өнімге қатысты талап пен дайындаудың негізгі мақсаты тұжырымдалған, дайындаудың мерзімі мен кезеңі анықталған және қабылдау–тапсыру сынағының үрдісі регламенттелген құжат түрінде болады. Техникалық тапсырманы дайындауда тапсырыс берушінің өкілдері де, орындаушының өкілдері де қатысады. Құжаттың негізінде тапсырыс берушінің бастапқы талабы, техниканың қол жеткен жетістіктерінің сараптамасы, ғылыми-зерттеу жұмысының нәтижелері, жоба алды зерттеуінің ғылыми болжамы және т.б. жатады.

Техникалық тапсырманы дайындау келесі ретпен орындалады.

Ең алдымен орындалатын функциялар жиынын, сонымен қатар бастапқы мәліметтердің тізімі мен сипатын орнатады. Содан кейін  нәтижелер тізімін және оларды көрсету тәсілі мен сипатын анықтайды. Бұдан соң бағдарламалық қамтамамен жұмыс істеу ортасын, яғни нақты жабдықталу мен техникалық құралдар параметрін, қолданылатын операциялық жүйе нұсқасын, болашақ бағдарламалық өнім өзара әрекеттесетін басқа да орнатылған бағдарламалық қамтама нұсқаларын мен параметрлерін нақтылайды.

Егер дайындалған бағдарламалық қамтама кейбір ақпаратты жинап сақтайтын немесе басқаруға әлдебір техникалық үрдіспен қосылатын  болса, онда құрал-сайман мен энергия жабдықтаудағы іркілістер жағдайында бағдарлама әрекетін нақты регламенттейді.

Техникалық тапсырманы дайындау келесі ретпен орындалады:

а) орындалатын функциялар жиынын, сонымен қатар бастапқы мәліметтердің тізімі мен сипатын орнатады;

б) нәтижелер тізімін және оларды көрсету тәсілі мен сипатын анықтайды;

в) бағдарламалық қамтамамен жұмыс істеу ортасы: нақты жабдықталу мен техникалық құралдар параметрін, қолданылатын операциялық жүйе нұсқасын, болашақ бағдарламалық өнім өзара әрекеттесетін басқа да орнатылған бағдарламалық қамтама нұсқалары мен параметрлерін нақтылайды;

г) егер дайындалған бағдарламалық қамтама кейбір ақпаратты жинап сақтайтын болса немесе басқармаға әлдебір техникалық үрдіспен қосылатын болса, онда құрал-сайман мен энергия жабдықтаудағы іркілістер жағдайында бағдарлама әрекетін регламенттейді.

МЕСТ 19.201-78 «Техни­калық тапсырма. Мазмұны мен безендірілуіне талап.» техникалық тапсырманың стандарты. Осы стандартқа орай техникалық тапсырма келесі тараулардан тұруы керек:

а)     Кіріспе құрастырудың өзектілігін және осындай құрастырманың қандай орында тұрғанын көрсетеді; бағдарламаны немесе бағдарламалық өнімді, сонымен қатар оларды пайдалануды жорамалдау, нысанның қолданылу аймағының қысқаша сипаты мен атауын қосады;

б)    Құрастыру үшін негіз негізінде берілген құжат мақұлданған ұйымдастыру, дайындау жүргізілетін құжат атауынан және құрастыру тақырыптарының (мысалы, жоспар,  бұйрық, келісім-шарт және т.б. құжат ретінде қызмет етуі мүмкін) шартты белгіленуінен немесе атауынан тұрады.

в)    Құрастырудың тағайындалуы қолданушы категориясының көрсетілуі мен бағдарлама өнімінің функционал және эксплуатациялық тағайындалуын сипаттаудан тұрады;

г)     Бағдарламаға немесе бағдарламалық бұйымға қойылатын талапқа жататындар:

1)  орындалатын функцияларды атап өтетін функционал сипаттамаға қойылатын талап ішкі тарауында бастапқы мәліметтер мен нәтижелерді көрсетудің құрамы, ерекшелігі және түрі сипатталған; қажет кезде тиімділік белгісін көрсетеді (жүйе жауабының жіберілетін ең үлкен уақыты, қолданылатын жедел және/немесе сыртқы жадының және т.б. ең үлкен көлемі);

2)  дайындалған жүйе қамтамасыз ететін сенімділік деңгейі мен іркілістен кейін жүйенің қалпына келу уақытын көрсететін Сенімділікке қойылатын талап ішкі тарауы дайындалған өнім әрекетін нәтиже сенімділігінің артуы бойынша (кіретін және шығатын ақпарат бақылауы, аралық нәтиженің қордағы көшірмелерінің құрылуы және т.б.) регламенттейді;

3)  Эксплуатация жағдайы ішкі тарауы стандартты емес жағдайларда (қоршаған орта температурасы, ауаның салыстырмалы ылғалдылығы және т.б.) немесе арнайы сыртқы құрылғыларды қолдану кезінде (қызмет көрсету түрі, қызметкерлер құрамының керекті саны мен біліктілігін)  эксплуатация жағдайына қойылатын ерекше талапты көрсетеді;

4)  техникалық құралдардың құрамы мен параметрлеріне қойылатын талап ішкі тарауы негізгі техникалық сипаттамасы (микропроцессор типі, жады көлемі, сыртқы құрылғылардың бар болуы және т.б.) мен пішін үйлесім нұсқасы (ең кіші және ұсынылатын) бар керекті техникалық құралдар құрамын көрсетеді;

5)  ақпараттық және бағдарламалық үйлесімділікке  қойылатын талап ішкі тарауы дайындалатын бағдарламалық қамтамамен өзара әрекеттесетін операциялық жүйе және басқа да жүйелік әрі қолданушы бағдарламалық құралдар пайдаланатын ақпаратты қорғау деңгейін, құрастыруға арналған бағдарламалау ортасын немесе тілді анықтайды, шешу әдістерін береді;

6)  маркілеу мен жиынтықтауға қойылатын талап ішкі тарауы;

7)  тасымалдау мен сақтауға қойылатын талап ішкі тарауы;

8)  арнайы талап ішкі тарауы;

д)    Бағдарламалық құжаттамаға қойылатын талап – қажетті жолдамалық құжаттама тізімінен тұрады (бағдарламалаушы басшылығы, пайдаланушы басшылығы, жүйелік бағдарламалаушы басшылығы, түсіндірме хат және т.б.);

е)     Техника-экономикалық көрсеткіштерұйғарылған жылдық қажеттіліктер мен қолданыстағы аналогтармен салыстырылған экономикалық артықшылықтардағы бағдарлық экономикалық тиімділіктер туралы мағлұматтан тұрады;

ж)  Құрасытырудың сатылары мен кезеңдері құрастырудың сатылары мен кезеңдерінің тізімінен, сонымен қатар жасалу мерзімі мен орындаушылар көрсетілген жұмыс мазмұнынан тұрады;

з)     Бақылау мен қабылдау реті сынақтар түрінің тізімі мен жұмысты қабылдауға қойылатын жалпы талаптан тұрады.

Құрастыруды негіздеген ғылыми-зерттеу жұмыстарының тізімінен; алгоритм сұлбаларынан, кестелерден, сипаттамадан, дәйектемеден, есептеулер мен құрастыруда қолданылуы тиіс басқа да құжаттаран тұратын қосымшаны қажет уақытында техникалық тапсырмаға қосу рұқсат етіледі. Дайындалған өнімнің ерекшелігіне байланысты ішкі тарауларды қолдануға рұқсат беріледі, жаңа тарауларды енгізеді немесе оларды біріктіреді. Егер де техникалық тапсырмамен қарастырылған қандай да бір талапты тапсырыс беруші көрсетпесе, онда сәйкес орында «Талап көрсетілмейді» деген  белгі болуы тиіс. Егер дайындалған бағдарламалық қамтама техникалық тапсырмадағы көрсетілген функцияны орындамаса, онда ол техникалық тапсырмаға сай емес деп есептеледі, яғни сапа белгілерінің тұрғысынан қарағанда дұрыс емес. Болашақ өнімнің әмбебаптығы арнайы алдын ала келісілмейді, өздігінен түсінікті болмайды.

«Студенттер үлгерімінің есебі» жүйесін құру техникалық тапсырмасының орындалу үлгісі мен титул бетін рәсімдеу мысалы Б Қосымшасында келтірілген. Жүйе студенттердің сессияға үлгерімінің жедел есебін деканның, курстар бойынша декан орынбасарларының және деканат қызметкерлерінің беруіне арналған. Студенттің үлгерімі туралы мағлұмат оқу мерзімінің ішінде сақталуы тиіс және тыңдалған курс туралы анықтама мен бітіруші дипломының қосымшасын толтырғанда қолданылуы керек. Берілген мысал қысқартылған сұлбада құрастырылған, берілген сұлба үшін қолданыста жоқ тараулар алынбаған.  

 

2.2.2 Жобаны басқару үшін Microsoft Project офистік пакетін пайдалану

Күрделі бағдарламалық қамтаманы құрғанда жобаны дайындау мен басқару үрдісін бақылауды ұйымдастыру қажеттігі туындайды. Дайындау үрдісіне түрлі саланың көптеген мамандары тартылатын болғандықтан, олардың әрекеттер үйлесімі заманауи CASE-құралдарымен жемісті шешілетін маңызды мәселе болып саналады. Дайындау ісін жоспарлауға және қадағалауға мүмкіндік беретін мейлінше қарапайым әрі қол жетерлік бағдарламалық өнім Microsoft Project офистік пакеті болып табылады.

Жоба тапсырмалардан, яғни нақты нәтижелерге жетуге бағытталған белсенділіктерден тұрады. Тапсырмаларды орындау үшін ресурстар— материалдық  (жабдық) және жұмысшылар (қызметкерлер) бөлінеді. Тапсырмаға ресурстың бөлінуі тағайындалу деп аталады, ал тапсырмаларда тағайындаулардың шектеусіз саны болуы мүмкін.

Тапсырмалар топтарға (немесе фазаларға) бірігуі мүмкін. Басқалар бірігетін тапсырма қосынды деп аталады. Маңызды жобалық нәтижеге жеткізетін немесе фазаны аяқтайтын тапсырмаларды веха деп атайды.

Тапсырма ұзақ болады, яғни оның орындалуына уақыт керек. Сонымен қатар тапсырма  еңбек  шығынының  көлемін (жұмыс көлемін) және оның орындалуына қажетті шығындармен (немесе құнымен) сипатталады.

Жоба жоспарында тапсырмалар тәуелділіктің көмегімен байланысты. Тәуелділік бір-біріне қатысты тапсырмалардың орындалу ретін анықтайды. Жобаның үзақтығы тапсырмалар арасындағы тәуелділікті ескере отырып, ең алғашқы тапсырмадан бастап ең соңғысының аяқталуына дейінгі уақыт аралығынан құралады. Егер тапсырма ұзақтығының  артуымен барлық жоба ұзақтығы  артса, онда тапсырма критикалық деп аталады.

Жобаны басқару жоспар құрастырумен және осы жоспар бойынша жұмыстың орындалуын қадағалаудан тұрады. Осыған орай жоба жоспары жақсара түсіп, жоспар тиянақты құрастырылған сайын, жобалық жұмысты орындау мен жобаны ойдағыдай аяқтау оңай болады.

Жобаны фазаларға бөлу оны негізгі нәтижелер мен күндер тізімі түрінде көруге мүмкіндік береді, осылайша оларды алуға болады. Әрбір жоба белгілі бір мақсатқа жету үшін қабылданады, әдетте бірнеше аралық мақсаттарға жетпей оған қол жеткізу мүмкін емес.

Жоба жоспарын құрастыру жалпы алғанда қол жетерлік жоба тапсырмасын сипаттау мен тағайындаудың көмегімен олардың өзара байланысын анықтаудан тұрады. Жоспарлау жоба анықтамасынан, яғни оның кілттік сипаттамаларын сипаттаудан тұрады. Содан кейін фазалар мен тапсырмалар тізімі және оларды орындауға қажетті ресурстар тізімі құрастырылады. Бұдан соң жоспарға қосымша ақпарат енгізіледі. Бұл қосымша ақпарат тағайындауларды анықтауда және жоспар бойынша жұмыстарды өткізуде (жоспарды қадағалау) қолданылады. Осылайша тағайындау жүзеге асырылады, егер ұзақтық немесе бюджет күткеннен де көп болса, онда жоба оңтайланады.

Жұмыс жоспарын  Gantt Chart ( Гант диаграммасы) көрсетілімінде құрған дұрыс.

Жоба жоспарын құрғаннан кейін жоспарланған жұмыс басталады. Жұмыстың орындалуы жоспармен сәйкес болуы үшін жоба басшысы жұмыс барысын қадағалайды. Жоспардан ауытқу бюджеттің артуына немесе жоспарланған тапсырмалардың толық іске асырылмауына, жобаның мерзімінде аяқталмауына әкеп соғады.

Жобаны қадағалаудың негізгі мақсаты – нақты орындалған жұмыстың жоспарланған жұмыстан ауытқуын дер кезінде білу. Бұл үшін жұмыстың орындалу барысы туралы  мәліметтерді жинап, оларды жобаның кешенді жоспарымен салыстыру. Мұндай салыстыруды жүзеге асыру үшін, жұмыстың орындалуы алдында  оның жағдайы салыстырылатын кешенді жоспарды белгілеу керек. Жобаны қадағалау үшін Tracking Gantt (кадағалануы бар Гант диаграммасы) көрсетілімі қолданылады.

Нақты орындалған жұмыстың жоспарланған жұмыстан ауытқуын дер кезінде байқау үшін нақты ақпаратты жинап, жоба жоспарының файлына енгізіп қою керек. Ақпаратты жоба файлындағы нақты мәліметтердің  істің жағдайына барынша сәйкес болатындай енгізу керек.

MS Project жедел қайта жоспарлайтын автоматты құралдардан тұрады. Бұл құралдар орындалмаған жұмыстарды тапсыру мерзімінен (ағымдағы уақыт немесе есеп беру уақыты) кейінгі басқа уақытқа тез ауыстыруға мүмкіндік береді. Олар тапсырмалар бойынша мәліметтерді енгізу кезінде автоматты түрде (орындалмаған жұмыстарды есеп беру уақытына ауыстыратын белгілерді есептесуге орнату) немесе кез келген сәтте қолмен (саймандар тақтасы мен сұқбат терезесінің көмегімен тапсырмалар мен жобаның жаңаруы) іске қосылады. Қайта жоспарлауды уақытша мәліметтері бар диаграмма арқылы қолмен жүргізуге болады, мысалы, Task Usage (Тапсырмаларды қолдану).

MS Project дайын есеп беру жиынтығынан тұрады, жекеменшік есеп берулерді құру мүмкіндіктерін ұсынады.

Есеп беру баспаға басуға арналған жобалық мәліметтерді көрсету форматы. MS Project бағдарламасына дайын түрде қолдануға немесе жөндеуге болатын есеп беру жиынтығы кіреді. Ең қарапайымы статистикалық есеп беру, ол жоба туралы мағлұмат беретін сұқбат терезесіндегі Statistics (Статистика) түймешігінің көмегімен шақырылады.

 

2.2.3 Талаптар сараптамасы мен саралау анықтамасы

Жоабалаудың кез келген технологиясын іс жүзінде қолдану жобалау стандартын, жоба құжаттамасын рәсімдеу стандартын, пайдаланушы интерфейсінің стандартын қалыптастыруды қажет етеді. Бұл стандарттарды барлық жобаға қатысушылар білуі тиіс. Жобалау стандартының анықтайтындары:

а) жобалаудың әрбір сатысындағы қажетті үлгілер (сұлбалар, диаграммалар) жиынын және олардың бөлшектену дәрежесін;

б) диаграммалардағы жобалау шешімдерін белгілеу тәртібін, соның ішінде терминдер бойынша келісім мен нысандардың аталу тәртібін, барлық нысандар үшін атрибуттар жиыны мен әрбір сатыдағы олардың толтырылу тәртібін, нысан өлшемі мен қалпына қойылатын талапты ескере отырып диаграмманы рәсімдеу тәртібін;

в) операциялық жүйе мен қолданылатын CASE-құралдарды бабына келтіруді қоса алғандағы жасаушылардың жұмыс орталарының пішін үйлесіміне қойылатын талап;

г) жобамен бірлесе жұмыс жасауды қамтамасыз ететін механизм, соның ішінде жоба ішкі жүйесінің интеграциялау тәртібі мен  қарама қайшы емес жобалық шешімдердің сараптамасы.

Барлық қабылданған жобалық шешімдер құрастырудың күрделілігі мен еңбек сыйымдылығына елеулі әсер етеді. Осы шешімдер қабылданғаннан кейін ғана жобаланатын бағдарламалық қамтаманы саралап құрастыру мен талап сараптамасына өтеді.

Функцияның  дәл сипатталуы мен жасалатын бағдарламалық қамтама шектеулері егже-тегжейлі саралау деп аталады. Осыған орай функционал және эксплуатациялық саралауларды ажыратады. Саралаулардың жиынтығы жобаланатын бағдарламалық қамтаманың жалпы логикалық үлгісі болып табылады.

Дәлдік пен толықтық талаптарын орындау үшін жобаланатын бағдарламалық қамтама мен бірге алып жүруші мәтіндерді (сөздіктерді, сипаттауларды және т.б.) әр жақтан сипаттайтын үлгілер ретін жасайды, өйткені саралауды сипаттау үшін табиғи тіл жарамайды.

Саралауды алу үшін техникалық тапсырма талабының сараптамасын орындайды, есеп мазмұнын тұжырымдайды, нысаншылықтың математикалық аппаратын таңдайды, пән аймағы үлгісін салады, қосалқы есепті анықтайды немесе оларды шешудің әдістерін жасайды. Саралаудың бір бөлігі жоба алды зерттеулерінде анықталуы және соған орай техникалық тапсырмада белгіленуі мүмкін. Сонымен қатар жобаланатын бағдарламалық қамтамада күтілетін нәтижелерді міндетті түрде көрсетіп, осы кезеңде қателерді іздеу үшін тесті тұжырымдау орынды.

Саралау үрдісін әдетте алгоритмдер сұлбасының, жалған шарттаңбалардың, Flow-формаларының немесе Насси-Шнейдерман диаграммаларының қысқаша мәтіндік сипаттауы түрінде көрсетеді. Сипаттаудың құрушыға ғана емес, тапсырыс берушіге де түсінікті әрі қысқа болуы үшін, көбінесе  жалған шарттаңбалар қолданылады.

Терминдер сөздігіегжей-тегжейлі саралауды құрастыруда қолданылатын негізгі түсініктердің қысқаша сипаттамасы. Бұл саралауға    пәндік аймақтың негізгі түсініктерінің анықтамасы, мәліметтердің элементтер құрылымдары, олардың типтері мен форматтары, сонымен қатар барлық қысқартулар мен шартты белгілеулер кіреді. Сөздік  пәндік аймақты түсіну дәрежесінің артуына және модельді талқылау барысында тапсырыс беруші мен құрастырушы арасында түсініспеушілікті болдырмауға арналған. Сөздікте терминді сипаттау келесі сұлбамен орындалады:

«терминкатегорияқысқаша сипаттау».

Терминдер сөздігін орындау мысалы В.1 кестесінде келтірілген.

 

2.2.4 Құрылымдық алгоритмдерді сипаттау құралы

Құрылымдық бағдарламалау құрылған бағдарламалық қамтаманың жоғары деңгейлі технологиялылығын қамтамасыз ету тәсілінің бірі болып саналады. Келесі бағдарламалармен жүзеге асырылатын есептеу үрдісінің үш түрін ажыратады:

а) сызықты (нәтижені алу үшін операцияны белгілі бір ретпен орындау керек); 

б) тармақталған (операциялардың белгілі тізбегі бір немесе бірнеше айнымалыларға байланысты);

в) циклдік (нәтижені алу үшін кейбір әрекеттерді бірнеше рет орындау қажет).

Осы есептеу үрдісін жүзеге асыру үшін бағдарламада сәйкес басқарушы операторлар қызмет етеді. Алгоритмдер сұлбасының кескіні үшін МЕСТ 19.701-90 қолданылады. Мұнда әрбір топ әрекеттеріне сәйкес арнайы блоктың қойылуы келісілген. Стандарт циклдарды белгілейтін блоктарды қарастырады, басқарудың айнымалы тасымалдануына тиым салмайды және алгоритмді жүзеге асыру үшін басқарудың шартты және шартсыз тасымалдану командаларын қолданады.

Жоғары деңгейлі бағдарламалау тілдерінде үш негізгі басқарушы нұсқауларды жүзеге асыратын басқарушы операторлар бар. Кешенді операторларға жататындар:

а)     бір ізді - әрекеттің тізбектеліп орындалуын белгілейді;

б)    тармақталуәрекеттің екі нұсқасының бірін таңдау;

в)    цикл-әзір шарт цикл басында тексеріледі, шарт орындалмайынша қайталана беретін әрекеттерді анықтайды.

Жоғары деңгейлі процедуралы бағдарламалау тілдері кешенді нұсқаудан басқа үш қосымша нұсқауларды қолданады. Бұл нұсқаулар кешенді нұсқаулар арқылы жүзеге асырылады:

а)     таңдаукейбір шамалардың мәндеріне байланысты бірнеше нұсқаның ішінен бірін таңдау;

б)    цикл-дейін - шарт циклда әрекеттер орындалғаннан кейін тексеріледі, берілген шарт орындалмайынша әрекеттердің қайталануы;

в)    қайталану саны берілген цикл (санағыш цикл) – кейбір әрекеттердің көрсетілген санда бір рет қайталануы.

Аталған нұсқаулар құрылымдық бағдарламалау негізіне жатқызылды. Басқаруды берудің құрылымдық операторларын ғана қолданып жазылған бағдарламалар құрылымдық деп аталады, себебі ол бағдарламаларды басқаруды берудің төмен деңгейлі тәсілдерін пайдаланып жасалған бағдарламалардан ерекшелеп көрсетеді.

2.1 мысал– А(n) массивінен берілген мәнге тең элементті іздеу алгоритмін сипаттау үшін блок-сұлбаны қолдану (1 сурет).

1 сурет Іздеу алгоритмінің блок-сұлба үзіндісі

Келтірілген мысалда алгоритмнің құрылымдық нұсқасы қолданылады (цикл-әзір). Массив элементтері енгізіледі және оларды кезекпен берілген У мәнімен салыстырады. Нәтижесінде сәйкес хабарлама шығады.

Бағдарлама алгоритмін құрылымдық бағдарламалау тұрғысынан сұлба түрінде көрсетудің екі кемшілігі бар:

1) бөлшектеудің өте төменгі деңгейін жорамалдайды, сол себепті күрделі алгоритмдердің мағынасын ашпайды;

2) басқарудың құрылымдық емес тәсілдерін қолдануға мүмкіндік береді, тіпті олар алгоритмдер сұлбасында эквивалентті құрылымдықтарға қарағанда қарапайым көрінеді.

Алгоритмді сипаттау үшін сұлбалардан басқа жалған шарттаңбаларды, Flow-формаларды және Насси-Шнейдерман диаграммаларын қолдануға болады. Олар сол негізгі сұлбаларда кешенделеді, бөлшектенудің әртүрлі деңгейін шығарады, құрылымдық емес алгоритмдерді сипаттауға мүмкіндік бермейді.

Жалған шарттаңба – алгоритмнің қалыпты мәтіндік сипатталуы (мәтіндік үгіт). Әдебиетте жалған шарттаңбалардың бірнеше нұсқасы ұсынылған. Жалған шарттаңбалардың көмегімен құрылымдық емес алгоритмді сипаттауға мүмкіндік жоқ. Жалған шарттаңбаларды қолдану бастапқы кезден-ақ жобалаушыны тек қана басқаруды берудің құрылымдық тәсілдеріне бағдарлайды, сондықтан да құрастырылатын алгоритмге қатаң сараптаманы талап етеді. Алгоритм сұлбаларына қарағанда жалған шарттаңбалар жобаланатын операциялардың бөлшектену дәрежесін шектемейді. Олар әрекеттің бөлшектену дәрежесін осы әрекет қарастырылатын және қадамдық бөлшектену әдісімен жақсы келісетін абстракция деңгейімен өлшеуге мүмкіндік береді.

2.2 мысал – А(n) массивінен берілген мәнге тең элементті іздеу алгоритмін сипаттау үшін псевдокодты қолдану (үзінді). 

i :=1

Цикл-әзір  i £ n и A(i) ¹ Y

i := i + 1

Болды-цикл

Егер i £ n

        онда Вывести «Элемент найден»

      әйтпесе Вывести «Элемент не найден»

Болды-егер

 

Flow-формалар құрылымның құрамдастығын бейнелейтін құрылымдық алгоритмді сипаттаудың бейнесызбалық үгіті. Flow-формалардың әрбір символы басқарушы құрылымға сәйкес және тікбұрыш түрінде кескінделеді. Flow-формалардың құрылымдық символ құрамдастығын көрсету үшін тікбұрыштың сәйкес аймағына кез келген басқа символдың қосып жазылуы мүмкін. Тікбұрыштардағы символдар табиғи тіл немесе математикалық үгіт мәтінінен тұрады. Тікбұрыштың өлшемі ондағы жазылған мәтін өлшемі мен құрамдас тікбұрыштар өлшемі арқылы анықталады.

2.3 мысал – А(n) массивінен берілген мәнге тең элементті іздеу алгоритмін сипаттау үшін Flow-форманы қолдану (2 сурет).

2 сурет–  Іздеу алгоритмінің Flow-формасы (үзінді)

Насси-Шнейдерман диаграммалары Flow-формалар дамуы болып табылады. Олардың Flow-формалардан негізгі айырмашылығы шарт пен тармақталу нұсқасының белгілену аймағы тікбұрыш түрінде кескінделеді. Бұл белгілену алгоритмнің толық көрінісін береді.

2.4 мысал – А(n) массивінен берілген мәнге тең элементті іздеу алгоритмін сипаттау үшін Насси-Шнейдерман диаграммасын қолдану (3 сурет).

3 сурет –  Насси-Шнейдерман диаграммасының үзіндісі

Жалған шарттаңбаларды қолдану кезіндегідей Flow-формалар немесе Насси-Шнейдерман диаграммаларын пайдаланып, құрылымдық емес алгоритмді сипаттау мүмкін емес (құрылымдық емес басқаруды беру үшін бұл үгіттерде  шартты белгілену болмайды). Сонымен қатар бұл үгіттер бейнесызбалық бола отырып, жалған шарттаңбаларға қарағанда нұсқаудың құрамдастығын өте жақсы кескіндейді.

Символдар кескінін салудың күрделілігі Flow-формалар мен Насси-Шнейдерман диаграммаларының ортақ кемшілігі болып табылады. Сондықтан да осы нотацияларды үлкен алгоритмдерді сипаттау үшін іс жүзінде қолдану қиындыққа соқтырады.

 

2.3 Бақылау  сұрақтары

2.3.1    Бағдарламалық қамтаманы дайындаудың негізгі кезеңдерін атаңыз.

2.3.2 Дайындаудың негізгі кезеңдерінде қандай есептер шешіледі?

2.3.3 Жобаны алдын ала зерттеулердің нәтижесі мен мақсаты қандай?

2.3.4 Техникалық тапсырманы дайындаудың күрделілігі неде? Олардың қай тарауы негізгі болып саналады және не үшін?

2.3.5      Бағдарламалық өнімге негізгі эксплуатациялық талаптарды атаңыз.

2.3.6       «Жоба» термині нені білдіреді? Жобаны басқару дегеніміз не?

2.3.7       Есеп деген не? Оның құрамы қандай?

2.3.8       Жобада қолдану үшін қандай ресурстар қарастырылған?

2.3.9       Есептер мен ресурстар арасындағы байланыс қалай ұйымдастырылады?

2.3.10   «Көрсетілім» термині нені білдіреді?

2.3.11  Жобаны қадағалау қалай жүзеге асырылады? Осы кезде қандай ұстанымдарды ұстану керек?

2.3.12  Кешенді жоспар деген не және оның ағымдағыдан айырмашылығы қандай?

2.3.13  MS Project құрамына қандай есеп берулер кіреді және олардың көмегімен қандай ақпаратты алуға болады?

2.3.14  MS Project бағдарламасында қандай стандартты есеп берулер қарастырылған?

2.3.15  Бағдарламалық қамтаманы егжей-тегжейлі саралау нені білдіреді?

2.3.16  Саралауды нақтылауға арналған қандай әдістер бар?

2.3.17  Алгоритмдерді сипаттау үшін қандай құралдар қолданылады?

2.3.18  Құрылымдық бағдарламаларды дайындауға алгоритмдерді сипаттайтын тәсілдердің қайсысы сай келеді?

2.3.19  Құрылымдардың қайсысы кешенді құрылымға, қайсысы қосымша құрылымға жатады?

2.3.20  В Flow-формалар мен Насси-Шнейдерман диаграммаларының көмегімен алгоритмдерді сипаттаудың кемшілігі неде?

 

 

№2 есептік-сызба жұмыс. Таңдалған бағдарламалау ортасында қолданушы интерфейсін жобалау мен жүзеге асыру

 

Жұмыстың мақсатыдайындалатын бағдарламалық өнімнің құрылымдық және функционал сұлбаларын салуға,  қолданушы интерфейсін жобалау мен бағдарламалық жүзеге асыруға машықтану.

 

3.1 Есептік-сызба жұмысқа тапсырма

Осының алдындағы жобаланған бағдарламалық өнімнің есептік-сызба жұмысы үшін:  

а) құрылымдық сұлбаны дайындау;

б) функционал сұлбаны дайындау;

в) бағдарламалау технологиясын, тілді және бағдарламалау ортасын дәйекті түрде таңдау;

г) қолданушы интерфейсін жобалау;

д) бағдарламалық жүзеге асыруды орындау (орындалатын файлды *.ехе кеңейтілуімен құру).

Тапсырманы орындауға нұсқаулар. Барлық дайындалған сұлбалар мен қабылданған шешімдерді, сонымен қатар қолданушы интерфейсін дайындаудың кезеңдерін түсіндірме хатта көрсету және тиісті түсініктемелерді келтіре отырып негіздеу.  MS Project бағдарламасында жобаның нақты жағдайы туралы ақпаратты көрсету.

 

3.2 Есептік-сызба жұмысты орындауға жалпы нұсқаулар

3.2.1 Құрылымдық және функционал сұлбаларды дайындау

Күрделі бағдарламалық қамтаманы жобалау үрдісі оның құрылымын нақтылаудан, яғни құрылымдық компоненттер мен олардың арасындағы байланыстарды  анықтаудан басталады. Құрылымды нақтылау нәтижесі құрылымдық және/немесе функционал сұлбалар түрінде және  компоненттерді сипаттау (егжей-тегжейлі саралау) түрінде көрсетілуі мүмкін.

Жасалатын бағдарламалық қамтама бөлігінің басқару бойынша өзара әсері мен құрамына әсер ететін сұлбаны құрылымдық деп атайды. Пакетте бағдарламаларды ұйымдастыру олардың арасындағы басқаруды беруді қарастырмайтындықтан, бағдарламалар пакетінің құрылымдық сұлбасы ақпаратты емес. Сондықтан да құрылымдық сұлбаларды пакеттің әрбір бағдарламасына дайындайды, ал пакет бағдарламаларының тізімі техникалық тапсырмаларда көрсетілген  функцияларға сараптама жасай отырып, анықтайды.

Бағдарламалық қамтаманың ең қарапайым түрі – құрылымдық компоненттер ретінде тек қана ішкі бағдарламалар мен ресурстар кітапханасын қоса алатын бағдарлама. Бағдарламаның құрылымдық сұлбасын дайындауды әдетте қадамдық бөлшектеу әдісімен орындайды.

Бағдарламалық жүйенің немесе бағдарламалық кешеннің құрылымдық компоненттері ретінде бағдарламалар, ішкі жүйелер, мәліметтер қоры, ресурстар кітапханасы және т.б. қызмет атқара алады. Бағдарламалық кешеннің құрылымдық сұлбасы басқаруды бағдарламалар-қадағалаушыдан тиісті бағдарламаға береді. (3.1 сурет).

3.1 сурет - Бағдарламалық кешеннің құрылымдық сұлбасына мысал

Бағдарламалық жүйенің құрылымдық сұлбасы әдеттегідей ішкі жүйенің немесе басқа құрылымдық компоненттердің бар болуын көрсетеді. Бағдарламалық жүйенің жеке бөліктерінің (ішкі жүйелердің) бағдарламалық кешеннен айырмашылығы өзара және тіпті негізгі бағдарламамен мәліметтерді белсенді алмасуында. Бағдарламалық жүйенің құрылымдық сұлбасы мұны көрсетпейді (3.2 сурет).

3.2 сурет- Бағдарламалық жүйенің құрылымдық сұлбасына мысал

Бір айнымалысы бар функцияның бейнесызбасын салу бағдарламасының алгоритмін дайындаудың құрылымдық сұлбасына мысал. Мұндағы аргументтің берілген [х1, х2] аралығында өзгеруі мен анықтаудың барлық аралығында функцияның үзіліссіз болу шарты 3.3 суретте келтірілген.

3.3 сурет- Бейнесызбаларды/функция кестелерін салу бағдарламасының құрылымдық сұлбасы

 

Сол бағдарламаның толық көпдеңгейлі құрылымдық сұлбасы келесі түрде кескінделеді (3.4 сурет):

3.4 сурет - Бейнесызбаларды/ кестелерді салу бағдарламасының толық көпдеңгейлі құрылымдық сұлбасы

Жобаланатын бағдарламалық өнімді, оның компоненттерінің өзара әрекеттесуі және сыртқы ортамен әрекеттесуі тұрғысынан толық көрсету функционал сұлбаны береді (мәліметтер сұлбасы, МЕСТ 19.701-90) – ақпараттық ағымдар сипаттауынан, ағымдағы мәліметтер құрамынан және қолданыстағы файлдар мен құрылғылар көрсетілуінен тұратын бағдарламалық қамтама компоненттерінің өзара әрекет сұлбасы. Функционал сұлбаларды кескіндеу үшін стандартпен орнатылған арнайы белгілеулерді қолданады. Мәліметтер сұлбасының негізгі белгілеуі В.3 кестеде келтірілген.  Функционал сұлбалар құрылымдық сұлбаларға қарағанда ақпаратты. 3.5 суретте бағдарламалық жүйенің құрылымдық  және функционал сұлбалары келтірілген.

Блок-схема: дисплей: Есеп беруді шығару    

 

3.5 сурет – Студенттердің үлгерімін есепке алу жүйесінің құрылымдық  және функционал сұлбалары

 

Жобаланатын бағдарламалық қамтаманы, оның компоненттерінің өзара әрекеттесуі және сыртқы ортамен әрекеттесуі тұрғысынан  толық көрсету функционал сұлбаны береді.

 

3.2.2 Жобалаудың бастапқы кезеңдерінің ұстанымды шешімі

Техникалық тапсырманы нақтылағаннан кейін ұйымдастырып, құрастырушы бағдарламалық қамтаманы құруға кіріседі. Алайда бұл кейбір ұстанымды шешімдерді қабылдауды талап етеді, бұл шешімдерге дайындалатын бағдарламалық қамтаманың сипаты мен мүмкіндігі секілді, егжей-тегжейлі саралау кезеңдерінің моделін таңдаудан бастап оны дайындау ерекшеліктеріне дейін тәуелді. Осындай шешімге жататын таңдау:

а) бағдарламалық қамтама сәулеті оның салынуындағы кешенді ұстанымдар жиынтығы;

б) пайдаланушы интерфейсінің типі (жұпыны, еркін навигациялы меню, тікелей амал-айлалар);

в) құжаттармен жұмыс технологиясы (бірқұжатты, көпқұжатты);

г) жасау амалы(құрылымды, нысанды);

д) бағдарламалау тілі мен ортасы.

Барлық қабылданған шешім бір-бірімен тығыз байланысты: сәулет типін таңдау берілген сәулетке қарай жүзеге асыру үшін қол жетерлік құжаттар жұмысының технологиясы мен интерфейсінің анықталған типін таңдауға әкеп соғады. Өз кезегінде интерфейстің анықталған типін таңдау құрау амалын, сонымен қатар бағдарламалаудың тілі мен ортасын таңдауға әсер етеді. Шешімдердің бір бөлігі технологиялық талаптар тобын құрап, техникалық тапсырмада анықталуы мүмкін, қалғандары жобалау үрдісінің бастапқы мәліметтері түрінде болатындықтан, мүмкіндігінше ертерек қабылдануы керек.

Пайдаланушы интерфейсінің негізгі кезеңдері бағдарламалық қамтаманы дайындаудың негізгі кезеңдеріне ие:

1)   есептің берілуі интерфейс типінің және оған қойылатын жалпы талаптардың анықталуы;

2)   талаптардың сараптамасы және егжей-тегжейлі саралаудың анықтамасы пайдалану сценариі мен интерфейстің қолданушы моделінің анықталуы;

3)   жобалау сұхбаттардың жобалануы мен олардың енгізу-шығару үрдісі түрінде іске асырылуы;

іске асырылу интерфейстік үрдістерді бағдарламалау мен тестілеу.

 

3.2.3 Пайдаланушы интерфейсінің  типін таңдау

Пайдаланушы интерфейсінің  төрт типін ажыратады:

а) жұпыны қосалқы режімінде пайдаланушымен өзара әрекетті ұйымдастыратын және жұмыстың бір ғана сценариін іске асыратын интерфейстер, мысалы мәліметтерді енгізу өңдеу нәтижелерді шығару (3.6 а  суретін қараңыз). Берілген интерфейспен қамтамасыз етілетін тізбектелген үрдістен бір рет ауытқуы мәліметтердің бірнеше жиынын өңдеуге арналған циклды ұйымдастыруда жатыр. (3.6, б суретін қараңыз). Қазіргі уақытта осы секілді интерфейстер бағдарламалауды үйрену үрдісінде ғана қолданылады немесе барлық бағдарлама бір ғана функцияны, мысалы кейбір жүйелік утилиттерде жүзеге асырған жағдайда ғана қолданылады.

 

Скругленный прямоугольник: Соңы

 

3.6 сурет- Жұпыны интерфейсі бар бағдарламалар алгоритмінің типтік құрылымы: а) тізбекті; б) қайталану мүмкіндігі бар

б) меню – иерархиялық құрылымдарға ұйымдастырылатын жұмыс операцияларының көптеген сценарилерін іске асыратын интерфейстер, ал әрекеттер тізбегі пайдаланушымен анықталады, мысалы, «вставка»: «вставка файла», «вставка символа» және т.б. Интерфейс-менюдің жұпыны интерфейстен ерекшелігі пайдаланушыға оған бағдарламамен шығарылған арнайы тізімнен қажетті операцияеы таңдауға мүмкіндік береді.

Бірдеңгейлі және иерархилық менюді ажыратады. Нұсқалар 5-7 көп болмағанда есептеуіш үрдісін салыстырмалы қарапайым басқару үшін біріншілер  пайдаланады және олар бір типті операцияларды мысалы, «Создать», «Открыть», «Закрыть» және т.б. іске қосады.  Нұсқалардың саны немесе олардың көрнекі айырмашылықтары көп болғанда, мысалы, файлдармен операциялар және осы файлдарда сақталатын мәліметтермен операциялар екіншілер пайдаланылады. 3.7 суретте бірдеңгейлі менюді ұйымдастыратын бағдарлама құрылымы көрсетілген.

 

3.7 сурет- Бірдеңгейлі менюі бар бағдарлама алгоритмінің құрылымы

Берілген типтің интерфейстерін бағдарламалауға қолданылатын құрылымдық амал шеңберінде іске асыру қиынға соқпайды. Қазіргі уақытта меню-интерфейстерді сирек қолданады және тек қана салыстырмалы қарапайым бағдарламалық қамтама немесе құрылымдық технология бойынша және арнайы кітапханаларды қолданбай орындалуы тиіс дайындамалар үшін ғана пайдаланады.

в) еркін навигациямен – көптеген сценарийлерді жүзеге асыратын интерфейстер, иерархия деңгейіне тәуелді емес операциялар мен жұмыстың нақты қадамында көптеген мүмкін болатын операцияларды жорамалмен анықтау. Оларды сонымен қатар бейнесызбалық пайдаланушы интерфейсі (GUI - Graphic User Interface) немесе WYSIWYG (What You See Is What You Get – не көрсең соны аласың, яғни, пайдаланушы экранда не көрсе, баспаға соны шығарады. Берілген типтің интерфейстері жоғары рұқсат етілген қабілеттілігі бар бейнесызбалық экранда қолдануға бағытталған. Бейнесызбалық интерфейстер бағдарламалық қамтамамен интерактивті өзара әрекет тұжырымдамасын қолдайды, бұл өз кезегінде пайдаланушымен визуалды кері байланысты жүзеге асыра отырып, экрандағы нысандар мен ақпаратқа тікелей амал жасауы мүмкін. Сонымен қатар берілген типтің интерфейстері бағдарламалардың  арасына ақпаратты тұрып, олардың үйлестік тұжырымдамасын қолдайды.

Еркін навигациялы интерфейстің меню-интерфейстен айырмашылығы– түрлі интерфейстік компоненттер арқылы құруға болатын операциялардың нақты жағдайында кез келген жіберілімдерді жүзеге асыра алу мүмкіндігі. Мысалы, Windows интерфейсін іске асыратын бағдарламалар терезесі әдетте әртүрлі типтің менюінен (түймешікті, контексті, ниспадающее), сонымен бірге, енгізілетін мәліметтердің түрлі тектес компоненттерінен тұрады. Менюге келесі операцияны таңдау жүгірткі секілді пернетақта көмегімен де жүзеге асырылады.

Пайдаланушымен өзара әрекет үрдісінде өзгеру қабілеттілігі берілген тип интерфейстерінің айтарлықтай ерекшелігі болып саналады. Ол нақты жағдайларда ғана мәні болатын операцияларды ұсынады. Жаңалыққа толы бағдарламалау мен нысанды-бағытталған кітапхананы қолдана отырып, еркін навигациялы интерфейстер іске асырылады. Осылайша бағдарламалық қамтама дайындаудың визуалды ортасын қолдануды тұспалдайды. Берілген форманың интерфейстері негізінен Windows-қосымшаны пайдаланады.

г) тікелей амал-айла нысандармен болатын операцияларда көрсетілген көптеген сценарийлерді іске асыратын интерфейстер. Негізгі операциялар жүгірткі көмегімен  нысандар пиктограммасын орналастырумен айналысады, берілген форма еркін навигациялы интерфейске қосалқы Windows операциялық жүйесінің интерфейсінде іске асырылады. Бұл нысанды-бағытталған интерфейстердің жалғыз өкілі. Интерфейстің бұл түрі пайдаланушының бағдарламалық қамтамамен өзара әрекетінің жүзеге асырылуын пәндік аймақ нысандарына сәйкес таңдау құралдарымен пиктограмма орналасуы арқылы түсіндіреді. Осындай интерфейстердің жүзеге асырылуы үшін жаңалыққа толы бағдарламалау мен нысанды-бағытталған кітапхана пайдаланылады.

Пайдаланушы интерфейсінің типі көбінесе тип қатарында айтарлықтай өсетін дайындаманың қиындығы мен еңбек сыйымдылығын анықтайды. Сондықтан да бағдарламалауға оқытудың алғашқы кездерінде пайдаланушыға ыңғайсыз болса да жұпыны интерфейстер мен менюлерді іске асырады.

Интерфейс типін таңдауда сонымен қатар құжатпен жұмыс жасау технологиясын таңдау да бар. Екі технологияны ажыратады:

-  бірқұжатты, яғни бірқұжатты интерфейс (SDI - Single Document Interface);

-  көпқұжатты, яғни көпқұжатты интерфейс (MDI - Multiple Document Interface).

Егер бағдарламалық қамтама бір мезгілде бірнеше құжатпен, мысалы бірнеше мәтінмен немесе бірнеше кескіндермен жұмыс жасау қажет болса, онда көпқұжатты технология қолданылады. Егер бір мезгілде бірнеше құжатпен жұмыс жасау қажет болмаса, онда  бірқұжатты технология қолданылады. Заманауи кітапханалар қолданысымен көпқұжатты интерфейстің еңбек сыйымдылығы бірқұжаттыға қарағанда  3...5 % жоғары. Тип таңдауы еңбек сыйымдылығына айтарлықтай әсер етеді.

Берілген есеп жүйесін жобалауда сәулет типі ретінде бір қолданушылықты таңдаудың маңызы бар, себебі тапсырыс берушінің талабы жүйенің желілік жұмысын қарастырмайды. Үлгерім есебін алу жүйесін жобалауда (техникалық тапсырманы дайындаудың мысалы Б қосымшасында келтірілген) тип ретінде бір пайдаланушы сәулетін таңдаудың мәні бар, себебі тапсырыс берушінің талабы жүйенің желілік жұмысын қарастырмайды.  Интерфейс типі – тату қолданушыға еркін навигациялы интерфейс. Құжатпен жұмыс технологиясы – бірқұжатты, өйткені бұл жағдайда бірнеше құжатпен бір мезгілде жұмыс жасау тапсырыс берушімен келісілмеген және міндетті болып саналмайды.

 

3.2.4 Жетілдіру амалын таңдау

Егер еркін навигациялы немесе тікелей амал-айла интерфейсі таңдалса, онда жоғарыда көрсетілгендей, бұл  жаңалыққа толы бағдарламалау мен нысанды амалды қолдануды растайды. Өйткені Visual C++, Delphi, Builder C++ және осы секілді визуалды бағдарламалаудың заманауи орталары интерфейстік компоненттерді кітапханалық кластардың нысандары түрінде береді. Пәндік аймақтың күрделілігіне байланысты  бағдарламалық қамтама нысандар қолданысымен де, соған сәйкес кластар мен таза процедура қолданылып та жүзеге асырылады. Мұнда жеңілдік басқа ұстаныммен құрылған Perl сияқты Интернет-қосымшаның арнайыланған тілдерін қолдану мүмкіндігін береді.

Жұпыны интерфейс пен меню типінің интерфейсі құрылымдыққа да, дайындамаға қолданылатын нысанды амалға да үйлесімді. Сондықтан да қосымша ақпарат қолданылып амал таңдалады.

Пәндік аймақтың нысанды құрылымы айқын көрінген жағдайда өте үлкен бағдарламалық жүйелерді (әмбебап бағдарламалау тілінің 100000 астам операторлары) дайындау үшін нысанды амалдың тиімділігін практика дәлелдеді. Сонымен бірге дайындалатын бағдарламалық қамтаманың тиімділігіне қатаң шектеулерде, мысалы, нақты уақыт жүйесін дайындауда нысанды амалды байқап қолдану қажеттігін ескеру. Ал басқа жағдайларда амалды таңдау құрастырушының еркінде қалады.

Мысалы, үлгерім есебін алу жүйесін жобалауда интерфейс типін таңдауға сәйкес болатын дайындамаға нысанды амалды таңдаудың мәні бар.

3.2.5 Бағдарламалау орталарын таңдау

Арнайы мәтіндік редактордан, құрамдас компилятордан, жинақтаушыдан, жөндеушіден, анықтама жүйесінен және бағдарламаларды жазу мен жөндеу үрдісін қысқартатын басқа да  бағдарламалардан тұратын бағдарламалық кешенді бағдарламалау ортасы деп атайды.

Соңғы кездері жоғарыда аталған визуалды бағдарламалау ортасы кең таралған. Бұл бағдарламалау ортасы бағдарламалаушыға арнайы компоненттер кітапханасынан кейбір кодтарды алуына мүмкіндік береді, осылайша нысанды-бағытталған бағдарламалаудың дамуына ықпал етеді.

Delphi, Borland (Inprise Corporation) фирмасынының өнімі C++ Builder, Microsoft фирмасынының өнімі Visual Basic, IBM фирмасынының өнімі Visual Ada және т.б. ең жиі қолданылатын визуалды орталар болып табылады.

Осы фирмалардың негізгі визуалды орталарының арасында Delphi, C++ Builder и Visual C++ айтарлықтай ерекшеленеді: Microsoft фирмасынының визуалды орталары «Windows аясында» бағдарламалаудың ең төменгі деңгейін қамтамасыз етеді. Бұл олардың жетістігі мен кемшілігі болып табылады. Жетістігі – «стандартты емес» жағдайлардың, яғни компоненттер кітапханасының құрастырушылары қарастырмаған жағдайлардың туындау ықтималдығының азаюы, ал кемшілігі – Delphi немесе C++ Builder визуалды орталарымен жұмыс жасап, «әуресі көп» жұмыстан құтылған бағдарламалаушыны айтарлықтай әуреге салады. «Төмен деңгейлі» бағдарламалауға негізделген Visual C++ интерфейсі де осындай жайға тап келтіреді.

Жалпы алғанда, егер осы орталар арасындағы таңдау туралы  сөз болса, онда ол жоба сипатымен белгілі бір дәрежеде анықталуы мүмкін.

Бағдарламалауға жағдай амалын қолданатын және негізінен еркін навигациялы интерфейстердің құрылуына есептелген, бағдарламалық қамтама дайындамасының нысанды-бағытталған визуалды орталарының пайда болуы осы тәрізді интерфейстер дайындамасының еңбек сыйымдылығын айтарлықтай төмендетті және тікелей амал-айла интерфейстерінің жүзеге асуын жеңілдетті.

Осылайша интерфейстердің осы типтерін таңдау бағдарламалық қамтама дайындамасының визуалды орталарының бірін қолдануды жорамалдайды. Егер сәйкес орталар құрастырушыға қол жеткісіз болса, онда осы тәріздес интерфейстердің құрылуына үлкен еңбек жұмсалатынын ескеру керек.

 

3.2.6 Интерфейстерді жобалауда адамның психикалық әрі физикалық ерекшеліктерін есепке алу

Пайдаланушы интерфейстерін жобалауда адамның ақпаратты қабылдауымен, есте сақтауымен және өңдеуімен байланысты кейбір психикалық әрі физикалық ерекшеліктерін ескеру қажет.

Мысалы, 5 цифрдан (7 - 2) тұратын санды немесе кейбір әріптер жиынын есте сақтап, басқа экранға көшіру секілді әрекеттерді орындау көптеген адамдарға қиын болатыны белгілі.

Адам санасындағы түс эмоциялық өңмен тұтасады. Жылы түстердің (қызыл, сары, жасыл) адамды әсерлендіріп, ал суық түстердің   (көк, сұр, күлгін) тыныштандыратын білеміз. Тіпті түс адам үшін өте күшті тітіркендіргіш болып табылады, сондықтан да интерфейсте түсті қолданғанда абай болған жөн. Өңдердің құйылуы көңіл аудартады, бірақ тез жалықтырады. Сол себепті пайдаланушы ұзақ жұмыс жасайтын түспен терезені ашық бояудың қажеті жоқ. Түстерді қабылдаудағы аданың жеке ерекшеліктерін ескеру керек, мысалы, шамамен әрбір оныншы адам қандай да бір түстерді нашар ажыратады, сондықтан да жауапты жағдайларда пайдаланушыға түстерді түзету мүмкіндігін беру қажет.

Интерфейстердегі дыбысты әдетте әртүрлі мақсаттарға қолданады: назар аударту үшін, пайдаланушының кейбір жай-күйін қамтамасыз ететін түс ретінде, қосымша ақпарат көзі ретінде және т.б. Дыбысты қолдана отырып, көптеген адамдардың дыбыстық сигналдарға сезімтал екендігін, яғни қатенің болуына әкеп соғатынын ескеру керек. Сол себепті дыбыстық сүйемелдеуді құрғанда оны өшіру мүмкіндігі мақсатты түрде қарастырылады.   

Осыдан өзге адамға уақытты өзінше қабылдау тән. Ішкі уақыт қабылданатын әрі өңделетін ақпараттың  жылдамдығымен және санымен байланысты деп есептеледі. Қолы босамайтын адам уақытты байқамайды. Бірақ күту жағдайында уақыт созылып кетеді. Осы кезде ми ақпаратқа толы болады екен. Келіп түскен ақпарат ұзақ өңделеді, сол себепті уақыт жүрісі бәсеңдейді. Осылайша адам шаршайды.  1-2 секунд күту кезінде пайдаланушы «ойын жоғалтуы», яғни  алаңдап қалуы мүмкін, бұл -жұмыстың нәтижесіне кері әсер етіп, шаршай бастайды, өйткені әрбір күтуден кейін жұмысты іске қосуға көп күш жұмсалады. Күту уақытын қысқартуға болады, бірақ пайдаланушыны жұмысынан адаңдатпау керек. Мысалы, оған ойлану үшін қандай да бір ақпаратты беруге болады. Мүмкіндігіне қарай аралық нәтижелерді пайдаланушыға мақсатты түрде шығару: біріншіден, ол ойланып, шешім шығарады, екіншіден, сол бойынша ол болашақ нәтижелерді бағалай алады және оны қанағаттандырмаған  операцияларды ауыстыра алады.

Пайдаланушының  «көңіл көтеруі»  үшін пайдаланылатын анимацияның бірі белгілі, мысалы  Windows операциялық жүйесінде файлдарды көшіргенде ұшатын беттері бар «ролик». Алайда қандай да анимацияны бірінші рет қарағанда бұл қызық көрінеді, ал Интернеттен ақпаратты алғанда «ұшатын» беттерді жарты сағат бойы тамашалау жалықтырып жібереді.

Күту кезінде туындайтын мезі етуді азайту үшін негізгі ережені сақтау керек: пайдаланушыға оның тапсырыс берген операцияларының орындалуы көп уақытты қажет ететіндігін хабарлау. Әдетте бұл үшін қалған уақыт индикаторлары, Интернеттегідей қозғалыссыз қалған нысандар, жүгірткінің құмсағат түріне өзгеруі қолданылады. Жүйенің жұмысты жалғастыруына дайын кезін дәл белгілеу өте маңызды. Ол үшін экранның сыртқы түрінің айтарлықтай өзгерісі қолданылады.

 

3.2.7 Бағдарламаны рәсімдеу стилі

Жобаны іске асыру үшін жазылған бағдарламаның кез келген модулін бірнеше рет қарауға тура келеді. Сол себепті бағдарлама жазудың жақсы стилін ұстанған дұрыс. Технологиялылық тұрғысынан қарағанда бағдарламаны рәсімдеу стилі жақсы деп саналады, себебі автордың өзіне қандай болса, басқа бағдарламаны тексеретін немесе түрлендіретін бағдарламалаушылардың қабылдауын да сондай жеңілдетеді. «Бағдарламаларды адамдардың оқитынын естен шығармаңыздар» деп үндеді бағдарламалау мәселелеріне арналған белгілі бір монографияның авторы Д. Ван Тассел.

Бағдарламаны рәсімдеу стиліне жататындар:

а) нысандар аталуының тәртібі (айнымалылардың, функциялардың, типтердің және т.б.);

б) модульдерді рәсімдеу тәртібі;

в) модуль мәтіндерін рәсімдеудің стилі.

3.2.7.1    Бағдарламалық нысандардың атын таңдау кезінде келесі тәртіпті сақтау керек:

а) нысанның атауы, оның мазмұнына сай болуы қажет, мысалы:

Maxltem ең үлкен элемент; Nextltem - келесі элемент;

б) егер бағдарламалау тілі мүмкіндік берсе, бірнеше сөзден тұратын атауды визуалды бөлу үшін «_» символын қолдануға болады, мысалы Max_Item, Next_Item;

в) аттардың жақын жазылмауын қадағалау, мысалы:

Index и InDec.

 

3.2.7.2 Әрбір модуль келесі ретпен тақырыптың алдын алуы тиіс:

а) модуль аты;

б) оның тағайындалуының қысқаша сипаттамасы;

в) өлшем бірліктерінің көрсетілуі бар кіретін және шығатын параметрлердің қысқаша сипаттамасы;

г) қолданылатын (шақырылатын) модульдер тізімі;

д) алгоритм (әдіс) және/немесе шектеулердің қысқаша сипаттамасы;

е) бағдарлама авторының аты-жөні;

ж) ақпаратты идентификациялайтын (нұсқа нөмірін және/немесе соңғы түзетулердің уақытын).

  

3.1 мысал – Бағдарлама модулінің рәсімделуі ( 3.8 сурет )

{************************************************************}

{* Функция: Max_Array(n:word; A:array of real):real      *}

{* Маќсаты: массивтіѕ еѕ їлкен элементін аныќтау *}

{* Бастапќы мјліметтер:                *}

{*    n – элементтер саны            *}

{*    A – элементтер массиві          *}

{* Нјтиже: еѕ їлкен элементтіѕ мјні     *}

{* Шаќырылатын модулдер: жоќ               *}

{* Алгоритмніѕ сипатталуы: элементтер жорамал

максимуммен салыстырылады, n>0         *}

{* Уаќыты: 25.12.2007 Версия 1.01            *}

{* Автор: Иванов А.В.                 *}

{* Тїзету: жоќ                  *}

 

{************************************************************}

 

 

 

 

 

 

3.8 сурет – Бағдарлама модулін рәсімдеу

 

3.2.7.3 Модуль мәтінін рәсімдеу стилі

Модуль мәтінін рәсімдеу стилі бағдарлама мағынасын түсінуді жеңілдететін жолдар мен түсініктемелердің жіберілуі мен жаңа жолды қолдануды анықтайды. Модульдің бөлігін визуалды бөлінуі үшін жолдар мен түсініктемелер жіберілуі қолданылады.

3.2 мысал – С++ түсініктемелерінің қолданылуы

void main ()

{

// айнымалылар инициализациясы

// өрнектің шешілуі

cout<<”Нәтиже=”<<y;

// нәтижені көрсететін айнымалыға операция

cout<<” Нәтиже operation”<<y;

           }

Pascal, C++ және Java тәрізді тілдерге жаңа жолдар қолдану бағдарлама құрылымын түсіндіруге мүмкіндік береді: әдетте қосымша жаңа жол тіл операторларының салынуын белгілейді.

3.3 мысал – С++ тілінде қосымша жаңа жолдарды қолдану

void main ()

{                       // функция басы

   int k, y;

      for (k=1;k<=10;k++)

         {                      // цикл денесінің басы

if (y*y-5>60)   break;   

   cout<<y*y-5<<endl       

     }                      // цикл денесінің соңы

}                       // функция соңы

Түсініктемеге байланысты іс біршама қиындау. Бағдарламаның әрбір операторын ағылшын тілінен аудару керек емес: кез келген тіл білетін бағдарламалаушы бағдарламадан операторларды оңай оқиды. Ортақ әрекет байланыстырған әрекеттер мен операторлар тобының орындалу мақсаты түсіндірілуі тиіс, яғни түсініктеме қосымша (төтенше) ақпараттан тұруы қажет.

3.4 мысал – Төтенше ақпараты бар түсініктемені қолдану

// егер шарт орындалмаса, шартты тексеру мен шығу

if (y*y-5>60)  

    {

cout<<”Көрсетілген диапазонға мән кірмейді”<<endl;

break; }

 

Төменгі деңгейдегі тілдер, мысалы, Ассемблер үшін түсінуді жеңілдететін стильді ұсыну қиынырақ. Бұл жағдайда операторлар блогына және әрбір операторға түсініктемелер беру орынды болып қалады.

 

3.3 Бақылау сұрақтары

3.3.1 Бағдарламалық қамтаманың құрылымдық нені білдіреді?

3.3.2 Функционал сұлбаның ерекшелігі неде?

3.3.3. Қолданушыға интерфейс типі қалай таңдалады?

3.3.4 Қолданушы интерфейстерін дайындауда адамның қандай ерекшеліктерін ескеру керек?

3.3.5 Тікелей амал–айла интерфейсінің  қандай ерекшеліктері бар?

3.3.6 Еркін навигациялы интерфейстің ерекшелігі неде?

3.3.7 Бағдарламалу ортасын қалай дұрыс таңдау керек?

3.3.8  Дайындамаға амалды таңдауда қандай қиындықтар кездеседі? 

3.3.9 Жұпыны интерфейстерді қандай жағдайларда қолданады?

3.3.10 Функционал сұлбалар қалай салынады?

3.3.11  Жобалаудың алғашқы кезеңдерінің қайсысы негізгі саналады және не үшін?

3.3.12       Бағдарламалау тілін таңдағанда нені басшылыққа алу керек?

3.3.13       Бағдарламаны рәсімдеудің «жақсы стилі» деп нені атайды?

3.3.14       Бағдарламаның нысандарына ат берудің тәртібі қандай?

3.3.15       Модель мәтіндерін рәсімдеудің ерекшелігі қандай?

3.3.16       Пайдаланушының интерфейсін дайындауда адамның психофизикалық ерекшелігі қандай рөл атқарады?

3.3.17       Пайдаланушыға түс пен дыбыс қалай әсер етеді?

3.3.18       Интерфейстерді дайындауда күту уақытының мәселесін шешкен кезде қандай ұсыныстарды ұстанған жөн? 

3.3.19       Құжатпен жұмыс жасаудың қандай технологиялары бар?

3.3.20       Интерфейс-менюдің ерекшеліктері неде?

 

 

№ 3 есептік-сызба жұмыс. Бағдарламалық өнімді тестілеу мен жөндеу. Бағдарламалық құжаттаманы құрастыру

 

Жұмыстың мақсатыбағдарламалық қамтаманы тестілеу мен жөндеу әдістерін қолдана білуге, сонымен қатар бағдарламалық құжаттаманы құрастыруға машықтану.

 

4.1 Есептік-сызба жұмысқа тапсырма

1 және 2 есептік-сызба жұмыстарда дайындалған бағдарламалық өнім үшін:

а) бағдарламаны жөндеуді орындау;

б) сәйкес кестені толтырып,   бағдарламаны тестілеуді орындау (В.4 кестеге қараңыз);

в) шыққан қателер мен берілмеген есеп берулерді түзеу;

г) пайдаланушы басшылығы мен жүйелік бағдарламалаушы басшылығын құру.

Тапсырманы орындауға ұсыныстар. Есептік-сызба жұмыстың түсіндірме хатына басшылық дайындамаларын, сонымен қатар тестілеу кестесін кіргізу. Анықтама материалдары бағдарламада  болуы мүмкін немесе жеке қосалық файл түрінде орындалуы мүмкін. Анықтама мәтінін түсіндірме хаттың тиісті тармағына кіргізу керек. Қосымша ақпарат (автор туралы, пәндік аймақ бойынша анықтамалық мәліметтер және т.б.) әркімнің қалауы бойынша толықтырылады.

 

4.2 Есептік-сызба жұмысты орындауға жалпы ұсыныстар

4.2.1 Жөндеу

Жақсы бағдарламалаушылар бағдарламаны жөндеуге көп уақыт жұмсай отырып, өз қателіктерінен үйренуге тырысады. Әрбір табылған қате келешекте осындай қатені болдырмауға, ал қайта пайда болған жағдайда қалай түзетуге үйретеді. Жөндеу күрделі және ұзақ уақытты алуы мүмкін, сондықтан да оның көп бөлігін әрекетсіз ету.

Негізгі бағдарламалау тілдерінің компиляторлары әдетте бағдарламалау ортасының құрамына жиі кіретін күрделі жөндеушілермен қойылады. Жөндеушілер бастапқы кодты, компиляцияны, орындау мен жөндеуді құрады және түзетеді. Бағдарламаны қадаммен, яғни бағдарламаның белгілі бір жолдарында аялдамалар жасалуымен немесе қандай да бір шартқа жетуде оператордан кейін операторды немесе функциядан кейін функцияны орындау үшін  жөндеушілер өздеріне бейнесызбалық интерфейсті қосады. Олар сонымен қатар айнымалылар мәнін қалыптау мен кескіндеу мүмкіндігін береді. Егер мәселенің бар екендігі нақты белгілі болса, жөндеушіні қолдануға болады. Бағдарламаны орындағанда бірнәрсе ойдағыдай болмаса, кейбір жөндеушілер автоматты түрде қосылады. Әдетте бағдарлама кенеттен ақталса, бағдарламаның қай жерінде орындалғанын тез табуға болады, тіпті сол сәттегі орындалып жатқан функциялар тізбегін қарап шығуға болады (бұл «шақырулар стегін қарау» деп аталады), сонымен қатар жергілікті және аумақты айнымалылардың мәндерін кескіндеу. Қатені шығару үшін осы ақпарат та жеткілікті. Олай болмаған жағдайда бағдарламаны қадамдық режіммен қайта іске қосып, қатенің қайдан басталғанын білуге болады. Дұрыс бағдарлама ортасында, тәжірибелі пайдаланушының қолында, жақсы жөндеуші жөндеуді тиімді әрі сездіртпей тез жасайды.

Алайда аз таралған бағдарламалау  тілдерінің кейбіреуінде жөндеушілер жоқ немесе жөндеудің жеке мүмкіндіктерімен қамтылған.

Жөндеуші жоқ болса да немесе мәселе өте қиын болса да, жөндеуді тиімді әрі сездіртпей тез орындай алатын техникалық тәсілдер бар. Олар сонымен қатар жөндеушіні қолданудың өнімділігін арттыруға көмектеседі, өйткені бұл тәсілдер негізінен қателер туралы талқылаулармен  және олардың пайда болуының ықтимал себебімен байланысты.

Егер бағдарлама қайдағы «қоқысты» қағазға шығарып немесе «тұрып қалса» не істеу керек? Жаңадан бастаушылар болған жағдайға әдетте өзінің кодын емес компиляторды, кітапхананы немесе тағы бірдеңені айыптауы мүмкін. Тәжірибелі бағдарламалаушылар мәселенің өзі жіберген қатеде екенін біледі.

Бақытқа орай көптеген қателер қарапайым, оларды қарапайым тәсілдердің көмегімен табуға болады. Жұмыстың қате нәтижелерін үйреніп, олардың не себепті туындайтынын білу жеткілікті. Бағдарламаның кенеттен аяқталуы алдындағы жөндемелі тапсыруды қарап шығу және егер мүмкін болса жөндеушіден шақырулар стегін алу. Осыдан кейін бағдарлама жағдайын ұғына отырып, қателердің себебі туралы ойлау.

Жөндеу үрдісі кері трассировкадан (backward reasoning) тұрады— жағдайды кері ретпен қадағалау. Себебін ашу үшін, нәтижеден мүмкін болатын себепке дейінгі кері жолды оймен жүріп өту керек. Толық түсіндіру бар болған кезде және нені түзету керектігі анықталғанда басқа да қателер табылуы мүмкін. Сондықтан да профессионалдармен ұсынылған бірқатар ережелерді ұстанған жөн.

1)       Таныс жағдайларды іздеңіз. Осы жағдайдың сізге белгілі екендігіне көз жеткізіңіз. «Мен мұны көргенмін»түсіну осы фразадан басталады, ал кейде тіпті жауап туындайды. Әдеттегі қателердің айқын ажыратуға болатын белгілерге ие. Мысалы, инициализацияланбаған жергілікті айнымалылар - айқын ажыратуға болатын қателердің бірі. «Қоқыстан» туындаған жадының осы жерінде басқа айнымалыдан қалған өте үлкен мән нәтиже ретінде жиі болады. Егер сіз осы ескертуді іске қоссаңыз, кейбір компиляторлар ескертеді, бірақ олар жағдайлардың кейбір бөлігін қадағалай алмайды.

2)       Ең соңғы өзгертуді тексеріңіз. Оның мәні неде? Егер дайындау үрдісінде сіз бір бөлікті бір рет қана тексерсеңіз, онда қате жаңа кодта немесе жаңа кодтан қолданылатын ескі кодтың бөлігінде болады. Соңғы өзгертуді жіті қарап шығыңыз, бұл мәселені шешуге көмектеседі. Егер қате жаңа версияда пайда болып, ескісінде болмаса, онда жаңа код мәселенің бөлігі болып табылады. Бұл дегеніміз сіздің дұрыс деп есептейтін бағдарламаның алдыңғы нұсқасын келесімен салыстыру үшін сақтауыңызды қажет етеді. Сонымен қатар қателерді түзеген кезде ақпаратты қайта ашып отырмау үшін сізге өзгертулер мен түзетілген қателерді жазып отыруға тура келеді.  Мұнда бастапқы мәтіндерді бақылау жүйесі мен басқа да тарихты сақтау механизмдері пайдалы.

3)       Бір қатені екі рет қайталамаңыз. Қатені түзегеннен кейін, осындай қатені бұрында жасамағаныңызды есіңізге түсіріңіз. Қарапайым кодта әдетке айналған қателер болуы мүмкін, сол себепті назар аударуды әлсіретуге әкеледі.

4)       Жөндеуді кейінге қалдырмаңыз. Шектен тыс асығушылық басқа да жағдайларға зиянын тигізуі мүмкін. Пайда болған қатені назардан тыс қалдырмаңыз: оны тап сол сәтте қадағалаңыз, себебі кейін ол туындамауы мүмкін. Мысал - «Mars Pathfinder» космос стансасын ұшырғанда болған атақты оқиға. 1997 жылы шілде айында мінсіз «жерге қонудан» кейін  станса компьютерлеріне күніне бір рет қайта іске қосылу әдетке айналды, бұған инженерлер дағдарып қалды. Олар қатені қадағалағанда онымен кездескендерін түсінді. Ұшыру алдындағы тексеру кезінде осындай қайта іске қосылулар болды, бірақ инженерлер басқа мәселелермен айналысып жатқандықтан оған мән бермеді. Енді оларға мәселені шешуге тура келді. Машина ондаған миллион қашықтықтықта тұрғандықтан қатені түзеу айтарлықтау қиын болды.

5)       Шақырулар стегін пайдаланыңыз. Жөндеушілер бағдарламаға  жұмыс жасау үрдісінде де қатынас құра алса да, оларды қолданудың негізгілерінің бірі бағдарламаның «өлі» жағдайын зерттеу болып табылады. Қате пайда болған бастапқы мәтіннің жол нөмірі немесе шақырулар стегінің тілімі — бұл ең пайдалы өнделетін ақпарат. Аргументтің мүмкін емес мәні (нөлдік көрсеткіштер, үлкен емес болуы тиіс орасан зор бүтіндер, немесе оң мәндер болуы тиіс теріс мәндер, әліпби емес символдардан тұратын жолдар) жақсы  кеңес беруші бола алады. Жөндеушіні қателескен жер туралы қосымша ақпарат бере алатын жергілікті және ауқымды айнымалылар мәндерін кескіндеу үшін де пайдалануға болады.

6)       Түзеу алдында кодты оқыңыз. Тиімді, бірақ өз деңгейінде бағаланбаған жөндеу тәсілдерінің бірі — кодқа түзетулер енгізер алдында оны мұқият оқып, ойлану. Кейде пернетақтадан бағдарламаны қайта теріп, қатенің өздігінен жоғалғандығын көргің келеді. Дегенмен де, сіз ненің сынғандығын білмейтін шығарсыз, бірдеңені өзгертем деп, басқа бірнәрсені сындыруыңыз мүмкін. Қағазда басылған кодтың мәселе тудырған бөлігі экрандағыдай көрінбегендіктен көп ойлана қоймассыз. Алайда листингтерді жиі қағазға шығармаңыз. Бүтіндей бір бағдарламаны баспаға шығарып көп қағазды шығындайсыз, ал осы қағаздың арасынан бағдарлама құрылымын көру әлдеқайда қиын. Өзгертулер енгізе бастағанда қағазға басылғандар ескіреді. Үзіліс жасаңыз. Кейде бастапқы мәтіннен шын мәнінде жазғаныңызды емес, көргіңіз келгендерді көруіңіз мүмкін. Мәтіннен азғана алшақтау, сіздің түсініспеушілігіңізді жұмсартады және оған қайта оралғанда кодқа ол өзі туралы айтуға көмектеседі. Бірден қайта түзету ниетімен күресіңіз: ойлану жақсы қасиет.

7)       Өз кодыңызды басқа біреуге түсіндіріңіз. Басқа тиімді тәсіл -  өз кодыңызды басқа біреуге түсіндіріңіз. Мұндай түсіндіру өз қатеңді өзіңнің көруіңе жиі көмектеседі. Бір университеттің компьютер орталығындағы қолдау орталығының жанында қонжық отырды. Құпия қателермен кездескен студенттер алдымен осы қонжыққа қателерді түсіндіріп, содан кейін ғана кеңесшіден кеңес алған.

Жөндеушілер – қателерді табатын жалғыз құрал емес. Әртүрлі бағдарламалар көлемді кодты өңдеуге көмектеседі, ал ол өз кезегінде қызықтыратын бөлікті іздейді,  ерекше бөлікті табады және шығатын мәліметтерді мейлінше қарапайым әрі түсінікті формада көрсетеді. Осындай бағдарламалардың көпшілігі утилиттің стандартты жиынына кіреді, басқалары нақты қатені табу үшін немесе белгілі бір бағдарламаны саралау үшін арнайы жазылады. Жөндеуге дұрыс амал жасау мәселені шешуді рахат сезіміне айналдырады.  Жөндеу жиі көрсетіп отыруға тура келетін өнер болып табылады. Қатенің тіпті болмағаны жақсы болар еді, сондықтан да ең басынан дұрыс код жаза білуге тырысу керек. Жақсы жазылған код аз қатеден тұрады, ал егер бар болса, онда оны табу әлдеқайда оңай.

4.2.2 Тестілеу

Тестілеу мен жөндеу әркез бірге айтылады, алайда бұл екеуі екі бөлек нәрсе. Қарапайым тілмен жөндеушіні бағдарламаның жұмыс істемейтіні белгілі болғанда орындалатын әрекет деп атауға болады. Тестілеу – бұл жұмыс жасайды деп есептелетін бағдарламадан қатені табуға бағытталған жүйелі әрі тізбекті әрекеттер. 

Эдсгеру Дейкстрдің  белгілі сөзі келтіре кетсек: «тестілеу қатенің бар екендігін көрсетеді, ал оның жоқтығын көрсетпейді». Ол бағдарламаны құрушылардың бағдарламаны қатесіз жазып, тестілеудің қажеттілігі болмайтындығынан үміттенеді. Бұл, әрине, тамаша мақсат, оған жетуге ұмтылу керек, бірақ қазіргі кездегі (коммерциялық) бағдарламалар үшін бұл мүмкін емес.

Кодтың қордаланған мәселелері туралы ойлану әрқашанда пайдалы. Қарапайымнан  құйтырқы мәтіндерге дейінгі жүйелік тестілеу бағдарламаның ең басынан-ақ  дұрыс болғандығын және жетілу деңгейі бойынша осылай болып қала беретіндігіне көз жеткізуге мүмкіндік береді. Автоматтандыру іш пыстыратын қолмен тестілеуді, белсенді автоматты тестілеуге ауыстырады. Бағдарламалаушыларды тәжірибе үйреткендей көптеген тәсілдер мен айлалар бар.

Қатесі жоқ кодты жазудың бір тәсілі — оны бағдарламалы ету. Кейбір тапсырмалардың бағдарламалауға түсінікті болғаны соншалықты, кодты жазу жұмысы механикалық болып көрінеді, оны маханизмдеу керек. Бағдарламаны арнайы тілде жазылған егжей-тегжейлі саралаудан ажырататын ететін кез де болады.

Мамандарман қалыптасқан тәртіп жөндеу үрдісі үшін де бар:

1)  Код жазуда тестілеңіз. Мәселенің ертерек табылған дұрыс. Егер сіз өзіңіздің жазып отырғаныңыз туралы әрқашанда ойлап отырсаңыз, онда бағдарламаны құру кезеңінде, оның қарапайым құрылымын бақылай аласыз. Нәтижесінде сіздің кодыңыз компиляциялану алдында тестілеудің бір айналымынан өтеді. Қателердің анықталған түрлері ешқашанда пайда болмайды.

2)  Кодтың шекаралық шартын тестілеңіз. Шекаралық шартты тестілеу тестілеудің ең маңызды әдісі болып табылады: кодтың шағын бөлігін, мысалы циклды немесе шартты анықтаманы жазған сайын, қажетті санда  цикл денесінің бір рет қайталанатын, ал шартты анықтаманың есептеуді дұрыс тармақтайтының тексеріңіз. Бұл үрдіс шекаралық шартты тестілеу деп аталады, өйткені бос енгізу, жалғыз енгізілген элемент, толығымен толтырылған массив және т.б. секілді алгоритмнің немесе мәліметтердің шеткі экстремал мәні тексеріледі. Мәселенің түйіні көптеген қателердің шекараларда, яғни қандай да бір экстремал мәндерде болатындығында жатыр. Егер кодтың қандай да бір блогында қате болса, онда бұл қате шекарадан табылады және керісінше код экстремал мәндерде дұрыс жұмыс жасаса, онда ол барлығында да дұрыс жұмыс жасай алады деген сөз.

3)  Шарт алдында, шарт соңында тексеруді тестілеңіз. Мәселені болдырмаудың тағы бір тәсілі күтілетін немесе қажетті шартты қанағаттандыру үшін кодтың кейбір блогының (шарт алдында тексеруге) дейін немесе (шарт соңында тексеруден) кейін орындалатындығына   көз жеткізу.

4)  Нақтылауды қолданыңыз. С и C++ бағдарламалау орталарында бағдарламалауға шарт алдында тексеруді және шарт соңында тексеруді қосатын нақтылаудың (assertions) арнайы механизмін (<assert.h> тақырыптық файлының көмегімен қосылады) пайдалану мүмкіндігі бар. Орындалмаған нақтылаулар бағдарлама жұмысын үзетіндіктен, оларды бағдарлама жұмыс жасамай тоқтап қалған жағдайда және осындай жайлар туындағанда жұмысты жалғастырудың мәні болмаса қолданады. Мысалы, цикл басының алдына келесі нақтылауды қою:

аssert (n > 0);

Егер нақтылау орындалмаса, онда бағдарлама келесі хабарламаның шығуымен тоқтап қалады:

Аassertion failed: n > 0,  file avgtest.с, line 7

Abort(crash)

Нақтылау интерфейс құрамын тексеру кезінде пайдалы. Өйткені олар жүйенің шақыратын және шақырылатын блоктарының үйлеспейтіндігіне назар аудартады және осы үйлесімсіздікке кінәліні табуға ат салысады.

5)  Қорғаныс бағдарламалауына амал қолданыңыз. «Ешқашанда болмайтын» яғни теория жүзінде болмауы тиіс, бірақ орны бар (мысалы, бағдарлама жұмыс жасамай тоқтап қалғанда бағдарламаның басқа бір бөлігінде болатын) жағдайларды өңдеу (немесе пайдаланушыға жай ғана ескерту) үшін кейбір кодты қою пайдалы. Бұл - бағдарлама дұрыс пайдаланылмаудан немесе түзетілмеген мәліметтерден қорғалған дегенді білдіретін қорғаныс бағдарламалауына мысал. Бағдарламаның алғашқы кезеңдерінде бос көрсеткіштерді, диапазоннан тысқары индекстерді, нөлге бөлінуді және басқа да қателерді табуға немесе жойып тастауға болады.

6)  Функция қайтарымының кодын тексеріңіз. Кітапханалық функциялар мен жүйелік шақырулар қайтаратын мәндерді тексеру бағдарламалаушылар себепсіз бас тартатын қорғаныс тәсілдерінің бірі болып табылады. Мысалы, функциямен қайтарылатын, енгізуге қызмет көрсететін  fread секілді мәнді әркез тексеріп отыру керек. Сонымен қатар файлдар ашылуы шақыруларының қайтарылатын fopen типіндегі мәнін де міндетті түрде тексеру. Егер файл ашылуы немесе оқылуы қандай да бір себеппен орындалмаса, бағдарлама жұмысын жалғастыру туралы сөз қозғаудың қажеті жоқ. Енгізу функциясының fprintf немесе fwrite типіндегі қайтаратын мәнін тексеру дискіде бос орын болмағанда файлға жазуға ұмтылу кезінде қатені табуға көмектеседі. Сонымен қатар fclose қайтаратын мәнді тексеру, егер орындалу кезінде қандай да бір қате  болса, бұл функция EOF-ты қайтарады,  кері жағдайда нөлді қайтарады.

Кодты тестілеуді жазуға күш аз жұмсалады. Жазу кезіндегі тестілеу туралы ой кодты жақсартады. Егер бірнәрсе бүлінген соң ғана тексеруді бастаса, онда осы кезге кодтың қалай жұмыс жасайтынын ұмытуға болады. Қысым көрсетуімен жұмыс жасай отырып, барлығын қайтадан қалпына келтіру қиынға соғады, уақытты көп алады, ал енгізілген түзетулер жеткілікті дәрежеде ойластырылмаған және тиімді болмағандықтан толық түсіну мүмкін болмайды.

Бағдарламаны жүйелі түрде тестілеу өте маңызды – әр кезеңде тестіленетіндерді және қандай нәтиже күтілетінін айқын көрсету. Ешнәрсені жіберіп алмау үшін тестілеу тізбекті болуы тиіс: алынған мәліметтерді жазып отыру керек, өйткені жасалғандар мен келешекте жасалатындарды саралап отыру қажет болады.

Жүйелі тестілеуді орындауда кейбір ережелерді ұстанған жөн:

1)  Өсуі бойынша тестілеңіз. Тестілеу код құрылуымен бірге жүруі керек. Ең алдымен бағдарламаны жазылып, содан кейін тестіленеді, бұл әдіске әрине көп уақыт кетеді және қиындау болады. Бағдарламаның бір бөлігін жазып, оны тестілеңіз, кодтың келесі бөлігін жазыңыз, оны тестілеңіз және т.б. Егер сіздің екі бөлек жазылған және тестіленген екі блогыңыз бар болса, олардың өзара әрекетін тестілеңіз.

2)  Алдымен жай блоктарды тестілеңіз. Өсуі бойынша тестілеуге жалпы амалды бағдарламаның жеке бөліктеріне де қолданамыз. Бірінші кезекте тестілеуге ең қарапайым және бәрінен де көп орындалатын блоктар  жатады; олардың дұрыс екендігіне көз жеткізген соң ғана ары қарай жылжуға болады. Осылайша сіз кодтың негізгі бөліктерінің жұмыс қабілеттілігіне сенімді бола отырып, әр кезеңде тестіленетін код көлемін ұлғайтасыз. Қарапайым тестер қарапайым қателерді табады. Әрбір тест жаңа мәселені іздеу бойынша өз қызметін орындайды. Әрбір жаңа қатені ұстау алдыңғы қатені ұстағаннан да әлдеқайда қиын болса, оны түзеу де сондай қиын.

3)  Тестке шығуда нені күтетініңізді анық анықтаңыз. Барлық тесті өткізгенде сіз дұрыс жауапты анық білуіңіз керек; егер дұрыс жауапты білмесеңіз, уақытты босқа жоғалтасыз. Алғаш қарағанда бәрі де белгілі секілді көрінеді. Өйткені коп бағдарламалардың жұмыс жасайтынын немесе жасамайтынын, мысалы, файл көшірмесінің құрылатынын немесе құрылмайтынын, шығару алдында мәліметтердің сұрыпталғанын немесе сұрыпталмағанын анықтау өте оңай. 

Алайда көптеген бағдарламалар, мысалы, сандық алгоритмдер (есептеулер ықтималдығы деңгейден артып кетпеді ме?) бейнесызбалар (барлық пикселдер өз орындарында ма?) және т.б. үшін жұмыс қабілеттілігін анықтау қиындау болады. Мұндай бағдарламалар үшін тест нәтижелерін алдын ала белгілі мәндермен салыстыру қажет.

Осы мақсатпен есептеуіш бағдарламаларының тесті үшін алгоритмді барлық жағынан тексеретін қарапайым жағдайлар да, қиын жағдайлар да таңдалады. Шығатын параметрлердің дұрыстығын куәландыратын кодты қайда қоюға болады. Мысалы, интегралды санмен санайтын бағдарламаның шығуы формула бойынша алынған нәтиженің үзіліссіздігі мен сәйкестігіне тексерілуі мүмкін. Бейнесызбалық бағдарламаны тестілеу үшін оның жәшікті сала алатындығына көз жеткізу жеткіліксіз – бұлай істеудің орнына ол жәшікті экраннан кері алып, оның жақтарының талап етілген жерде тұрғандығын тексеру. Егер бағдарламада қайтарымды әрекет орындалса, мәліметтерді бастапқы жағдайға  қайтарудың мүмкін екендігіне көз жеткізу қажет. Шарттаңбалау мен шарттаңбалауды алып тастау көп жағдайда  қайтарымды; егер бірнәрсе шарттаңбаланған болса және одан шарттаңбалауды алып тастау мүмкін болмаса, онда іс ойдағыдай емес. Бұл мәліметтерді сығу бағдарламаларына да қатысты. Кейде кері түрлендірудің бірнеше тәсілдері болады – сол кезде барлық комбинацияны тексеру қажет.

4)       Мәліметтер сақталуының құрамын тексеріңіз. Көптеген бағдарламалар енгізілетін мәліметтердің кейбір құрамын сақтайды. Мәліметтердің сақталғандығын әртүрлі тәсілдермен тексеруге болады. Мысалы, құрылымда элементтердің санын санайтын функция мәліметтер бүтіндігінің қарапайым тестін жүзеге асырады. Хэш-кестелер үшін оның негізгі құрамы орындалуы  керек: оған жазылған әрбір элемент саналуы мүмкін. Бұл құрамды тексеру қиын емес -  кестеде жазылғандарды файлға немесе массивке шығаратын функцияны жазу жеткілікті.

5)       Дербес іске асыруларды салыстырыңыз. Кітапханаларды немесе бағдарламаларды дербес іске асырулар бірдей нәтижелерді берулері керек. Мысалы, бір машинада өздерін бірдей ұстайтын бағдарламаларды екі компилятор бір мәтіннен құруы тиіс. Кейде ізделінетін жауапты екі түрлі тәсілмен алуға болады, ал кейде нәтижелерді салыстыру үшін қолданылатын ресурстар мен тез әрекеттілік туралы қам жемей-ақ, бағдарламаның қосымша нұсқасын жазу. Бір-біріне байланыссыз екі бағдарлама бірдей жауаптарды беретін болса, екеуінің де дұрыс жұмыс жасайтындығына сенуге болады; егер жауаптары алшақтаса, онда екеуінің бірінде қателер бар.

6)       Тестінің қамтуын бағалаңыз. Тестілеудің ең басты мақсатының бірі  – бағдарламадағы әрбір өрнек тестер тізбегінің өткізілуінде бір рет болса да орындалғандығына көз жеткізу; тестілеу аяқталмай жатып, оны аяқталды деп есептеуге болмайды. Алайда толық қамтуға қол жеткізу қиын екендігін мойындау керек. Қалыпты енгізу көмегімен «мүмкін емес» жағдайларды өңдейтін өрнектерді назарға алмай тұрып, бағдарламаны барлық мүмкін болатын бұтақтарды айналып шығуға итермелеу жай нәрсе емес. Қамтуды бағалау үшін арнайы коммерциялық утилиттер бар.  Компиляторларды қою жиынына жиі қосылатын профайлер (протоколдаушы-бағдарламалар), бағдарлама өрнектерінің орындау жиілігін есептеу мүмкіндігін береді.

Код құраушысымен жүргізілетін  немесе бастапқы кодқа қатынас жасай алатын басқа тестермен тестілеу ақ (түссіз) жәшік тестілеуі деп аталады. Өз кодыңды тестілеу әрине қажет. Алайда адамдар өзін-өзі алдап, жақсыдан үміттенуге әуес, сондықтан да  тестілеуде кодтан алыстап, ерекше жүрістерді ойлап табуға тырысу. Тестілеудің мақсаты – бағдарламаның жұмыс істемейтінін жариялау емес, қателерді табу. Тестердің қатаң болғаны көңілге қонымды секілді, ал егер олардың көмегімен мәселелер табылып жатса, онда оған дабыл қағып, қорқудың қажеті жоқ. Керісінше қолданыстағы әдістердің әрекеттілігін дәлелдейді.

Кодқа қатынасу туралы да, оның ішкі құрылымы туралы да тестердің хабарсыздығы қара жәшікті тестілеуді білдіреді. Тестерде іздеу үшін жіберілетін өзгеше нүктелер бар болғандықтан, мұндай тестілеуде өзгеше қателер орын алады. Шекаралық шарттарды тексеруден бастаған жөн;  бұдан соң үлкен көлем мен түзетілмеген енгізуге көшкен дұрыс. «Алтын аралық» туралы, яғни  қалыпты жағдайларда бағдарлама жұмысын тексеруді ұмытпау керек.

Тестілеудің келесі кезеңі – нақты пайдаланушылар. Жаңа пайдаланушылар жаңа қателерді табады, өйткені олар бағдарламаны күтпеген тәсілдермен сынаққа алады. Тестілеудің бұл кезеңін  бағдарлама «үлкен әлемге» шығарылғанша жүргізу маңызды. Алайда, өкінішке орай  тестілеудің қандай да бір түрі жеткілікті өткізілмеген көптеген бағдарламалар да таратылады. Бағдарламалардың бета-нұсқалар – пайдаланушылардың көпшілігін тестілеуге тарту, алайда мұндай бета-нұсқалар қалыпты тестілеуді алмастырады деуге болмайды. Жүйелер үлкен әрі күрделі болған сайын, оларды дайындау мерзімі қысқара түседі, осылайша нашар тестіленген өнімнің пайда болу ықтималдығы артады.

4.2.3 Бағдарламалық құжаттаманы құрастыру

Бағдарламалық құжаттаманы құрастыру – өте маңызды үрдіс. Бағдарламалық қамтаманың өмірлік цикл үрдісін анықтайтын стандарт тіпті осы мәселеге арналған арнайы үрдісті қарастырады. Әрбір бағдарламалық өнім құжаттаманың екі типін дайындауы тиіс: түрлі типтің қолданушылары үшін және құрастырушылар үшін. Нақты бағдарламалық өнім үшін кез келген типтегі құжаттаманың болмауы қалыпты жайт емес.

Құжаттаманы дайындау барысында оны пайдалану мақсатында дайындалып жатқанын ұмытпау керек, сондықтан да ол барлық қажетті мағлұматтан тұруы тиіс. Бағдарламалық құжаттамаға кіретін мәтіндік және бейнесызбалық материалдарды рәсімдегенде қолданыстағы стандарттарды ұстанған жөн.

4.2.3.1 Түсіндірме хатқа бағдарламалық қамтаманы сүйемелдеу мен түрлендіруге қажетті барлық ақпарат кіруі керек: оның құрылымы мен нақты компоненттері туралы мағлұмат, алгоритмдер мен олардың сұлбаларының жалпы сипаттамасы, сонымен қатар қабылданған техникалық және техника-экономикалық шешімдердің негіздемесі.

Түсіндірме хаттың стандарт бойынша (МЕСТ 19.404-79) мазмұны келесі түрде болуы керек:

1)       кіріспе;

2)       қолданылу тағайындамасы мен аймағы;

3)       техникалық сипаты;

4)       күтілетін техника-экономикалық көрсеткіштер;

5)       дайындауда қолданылатын қайнар көздер.

Кіріспе тарауында бағдарламалар мен құжаттардың атауы көрсетіледі, олардың негізінде дайындама жүргізіледі.

Тағайындау мен пайдалану аймағы тарауында бағдарламалар тағайындалуын көрсетеді және пайдалану аймағына қысқаша сипаттама береді.

Техникалық сипаттама тарауы келесі ішкі тараулардан тұруы керек:

-  есептің берілуі, қолданылатын математикалық әдістерді сипаттау және таңдалған математикалық аппаратпен байланысты жіберілгендер мен шектеулер;

-  алгоритмдерді сипаттау мен қабылданған шешімдер негіздемесімен бағдарламаны қалыптастыру;

-  кіретін және шығатын мәліметтерді ұйымдастыру тәсілін таңдаудың сипаттамасы мен негіздемесі;

-  өткізілген есептемелер немесе сараптамалар негізінде техникалық және бағдарламалық құралдар құрамын таңдаудың сипаттамасы мен негіздемесі;

Күтілетін техника-экономикалық көрсеткіштер тарауында техникалық шешімнің таңдалған нұсқасының артықшылығын негіздейтін техника-экономикалық көрсеткіштер көрсетіледі.

Дайындауда қолданылған қайнар көздер тарауында ғылыми-техникалық еңбектер, нормативті-техникалық құжаттар мен басқа да бастапқы мәтінде сілтеме жасалынған ғылыми-техникалық материалдар тізімі көрсетіледі.

Түсіндірме хатты бағдарламалық қамтаманы дайындаудың профессионалдары құрасырады және олар білімі сол деңгейдегі мамандарға арналған. Сондықтан да арнайы терминологияны қолданып, арнайы әдебиетке және т.б. сілтеме жасау ақылға қонымды.

4.2.3.2 Пайдаланушының басшылығы. Жоғарыда көрсетілгендей  қазіргі уақытта тағы бір эксплуатациялық құжат жиі қолданылады. Бұл құжатқа жүйелік бағдарламалаушы, бағдарламалаушы және оператор басшылығының бір бөлігі кіреді. Құжат Пайдаланушы басшылығы деп аталады. Осындай құжаттың пайда болуы дербес компьютерлердің кең таралуына итермеледі, соның негізінде пайдаланушылар жұмыс жасай отырып, көрсетілген үш мамандықты біріктіре алды.

Пайдаланушы бағдарламалық қамтаманы дайындаудың профессионалы емес, сондықтан да пайдаланушыға арналған құжаттаманы құрастырудың өзіндік ерекшелігі бар. С. Дж. Гримм кітабында осы секілді бағдарламалық құжаттаманы жазу  бойынша ұсыныстар берілген:

- пайдаланушы қызығушылығын есепке алыңыз – басшылық пайдаланушыға қажетті барлық нұсқаулардан тұруы тиіс;

- қысқа да нұсқа түсіндіріңіз;

- техникалық лақап ат пен қысқа арнайы терминологияны қолданбаңыз, кейбір қажетті ғылыми терминді пайдалансаңыз, оларды түсіндіру керек;

- дәл әрі рационал болыңыз – ұзақ және шатасатын басшылықты әдетте ешкім оқымайды, мысалы, форма суретін ұзақ сипаттап жатқанша әкелген дұрыс.

Пайдаланушы басшылығы келесі тараулардан тұрады:

1)  бағдарламалық өнім туралы жалпы мағлұмат;

2)  қондырғының сипаттамасы;

3)  іске қосудың сипаттамасы;

4)  жұмыс бойынша нұсқаулық (немесе пайдаланушы интерфейсінің сипаттамасы);

5)  пайдаланушыға хабарлама.

Бағдарлама туралы жалпы мағлұмат тарауы әдетте бағдарламалық өнім атауынан, оның әдістер мен қолданудың мүмкін аймағымен іске асырылатын функцияларының қысқаша сипаттамасынан тұрады.

Орнату тарауы әдетте бағдарламалық өнім мен хабарламаны орнату бойынша әрекеттердің толық сипаттамасынан тұрады, олар алынуы мүмкін.

Іске қосу тарауында бағдарламалық өнім мен хабарламаны іске қосу бойынша әрекеттер сипатталады.

Жұмыс бойынша нұсқаулық жұмыстардың режімін сипаттаудан, ақпаратты енгізу-шығару форматтарынан және мүмкін болатын түзеулерден тұрады.

Пайдаланушыға хабарлама тарауы мүмкін болатын хабарламалар тізімінен, олардың мазмұны мен осы хабарламалар бойынша қабылданатын әрекеттерді сипаттаудан тұрады.

4.2.3.3 Жүйелік бағдарламалаушыға басшылық. МЕСТ 19.503-79 бойынша жүйелік бағдарламалаушыға басшылық бағдарламалық қамтаманы орнатуға, оны түзеуге және жұмыс қабілеттілігін тексеруге арналған қажетті барлық ақпараттан тұрады. Сонымен бірге жоғарыда көрсетілгендей оған бұрын оператор басшылығымен (МЕСТ 19.505-79) және/немесе техникалық қызмет көрсету бойынша басшылығымен (МЕСТ 19.508-79) жүргізілген. Қазіргі уақытта берілген сұлбаны жүйелік үйлестіруші басшылығын құрастыру үшін қолданады.

Жүйелік бағдарламалаушы басшылығы келесі тараулардан тұруы тиіс:

1)  бағдарламалық өнім туралы жалпы мағлұмат;

2)  құрылым;

3)  түзеу;

4)  тексеру;

5)  қосымша мүмкіндіктер;

6)  жүйелік бағдарламалаушыға хабарлама.

Бағдарлама туралы жалпы мағлұмат тарауы бағдарламалар тағайындауы мен функцияларының сипаттамасынан, сонымен қатар берілген бағдарламаны орындауды қамтамасыз ететін техникалық және бағдарламалық құралдар туралы мағлұматтан тұруы тиіс (мысалы, жедел жады көлемі, сыртқы құрылғы құрамы мен параметрлеріне талап, бағдарламалық қамтамаға және т.б. талап.).

Бағдарлама  құрылымы  тарауында бағдарлама құрылымы туралы, оның құрама бөліктері туралы, құрама бөліктер арасындағы байланыстар туралы және басқа бағдарламалармен байланыстар туралы мағлұмат келтірілген. 

Бағдарламаны түзеу тарауында практикада қолдану шартындағы бағдарламаны түзеу бойынша әрекеттердің сипаттамасы келтірілген.

Бағдарламаны тексеру тарауында бағдарламаның жұмыс қабілеттілігін тексеру тәсілдерін сипатталуы керек.

Қосымша мүмкіндіктер тарауында бағдарламаның қосымша мүмкіндіктері мен оларға қатынас құрудың тәсілдерін сипаттау келтірілуі керек.

Жүйелік бағдарламалаушыға хабарлама тарауында бағдарламаны түзеу мен тексеруді орындау барысында берілетін хабарламалардың мәтіндері көрсетілуі тиіс, сонымен қатар олардың мазмұны мен осы хабарламалар бойынша қабылданатын әрекеттерді сипаттаудан тұрады.

 

4.3 Бақылау сұрақтары

4.3.1    Жөндеу үрдісі нені білдіреді?

4.3.2    Қателердің қай түрі кеңінен таралған?

4.3.3    Тестілеу үрдісі нені білдіреді?

4.3.4    Тестілеуде қандай тәсілдер қолданылады?

4.3.5    Тестілеу үрдісінде қандай құжаттама толтырылады?

4.3.6    Бағдарламалық өнім версиясы қалай нөмірленеді?

4.3.7     «Қара жәшікті» тестілеу ұғымы нені білдіреді?

4.3.8    «Ақ жәшікті» тестілеу ұғымы нені ұғындырады?

4.3.9    Жүйелік тестілеуде қандай нұсқаулықты ұстанған жөн?

4.3.10   «Кері трассировкалау» дегеніміз не?

4.3.11   Қандай құжатттама дайындалуы тиіс?

4.3.12   Пайдаланушы басшылығының қандай ерекшеліктері бар?

4.3.13   Жүйелік бағдарламалаушы басшылығы неден тұрады?

4.3.14   Бағдарламалық өнімді жөндеуде қандай әдістер қолданылады?

4.3.15  Жөндеушілер деген не?


А қосымшасы

Есептік-сызба жұмыс тапсырмаларының нұсқалары

 

А.1 к е с т е Тапсырмалардың нұсқалары

Нұс.

Тақырыбы

Құрылым өрістері

1

Иттердің  көрмесі

Түрі; Жынысы; Аты; Жасы; Иесі

2

Бағдарламалық өнімдердің сатылымы

Атауы; Құрастырушы; Бағасы; Көлемі, Мбайт; Қоймадағы саны

3

Телефонның абоненттік төлемі

Абоненттің аты-жөні; Телефоны; Қондырылған жылы; Абоненттің мәртебесі; Телефон төлемақысы

4

Қоймадағы телевизорлар

Атауы; Дайындаушы; Бағасы; Экранның өлшемі; Қоймадағы саны

5

Қалалар

Атауы; Тұрғындардың саны; Негізі қаланған жыл; Шаршы км. ауданы; Мектептердің саны

6

Көпірлер

Атауы; Ұзындығы; Ені; Сүйеніштерінің саны; Шыдамдылығы

7

Қоймадағы радиобөлшектер

Атауы; Материалы; Қажеттілігі; Бағасы; Саны

8

Компьютерлер

Моделі; Өндіруші; Жинағы; Бағасы; Саны

9

Кредиты

Атауы; Банк; Пайыздық мөлшері; Кредит мерзімі; Кредит сомасы

10

Автокөліктерді жалға алу

Марка; Шығарылған жылы; Жүру қашықтығы; Бағасы; Жалға алу мерзімі

11

Кітапхана

Кітаптың авторы; Аты; Баспаның аты; Шығарылған жылы; Саны

12

Аудармалар

Аударылатын тіл; Беттің бағасы; Тапсырыстың көлемі; Орындау мерзімі; Орындаушы

13

Күйтабақтар коллекциясы

Жинақтың аты; Орындаушы; Шығарылған жылы; Жазылған әннің саны; Бағасы

14

Сурет галереясы

Суреттің аты; Ел; Суретші; Салынған жылы; Бағасы

15

Деканат

Студенттің аты-жөні; Курс; Топ; Туған жылы; Мекен-жайы

16

Жарыс

Ел; Жылы; Жарыстың түрі; Команда; Орын

17

Ұялы телефондар каталогы

Атауы; Моделі; Өндіруші; Бағасы; Ерекшелігі

18

Жылжымайтын мүлік

Атауы; Ауданы; Қабаттылығы; Бөлмелердің саны; Бағасы

19

Ұшақтар

Аты; Құрастырушының аты-жөні; Шығарылған жылы; Саны; Жүк көтеруі

20

Компьютерлік ойындар

Аты; Құрастырушы; Версия; Жанр; Бағасы

21

Шәкіртақы

Студенттің аты-жөні; Курс; Орташа балы; Шәкіртақы мөлшері; Үстеме ақы

22

Автобустар кестесі

Маршрут нөмірі; Жөнелту айлағы; Жөнелту уақыты; Тоқтау айлағы; Айлаққа келу уақыты

23

Фирма қызметкерлерінің айлығы

Аты-жөні; Қызметі; Айлық; Стаж; Айлыққа үстеме

24

Прайс-беті

Қызмет көрсету түрі; Жұмыстың көлемі; Бағасы; Орындау мерзімі; Жеңілдіктер

 

А.1 кестесінің жалғасы

25

Кинотеатрлар репертуары

Кинотеатр; Фильм; Жанр; Көрсетілім аралығы; Уақыт

26

Ойыншықтар дүкені

Атауы; Материал; Түс; Артикул; Саны; Баланың жасы; Бағасы

27

Жинақбанкі

Есепшот нөмірі; Салымшының аты-жөні; Депозит атауы; Салым сомасы; Пайыздық мөлшері; Мерзімі

28

Астрономның анықтамалығы

Жұлдыздың аты; Жұлдыз шамасы; Жерден арақашықтық; Аспан әлемінің координаттары: таңның атуы мен күннің батуы; Жарықтығы

29

Әлем өзендері

Өзен аты; Ағуы; Қайда ағады; Жылдық ағым (км3); Бассейннің ауданы

30

Телебағдарлама

Телекомпания; Бағдарлама; Жанр; Апта күні; Уақыт;

31

Музейлер

Коллекцияның атауы; Сипаттау; Түпнұсқа немесе көшірме; Иесі; Иеленген уақыты

32

Аукцион

Өткізу уақыты; Лот атауы; Бастапқы бағасы; Сатушының аты-жөні; Заттың Сомасы

33

Сурет  галереясы

Полотнаның аты; Суретші; Салынған уақыты; Жанр; Шамаланған бағасы

34

Нумизматтың анықтамалығы

Ел; Монета номиналы; Шығарылған жылы; Шығарылған монеталардың саны; Ерекшеліктері

35

Филателистің анықтамалығы

Ел; Марканың өзіндік бағасы; Шығарылған жылы; Тираж; Ерекшеліктері

36

Коллекционерлер

Ел; Аты; Байланыс координаттары; Бағыты; Коллекциядағы сирек экземплярлардың бар болуы

37

Туристік агенттік

Ел; Ұсынылатын маршруттар; Тұру жағдайы мен мен поездар; Экскурсиялық қызмет көрсету; Жолдаманың  құны

38

Көлік салоны

Марка; Шығарылған жылы; Техникалық сипаты; Ерекшеліктері; Техникалық жағдайы; Құны

39

Риэлторлық контор

Аудан; Мекен-жайы; Тұрғын үйдің сипаты; Құны; Өтініш берушінің байланыс телефоны

40

Спортсмендер

Аты-жөні; Азаматтық; Шығу тегі; Спорт түрі; Клуб (команда); Жеке табыстары

41

Тағам рецепті

Тағамның аты; Порция саны; Порция салмағы; Азық-түліктердің шығыны; Дайындау рецепті

42

Банкет

Тамақтың аты; Порция саны; Порция салмағы;  Порция бағасы; Сумма

43

Жоғары оқу орны

Атауы; Мекен-жайы; Мамандықтардың тізімі; Конкурстан өту балы; Үйренетін тіл; Оқу ақысы

44

Абитуриенттердің оқуға қабылдануы

Аты-жөні; Туған жылы; Мектеп бітірген жылы; Мамандық; Жалпы балл; Оқу түрі;

45

Ломбард

Тапсыру уақыты; Клиенттің аты-жөні; Жеке куәлігінің мәліметтері; Тауардың атауы; Бағалау құны; Залогқа қойыған сома; Сақтау мерзімі

46

Терминология

Ғылымның тарауы; Енгізілетін термин; Түсіндірме; Қолданыстағы терминдерге сілтемелер

 

А.1 кестесінің жалғасы

 

47

Селекционердің анықтамалығы

Сорттың атауы; Науқандылық; Тұқымның сипаты; Зиянкестерге шыдамдылық; Аязға төзімділік

48

Қонақүй

Нөмір; Класс; Орын саны; Бір тәуліктегі бағасы; Қызмет көрсету

49

Қонақүйге орналасу

Аты-жөні; Жеке куәлігінің мәліметтері; Келген күні; Нөмір; Кеткен күні; Тұру ақысы; Қосымша қызметтердің бағасы

50

Интерпол картотекасы

Қылмыскердің аты-жөні; Лақап аты; Бойы; Шашы мен көзінің түсі; Ерекше белгілері; Туған жері мен күні; Азаматтығы; Білетін тілдері ; Мамандығы; Қосымша ақпарат

51

Еңбек биржасы

Жұмыссыздың аты-жөні; Мамандық; Білімі; Соңғы жүмысының мекен-жайы мен қызметі; Жұмыстан босатылған себебі; Байланыс телефоны

52

Қажеттік кадрлар

Фирма; Қызмет түрі; Еңбек жағдайы; Айлық; Үміткерге талап; Байланыс телефоны

53

Баспа үйі

Сұраныс мерзімі; Тапсырыстың уақыты; Көлем; Бірлік бағасы; Орындау мерзімі; Сумма

54

Кадр бөлімі

Қызметкердің аты-жөні; Жеке куәлігінің мәліметтері; Білімі; Мамандығы; Бөлімше; Қызмет; Айлық; Фирмаға келу уақыты

55

Шипажайлар

Ел; Қала; Қонақүйдің атауы; Класс; Қызмет көрсетуі; Жолдама құны

56

Жөндеу жұмыстары

Жұмыстың атауы; Қолданылатын материал; Жұмыстың көлемі; Бір шаршы метрдің құны; Сумма

57

Тағам өндірісі

Тағамның атауы; Дайындалған күні; Сақтау мерзімі; Салмағы; Бағасы; Бригада

58

Автокөлікшілер кешені

Аты-жөні; Мекен-жайы; автокөліктің маркасы; Түсі; Нөмірлік белгісі; Жүргізуші куәлігін алған күні

59

Емтихан қағазы

Емтихан күні; Пән; Оқытушының аты-жөні; Студенттің аты-жөні; Топ; Емтиханға жіберілу рейтингі; Емтихан бағасы; Қорытынды

60

Өндіріс жоспары

Шикізаттың атауы; Шикізаттың қажет етілген көлемі; Бірлік бағасы; Еңбек шығыны; Энергия шығыны; Бұйымның бағасы; Тапсырыстың көлемі; Кіріс

 


Б қосымшасы

Техникалық тапсырманың орындалу үлгісі

 

 

 

АЛМАТЫ ЭНЕРГЕТИКА ЖӘНЕ БАЙЛАНЫС УНИВЕРСИТЕТІ

«Инженерлік кибернетика» кафедрасы

 

 

 

 

 

                                                      КЕЛІСІЛГЕН

                                                                       _____________________

                                                                        «___» _________ 2009 ж.

 

 

 

 

 

студенттер үлгерімінің есебін алу жүйесін дайындаудың

Т Е Х Н И К А Л Ы Қ   Т А П С Ы Р М А С Ы

 

 

 

 

 

 

                                                      ОРЫНДАУШЫ

                                                                      _____________________

                                                                      _____________________

                                                                      _____________________

 

 

 

 

 

 

 

 

Алматы  2009

 

 

Б.1 сурет Техникалық тапсырманың титул беті
1.
Кіріспе

Берілген техникалық тапсырманы емтихан мәліметтерін жинап, сақтауға арналған студенттің үлгерімі есебінің жүйесін дайындауға кеңінен қолдануға болады. Берілген жүйені деканат қызметкерлері, декан және оның орынбасарлары қолданады деп жорамалданды.

Сессия кезінде студенттің емтихан тапсырғаны жөнінде жедел ақпарат алу қажет, алайда мұндай бақылауды қолмен орындау көп уақытты қажет етеді. Үлгерім есебінің автоматтандырылған жүйесі эдвайзер мен деканат тарапынан сессия нәтижесін бақылаудың сапасын арттырады және әрбір студенттің, топтың тіпті тұтас курстың жұмысы туралы мағлұмат алуға болады. Оқу мерзімінің ішінде емтихан нәтижелерінің сақталуы, тыңдалған курс туралы анықтама мен бітіруші дипломының қосымшасын автоматты түрде шығарып беруге мүмкіндік береді.

2. Құрастыруға  негіздеме

Жүйе 2009-2010 оқу жылындағы оқу үрдісінің жетілдірілген  іс-шаралар жоспарына сәйкес 2009 жылдың 24 қыркүйегіндегі факультет деканының №15 бұйрығының негізінде дайындалады. 

3. Тағайындалу

Жүйе оқу мерзімінің ішінде факультет топтары студенттерінің үлгерімі жайлы мағлұматтарды сақтау мен өңдеуге арналған. Студенттің үлгерімі туралы өңделген мағлұмат әрбір студенттің, топтың, курстың және тұтас факультеттің үлгерім бағасы үшін қолданылуы мүмкін.

 4. Бағдарламаға немесе бағдарламалық бұйымға қатысты талап

4.1. Функционал сипаттамаға қатысты талап

4.1.1. Жүйе  келесі  функцияларды  орындауға  мүмкіндік  беруі қажет: а) жүйе инициализациясы (оқу жоспары мен т.б. сәйкес оқытылатын пәндер мен топтар тізімін енгізу); б) нақты студенттің сессия тапсырғаны туралы ағымдағы ақпаратты енгізу мен түзеу; в) студенттің оқу мерзіміндегі үлгерімі туралы ақпараттың сақталуы;  г) студенттің ағымдағы сессияны тапсыруы туралы мағлұматты алу.

4.1.2.  Бастапқы мәліметтер: а) оқу    топтарының    студенттер    тізімі; б) кафедралардың оқу жоспарлары - әрбір пән бойынша бақылау іс-шаралары мен пәндер тізімі; в) сессияның кестесі;  г) әрбір студенттің сессия тапсыруы туралы ағымдағы мағлұматы.

4.1.3. Нәтижелер: а)  нақты студенттердің сессия тапсыру қорытындысы; б) нақты топ студенттерінің сессия тапсыру қорытындысы; в) ағымдағы уақыт ішінде нақты пәнді тапсыру кезіндегі топтың барлық студенттерінің үлгерім пайызы;  г) ағымдағы уақыт ішіндегі мамандықтың барлық топтарының үлгерім пайызы;  д) ағымдағы уақыт ішіндегі курстың барлық топтарының үлгерім пайызы; е)  ағымдағы уақыт ішіндегі тұтас факультет пен курс бойынша үлгерім пайызы; ж) ағымдағы уақыт ішіндегі топ үлгермеушілерінің тізімі; з) ағымдағы уақыт ішіндегі курс үлгермеушілерінің тізімі.

4.2.  Сенімділікке қатысты талап

4.2.1. Енгізілетін ақпаратты бақылауды қарастыру.

4.2.2. Жүйемен жұмыс жасау кезіндегі қолданушының жаңылыс әрекеттеріне тосқауыл қоюды қарастыру.

4.2.3.  Сақталған ақпаратты қорғау.

4.3. Техникалық құралдар параметрлері мен құрамына қатысты талап

4.3.1.  Жүйе IBM біріккен дербес компьютерлерде жұмыс жасауы тиіс.

4.3.2. Ең кіші пішін үйлесім: а) процессордің түрі - Pentium және одан жоғары; б) жедел есте сақтаушы құрылғы көлемі –32 Мб және одан көп.

4.4. Ақпараттық және бағдарламалық үйлесімділікке қатысты талап

Жүйе Win XP операциялық жүйе басқаруымен жұмыс істеуі керек.

5. Бағдарламалық құжаттамаға қатысты талап

5.1. Дайындалған бағдарламалық модульдер өздігінен құжатталуы қажет, яғни бағдарлама мәтіндері барлық керекті хабарламалардан тұруы керек.

5.2. Жұмыс туралы анықтамалық ақпарат пен қолданушыға  еске түсіруді бағдарламалық жүйе қоса алуы керек.

5.3. Бірге алып жүруші құжаттаманың құрамына кіретіндер:

5.3.1. Дайындаудың сипатталуынан тұратын 25-30 беттік түсіндірме хат.

5.3.2. Жүйелік бағдарламалаушының басшылығы.

5.3.3. Қолданушының басшылығы.

5.3.4. А1 форматындағы үш беттік бейнесызбалық бөлім:

5.3.4.1. Құрылымды бағдарламалық жүйе сұлбасы.

5.3.4.2. Мәліметтер компонентінің диаграммасы.

5.3.4.3. Қолданушы интерфейсінің формалары.

                               6. Жетілдіру кезеңдері

№  

Кезең атауы 

Мерзім 

Есеп берушілік

1

Бағдарламалық өнімді жобалау

01.10.2007-31.11.2007  

Техникалық тапсырманы дайындау мен егжей–тегжейлі нақтылау. Ұстанымдық шешімдерді қабылдау. Есепті шешудің алгоритмі. Үлгерім есебі жүйесінің құрылымдық және функционал сұлбаларын жобалау. 

2

Жүзеге асыру

01.12.2007-29.02.2008    

Интерфейстің ішкі форматы мен мәліметтер қоры форматының сипатталуы. Интерфейс деңгейіндегі жүйені жүзеге асыру. Есептің бағдарламалық модулдерін жүзеге асыру.

3

Бағдарламалық құжаттаманы тестілеу мен құрастыру 

01.03.2008-30.04.2008        

 Тестер. Құжаттама. Бағдарламалық өнім.

 В қосымшасы

Егжей–тегжейлі саралауды анықтау  мен  құрылымдық алгоритмдерді сипаттау

 

В.1 к е с т е  – терминдер сөздігі

Термин

Категория

Қысқаша сипаттау

а

Кіретін мәліметтер

Интегралдаудың жоғарғы шегі

b

Кіретін мәліметтер

Интегралдаудың төменгі шегі

y

Нәтиже

Интеграл мәні

 

В.2  к е с т еАлгоритмді сипаттайтын әртүрлі тәсілдердің сәйкестігі

Құрылым

Жалған код

Flow-формалар

Насси-Шнейдерман

диаграммалары

Бір ізді

< 1 әрекет>

< 2 әрекет >

Тармақталу

   Егер <шарт>

      онда <1 әрекет>

      иначе <2 әрекет>

   Бәрігер

Цикл-әзір

   Цикл-әзір <шарт>

< әрекет>

   Бәрі -цикл  

Таңдау

   Таңдау <код>

   <1 код>: <1 әрекет>

   <2 код>: < 2 әрекет>

    әйтпесе <3 әрекет>

   Бәрі-таңдау

Параметр

лі цикл

   <индекс> =  үшін

        <n>,<m>,<h>

        <әрекет >

   Бәрі-цикл

Цикл-дейін

   Орындау

<әрекет>

   Дейін <шарт>

 

 

 

В.3  к е с т е – Мәліметтер сұлбасының МЕСТ 19.701-90 бойынша  негізгі белгіленулері

Блоктың атауы

Белгіленуі

Блоктың тағайындалуы

Есте сақталатын мәліметтер

Құрылғы типін нақтыламай-ақ сақталуға тиісті кестелер мен мәліметтердің басқа да құрылымдарының белгіленуі

Жедел есте сақтайтын құрылғы

Жедел жадыда сақталатын кестелер мен мәліметтердің басқа да құрылымдарының белгіленуіне арналған

Тізбекті таңдауы бар есте сақтайтын құрылғы

Тізбекті таңдауы бар құрылғыда (магниттік таспада және т.б.) сақталатын кестелер мен мәліметтердің басқа да құрылымдарының белгіленуіне арналған

Тікелей қатынас жасайтын есте сақтайтын құрылғы

Тікелей қатынас жасайтын құрылғыда (дискілерде) сақталатын кестелер мен мәліметтердің басқа да құрылымдарының белгіленуіне арналған

Құжат

Баспа құрылғысына енгізілетін кестелер мен мәліметтердің басқа да құрылымдарының белгіленуіне арналған

Қолмен енгізу

Пернетақтадан мәліметтерді қолмен енгізудің белгіленуіне арналған

Карта

Магниттік картадағы мәліметтердің белгіленуіне арналған

Дисплей

Дисплейге шығарылатын мәліметтердің белгіленуіне арналған

 

В.4 к е с т е Тестілеу кестесін толтыру мысалы

Тест №№

Тестілеу күні

Тестілеуші-нің аты жөні

Пайда болған қателер мен толық берілмеген есептер

Қатенің жойылғаны жөніндегі белгілеу

Жаңа нұсқа нөмірі

1

10.02.08

Иванов П.И.

Қосындыны есептегендегі жіберілетін логикалық қате

Символдық мәліметтерді енгізгенде бағдарламаның дұрыс аяқталмауы

Интерфейстің қате түс шешімі

Қосындының бастапқы мәні толықтырылды  к=0

 

 

Мәліметтерді енгізудің дұрыстығы тексерілді

 

Нормаға сәйкес түс шешімі өзгертілді

Math-2

 

Әдебиеттер тізімі 

1.     ГОСТ 19.701-90. ЕСПД. Схемы алгоритмов и программ. Обозначения условные, графические. – М.: Издательство стандартов,1990.

2.     Дж.Либерти. Освой самостоятельно С++ за 21 день. – М.: Издательский дом «Вильямс», 2001.

3.     И.В.Ашарина. Основы программирования на языках С и С++. – М.: Горячая линия-Телеком, 2002.

4.     А.Б.Крупник. Самоучитель С++. – СПб.: Питер, 2005.

5.     Дж.Бентли. Жемчужины программирования. - СПб.: Питер, 2003.

6.     А.Л.Марченко. С++. Бархатный путь. - М.: Горячая линия-Телеком, 2002.

7.     Иванова Г.С. Технология программирования. - М.: Изд-во МГТУ им. Н.Э.Баумана, 2002.

8.     Вирт Н. Алгоритмы и структуры данных. – М.: Мир, 1989.

9.     Тассел Д. Ван. Стиль, разработка, эффективность, отладка и испытание программ. – М.: Мир, 1985.

10.Соммервиль И. Инженерия программного обеспечения. - М.: Изд-во Вильямс, 2002.

11.Мандел Т. Разработка пользовательского интерфейса. – М.: ДМК Пресс, 2001.

12.Канер С., Фолк Д., Нгуен Е.К. Тестирование программного обеспечения. - Киев: «ДиаСофт», 2000

13.Гримм С.Дж. Как писать руководства для пользователей. – М.: Радио и связь, 1985.

14.Липпман С., Лажойе Ж. Весь С++ от азов до совершенства. – СПб.: Невский диалект. - М.: ДМК Пресс, 2007.

Сябина Н.В. Технологии программирования. Конспект лекций (для студентов всех форм обучения спец. 050702, 050703). - Алматы: АИЭС, 2008.