3
Дәрістер конспекті
1 Бөлім. Персональдік компьпютерді автоматты программалаудың программалық
құралдары.
Дәріс1. Персональдік компьпютерді прогарммалық қамтамасыздандырудың ұғымы.
Автоматты прогарммалаудың тәсілдері. Сенімді программалық құрал
технологиялық программалаудың құралы сияқты. Программалаудың тарихи және
әлеуметтік контекстісі.
Ақпаратты ортада мәліметтерді жөндеу процесінің ұғымы. Программа
формальді процессі сияқты. Программалық құралдар ұғымы. Программалық
құралдардағы қателер ұғымы. Дұрыс программларының құрылымсыздығының ұғымы.
Программалық құралдардың сенімділігі. Технологиялық программалау технологиялық
құрудың сенімді программалық құралы. Технологиялық программалау және қоғамдық
ақпараттау.
СДЖ арналған бақылау сұрақтары
1.1.
Программаның информациялық ортасы дегеніміз не?
1.2.
Программалық құрал дегеніміз не (ПҚ)?
1.3.
Программалық құралдағы қате дегеніміз не?
1.4.
Программалық құралдағы сенімділік дегеніміз не?
1.5.
Программалық технология дегеніміз не?
Ұсынылатын әдебиеттер
1.1. И.Г.Гоулд, Дж. С.Тутилл. Терминологическая работа IFIP (Международная
федерация по обработке информации) и ICC (Международный вычислительный центр) //
Журн. вычисл. матем. и матем. физ., 1965, #2. - С. 377-386.
1.2. Г.Майерс. Надежность программного обеспечения. - М.: Мир, 1980.
1.3. Ian Sommerville. Software engineering. - Addison-Wesley Publishing Company, 1992.
1.4. Э. Дейкстра. Заметки по структурному программированию / У. Дал, Э. Дейкстра,
К. Хоор. Структурное программирование. - М.: Мир, 1975. - С. 7-97.
1.5. Criteria for evaluation of software. - ISO TC97/SC7 #367 (Supersedes Document #327).
1.6. С.И. Ожегов. Словарь русского языка. - М.: Советская энциклопедия, 1975.
1.7. Ф.Я. Дзержинский, И.М. Калиниченко. Дисциплина программирования Д:
концепция и опыт реализации методических средств программной инженерии. - М.:
ЦНИИ информации и технико-экономических исследований по атомной науке и технике,
1988.
1.8. В. Турский. Методология программирования. - М.: Мир, 1981.
1.9. Г. Буч. Объектно-ориентированное проектирование с примерами применения. -
М.: Конкорд, 1992.
1.10. Е.А. Жоголев. Система программирования с использованием библиотеки
подпрограмм / Система автоматизация программирования. - М.: Физматгиз, 1961. - С. 15-
52.
1.11. Ф.П. Брукс, мл. Как проектируются и создаются программные комплексы. - М.:
Наука, 1979.
1.12. R.C. Holt. Structure of computer programs: A Survey // Proceedings of the IEEE, 1975,
63(6). - P. 879-893.
1.13. Дж. Хьюз, Дж. Мичтом. Структурный подход к программированию. - М.: Мир,
1980.
1.14. Е.А. Жоголев. Технологические основы модульного программирования //
Программирование, 1980, #2. - С. 44-49.
1.15. Б. Боэм, Дж. Браун, Х. Каспар и др. Характеристики качества программного
обеспечения. - М.: Мир, 1981.
1.16. В.В. Липаев. Качество программного обеспечения. - М.: Финансы и статистика,
1983.
1.17. Б. Шнейдерман. Психология программирования. - М.: Радио и связь, 1984.
1.18. Revised version of DP9126 - Criteria of the evaluation of software quality
characteristics. ISO TC97/SC7 #610. Part 6.
1.19. В.Ш. Кауфман. Языки программирования. Концепции и принципы. - М.: Радио и
связь, 1993.
1.20. Требования и спецификации в разработке программ. - М.: Мир, 1984.
1.21. В.Н. Агафонов. Спецификация программ: понятийные средства и их организация.
- Новосибирск: Наука (Сибирское отделение), 1987.
1.22. В.В. Липаев, Е.Н Филиппов. Мобильность программ и данных в открытых
информационных системах. - М.: Научная книга, 1997.
2
Дәріс. Программалық құралдардағы қателердің негізі.
Программалық жүйелерді құрудағы, адамдардың интеллектуальдік мүмкіндіктерін
қолдануы. Жай және күрделі жүйелердің, кішкентай және үлкен жүйелердің ұғымы.
Біріншіден екінші көрініске ауысқан ақпараттың қате аударымы – программалық
құралдарды жөндеудегі қателердің негізгі себебі. Аударымның модельі мен қателердің
негізі.
СДЖ арналған бақылау сұрақтары
2.1. Жай және күрделі жүйелер дегеніміз не?
2.2. Кішкентай және үлкен жүйелер дегеніміз не?
Ұсынылатын әдебиеттер
2.1. Э. Дейкстра. Заметки по структурному программированию / У. Дал, Э. Дейкстра, К.
Хоор. Структурное программирование. - М.: Мир, 1975. - С. 7-19.
2.2. Е.А. Жоголев. Технологические основы модульного программирования. //
Программирование, 1980, #2. - С. 44-49.
Г. Майерс. Надежность программного обеспечения. - М.: Мир, 1980.
3
Дәріс. Алгоритімдік тілдер. Программалық жөндеудегі жалпы принциптер.
Программалық құралдарды жөндеудің құрылымы. Программалық құралдағы
өмірлік цикл. Программалық құралдардың сапалығының ұғымы. Сенімділікпен
қамтамасыз ету – программалық құралдарды жөндеуінің негізі. Қиындықпен күресудің
тәсілдері. Нақты аударымды қамтамасыз ету. Қолданушы мен жасаушының
арасындағы қиындықты жеңу. Дұрыс қабылданған шешімдерді бақылауды қамтамасыз
ету.
СДЖ арналған бақылау сұрақтары
3.1. Программалық құралдардың өмірлік циклі дегеніміз не?
3.2. Программалық құралдардың сыртқы бейнесі дегеніміз не?
3.3. Программалық құралдарды жеткізу дегеніміз не?
3.4. Программалық құралдардың сапалылығы дегеніміз не?
3.5. Аралас бақылау дегеніміз не?
Ұсынылатын әдебиеттер
3.1. Е.А. Жоголев. Введение в технологию программирования (конспект лекций). - М.:
"ДИАЛОГ-МГУ", 1994.
3.2. М. Зелковец, А. Шоу, Дж. Гэннон. Принципы разработки программного обеспечения.
- М.: Мир, 1982. - С. 11.
3.3.
К. Зиглер. Методы проектирования программных систем. - М.: Мир, 1985. - С. 15-
23.
3.4.
Дж. Фокс. Программное обеспечение и его разработка. - М.: Мир, 1985. - С. 53-67,
125-130.
3.5.
Ian Sommerville. Software Engineering. - Addison-Wesley Publishing Company, 1992. -
P. 5-10.
3.6. Criteria for Evaluation of Software. ISO TC97/SC7 #383.
3.7. Revised version of DP9126 - Criteria of the Evaluation of Software Quality Characteristics.
ISO TC97/SC7 #610. - Part 6.
3.8. Б. Боэм, Дж. Браун, Х. Каспар и др. Характеристики качества программного
обеспечения. - М.: Мир, 1981. - С. 17-24.
3.9. В.В. Липаев. Качество программного обеспечения. - М.: Финансы и статистика, 1983.
- С. 18-30.
3.10.
Б. Шнейдерман. Психология программирования. - М.: Радио и связь, 1984. - С. 99-
103.
3.11.
Г. Майерс. Надежность программного обеспечения. - М.: Мир, 1980. - С. 32-48.
3.12.
Д. Пойа. Как решать задачу. - М.: Наука, 1961.
3.13.
В.В. Липаев, Б.А. Позин, А.А. Штрик. Технология сборочного программирования. –
М.: Радио и связь, 1992
4
Дәріс. Программалық құралдардың сыртқы суреті.
Сыртқы суреттеудің ұғымы, оның маңызы және программалық құралдарды
сапалы қамтамасыз етудегі маңызы. Программалық құралдардың сапалылығының негізі.
Программалық құрылымның функциональдік құрылымы. Сыртқы суретеуді бақылау.
СДЖ арналған бақылау сұрақтары
4.1. Программалық құралдардың сұранысының анықтамасы?
4.2. Программалық құралдардың сапалылығының спецификасы?
4.3. Программалық құралдардың тұрақтылығы?
4.4. Программалық құралдардың қорғаныштығы дегеніміз не?
4.5.Программалық құралдардың коммуникабельностігі?
4.6. Программалық құралдардың функциональді спецификациясы?
4.7. Программалық құралдардың қолды имитациясының сыртқы суреттемесі?
Ұсынылатын әдебиеттер
4.1. Ian Sommerville. Software Engineering. - Addison-Wesley Publishing Company, 1992.
4.2. Г. Майерс. Надежность программного обеспечения. - М.: Мир, 1980. - С. 49-77.
4.3. Е.А. Жоголев. Введение в технологию программирования (конспект лекций). - М.:
"ДИАЛОГ-МГУ", 1994.
4.4.
Criteria for Evaluation of Software. ISO TC97/SC7 #383.
4.5. Revised version of DP9126 - Criteria of the Evaluation of Software Quality Characteristics.
ISO TC97/SC7 #610. - Part 6.
4.6. Б. Боэм, Дж. Браун, Х. Каспар и др. Характеристики качества программного
обеспечения. - М.: Мир, 1981. - С. 61-87.
5 Дәріс. Персональді компьютерді қолданатындардың диалогті құралдарының
байланысы. Интегралды жүйелерді программалау. Семантикалы функциялардың
спецификациясының тәсілдері.
Семантикалық функциялардың спецификациясындағы негізгі әдістер. Кестелік
әдіс, кестелік шешімді тәсіл. Алгебралық әдіс; операциялық, денотациалық және
аксиоматикалық семантиктер. Құрылымдық тілдер.
СДЖ арналған бақылау сұрақтары
5.1. Функции
function F(x, y: integer): integer;
function G(x, y: integer): integer;
function R(x, y: integer): integer;
операциялық семантика теңдігінің көмегімен анықталған:
R(x, y) = x*(y – 1),
F(x, y) = R(x + 1, y) - R(x, y - 1),
G(x, y) = F(x, R(x, y)).
Сан – мәнін табу G(3, 3).
5.2. Функции
function F(n: integer): integer;
function G(n: integer): integer;
операциялық семантика теңдігінің көмегімен анықталған:
F(0)=1,
G(0)=2,
F(n)=G(n-1),
G(n)=F(n-1) + G(n-1).
Сан – мәнін табу F(3) и G(3).
5.3. Е және Т формальдік тілдері алфавитпен табылған
{'a', '*', '&', '<', '>'}
денотационной семантика теңдігінің көмегімен табылған
E= T
U
'*' T
U
E '&' T,
T= 'a'
U
'a*'
U
'<' E '>'
Төмендегі қай баған
'*a&*a*&a*' ,
'*a&',
'*<*a*&a>&<*a*>*'
E тіліне жатады және олардың қайсысы E тіліне жатпайды.
5.4. Төмендегі R түрі аксиоматикалық семантика көмегімен анықталған.
Анықтама:
type R= record P1, P2, P3: CHAR end;
function READ(S: R): CHAR; {READ: R
→
CHAR}
function SHIFT(S: R): R; {SHIFT: R
→
R}
Function ADD(S: R, C: CHAR): R; {ADD: R * CHAR
→
R}
function REMOVE(S: R): R; {REMOVE: R
→
R}
var X, Y, Z: CHAR;
U: R;
Аксиомалар:
SHIFT (ADD (ADD (ADD (U, X), Y), Z)) =
ADD (ADD (ADD (U, Y), Z), X);
REMOVE (U) = SHIFT (ADD (U, '#'));
READ (SHIFT (ADD (U, X))) = X;
Сан – мәнін табу:
READ (SHIFT (SHIFT (REMOVE (ADD (ADD (U, 'a'), 'b'))))) =
Ұсынылатын әдебиеттер
5.1.
В.Н. Агафонов. Спецификация программ: понятийные средства и их организация.
−
Новосибирск: Наука (Сибирское отделение), 1987.
5.2.
Ian Sommerville. Software Engineering.
− Addison-Wesley Publishing Company, 1992.
5.3.
Д. Скотт. Теория решеток, типы данных и семантика, / Данные в языках
программирования.
− М.: Мир, 1982. − С. 25-53.
5.4.
К. Хоор. О структурной организации данных / У. Дал, Э. Дейкстра, К. Хоор.
Структурное программирование.
− М.: Мир, 1975. −
С. 98-197.
6
Дәріс. Программалық құралдардың архитектурасы.
Архитектура ұғымы және оның суреттеуінің негізі. Программалық
құрылымдардың негізгі архитектуралы сыныптары. Жүйелер арасындағы өзара қарым –
қатынас және архитектуралық функциялар. Программалық құралдардың
архитектуралық бақылауы.
СДЖ арналған бақылау сұрақтары
6.1. Программалық құралдардың архитектурасы дегеніміз?
6.2. Архитектуралық функция дегеніміз не?
Ұсынылатын әдебиеттер
6.1. Г. Майерс. Надежность программного обеспечения. - М.: Мир, 1980. - С. 78-91.
6.2. E.W. Dijkstra. The Structure of the THE-Multiprogramming // Communications of the
ACM. - 1968, 11(5). - Pp. 341-346.
6.3. М. Кристиан. Введение в операционную систему UNIX. - М.: Финансы и статистика,
1985. - С. 46-49.
2. Бөлім. Есептердің алгоритімдік негіздері.
Дәріс7.
Алгоритм
анықтамасы.
Алгоритімді
суреттеудің
тәсілдері.
Алгоритімдердің схемалық жөндеуінің ережелері. Алгоритімдердің құрылымының
түрлілігі. Құрылымды программалауды жөндеу және модульді программалау.
Құрылымды программалауды жөндеудің мақсаты. Программалы модульдің
түсінігі. Программалы модульдің негізгі мінездемесі. Құрылымды программаларды
жөндеудің тәсілдері. Программалы модульдің спецификасы. Құрылымды программаны
бақылау.
СДЖ арналған бақылау сұрақтары
7.1.Прогаммалық модуль дегеніміз не?
7.2. Программалық модульдің мықтылығы неде?
7.3. Программалық модульдің біріктірілуі дегеніміз не?
Ұсынылатын әдебиеттер
7.1. Дж. Хьюз, Дж. Мичтом. Структурный подход к программированию. М.: Мир, 1980. -
С. 29-71.
7.2. В.Турский. Методология программирования. - М.: Мир, 1981. - С. 90-164.
7.3. Е.А.Жоголев. Технологические основы модульного программирования //
Программирование,1980, #2. - С. 44-49.
7.4. R.C.Holt. Structure of Computer Programs: A Survey // Proceedings of the IEEE, 1975,
63(6). - P. 879-893.
7.5. Г.Майерс. Надежность программного обеспечения. М.: Мир, 1980. - С. 92-113.
7.6.
Я.Пайл. АДА - язык встроенных систем. М.: Финансы и статистика, 1984. - С. 67-75.
7.7. М.Зелковец, А.Шоу, Дж. Гэннон. Принципы разработки программного обеспечения.
М.: Мир, 1982. - С. 65-71.
7.8. А.Л.Фуксман. Технологические аспекты создания программных систем. М.:
Статистика, 1979. С. 79-94.
8
Дәріс. Программалы модульді жасау.
Программалы модульді жасаудың реті. Құрылымды программалау және
бөлшектендіру. Программалы модульді бақылау.
СДЖ арналған бақылау сұрақтары
8.1. Құрылымдық программалау дегенімз не?
8.2. Программалық модульдің бөлшектенуі дегеніміз не?
8.3. Кодтың жалғандығы дегеніміз не?
Ұсынылатын әдебиеттер
8.1. Г.Майерс. Надежность программного обеспечения. - М.: Мир, 1980. - С. 127-154.
8.2. Э.Дейкстра. Заметки по структурному программированию / У.Дал, Э.Дейкстра,
К.Хоор. Структурное программирование. - М.: Мир, 1975. - С. 24-97.
8.3. Н.Вирт. Систематическое программирование. - М.: Мир, 1977. - С. 94-164.
9 Дәріс. Алгоритмдердің сызықтық құрылымының суреттелуі. Алгоритмдердің
цикілдік құрылымының құрылуы. Сандық циклді құрылым және интеграциалық
цикл. Циклдік құрылымның алгоритімдік суреттеуі. Программалар құрылысының
шындығы.
Программаның құрылуының ұғымы. Программалы құрылыуының формализациясы.
Құрылымдық операторлардың өзіндік ережелері, шарты және ұүрамды операторлар.
Программалардың аяқталуы.
СДЖ арналған бақылау сұрақтары
9.1. Хора үштігі дегеніміз не?
9.2. Програмалық құрылым дегеніміз не?
9.3. Берілгені
const n= <нақты бүтін мағына>;
var k, m: integer;
X: array [1...n] of integer;
Құрылымдық программаның анықтау:
{n>0}
M: = x [1]
K: =1;
k
K: = k+1;
Егер x[k]
M: = x[k]
Егер барлығы осылайша;
{n>0 & m<= x[i] барлығына i, 1<=i<= n}
Ұсынылатын әдебиеттер
9.1. С.А. Абрамов. Элементы программирования. - М.: Наука, 1982. С. 85-94.
9.2. М. Зелковец, А. Шоу, Дж. Гэннон. Принципы разработки программного обеспечения.
- М.: Мир, 1982. С. 98-105.
10
Дәріс. Программалық құралды тестілеу.
Негізгі түсініктер. Тестілер жобаларының стратегиясы. Автоматтелінген және
програмдік модульді тестілеу. Комплекстік және программалық құралды тестілеу.
СДЖ арналған бақылау сұрақтары
10.1. Программалық құралдардың қалдығы дегеніміз не?
10.2. Программалық құралдарды тестілеу дегеніміз не?
10.3. Программалық құралдардың автоматты қалдығы дегеніміз не?
10.4. Программалық құралдардың комплекстік қалдығы дегеніміз не?
10.5. Қалдық бағыттағыш модуль дегеніміз не?
10.6. Программалық модульдің қалдықтық имитаторы дегеніміз не?
Ұсынылатын әдебиеттер
10.1. Г. Майерс. Надежность программного обеспечения. - М.: Мир, 1980. - С. 171-262.
10.2. Д. Ван Тассел. Стиль, разработка, эффективность, отладка и испытание программ. -
М.: Мир, 1985. - С. 179-295.
10.3. Дж. Хьюз, Дж. Мичтом. Структурный подход к программированию. - М.: Мир, 1980.
- С. 254-268.
10.4. Дж. Фокс. Программное обеспечение и его разработка. - М.: Мир, 1985. - С. 227-
241.
10.5. М. Зелковиц, А. Шоу, Дж. Гэннон. Принципы разработки программного
обеспечения. - М.: Мир, 1982. - С. 105-116.
10.6. Ю.М. Безбородов. Индивидуальная отладка программ. - М.: Наука, 1982. - С. 9-79.
10.7. В.В. Липаев. Тестирование программ. - М.: Радио и связь, 1986. - С. 15-47.
10.8. Е.А. Жоголев. Введение в технологию программирования (конспект лекций). - М.:
"ДИАЛОГ-МГУ", 1994.
10.9. Э. Дейкстра. Заметки по структурному программированию / У. Дал, Э. Дейкстра, К.
Хоор. Структурное программирование. - М.: Мир, 1975. - С. 7-13.
3. Бөлім. Алгоритімдік тілдегі базада программалау.
11 Дәріс. Техникалық есептерді топтастыру. Түрлі есептер компоненттері: анализ,
синтез, шешімдерді қабылдау. Алгоритімді техникалық есептердің сызба –
нұсқаларының мысалдары. Программалық құралдардың сенімділігін және
функциональдігін қамтамасыз ету.
Функционалдік және сенімділік программалық құралдардың сапалылығының негізгі
себебі сияқты. Программалық құралдардың аяқталуын қамтамасыз ету. Қорғаныстық
программалау және программалық модульдің тұрақтылығын қамтамасыз ету.
Қорғаныс түрлері және программалық құралдардың қорғаныстығын қамтамасыз ету.
СДЖ арналған бақылау сұрақтары
11.1. Қорғаныстық программалау дегеніміз не?
11.2. Программалық құралдардың ақпараттық қорғаныштығының қандай түрлерін
білесіз?
11.3. Компьютерге программаларды қорғау үшін, оларды басқа программалардан
мультипрограммалық мерзімдерге ауыстыру үшін қандай қажеттіліктер керек?
11.4. Компьютерлік қол дегеніміз не?
11.5. Компьютерлік мөр дегеніміз не?
Ұсынылатын әдебиеттер
11.1.
И.С. Березин, Н.П. Жидков. Методы вычислений, т.т. 1 и 2. - М.: Физматгиз, 1959.
11.2.
Н.С. Бахвалов, Н.П. Жидков, Г.М.Кобельков. Численные методы. - М.: Наука, 1987.
11.3. Г. Майерс. Надежность программного обеспечения. - М.: Мир, 1980. С. 141-146.
11.4. А.Н. Лебедев. Защита банковской информации и современная криптография //
Вопросы защиты информации, 2(29), 1995.
Достарыңызбен бөлісу: |