- Артикул:00-01092708
- Автор: В.А. Камаев, В.В. Костерин
- ISBN: 5-06-004870-5
- Тираж: 3000 экз.
- Обложка: Твердая обложка
- Издательство: Высшая школа (все книги издательства)
- Город: Москва
- Страниц: 454
- Формат: 60х88 1/16
- Год: 2006
- Вес: 643 г
- Серия: Учебник для ВУЗов (все книги серии)
В книге изложены технологии структурного программирования, объектно-ориентированного проектирования, визуального программирования, технология, основанная на абстракции данных Дейкстеры. Рассмотрено использование средств автоматизации проведения программных разработок.
Второе издание (1-е - 2005 г.) дополнено главами по структуре данных и основам инженерии создания программ.
Содержание
Предисловие
Введение
Глава 1. Методологические основы проектирования программ
1.1. Общие положения теории проектирования
1.2. Общие принципы разработки программ
1.3. Системный подход и программирование
1.4. Общесистемные принципы создания программ
1.5. Особенности программных разработок
1.6. Стандарты и программирование
1.7. Описание цикла жизни программного обеспечения
1.8. Стадии и этапы разработки программ
1.9. Типовые ошибки обучаемых при составлении технического задания
1.10. Моделирование и программирование. Понятие спецификаций
1.11. Мнемоника имен в программах
1.12. Проблема типовых элементов в программировании
Глава 2. Оптимизация программных разработок
2.1. Выбор оптимального варианта проектного решения
2.2. Пример выбора оптимального варианта программного решения
2.3. Методы синтеза вариантов реализаций программ
2.4. Анализ требований к системе (системный анализ) и формулировка целей
2.5. Проектная процедура постановки задачи разработки программы
2.6. Психофизиологические особенности взаимодействия человека и ЭВМ
2.7. Классификация типов диалога программ
Глава 3. Основные инженерные подходы к созданию программ
3.1. Основные сведения
3.2. Ранние технологические подходы
3.3. Каскадные технологические подходы
3.4. Каркасные технологические подходы
3.5. Генетические технологические подходы
3.6. Подходы на основе формальных преобразований
3.7. Ранние подходы быстрой разработки
3.8. Адаптивные технологические подходы
3.9. Подходы исследовательского программирования
Глава 4. Структура данных программ
4.1. Понятие структуры данных программ
4.2. Операции над структурами данных
4.3. Общая классификация логических структур данных
4.4. Классификация видов оперативных структур данных по их логическому устройству
4.5. Проектирование и документирование оперативных структур данных
4.6. Файловые структуры
4.6.1. Физическая организация файлов
4.6.2. Логическая организация файлов
4.6.3. Документирование файлов
Глава 5. Проектная процедура разработки функциональных описаний
5.1. Общие сведения о проектной процедуре
5.2. История возникновения проектной процедуры
5.3. Общее описание проектной процедуры
5.4. Рекомендации начинающим по составлению описаний алгоритмов и эвроритмов
5.5. Пример разработки описания процесса «кипячение воды в чайнике»
5.6. Пример описания программы «Редактор текстов»
5.7. Рефакторинг алгоритмов и эвроритмов
5.8. Кодирование типовых структур на языках программирования
5.9. Методика разработки алгоритмов программ
5.10. Пример выполнения учебной работы «Разработка алгоритма умножения»
5.11. Пример применения проектной процедуры для кодирования программы печати календаря на принтере
Глава 6. Архитектура программных систем
6.1. Понятие архитектуры программной системы
6.2. Системы из отдельных программ
6.3. Системы из отдельных резидентных программ
6.4. Системы из программ, обменивающихся данными через порты
6.5. Подход к проектированию архитектуры системы на основе абстрактных машин Дейкстры
6.6. СОМ — технология разработки развивающихся и рассредоточенных комплексов программ
Глава 7. Технология структурного программирования
7.1. Понятие структуры программы
7.2. Модуль и основные принципы структурного подхода
7.2.1. Понятие модуля
7.2.2. Понятие заглушки модуля
7.2.3. Средства изменения топологии иерархии программы
7.2.4. Критерии оценки качества схемы иерархии
7.2.5. Рекомендации по организации процесса разработки схемы иерархии
7.3. Ретроспективное проектирование демонстрационной программы Mcalc фирмы «Borland Inс.»
Глава 8. Технология объектно-ориентированного программирования
8.1. История создания объектно-ориентированного программирования
8.2. Введение в объектно-ориентированный подход к разработке программ
8.3. Сравнительный анализ технологий структурного и объектно-ориентированного программирования
8.4. Основные понятия объектно-ориентированной технологии
8.5. Основные понятия, используемые в объектно-ориентированных языках
8.6. Этапы и модели объектно-ориентированной технологии
8.7. Какими бывают объекты по устройству
8.8. Проектная процедура объектно-ориентированного проектирования по Б. Страуструпу
8.8.1. Укрупненное изложение проектной процедуры Б. Страуструпа
8.8.2. Шаг 1. Выделение понятий и установление основных связей между ними
8.8.3. Шаг 2. Уточнение классов с определением набора операций (методов) для каждого
8.8.4. Шаг 3. Уточнение классов с точным определением их зависимостей от других классов
8.8.5. Шаг 4. Задание интерфейсов классов
8.8.6. Перестройка иерархии классов
8.8.7. Свод правил
8.8.8. Пример простейшего проекта
8.9. Технология проектирования на основе обязанностей
8.9.1. RDD-технология проектирования на основе обязанностей
8.9.2. Начинаем с анализа функционирования. Учебный пример объектно-ориентированного проекта средней сложности
8.9.3. Динамическая модель системы
8.9.4. Уточнение классов с точным определением их зависимостей от других классов. Продолжение учебного примера
8.9.5. Совместное рассмотрение трех моделей
8.10. Пример ретроспективной разработки иерархии классов библиотеки визуальных компонент Delphi и C++ Builder
8.11. Альтернативный проект графического интерфейса
8.12. Проект АСУ предприятия
8.13. Обзор особенностей проектов прикладных систем
8.14. Гибридные технологии проектирования
8.14.1. Игнорирование классов
8.14.2. Игнорирование наследования
8.14.3. Игнорирование статического контроля типов
8.14.4. Гибридный проект
Глава 9. Визуальное программирование
9.1. Общее понятие визуального программирования
9.2. Технология визуального программирования
Глава 10. CASE-средства и визуальное моделирование
10.1. Предпосылки появления CASE-средств
10.2. Обзор CASE-систем
10.3. Визуальное моделирование в Rational Rose
10.4. Диаграммы UML
10.4.1. Типы визуальных диаграмм UML
10.4.2. Диаграммы вариантов использования
10.4.3. Диаграммы последовательности
10.4.4. Кооперативные диаграммы
10.4.5. Диаграммы классов
10.4.6. Диаграммы состояний
10.4.7. Диаграммы компонент
10.4.8. Диаграммы размещения
10.5. Визуальное моделирование и процесс разработки программного обеспечения
10.5.1. Достоинства и недостатки типов процесса разработки
10.5.2. Начальная фаза
10.5.3. Использование Rose в начальной фазе
10.6. Работа над проектом в среде Rational Rose
Глава 11. Тестирование программного обеспечения
11.1. Основные сведения
11.2. Свойства программного обеспечения
11.3. Связь процессов тестирования с процессом проектирования
11.4. Подходы к проектированию тестов
11.5. Проектирование тестов больших программ
11.6. Критерии выбора наилучшей стратегии реализации
11.7. Способы и виды тестирования подпрограмм. Проектирование тестов
11.8. Проектирование комплексного теста
11.9. Средства автоматизации тестирования
Глава 12. Менеджемент программных разработок
12.1. Управление разработкой программных систем
12.2. Структура управления разработкой программных средств
12.3. Подбор команды
12.4. Методология управления проектом
12.5. Составляющие методологии разработки
12.6. Анализ пожеланий и требований заказчика
12.7. Анализ требований к проекту
12.8. Требования пользователя
12.9. Техническое проектирование
12.10. Реализация
12.11. Системное тестирование
12.12. Приемочный тест
12.13. Послереализационный обзор
12.14. Сопровождение программ
Приложение 1. Стадии и этапы разработки программ по ГОСТ 19.102-77
Приложение 2. Пример выполнения учебного технического задания
Приложение 3. Фонд эвристических приемов проектирования программ
Приложение 4. Элементы Языка Object Pascal
Приложение 5. Основные термины и определения
Литература