Программирования
Технологии
учебное пособие
(проект)
Новочеркасск 2007 г.
Оглавление
1. Кризис программирования.......................................................................................................................... 6
2. Понятие жизненного цикла ПО......................................................................................................................... 7
3. Требования к технологии проектирования................................................................................ 9
4. Понятия профессионального программирования............................................................ 10
5. Проект и команда............................................................................................................................................... 11
6. Задача профессионального программирования................................................................. 14
7. Алгоритмы................................................................................................................................................................ 15
8. Модели и моделирование.......................................................................................................................... 16
9. Структурный подход...................................................................................................................................... 17
9.1. Проблема сложности.............................................................................................. 17
9.2. Сущность структурного подхода......................................................................... 17
9.3. Метод функционального моделирования (SADT)............................................ 18
9.3.1. Состав функциональных моделей.............................................................................................................. 18
9.3.2. Методика построения модели.................................................................................................................... 19
9.4. Метод моделирования процессов - потоков данных (DFD).................................... 21
9.4.1. Общая концепция............................................................................................................................................ 21
9.4.2. Состав диаграмм потоков данных............................................................................................................ 21
9.3. Диаграммы «сущность-связь»............................................................................. 23
10. Объектно-ориентированный подход............................................................................................ 24
10.1. Язык описания архитектур ACME............................................................................... 24
10.2. Язык UML................................................................................................................. 24
10.3. Диаграммы классов.............................................................................................. 25
10.4. Диаграммы вариантов использования............................................................. 25
10.5. Диаграммы состояний.......................................................................................... 26
10.6. Диаграммы деятельности.................................................................................... 26
10.7. Диаграммы последовательности............................................................................... 26
10.8. Диаграммы кооперации........................................................................................ 27
10.9. Диаграммы компонентов.................................................................................... 27
10.10. Диаграммы развертывания................................................................................ 27
11. Моделирование данных............................................................................................................................ 28
11.1. Модель данных....................................................................................................... 28
11.2. Реляционная модель данных.............................................................................. 29
11.3. Другие модели данных.......................................................................................... 29
12. Моделирование знаний.............................................................................................................................. 30
12.1. Модели представления знаний........................................................................... 30
12.2. Метрики левой и правой моделей мира............................................................. 31
13. Венгерская нотация...................................................................................................................................... 32
14. Методология и парадигма программирования................................................................... 33
15. Современные методологии программирования............................................................... 33
16. Методология императивного программирования......................................................................... 34
17. Методология объектно-ориентированного программирования...................... 36
18. Методология функционального программирования............................................................. 37
19. Методология логического программирования................................................................. 38
20. Методология программирования в ограничениях......................................................... 39
21. Методология структурного императивного программирования.............................. 40
22. Методология параллельного императивного программирования.................................... 40
23. Методология нейросетевого программирования........................................................... 42
23.1. Модель нейрона с линейной функцией активации........................................ 42
23.2. Модель нейрона с радиальной функцией активации..................................... 43
23.3. Разработка нейросетевой модели............................................................................... 45
24. Основные типы ошибок в программах................................................................................. 45
25. Отладка и тестирование........................................................................................................................... 46
26. Режимы работы компилятора Delphi для поиска ошибок......................................................... 47
27. Задание режимов работы отладчика с
помощью переключающих директив......................................................................................... 49
28. Пользователи и их поддержка...................................................................................................................... 50
29. Поддержка программиста: общие требования.................................................................... 51
29.1. Пролог модуля........................................................................................................ 51
29.2. Проектная документация.................................................................................... 51
29.3. Оформление текста программы.................................................................................. 52
30. Поддержка конечного пользователя........................................................................................... 52
31. Технология программирования графики................................................................................. 53
31.1. Графическая подсистема оболочек Win32/64.................................................. 53
31.2. Графические средства Delphi.............................................................................. 54
31.3. Проектирование интерфейса с пользователем:
компоненты стандартных диалогов................................................................. 56
32.Технология компонентного программирования............................................................. 57
32.1. Технология COM.................................................................................................... 58
32.1.1. Общая концепция.......................................................................................................................................... 58
32.1.2. Интерфейс COM........................................................................................................................................... 59
32.1.3. Сервер COM................................................................................................................................................... 60
32.2. Технология OLE...................................................................................................... 60
32.2.1 Суть и содержание OLE.............................................................................................................................. 60
32.2.2.Терминология OLE......................................................................................................................................... 61
32.2.3. Автоматизация OLE.................................................................................................................................... 62
32.2.4. Структурированная память..................................................................................................................... 63
32.3. Технология CORBA............................................................................................... 64
32.4. Технология Java..................................................................................................... 65
32.5.Технология .NET...................................................................................................... 66
33. Технология описания аппаратуры................................................................................................ 67
34. Технология коллективной разработки...................................................................................... 70
34.1. Авторская разработка........................................................................................... 70
34.2. Коллективная разработка.................................................................................... 71
34.2.1. Технические командные роли..................................................................................................................... 71
34.2.2. Психологические командные роли............................................................................................................ 73
34.2.3. Типы совместной деятельности.............................................................................................................. 74
34.3. Общинная модель разработки............................................................................. 74
35. Технология оценки качества ПО...................................................................................................... 75
35.1. Подходы к оценке качества ПО.......................................................................... 75
35.2. Характеристики качества ПО............................................................................. 76
35.3. Оценка качества процесса разработки............................................................. 77
35.3.1. Модель зрелости процесса разработки ПО......................................................................................... 77
35.3.2. Определение возможностей и улучшение процесса создания ПО........................................................................ 78
35.4. «Достаточно хорошее» ПО................................................................................... 78
33.5. Стандартизация информационных технологий............................................. 79
36. Инструментальные средства поддержки некоторых
технологических подходов................................................................................................................... 80
36.1. Инструментальные системы.............................................................................. 80
36.1.1. Инструментальные среды программирования.................................................................................................... 81
36.1.2. Средства автоматизации разработки программ (CASE-средства)................................................................. 82
36.1.3. Интегрированные среды.............................................................................................................................. 82
36.1.4. Репозитории проекта................................................................................................................................. 83
36.2. Поддержка коллективной разработки: системы управления версиями.. 84
37. Организация диалогов................................................................................................................................ 85
38. Защита программного кода................................................................................................................... 85