Программное обеспечение и его разработка [Джозеф М Фокс] (fb2) читать постранично


 [Настройки текста]  [Cбросить фильтры]

Дж. Фокс Программное обеспечение и его разработка

Предисловие редактора перевода

Использование ЭВМ в различных системах управления привело к тому, что в последнее десятилетие стала создаваться индустрия программного обеспечения. Программы, ранее бывшие лишь продуктом творческой деятельности программиста, стали стремительно превращаться в продукцию — плод организованной деятельности многих людей. В последние же годы программы, это специфическое творение человеческого мозга, стали даже товарной продукцией. Они уже продаются не с машиной, не как составные части сложных систем, а сами по себе. Они уже стали «программными средствами».

Проблематика создания программного обеспечения сложных систем и товарных программ стала весьма актуальной для широкого круга создателей подобных систем и вообще людей, связанных с управлением разработками программ. Естественно, что подавляющее большинство из них не относятся к профессиональным программистам и специфика проектирования, создания и сопровождения больших программных комплексов для них представляется достаточно туманной. Не лучше обстоит дело и с узкоориентированными профессионалами. Зная хорошо свой предмет, они часто теряются, сталкиваясь с проблематикой создания комплекса программ.

В вышедшей несколько лет назад книге «Мифический человеко-месяц»[1] Брукс отчасти пытался заполнить пробел в этой области. Книга Джозефа М. Фокса, в прошлом руководителя отдела программирования фирмы IBM, перевод которой вы, читатель, держите в руках, похожа по тематике, но гораздо более основательна. В ней обсуждаются весьма общие проблемы создания комплексов программ; она расчитана на самые широкие круги читателей.

На наш взгляд, работа Д. М. Фокса оказалась очень удачной. Для нее характерны широкий взгляд на предмет и обилие конкретного материала. Следует отметить очень хорошее образное изложение, великолепно подобранные цитаты (иногда ставившие в тупик и переводчика и редактора) и примеры. Весьма убедительно выглядят, например, апелляции к повседневной жизни, мгновенно разъясняющие суть дела. И конечно, самое главное то, что мы получаем сведения из первых рук.

Заметим однако, что издание книги Фокса в серии «Математическое обеспечение ЭВМ» несколько противоречит сложившимся традициям. Книги этой серии, как правило, посвящены техническим вопросам: как устроены системы или программы, как их лучше кодировать, какие при этом используются средства, приемы и т. п. Все это можно было бы назвать «технологией кодирования». Вопросы же общей организации производства, как правило, изданиями этой серии не освещаются. Поэтому, конечно, хорошо, что технологи и практики кодирования познакомятся с «вышестоящей» проблематикой. Однако даже автор книги говорит, что организация производства и его технология — вещи разные и специалистов в области технологии кодирования или информатики лучше использовать по их специальности, а не поручать им организацию производства программных средств. Поэтому было бы хорошо, если с данной книгой познакомятся именно организаторы этого нового для человечества производства.


Подшивалов Д. Б.

Предисловие

Четырем ребятишкам из Бруклина: Джиму, Джоан, Джоку, Пэту.

В 1620 г. Френсис Бэкон написал, что беседы ученых мужей часто оканчиваются разногласиями по поводу смысла слов. По-видимому, ни для какой области это не является столь верным, как для вычислительной техники. Родившись в конце сороковых годов, вычислительная машина еще не вышла из младенческого возраста, и научный мир продолжает бороться за создание достаточно объемлющей, согласованной и ясной терминологии.

В 1978 г. мне посчастливилось стать председателем комиссии по обследованию вычислительных машин, действующих в ВМФ США, которая готовила доклад для заместителя военно-морского министра США по вопросам научных исследований, техники и систем. Мне сразу стало ясно, что большинство терминов вычислительной техники и программирования все члены комиссии определяли немного по-разному. Не раз нам приходилось прерывать наши заседания, чтобы найти определения, удовлетворившие бы всех.

При обсуждении вычислительных машин и программирования надо остерегаться случайной путаницы, вызванной различным пониманием даже самых распространенных терминов.

Я ввожу в этой книге несколько новых определений, поскольку во многих специальных терминологических словарях не делается различий между близкими, соседними понятиями. Такие словари приносят вред; они только усугубляют неразбериху.

Вычислительная машина может делать все, а известно, что инструмент, который может делать все, иногда может делать весьма странные вещи — и это не случайно. Почти нет ни одного утверждения, касающегося использования вычислительных машин (и, следовательно, программ),