Струтурный подход к программированию-ДЖ.Хьюз Москва 1980 стр.280 Книга посвящена вопросам структурного подхода к программированию—новому направлению в программировании. Она содержит множество примеров, иллюстраций и рекомендаций руководителям программистских коллективов. Особую ценность имеют конкретные данные по структурному программированию на КОБОЛе, ФОРТРАНе и ПЛ/1, трансляторы с которых имеются на отечественных машинах ЕС ЭВМ. Книга предназначена программистам и их руководителям. Она будет полезна студентам и аспирантам вычислительных специальностей университетов и институтов.
ПРЕДИСЛОВИЕ РЕДАКТОРА ПЕРЕВОДА
Традиционная технология программирования складывалась в условиях, когда основным потребителем программ были научные учреждения, вычислительные ресурсы были ограничены, а проблемы сопровождения программ были по существу неизвестны. Основным критерием качества создаваемой программы считалась ее узко понимаемая эффективность, и мало кого интересовали отрицательные последствия тех ухищрений, которые применялись для ее достижения,
К настоящему времени ситуация коренным образом изменилась. Потребителем программ стало по существу все народное хозяйство, и узким местом]ста-ли не столько вычислительные, сколько человеческие ресурсы, необходимые для создания и сопровождения крупных систем программ. Стало ясно, что разумная технология программирования должна обеспечить снижение общих трудозатрат с учетом всего жизненного цикла программы — от замысла до завершения эксплуатации. Она должна учитывать, что сопровождение крупных комплексов программ стоит намного дороже их создания, да и в процессе создания приходится не столько писать программы, сколько читать их. В этих условиях важнейшими критериями качества становятся понятность, надежность и удобство сопровождения программ, а также возможность точно планировать их производство.-
Неудовлетворенность традиционной технологией и постепенное осознание новых критериев заставило крупнейших производителей программ интенсивно искать новые технологические принципы. Наиболее впечатляющих успехов в этом деле добилась корпорация ИБМ.
Когда в начале семидесятых годов появились первые сообщения о том, что существует технология программирования, позволяющая создавать достаточно крупные программы практически без ошибок и при этом укладываться в запланированные сроки и бюджет, эти сообщения были восприняты с большим недоверием. Ведь большинство программистов привыкли к тому, что отладка, а тем более комплексная отладка — весьма капризный и по существу непредсказуемый процесс, обычно нарушающий все разумные оценки по срокам и затратам.
И тем не менее сообщения оказались в целом верными — речь шла о первых применениях разработанных фирмой ИБМ так называемых Усовершенствованных методов программирования. Они оказали революционизирующее влияние практически на все стороны деятельности по созданию программ, соединив в себе лучшие элементы личной технологии классных программистов и Достижения теории программирования с индустриальным характером современного производства программ при тщательном учете изменившихся требований к ним.
Перед вами учебное пособие по одной из важнейших компонент Усовершенствованных методов — структурному подходу к программированию (с сущностью Усовершенствованных методов можно познакомиться по книге Ф. Я. Дзержинского и А. И. Тер-Саакова х)). Авторы не претендуют на изложение теоретических основ структурного подхода. Их цель — научить рядового программиста пользоваться этим подходом в повседневной практической деятельности. Особую ценность придают книге конкретные рекомендации по структурному программированию на КОБОЛе, ФОРТРАНе и ПЛ/1, трансляторы с которых имеются на отечественных машинах, а также по организации нисходящей разработки, пошаговой детализации, сквозному структурному контролю и тестированию. Правда, иногда авторы слишком увлекаются упрощенчеством, не сообщая читателю о возможных трудностях при попытках ис-пользовать их рекомендации «в лоб». Это касается, в частности, нисходящей реализации и выделения наборов тестов. Существенно фундаментальнее аналогичные вопросы изложены в монографии Г. Майерса ?). Для советского читателя может оказаться трудным разобраться досконально в некоторых примерах из американской экономики, тем более, что авторы рассматривают лишь фрагменты, а не полные программы. Пугаться этого не следует — как правило, для понимания существа излагаемой технологии достаточно общего представления о назначении рассматриваемого фрагмента.
Книга Дж. Хьюз и Дж. Мичтома написана на основе богатого опыта, накопленного ИБМ по внедрению и использованию структурного подхода, она будет полезна как программистам, желающим улучшить методы своей работы, так и руководителям программистских коллективов.
Предисловие авторов и главы 1, 5, 8, 9, 10 переведены Э. М. Киуру, главы 2, 3, 4, 6, 7 — А. Л. Александровым. При переводе экономических терминов большую помощь оказал С. А. Овсейчик.
В. Ш. Кауфман
1) Дзержинский Ф. Я., Тер-Сааков А. И. Технология программирования — структурный подход.— М.: Цнииатоминформ, 1978.
2) Майерс Г, Надежность программного обеспечения,—М,: Мир, 1980,
ОГЛАВЛЕНИЕ
Предисловие редактора перевода . . ................ б
Предисловие............................ 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
^ Блок-схемы....................... 98
Правила детализации.................. . 99
Сегментирование ........ ..... i ...... . 115
Выводы........................< 124
Контрольные вопросы и упражнения........... 128
Глава 6. СТРУКТУРНОЕ ПРОГРАММИРОВАНИЕ НА СТАНДАРТ- .
НОМ КОБОЛе..................... 130
Модульность....................... 131
Структурирование программ на КОБОЛе......... '41
О стиле программирования ................ 156
Как облегчить чтение программы............. 163 ,
Выводы......................... 168
Контрольные вопросы и упражнения..........( 177
Глава 7. СТРУКТУРНОЕ ПРОГРАММИРОВАНИЕ НА ФОРТРАНе 178
Организация программ на языке ФОРТРАН........ 179
Структурирование программ на ФОРТРАНе....... 182
О стиле программирования...........,..... 189
Как облегчить чтение программы............, 192
Использование препроцессора с выходом на ФОРТРАН ... 194
Выводы.......................... 203
Контрольные вопросы и упражнения........... 204
Глава 8. СТРУКТУРНОЕ ПРОГРАММИРОВАНИЕ НА ПЛ/1 ... 206
Модульность....................i -. . 206
Структурирование ПЛ/1-программ............. 216
Некоторые приемы программирования на ПЛ/1....., 226
Как облегчить чтение программ............. 228
Пример программы...................-. 231
Выводы........................, 233
Контрольные вопросы и упражнения......, . . . , 240
Глава 9. СКВОЗНОЙ. СТРУКТУРНЫЙ КОНТРОЛЬ .,>>-..,• 241
Кто этим занимается?.................., 243
Атмосфера на контрольной сессии............, 245
Как это все происходит?................. 246
Выводы для руководства................., 249
Выводы......................., , 252
Контрольные вопросы ................. , 252
Глава 10. ТЕСТИРОВАНИЕ.................., 254
Что и как нужно тестировать? ,...,»......., 255
Разработка плана тестирования ............. 263
Прогон тестов....................,, 265
Выводы для руководства . . . . ¦, . . , , . ; ,..... 265
Выводы................., , i . i , s -. 267
Контрольные вопросы и упражнения . . . , i > ,..... 268
Глоссарий...................., . , . , . , . , 269


Hosted by uCoz