Математика | ||||
Структурное проетирование и конструирование - Э.Йодан Москва 1979 стр.413 | ||||
Структурное проетирование и конструирование - Э.Йодан Москва 1979 стр.413
На современном уровне обсуждены принципы и методы структурного программирования, позволяющие получать надежно работающие и хорошо документированные программы. Изложены конструктивные стратегии разработки относительно просто реализуемых и обслуживаемых модульных программ. Подробно разобран так называемый нисходящий подход к построению программ и его варианты. Рассмотрены особенности и стиль модульного и структурного программирования, методы испытания программ и возможные пути их!отладки. Книга рассчитана на программистов—в том числе начинающих— и на руководителей групп программного обеспечения. Благодаря инженерной направленности она представляет также несомненный интерес для широкого круга специалистов по вычислительной технике. ОТ РЕДАКТОРА РУССКОГО ПЕРЕВОДА Проблемы организации труда программистских коллективов, а также проблемы разработки больших и сложных программных систем приобрели в последние годы чрезвычайную актуальность. И это не удивительно, поскольку уже многие годы наблюдается экспоненциальный рост стоимости программного обеспечения ЭВМ. В настоящее время затраты на разработку программ превосходят почти вдвое затраты на аппаратные средства. Хорошо известно, что задержки в создании необходимых программ или их некачественное составление приводят к большим потерям в эффективности использования ЭВМ. В результате этого отдаляются сроки окупаемости дорогостоящих установок и сдерживаются темпы развития ряда научно-технических отраслей, ориентирующихся на применение ЭВМ. . По некоторым прогнозам через десятилетие затраты на математическое обеспечение будут в 10 раз превышать затраты на вычислительное оборудование. Поэтому все большее и большее внимание и в теоретическом, и в практическом плане уделяется вопросам разработки инструментальных средств, методик и технологических комплексов, ускоряющих процесс проектирования и отладки программ, и нх ввода в эксплуатацию. Большой отклик в среде специалистов по обработке данных нашли идеи нисходящего программирования, модульного и структурного программирования, а также создания систем построения трансляторов. В области теории и в СССР, и за рубежом публикуется значительное число работ по автоматическому доказательству правильности программ, работ по формализации правил многоуровневого программирования, по расслоенному программированию, которые в конечном итоге нацелены на решение основной задачи — быстрого и правильного построения программ. Почти все специалисты в настоящее время соглашаются с тем, что к созданию программ.нужно от-, носиться так же, как к созданию любого другого материального продукта, что программирование следует ставить на промышленную основу и рассматривать программный продукт с точки зрения таких его показателей, как «технологичность», «качество», «эффективность», «документированное^» и даже «надежность», В применении к про- ОГЛАВЛЕНИЕ Or редактора русского перевода Предисловие ......... Глава 1. ОТЛИЧИТЕЛЬНЫЕ ОСОБЕННОСТИ «ХОРОШЕЙ» ПРОГРАММЫ ДЛЯ ЭВМ...................... 1.0. Введение...........................' 1.1. Какими качествами обладает хороший программист?....... 1.2. Какими .качествами должна обладать хорошая программа? . . . 1.3. Некоторые заключительные замечания относительно «качества» программ............ ':.............., Вопросы............................ Глава 2. НИСХОДЯЩЕЕ ПРОЕКТИРОВАНИЕ ПРОГРАММ ..... 2.0. Введение............................ 2.1. Нисходящее проектирование................. • 2.2. Нисходящее кодирование..................... 2.3. Нисходящее тестирование........... ......... а 2.4. Альтернативы, варианты и трудности нисходящего проектирования А 2.5. Исследования и примеры. Разработка'проекта фирмы IBM бригад- : ным методом программирования................ Литература..........................• :! ' Вопросы......................... - - I Глава 3. МОДУЛЬНОЕ ПРОГРАММИРОВАНИЕ ' 3.0. Введение................. 3.1. Определение модульности........ i 3.2. -Преимущества и недостатки модульности . :' 3.3. Методы построения модульных программ . 3.4. Стандартные подпрограммы . ...... . ,. Литература ......... . . . . . . . j Вопросы . ................ "Глава 4. СТРУКТУРНОЕ ПРОГРАММИРОВАНИЕ .... ... . . . 4.0. Введение , ......................... 4.1. Основные предпосылки структурного программирования ... . 4.2. Назначение и истоки структурного программирования . . 4.3. Теория и методы структурного программирования . . . . • 4.4. Другие аспекты структурного программирования ...... /Оглавление 415 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. Виды ошибок, которые должны выявляться при тестировании 2% 7.5. Этапы тестирования ,......х.............. 299 7.6. Конструирование программ с целью облегчения тестирования 307 7:7. Автоматизированные способы тестирования........... 311 7.8. Другие методы тестирования................. 318 .J Литература.......................... 321 Вопросы............................ 321 ,;Тлава 8. ПРИНЦИПЫ И СПОСОБЫ ОТЛАДКИ........... 325 8.0. Введение . . . ........................ 325 8.1. Методологические, и стратегические принципы отладки .... 326 - 8.2. Типичные ошибки и погрешности программирования..... 341 ' : 8.3. Классические способы и приемы отладки ............. .345 8.4. ДДТ-подсистемы динамической отладки............ 349 г";;'' 8.5. Реализация простой версии ДДТ............... 361 , ; Литература........................... 375 .;•• :;••.'"" Вопросы ...... ^..............• • • .(. • 376 1Ш[РИЛОЖЕНЙЯ. УПРАЖНЕНИЯ И ЗАДАЧИ ДЛЯ КЛАССНЫХ Ц^ ЗАНЯТИЙ............................ 379 Введение...........................• • 379 ^. А. Денежная задача........................ 383 ;;рГ Б. Задача фирмы «Независимый удобритель»..........• • 390 ? В.1 Задача модификации главного файла....... . .,...... 403 (?•• Г. Программа для игры в тик-так . .. .4 ..'.......... 408 ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ...................• • 40Э Цена: 200руб. |
||||