На современном уровне обсуждены принципы и методы структурного программирования, позволяющие получать надежно работающие и хорошо документированные программы. Изложены конструктивные стратегии разработки относительно просто реализуемых и обслуживаемых модульных программ. Подробно разобран так называемый нисходящий подход к построению программ и его варианты. Рассмотрены особенности и стиль модульного и структурного программирования, методы испытания программ и возможные пути их отладки.
Книга рассчитана на программистов — в том числе начинающих — и на руководителей групп программного обеспечения. Благодаря инженерной направленности она представляет также несомненный интерес для широкого круга специалистов по вычислительной технике.
Author(s): Йодан Эдвард (Yourdon Edward )
Publisher: Мир
Year: 1979
Language: Russian
Commentary: обрезал поля, почистил мусор, +ocr
Pages: 417
City: Москва
От редактора русского перевода 5
Предисловие 7
Глава 1. ОТЛИЧИТЕЛЬНЫЕ ОСОБЕННОСТИ «ХОРОШЕЙ» ПРОГРАММЫ ДЛЯ ЭВМ 13
1.0. Введение 14
1.1. Какими качествами обладает хороший программист? 15
1.2. Какими качествами должна обладать хорошая программа? 19
1.3. Некоторые заключительные замечания относительно «качества» программ 44
Вопросы 45
Глава 2. НИСХОДЯЩЕЕ ПРОЕКТИРОВАНИЕ ПРОГРАММ 51
2.0. Введение 51
2.1. Нисходящее проектирование 53
2.2. Нисходящее кодирование 72
2.3. Нисходящее тестирование 78
2.4. Альтернативы, варианты и трудности нисходящего проектирования 99
2.5. Исследования и примеры. Разработка проекта фирмы IBM бригадным методом программирования 106
Литература 112
Вопросы 113
Глава 3. МОДУЛЬНОЕ ПРОГРАММИРОВАНИЕ 116
3.0. Введение 116
3.1. Определение модульности 117
3.2. Преимущества и недостатки модульности 120
3.3. Методы построения модульных программ 124
3.4. Стандартные подпрограммы 155
Литература 162
Вопросы 162
Глава 4. СТРУКТУРНОЕ ПРОГРАММИРОВАНИЕ 166
4.0. Введение 166
4.1. Основные предпосылки структурного программирования 166
4.2. Назначение и истоки структурного программирования 170
4.3. Теория и методы структурного программирования 176
4.4. Другие аспекты структурного программирования 207
4.5. Рассмотрение практических вопросов структурного программирования 208
Литература 216
Вопросы 218
Глава 5. СТИЛЬ В ПРОГРАММИРОВАНИИ: ПРОСТОТА И ЯСНОСТЬ 228
5.0. Введение 228
5.1. Обзор предложений по разработке простых программ 230
5.2. Дополнительные методы повышения читабельности программ 243
Литература 253
Вопросы 254
Глава 6. ПРОГРАММИРОВАНИЕ С ЗАШИТОЙ ОТ ОШИБОК 256
6.0. Введение 256
6.1. Возражения против программирования с защитой от ошибок 257
6.2. Что необходимо контролировать в программе? 260
6.3. Методы программирования с защитой от ошибок 267
Вопросы 280
Глава 7. ПРИНЦИПЫ ТЕСТИРОВАНИЯ ПРОГРАММ 283
7.0. Введение 284
7.1. Понятия и определения 284
7.2. Масштабы проблемы тестирования 288
7.3. Уровни сложности тестирования 290
7.4. Виды ошибок, которые должны выявляться при тестировании 246
7.5 Этапы тестирования 299
7.6. Конструирование программ с целью облегчения тестирования 307
7.7. Автоматизированные способы тестирования . . . ' 311
7.8. Другие методы тестирования 318
Литература 321
Вопросы 321
Глава 8. ПРИНЦИПЫ И СПОСОБЫ ОТЛАДКИ 325
8.0. Введение 325
8.1. Методологические и стратегические принципы отладки 326
8.2. Типичные ошибки и погрешности программирования 341
8.3. Классические способы и приемы отладки 345
8.4. ДДТ-подсистемы динамической отладки 349
8.5. Реализация простой версии ДДТ 361
Литература 375
Вопросы 376
ПРИЛОЖЕНИЯ. УПРАЖНЕНИЯ И ЗАДАЧИ ДЛЯ КЛАССНЫХ ЗАНЯТИЙ 379
Введение 379
A. Денежная задача 383
Б. Задача фирмы «Независимый удобритель» 390
B. Задача модификации главного файла 403
Г. Программа для игры в тик-так 408
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ 409