Математика | ||||
Структурный подход к программированию-ДЖ.Хьюз Москва 1980 стр.280 Книга посвящена вопросам структурного подхода к программированию - новому направлению в программировании. Она содержит множество примеров, иллюстраций и рекомендаций руководителям программистских коллективов. Особую ценность имеют конкретные данные по структурному программированию ня КОБОЛе, ФОРТРАНе и ПЛ/1, трансляторы с которых имеются на отечественных машинах ЕС ЭВМ. Книга предназначена программистам и их руководителям. Она будет полезна студентам и аспирантам вычислительных специальностей университетов и институтов. | ||||
ПРЕДИСЛОВИЕ РЕДАКТОРА ПЕРЕВОДА Традиционная технология программирования складывалась в условиях, когда основным потребителем программ были научные учреждения, вычислительные ресурсы были ограничены, а проблемы сопровождения программ были по существу неизвестны. Основным критерием качества создаваемой программы считалась ее узко понимаемая эффективность, и мало кого интересовали отрицательные последствия тех ухищрений, которые применялись для ее достижения, К настоящему времени ситуация коренным образом изменилась. Потребителем программ стало по существу все народное хозяйство, и узким местом^ста-ли не столько вычислительные, сколько человеческие ресурсы, необходимые для создания и сопровождения крупных систем программ. Стало ясно, что разумная технология программирования должна обеспечить снижение общих трудозатрат с учетом всего жизненного цикла программы — от замысла до завершения эксплуатации. Она должна учитывать, что сопровождение крупных комплексов программ стоит намного дороже их создания, да и в процессе создания приходится не столько писать программы, сколько читать их. В этих условиях важнейшими критериями качества становятся понятность, надежность и удобство сопровождения программ, а также возможность точно планировать их производство,- Неудовлетворенность традиционной технологией и постепенное осознание новых критериев заставило крупнейших производителей программ интенсивно искать новые технологические принципы. Наиболее впечатляющих успехов в этом деле добилась корпорация ИБМ. Когда в начале семидесятых годов появились первые сообщения о том, что существует технология программирования, позволяющая создавать достаточно крупные программы практически без ошибок и при этом укладываться в запланированные сроки и бюджет, эти сообщения были восприняты с большим недоверием, Ведь большинство программистов привыкли к тому, что отладка, а тем более комплексная отладка — весьма капризный и по существу непредсказуемый процесс, обычно нарушающий все разумные оценки по срокам и затратам, И тем не менее сообщения оказались в целом верными — речь шла о первых применениях разработанных фирмой ИБМ так называемых Усовершенствованных методов программирования. Они оказали революционизирующее влияние практически на все стороны деятельности по созданию программ, соединив в себе лучшие элементы личной технологии классных программистов и достижения теории программирования с индустриальным характером современного производства программ при тщательном учете изменившихся требований к ним, Перед вами учебное пособие по одной из важнейших компонент Усовершенствованных методов — структурному подходу к программированию (с сущностью Усовершенствованных методов можно познакомиться по книге Ф. Я. Дзержинского и А. И. Тер-Саакова *)). Авторы не претендуют на изложение теоретических основ структурного подхода. Их цель — научить рядового программиста пользоваться этим подходом в повседневной практической деятельности. Особую ценность придают книге конкретные рекомендации по структурному программированию на КОБОЛе, ФОРТРАНе и ПЛ/1, трансляторы с которых имеются на отечественных машинах, а также по организации нисходящей разработки, пошаговой детализации, сквозному структурному контролю и тестированию. Правда, иногда авторы слишком увлекаются упрощенчеством, не сообщая читателю о возможных трудностях при попытках использовать их рекомендации «в лоб». Это касается, в частности, нисходящей реализации и выделения наборов тестов. Существенно фундаментальнее аналогичные вопросы изложены в монографии Г. Майерса -). Для советского читателя может оказаться трудным разобраться досконально в некоторых примерах из американской экономики, тем более, что авторы рассматривают лишь фрагменты, а не полные программы. Пугаться этого не следует — как правило, для понимания существа излагаемой технологии достаточно общего представления о назначении рассматриваемого фрагмента. Книга Дж. Хьюз и Дж. Мичтома написана на основе богатого опыта, накопленного ИБМ по внедрению и использованию структурного подхода, она будет полезна как программистам, желающим улучшить методы своей работы, так и руководителям программистских коллективов. Предисловие авторов и главы 1, 5, 8, 9, 10 переведены Э. М. Киуру, главы 2, 3, 4, 6, 7 — А. Л. Александровым. При переводе экономических терминов большую помощь оказал С. А. Овсейчик. В. Ш. Кауфман < ПРЕДИСЛОВИЕ Одни называют появление структурного программирования революцией, другие говорят, что это дело будущего. Некоторым оно кажется модой, причудой, которая пройдет со временем. Как бы то ни было, ясно одно: после изучения идей структурного программирования и соответствующих приемов вы, несомненно, измените свой стиль решения задач с помощью ЭВМ. В этой книге понятие структурирования распространяется с собственно программы на весь процесс программирования. Заглавие Структурный подход к программированию выбрано с целью подчеркнуть необходимость общего подхода к программированию—единого метода, который требует определенной дисциплины на всех стадиях программистского проекта: спецификации, проектирования, собственно программирования (кодирования) и тестирования. Можно надеяться, что при более формализованном способе получения программ программирование станет больше походить на науку. Цель настоящей книги — изложить основные идеи и эффективные методы, присущие структурному подходу. Для программиста она содержит достаточно информации, чтобы он мог сам применять предлагаемые методы на практике. Администратору же знакомство с книгой позволит уверенно управлять теми, кто использует структурные методы, или контролировать их деятельность. Книга предназначена для тех, кто знаком с основными понятиями программирования. Так как это не общее введение в программирование и не введение в программирование на конкретном языке, то было бы разумным использовать книгу в курсе, которому предшествуют один или несколько вводных курсов программирования. Профессионалы (любого уровня) в области обработки данных также извлекут пользу от применения излагаемой методики. Программисты и разработчики могли бы использовать новые идеи, излагаемые в книге, в своей повседневной работе. Руководители проектов и администраторы, усвоив излагаемый в книге подход, могли бы способствовать его внедрению, а также контролировать тех, кто его применяет. Доскональное знакомство с программированием не требуется — важно понимание специфики процесса программирования. Разделы о проектировании программ, нисходящей разработке, структурном программировании и тестировании изложены так, что для их понимания не нужно знать конкретный язык программирования. Однако, если вас интересует вполне определенный язык программирования, вы можете выбрать в соответствии с вашими склонностями главу 6, 7 или 8, где говорится о КОБОЛе, ФОРТРАНе и ПЛ/1. J) Из популярной в 30-е годы песенки.— Прим, перев, ОГЛАВЛЕНИЕ Предисловие редактора перевода , . ........ ........ 5 •Предисловие............................ 7 Глава 1. НОВАЯ ДИСЦИПЛИНА ПРОГРАММИРОВАНИЯ .... 9 Пролог.......................... 9 Что такое структурное программирование?........ 11 Зачем нужна эта новая дисциплина?............ 12 Что такое структурный подход?............, 14 Выводы для руководства................. 24 Эпилог.......................... 25 Выводы.......................... 27 Контрольные вопросы и упражнения.......... , 28 Глава 2. НИСХОДЯЩАЯ РАЗРАБОТКА: ПРОЕКТИРОВАНИЕ ПРОГРАММЫ...................... 29 Модульность....................... 29 Нисходящее проектирование программ........... 34 Выводы для руководства................. 49 Выводы......................... 49 Контрольные вопросы и упражнения ........... 50 Глава 3. НИСХОДЯЩАЯ РАЗРАБОТКА: ПЛАНИРОВАНИЕ И РЕАЛИЗАЦИЯ........................ 52 Планирование ...................... 52 Реализация.............,......... 63 Выводы для руководства................. 66 Выводы........',................. 68 Контрольные вопросы и упражнения............ 70 Глава 4. СТРУКТУРНОЕ ПРОГРАММИРОВАНИЕ......... 72 Управляющие структуры................. 73 Псевдокод........................ 82 Выводы для руководства ................. 89 Контрольные вопросы и упражнения......... . , 92 Глава 5. ПОШАГОВАЯ ДЕТАЛИЗАЦИЯ.............. 94 Блок-схемы.......I............... 98 Правила детализации................... 99 Сегментирование .............;,..,... 115 Выводы..................,..,.,, 124 Контрольные вопросы и упражнения ......,,,,. 128 Глава 6. СТРУКТУРНОЕ ПРОГРАММИРОВАНИЕ НА СТАНДАРТНОМ КОБОЛе..................... 130' Модульность....................... 131 Структурирование программ на КОБОЛе......... '41 О стиле программирования................ 156' Как облегчить чтение программы............. 163 , Выводы......................... 168 Контрольные вопросы и упражнения........... 177 Глава 7. СТРУКТУРНОЕ ПРОГРАММИРОВАНИЕ НА ФОРТРАНе 178 Организация программ на языке ФОРТРАН........ 179 Структурирование программ на ФОРТРАНе....... 182 О стиле программирования................. 189 Как облегчить чтение программы............, 192 Использование препроцессора с выходом на ФОРТРАН . . . 194 Выводы.......................... 203 Контрольные вопросы и упражнения........... 204 Глава 8. СТРУКТУРНОЕ ПРОГРАММИРОВАНИЕ НА ПЛ/1 . . . 206 Модульность..................., , , . 206 Структурирование ПЛ/1-программ............. 216 Некоторые приемы программирования на ПЛ/1 ...... 226 Как облегчить чтение программ............. 228 Пример программы..................., 231 Выводы........................, 233 Контрольные вопросы и упражнения .. ч........ t 240 Глава 9. СКВОЗНОЙ СТРУКТУРНЫЙ КОНТРОЛЬ ......,' 241 Кто этим занимается?................... 243 Атмосфера на контрольной сессии............, 245 Как это все происходит?................. 246 Выводы для руководства................., 249 Выводы......................., , 252 Контрольные вопросы.................i 252 Глава 10. ТЕСТИРОВАНИЕ.................., 254 Что и как яужно тестировать?.............. 255 Разработка плана тестирования............, 263 Прогон тестов.................•. . . . , 265 Выводы для руководства .......,,........ 265 Выводы.......,.............,,,. 267 Контрольные вопросы и упражнения ............ 268 Глоссарий .................... ....,,,.. 269 Список литературы......................, , 274 Цена: 200руб. |
||||