Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
41
Добавлен:
23.03.2015
Размер:
395.78 Кб
Скачать

1.Введение

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

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

Корректность процесса декомпозиции становится все более и более важной по мере того, как размер программы возрастает. Это обусловливается следующими причинами. Во-первых, в про­цесс составления программы вовлекается все большее число лю­дей. Если над программой работает несколько человек, то есте­ственно предположить их регулярные контакты. Такой контакт снижает вероятность различных разногласий, касающихся того, кто и что должен делать, и уменьшает серьезность последствий, возникающих в подобных ситуациях. Если над задачей работает много людей, то регулярные взаимодействия между ними стано­вятся невозможными, поскольку они отнимают слишком много времени. По этой причине программа может быть разбита на части, причем каждая из них может создаваться отдельными участниками независимо от остальных, вследствие чего контакты между людьми становятся минимальными.

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

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

И наконец, время жизни большинства программ достаточно велико, поэтому работа с ними продолжается еще долгое время. Кроме этого, необходимо учитывать постоянные изменения в со­ставе рабочей группы, что приводит к тому, что модификация про­грамм обычно выполняется уже не разработчиками задачи. Все эти факторы предполагают структурирование программ таким об­разом, чтобы они были легко понимаемыми.

В методологии, описанной в данной книге, программы состав­ляются путем декомпозиции задачи. Эта декомпозиция основана на опознавании абстракций.Декомпозицияиабстракция,являясь двумя ключевыми концепциями данной книги, и составят предмет нашего последующего обсуждения.

Соседние файлы в папке POSIBNIK