Жүйелік бағдарламалау 1

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

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

Компьютерлік технологиялар кафедрасы

 

 

Жүйелік бағдарламалау 1

 5В070400 – Есептеу техникасы және бағдарламалық қамтамасыз ету мамандығының студенттері үшін
курстық жұмыстарды орындауға арналған әдістемелік нұсқаулар

 

 

Алматы 2013

 

ҚҰРАСТЫРУШЫЛАР: Мусатаева Г. Т., Конуспаева А. Т., Байжанова Д. О. Жүйелік бағдарламалау 1. 5В070400 – Есептеу техникасы және бағдарламалық қамтамасыз ету мамандығының студенттері үшін курстық жұмыстарды орындауға арналған әдістемелік нұсқаулар.– Алматы: АЭжБУ, 2013. – 20 б.

 

Әдістемелік нұсқаулар бағдарламалаудың тәжірибелік сұрақтарын қарастырып оқып жүрген 5В070400 – Есептеу техникасы және бағдарламалық қамтамасыз ету мамандығының студенттеріне арналған.

          Әдебиеттер тізімі – 9 атау.

 

Пікір беруші: техн.ғыл.канд., доцент Ни А.Г.

 

“Алматы энергетика және байланыс университеті” коммерциялық емес акционерлік қоғамының 2012 жылғы баспа жоспары бойынша басылады.

 

© “Алматы энергетика және байланыс университеті” КЕАҚ, 2013 ж.

 

Кіріспе

 

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

«Жүйелік бағдарламалау 1» пәнді оқу нәтижесінде студенттер:

-   ЭЕМ, жүйелері және тораптарын басқару принциптерін;

-   жүйелік бағдарламалаудың құрамдас бөліктерінің қызметтерін;

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

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

Программалық  өнімді (ПӨ) өңдеу бір–бірімен байланысқан фрагментік әрекеттерден тұрады – атап айтсақ:

- деректер моделін құру және есептеу әдістемесі;

- функционалдық сипаттамасы;

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

- пайдаланушы интерфейсін сипаттау және анықтау;

- ПӨ қолдайтын құралдарды анықтау;

- есеп ерекшелігі;

- программа текстін жазу;

- программа трансляциясы және жөнделуі;

- қолдау кітапханаларын қосу және байланыстыру;

- орындау ортасын құру; орындамалық модульді орналастыру және жүктемелеу;

- өңдеуді құжаттау және енгізілген көмекші құру;

- орнатылатын (инсталляцияланатын) ПӨ пакетін құру.

Rational Unified Process (RUP) көлемінде программаны өңдеу үшін келесі этаптарға тоқталып өту керек:

- талаптарды анықтау;

- жобалау;

- программалау;

- тестілеу;

- енгізу.

Көрсетіліп отырған жұмыстарды орындау үшін көптеген программалар жиыны – аспапты өңделген және олар толықтырылып отырады, олар программаның өңделу процесін қалыптастыру және автоматтандыру үшін қажет.

«Жүйелік бағдарламалау 1» пәнін оқытудың мақсаты: программалық аспаптарды атап өту және оның жіктелімін үйрету; аспаптық программалық қамтаманың құралдары және әдістерінің құрамы мен қолдану аймағын анықтау; өңдеу аспаптармен жұмыс істеу тәсілдері, компиляциялау, жүктемелеу, программаны орнатуды білу; аспаптарды қолдану мінездемесі мен мүмкіндіктері, олардың ақпараттық қамтамасын талдау; программалық қамтаманы қолдау және енгізу, жүктемелеу, қазіргі заманғы өңдеу құралдарын қолдануды тәжірибе жүзінде қалыптастыру.

Пәнді оқып білу нәтижесінде студент жүйелік позиция жағынан келесілерді білуі, жасауы және қолдануы керек:

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

2) Аспаптық программалық қамтаманың теориялық негізін құруды білу.

3) Программалық өнімді өңдеудегі қолданылатын мемлекетіміздің және шетелдердің стандарттарын қолдануды білу.

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

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

6) Программалық аспапты құру стандарттарын қолдану.

7) Аспаптық программалық құралдарды қолдану.

Аспаптарды қолдану тиімділігінің бағасы және сапа мінездемесінің талдануы:

1) Аспаптық программалық құралды енгізудің экономикалық тиімділік бағасы.

2) Аспаптармен жұмыс істеудегі обьектілі – бағытталған және құрылымдық тарату әдістері.

3) Аспаптық программалық құралдарды қолдану.

4) Программалық аспаптарды өңдеу.

5) ПӨ өңдеу аспаптарын таңдау кезіндегі салыстырмалы талдау.

 

1 Курстық жұмыс мақсаты мен мәселелері

 

1.1 Курстық жұмысты орындаудың мақсаты

 

- Студенттердің оқу барысында алған теориялық және тәжірибелік, кәсіби білімдерін жүйелеу, бекіту және кеңейту.

- Дербес зерттеу және нақты сұрақтар мен мәселелерді әзірлеу және зерттеу кезінде тәжірибе жасау әдістемесін игеру.

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

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

 

1.2 Курстық жұмыстың мәселелері

 

Курстық жұмыс (жоба) келесі талаптардың біріне жауап беруі тиіс:

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

- зерттелетін нысан бойынша негізделген теориялық қорытындылар мен ұсыныстардың болуы;

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

- таңдалған тақырыптың өзектілігі мен маңыздылығын негіздеуі керек;

-  қажетті мәліметтерді жинау жолымен зерттеу нысанының (пәнінің) күйіне талдау жасау;

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

- алынған нәтижелерді жинақтау негізінде зерттеу нысандарының қызметін жетілдіру жолдарын немесе нақты мәселелерді, сұрақтар мен міндеттерді шешу жолдарын ұсыну.

 

2 Курстық жұмыстың құрылымы мен безендірілуі

 

2.1 Курстық жұмыстың құрылымы

 

Курстық жұмыс (жоба) студенттің нақты мамандық бойынша өз бетінше машиналық жазба мәтінінде 25-30 бет көлеміндегі қолжазба түрінде әзірлеген - зерттеу жұмысы. Қосымшалар көрсетілген курстық жұмыс (жоба) көлеміне енгізілмейді.

Курстық жұмыстың (жобаның) құрылымдық элементтері:

1) Мұқабасы.

2) Бірінші беті.

3) Курстық жұмысты орындауға тапсырма.

4) Мазмұны.

5) Кіріспе.

6) Негізгі бөлім (теориялық, сараптамалық және ұсынымдық бөлімдер).

7) Қорытынды (қорытындылар мен ұсыныстар).

8) Пайдаланылған әдебиеттер тізімі.

9) Қосымшалар.

 

2.2 Курстық жұмыстың безендірілуі

 

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

Курстық жұмыстың мұқабасы мен бірінші беті нөмірленбейді, бірақ жалпы беттер санына кіреді. Мұқаба мен бірінші беттің үлгілері 3 және 4 қосымшаларда келтірілген.

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

Мазмұнында курстық жұмыстың әрбір элементінің (тарау, параграф) қарсысына ол басталатын беттің нөмірі қойылады.

Курстық жұмыстың (жобаның) мазмұны келесі шарттарға жауап беруі керек:

- Материалды баяндаудың логикалық бірізділігі.

- Зерттеудің нақты мақсатты бағыттылығы.

- Жұмыс нәтижелерін баяндаудың нақтылығы.

- Қорытындылардың, нәтижелердің дәлелділігі және ұсынылатын шешімдер мен ұсыныстардың негізделгендігі.

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

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

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

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

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

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

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

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

 

3 Курстық жұмыстың орындалу тәртібі

 

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

- тақырыпты таңдау;

- әдебиеттерді іріктеу және үйрену;

- жұмыс жоспарын құрастыру;

- нақты материалдарды жинау мен жетілдіру;

- курстық жұмысты жазу;

- курстық жұмысты толтыру;

- курстық жұмысты қорғау.

Тақырыпты таңдауда бір оқу тобында курстық жұмыстың бір тақырыбын тек бір ғана студент орындайды.

Жалпы ережелер. Курстық жұмыс талаптарға сәйкес толтырылуы тиіс.

Курстық жұмыстың негізгі бөлігі, зерттеу тақырыбы мен мазмұнына байланысты, әртүрлі мәтіндер түрінде, кестелер мен суреттер түрінде (сызба, диаграммалар) өрнектелуі тиіс.

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

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

Курстық жұмыстың бөлімдері мен тараулары араб сандарымен нөмірленеді. Тараулар барлық мәтіндегі реттік нөмірлеу бойынша жүзеге асады. Мысалы – 1,2,3 және т.б.

 

3.1 Курстық жұмысты орындау кезеңдері

 

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

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

 

3.2 Курстық жұмысқа қойылатын негізгі талаптар

 

Курстық жұмысты орындайтын студент жазбаша жұмыспен ұсынылатын талаптарды білуі тиіс.

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

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

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

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

 

4 Курстық жұмыс тақырыптары

 

          Курстық жұмыста жүйелік функцияларының алгоритмдерін және құрылымдарын жасау.

1.    Нақты ЖБ-лар мен программалық қамтамалардың құрылысы мен элементтерінің жұмысы.

2.    Басқаратын құрылғылардың типтері. Көпесептілік мәселелері.

3.    Үрдіс басқаруымен ядроның жұмысы.

4.    Үрдіс атрибуттары. Үзуді өңдеу.

5.    Операциялық жүйе ортасында үрдістердің түзелуі.

6.    Үрдістерді синхрондау.

7.    Енгізу-шығару менеджерінің жұмыс жасау алгоритмі, құрылымы, функциялары.

8.    Енгізу-шығарудың қорғауын ұйымдастыру.

9.    Файлдық жүйенің құрылымы мен  қасиеті.

10. Қатынау құқығы.

11. Файлдарды қорғау тәсілдері. Кэштеу.

12. Жадыны басқару.

13. Жадыны бірігіп қолдану.

14. Жадыны қорғау. Виртуалды жадыны ұйымдастыру механизмдері.

15. Беттерді аударыстыру стратегиялары.

16. Нақты ЖБ-лер мен программалық қамтамалардың құрылысы мен элементтерінің жұмысын оқып-үйрену

17. Басқаратын құрылғылардың типтері. Көпесептілік.

18. Көпесептілік және көпағындылық. Үрдістің мәнмәтіні.

19. Үрдіс басқаруымен ядроның жұмысы.

20. Ядроны конфигурациялау

21. Үрдіс атрибуттары. Үзуді өңдеу

22. Операциялық жүйе ортасында үрдістердің түзелуі.

23. Үрдістерді синхрондау.

24. Енгізу-шығару менеджерінің жұмыс жасау алгоритмі, құрылымы, функциялары.

25. Енгізу-шығарудың қорғауын ұйымдастыру

26. Файлдық жүйенің құрылымы мен  қасиеті.

27. Қатынау құқығы.

28. Файлдарды қорғау тәсілдері

29. Жадыны басқару.

30. Жадыны бірігіп қолдану.

 

4.1 Жұмыстың негізгі бөлімінің орындалуы

 

4.1.1 Бағдарлама құрылымының сипаттамасы.

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

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

 

4.1.2 Алгоритмнің блок-сұлбасының сипаттамасы.

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

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

Төбелерде нұсқауларды әріппен жасайды, (А, B, C....), бұл жағдайда нұсқау әріпке беріледі, байланыс жүретін жерде немесе төбенің нөмірін нұсқау арқылы, бұл жағдайда байланыстың қай жерден келгенін, қалай жүретінін және төбе нөмірін көруге болады. Нұсқаулар диаметрі 0,5а-ға тең шеңберлерде беріледі. Алгоритмнің негізгі блогындағы блок-сұлбасының төбесінің өлшемі мынаған тең а:б, сонымен қатар  1:1,5 ( 1:2 рұқсат етіледі), а = n*(10 немесе 15 мм.), мұндағы n жұп коэффициенті. Мысалы, төбе өлшемі мынадай болуы мүмкін: n = 10 және модуль 15 мм болғанда 200-ге 300 мм.

 

4.1.3 Бағдарлама мәтінінің сипаттамасы.

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

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

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

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

Түсініктемелер (комментарий) түріндегі нақты сипатталған бағдарлама өздігінен құжатталатын (самодокументирующейся) деп аталады.

Түсініктемелерді (комментарий) келесі элементтерге жіктеуге болады.

1) Бағдарлама атының тақырыбы (заголовок) – Бағдарлама атауының және бағдарлама жұмысының қысқаша сипаттамасы.

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

TITLE DISK.ASM

;ДИСК ТАҢДАЙТЫН БАҒДАРЛАМА (ФАЙЛ DISK.ASM)

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

2) Блок түсініктемелері (комментарий).

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

Мысалға:

          ; пернетақтадан сұрау

          ................

          ;мәзір рамкасын қалыптастыру

3) Жолдағы түсініктеме (комментарий).

Әдеттегідей, анықтайды немесе бағдарламадағы кейбір әрекеттерді еске түсіреді, жалауды (флаг) белгілеу, тексеру және т.б. Түсініктемелерді (комментарий) бос мақсаттарға қолдана бермеу керек.

Дұрыс түсініктеме қатары:

mov   bx,fio[1]      ; fio[1]-де нақты ендірілген сан болады

cmp   ah,77           ;бағыттауыш солға

Осылайша, түсініктемелер бағдарлама құрылымында бағыт табуы керек. Дұрыс, сауатты түсініктеме бағдарламаны оқуымен қатар оның жасалуына да көмектеседі!

 

5 Курстық жұмысты орындауға арналған әдістемелік нұсқаулар

 

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

          1) тапсырманың берілуіне талдау жасау; тапсырманы шешудің тәсілін таңдап, негіздеу; есептің шешу алгоритмін әзірлеу - 25%*;

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

3) бағдарламалау тілінде қойылған есепті шешу алгоритмінің программасын құру - 40%;

4) түсінік жазбасын даярлау және жұмысты қорғау - 15%.

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

 

5.1 Бағдарлама жазылуының технологиясы

 

5.1.1 Бағдарлама жасап-шығарудың басты деңгейлері.

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

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

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

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

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

–      оларды жасау мен жұмыс істелуін жеңілдету;

–      бағдарлама оқылуын жеңілдету;

–      олардың модификациясы мен бағыттауын жеңілдету;

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

–      алгоритмдердің неғұрлым бөлшектенуінен қашу;

–      ЭЕМ жадысында бағдарлама орналастыруды қамтамасыз ету.

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

–       " жоғарыдан- төмен " жобалау әдісі (төменде жобалау);

–      " төменнен- жоғарыға " (жоғары жобалау);

–       "іштен шекараларға қарай" (кеңейтілген ядро әдісі).

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

 

5.1.2 Тапсырманың қойылуы.

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

-  бағдарлама қандай мақсатпен жасалынуда;

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

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

-  бағдарлама мен қолданушы арасындағы интерфейс қандай (экран түрлері, және т.б);

-  қандай тапсырмалар байланысқан, қандайлары - байланыспаған;

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

-  бағдарлама жүйеде жұмыс істей ме, оған бірнеше қолданушы бір уақытта көңіл аудара ала ма;

-  бағдарламаны көшіруге байланысты басқа да сұрақтар.

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

-     жұмыс нәтижесінде нені алу қажет (құжаттар, файлдар, экран және т.б.);

-     мәзірді ұйымдастыру жолы (бейнежадыда, 21h үзу функциясы көмегімен, "төмен түсу", көпдеңгейлі және т.б.);

-     оператордың дұрыс емес жұмысынан туындаған қателерді немесе жүйенің соқтығуынан болған қателерді қайта өңдеу;

-     жұмыстың аяқталуы.

 

5.1.3 Бағдарлама құрылымын құру.

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

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

 

5.1.4 Алгоритм блок-сұлбасын жасап-шығару.

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

 

5.1.5 Бағдарлама мәтінінің жазылуы.

Бағдарламалаудың "жоғарыдан-төмен" әдісінде ең алдымен, сегменттердің псевдооператорлары, сегмент адресінің қосу операторы, бағдарламаның блогтық түсініктемелері жазылады. Мысалға, Turbo Assembler тілінде жазылған бағдарлама үшін:

 

TITLE aos.asm

Comment# Көптерезелі мәзірді жасау үшін арналған бағдарлама. Бағдарлама мәзір конфигурациясын жасайды, ендірілу деңгейі 3-тен артық емес және экрандағы бейне санымен шектеледі. Біріктіретін функциялар: директорияларды қарау және директориялар ішіне өту және  мәзір файлына таңдау жасау (қарау немесе басқа мақсаттар үшін), мәзір бойынша курсорды ауыстыру бойынша басқару, бағдарлама аумағынан тыс буфердегі  мәтінді қарау. Жасаушы Иванов В.В.,  БВТ-XX-YY тобы #

 .model small

 .code

 .stack 200h

;__________________________________________________________

Start: Push cs

          Pop   ds

<мұнда  бағдарлама денесі болады>

.........

exit:    mov ah,4ch ; бағдарламадан шығу

int 21h

End Start

 

MASM-да жазылған бағдарламалар үшін:

;жүйе қайтаратын қондырылған дискінің санын анықтайды

;дискіні таңдап және курсор басқаратын дискінің санын анықтайды

(файл DISKI.ASM)

CSEG          SEGMENT

ASSUME CS:CSEG,DS:CSEG

begin:          push  cs

pop    ds

jmp    v1

fr1     db      'қате',10,13,'$'

v1:

          <мұнда бағдарлама денесі болады>

          .........

exit:   mov ah,4ch ;бағдарламадан шығу

          int 21h

CSEG          ends

          end begin

 

Келтірілген мысалда мәліметтер кодтық сегментте орналасады, ал кодтық сегментте бірінші ASSUME және мекенжай, сегмент мекенжайларын жүктеу операторлары болу керек (бұл мысалда push cs,pop ds). Осы операторлардан бағдарламаның орындалуы басталуы керек, begin: белгісі нені көрсетеді, end begin директиваларында орнаған ссылка. Мәліметтерден өту үшін jmp v1 операторы қызмет етеді. Бастапқы этаптарда қателер туралы хаттан басқа басқа мәліметтер анықталмаған.

exit: белгісінің соңғы операторында бағдарламаның аяқталуы тұр, (4ch функциясы 21h үзуі).

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

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

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

 

;жүйе қайтаратын қондырылған дискінің санын анықтайды

;дискіні таңдап және курсор басқаратын дискінің санын анықтайды (файл DISKI.ASM)

CSEG          SEGMENT

ASSUME CS:CSEG,DS:CSEG

begin:          push  cs

          pop    ds

jmp    v1

;----------------

ch_d  db      0; мұнда жүйе қайтаратын қондырылған дискінің санын орнатамыз

diski   db      23 dup(0),'$'; дискілер тізімін орнатататын буфер

fr1     db      'қате',10,13,'$'

;----------------

v1:     ;қазір қандай диск екенін анықтайды

          ;қанша дисктің орнатылғанын көрсетеді?

          ;мәзірді толықтау

          ;мәзірді шығару

; меңзерді (курсор) басқару процедурсын шақыру

          call    UPRCUR

exit:   ; бағдарламадан шығу

          mov ah,4ch

          int 21h

<Мұнда процедуралар орнатылады. Бұл аймақ процедуралар түрінде мысал ретінде көрсетілген. Бірақ ол бағдарламаның логикасына қарсы емес!>

UPRCUR     proc   ;процедура пернетақтадан сұрайды, басылған пернені талдайды және меңзерді (курсор)  ауыстырады, мәзір бойынша дискіні таңдайды және оны белсенді етеді, <Enter> немесе  <Esc>-сіз процедурадан шығады

ret

UPRCUR     endp

CSEG ends

end begin

 

Енді біздің бағдарлама кодтауға дайын: макрокомандалар, процедуралар және бағдарлама мәтінін жазу керек.

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

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

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

 

5.1.6 Пайдалану сынағы.

Бағдарламаны кейінге қалдыра тұрғаннан кейін, ол бір нәрсені орындай бастағанда бағдарламаны көшіру қажет, яғни онымен оператор сияқты жұмыс істеу керек. Мүмкін, табарсыз, жеке операциялар интерфейске ыңғайлы емес, сол себепті интерфейсті жақсартқыңыз келеді немесе кейбір қарастырылмаған жағдайларда бағдарлама тұрып қалады да жүйенің қайта жүктелуін сұрайды, соған көз жеткізуіңіз мүмкін немесе логикалық қате табылады. Бағдарлама жұмысын аяқтаған жөн. Әдетте бұл этапта жұмыстың аяқталуы іске асады "ақымақтан қорғау", яғни бұл оператордың дұрыс жұмыс жасамауынан, дұрыс емес, мәліметтерден және т.б. себебінен болуы мүмкін. Байқалған кемшіліктер шеттетіледі, бұл дегеніміз 3 және 4 пункттар қайталанылады. Өңдеуші өз бағдарламасының жұмысын одан ары қадағалауы керек. Бұл бағдарламаны алып жүру деп аталады.

 

6 Техқұжатты безендіру

 

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

 

6.1 Қолданушыға бағытталған нұсқау

 

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

 

6.2 Жүйелік бағдарламалаушыға арналған нұсқау

 

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

 

6.3 Операторға нұсқау

 

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

 

6.4 Бақылаушы мысалды сипаттау

 

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

 

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

 

1.    Есептеу жүйесінің элементтерінің орталық басқаруының әрекеттесу сұлбасы.

2.    Жүйелік бағдарламалаудың жіктелінуі.

3.    Жүйелік бағдарламалаудың жіктелінуі.

4.    Жүйелік бағдарламалаудың функциялары мен міндеті.

5.    Жүйелік бағдарламалауда үрдістің орындалуы мен сұлбасы.

6.    Параллельді үрдістердің синхрондауының үш негізгі тәсілдері.

7.    Үзу және алыптастауды өндеу.

8.    Өнімділік анализі. Көпесептілік.

9.    Үзудің типтері мен пұрсаттылықтары.

10.HPFS файлдық жүйесінің құрамы.

11.Файлдардың блокті – тізбекті құрылымының ұйымдастыруы.

12.Файлдарды блокті – индексті бөлу.

13.Еңгізу – шығаруды басқарудың жалпы принциптрі.

14.Файлға қатынау құқықтары, мысал келтіру.

15.Файлдар картасы бойынша бөлу.

16.Еңгізу-шығару стандартты кітапханасының функциялары.

17.Программаланатын еңгізу-шығару.

18.Каталог құрылымы.

19.Операциялық жүйесіндегі  пайдаланушының атрибуттары.

20.Файлдық жүйенің диспетчерінің құрылымы.

21.Файлдық жүйе менеджерінің жұмыс механизмдері.

22.Қатармен еңгізу- шығаруды басқару.

23.Оперативті жадының жұмыс зоналары.

24.Sendmail  программасы.

25.FTP командасы.

26.Syslog-та программалау мысалдары дискіде файлдарды орналастыру.

27.Виртуалды жадының құрылымы.

28.Виртуалды жадының диспетчерінің жұмысы.

29.Жадыны диспетчерлеу.

30.Бағыттарды конфигурациялау.

31.Тораптық интерфейстерді конфигурациялау.

32.Бағдарғылау домені.

33.Жүктеу жазба құрылымы.

34.Торапты басқару.

 


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

 

1.    Джеффри Рихтер. Windows. Создание эффективных Win32- приложений с учетом специфики 64-разрядной версии Windows. - СПб., М., Харьков, Минск: “Русская редакция”, “Питер”, 2001 (Серия: для профессионалов).

2.    Ал Вильямс. Системное программирование в Windows 2000. – СПб.: Питер, 2001.

3.    Джонсон М. Харт. Системное программирование в среде Win32. – М.: Издательский дом “Вильямс”, 2001.

4.    Румянцев П.В. Азбука программирования в Win32 API. – М.: Горячая линия – телеком, 2001.

5.    Румянцев П.В. Работа с файлами в Win32. – М.: Горячая линия – телеком, 2001.

6.    Ганеев Р.М. Проектирование интерфейса пользователя средствами Win32 API. – М.: Горячая линия – телеком, 2001.

7.    Хелен Кастер. Основы Windows NT и NTFS: Пер. с англ. -М.: Изд. Отдел Русская редакция, 1996 г.

8.    Ресурсы Windows NT: Пер с англ. -СПб.: BHV - Санкт-Петербург, 1996.

9.    Джон Д. Рули и др. Сети Windows NT 4.0. Пер. с англ. -Киев: Издательская группа BHV, 1997.

 

Мазмұны

 

Кіріспе 

1 Курстық жұмыс мақсаты мен мәселелері 

1.1 Курстық жұмысты орындаудың мақсаты 

1.2 Курстық жұмыстың мәселелері 

2 Курстық жұмыстың құрылымы мен безендірілуі 

2.1 Курстық жұмыстың құрылымы 

2.2 Курстық жұмыстың безендірілуі 

3 Курстық жұмыстың орындалу тәртібі 

3.1 Курстық жұмысты орындау кезеңдері 

3.2 Курстық жұмысқа қойылатын негізгі талаптар 

4 Курстық жұмыс тақырыптары 

5 Курстық жұмысты орындауға арналған әдістемелік нұсқаулар 

6 Техқұжатты безендіру 

6.1 Қолданушыға бағытталған нұсқау 

6.2 Жүйелік бағдарламалаушыға арналған нұсқау 

6.3 Операторға нұсқау

6.4 Бақылаушы мысалды сипаттау

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

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

2012 ж. баспа жоспары, реті 221