В. А Камаев, В.В. Костерин
ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ
Учебник для студентов высших учебных заведений, обучающихся по направлению подготовки специалистов «Информатика и вычислительная техника»
Москва, 2005
ОГЛАВЛЕНИЕ
Г л а в а 1. ОСНОВЫ ТЕОРИИ ПРОЕКТИРОВАНИЯ
1.2. Общие принципы разработки программ
1.3. Системный подход и программирование
1.4. Общесистемные принципы создания программ
1.5. Особенности программных разработок
1.6. Стандарты и программирование
1.7. Описание цикла жизни программного обеспечения
1.8. Стадии и этапы разработки программ
1.9. Типовые ошибки обучаемых при составлении технического
1.10. Моделирование и программирование. Понятие спецификаций
1.11. Проблема типовых элементов в программировании
Г л а в а 2. ОПТИМИЗАЦИЯ ПРОГРАММНЫХ РАЗРАБОТОК
2.1 Выбор оптимального варианта проектного решения
2.2 Пример выбора оптимального варианта программного решения
2.3 Методы синтеза вариантов реализаций программ
2.4 Анализ требований к системе (системный анализ) и формулировка целей
2.5 Проектная процедура постановки задачи разработки программы
2.6 Психофизиологические особенности взаимодействия человека и ЭВМ
2.7 Классификация типов диалога программ
Г л а в а 3. ПРОЕКТНАЯ ПРОЦЕДУРА РАЗРАБОТКИ УНКЦИОНАЛЬНЫХ ОПИСАНИЙ
3.1. Общие сведения о проектной процедуре
3.2. История возникновения проектной процедуры
3.3. Общее описание проектной процедуры
3.5. Пример разработки описания процесса «Кипячение воды в чайнике
3.6. Пример описания программы «Редактор текстов»
3.7. Теория кодирования текстов модулей (методов)
3.7.1. Последовательность выполнения проектной процедуры при кодировании текстов модулей (методов)
3.7.2. Описание внешних и внутренних данных при кодировании текстов модулей (методов)
3.7.3. Кодирование типовых структур на языках программирования
3.8. Пример применения проектной процедуры для кодирования текста модуля программы календаря
3.9. Пример выполнения учебной работы «Разработка алгоритма умножения»
Г л а в а 4. АРХИТЕКТУРА ПРОГРАММНЫХ СИСТЕМ
4.1. Понятие архитектуры программной системы
4.2. Системы из отдельных программ
4.3. Системы из отдельных резидентных программ
4.4. Системы из программ, обменивающихся данными через порты
4.5. Подход к проектированию архитектуры системы на основе абстрактных машин Дейкстры
4.6. СОМ — технология разработки развивающихся и рассредоточенных комплексов программ
Г л а в а 5. ТЕХНОЛОГИЯ СТРУКТУРНОГО ПРОГРАММИРОВАНИЯ
5.1. Понятие структуры программы
5.2. Модуль и основные принципы структурного подхода
5.2.2. Понятие заглушки модуля
5.2.3. Средства изменения топологии иерархии программы
5.2.4. Критерии оценки качества схемы иерархии
5.2.5. Рекомендации по организации процесса разработки схемы иерархии
5.3. Ретроспективное проектирование демонстрационной программы Mcalc фирмы «Borland Inc»
Г л а в а 6. ТЕХНОЛОГИЯ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПРОГРАММИРОВАНИЯ
6.1. История создания объектно-ориентированного программирования
6.2. Введение в объектно-ориентированный подход к разработке программ
6.3. Основные понятия объектно-ориентированной технологии
6.4. Основные понятия, используемые в объектно-ориентированных языках
6.5. Этапы и модели объектно-ориентированной технологии
6 6. Какими бывают объекты по устройству
6.7. Проектная процедура объектно-ориентированного Проектирования по Б. Страуструпу
6.7.1. Укрупненное изложение проектной процедуры Б. Страуструпа
6.7.2. Шаг 1. Выделение понятий и установление основных связей между ними
6.7.3. Шаг 2. Уточнение классов с определением набора операций (методов) для каждого
6.7.4. Шаг 3. Уточнение классов с точным определением их зависимостей от других классов
6.7.5. Шаг 4. Задание интерфейсов классов
6.7.6. Перестройка иерархии классов
6.7.8. Пример простейшего проекта
6.8. Технология проектирования на основе обязанностей
6.8.1. RDD-технология проектирования на основе обязанностей
6.8.3. Динамическая модель системы
6.8.4. Уточнение классов с точным определением их зависимостей
от других классов. Продолжение учебного примера
6.8.5. Совместное рассмотрение трех моделей
6.9. Альтернативный проект графического интерфейса
6.11. Обзор особенностей проектов прикладных систем
6.12. Гибридные технологии проектирования
6.12.2. Игнорирование наследования
6.12.3. Игнорирование статического контроля типов
Г л а в а 7. ВИЗУАЛЬНОЕ ПРОГРАММИРОВАНИЕ
7.1. Общее понятие визуального программирования.
7.2. Технология визуального программирования
Г л а в а 8. САSЕ-СРЕДСТВА И ВИЗУАЛЬНОЕ МОДЕЛИРОВАНИЕ
8.1. Предпосылки появления CASE-средств
8.3. Визуальное моделирование в Rational Rose
8.4.1. Типы визуальных диаграмм UML
8.4.2. Диаграммы вариантов использования
8.4.3. Диаграммы последовательности
8.4.4. Кооперативные диаграммы
8.5. Визуальное моделирование и процесс разработки программного обеспечения
8.5.1. Достоинства и недостатки типов процесса разработки
8.5.3. Использование Rose в начальной фазе
8.6. Работа над проектом в среде Rational Rose
Г л а в а 9. ТЕСТИРОВАНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
9.2. Свойства программного обеспечения
9.3. Связь процессов тестирования с процессом проектирования
9.4. Подходы к проектированию тестов
9.5. Проектирование тестов больших программ
9.6. Критерии выбора наилучшей стратегии реализации
9.7. Способы и виды тестирования подпрограмм. Проектирование тестов
9.8. Проектирование комплексного теста
9.9. Средства автоматизации тестирования
Г л а в а 10. МЕНЕДЖМЕНТ ПРОГРАММНЫХ РАЗРАБОТОК
10.1. Управление разработкой программных систем
10.2. Структура управления разработкой программных средств
10.4. Методология управления проектом
10.5. Составляющие методологии разработки
10.6. Анализ пожеланий и требований заказчика
10.7. Анализ требований к проекту
10.9. Техническое проектирование
10.13. Послереализационный обзор
ПРИЛОЖЕНИЕ 1. Стадии и этапы разработки программ по ГОСТ 19.102 - 77
ПРИЛОЖЕНИЕ 2. Пример выполнения учебного технического задания
ПРИЛОЖЕНИЕ 3. Фонд эвристических приемов проектирования программ
ПРИЛОЖЕНИЕ 4. Элементы языка Object Pascal
ПРИЛОЖЕНИЕ 5. Основные термины и определения