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