VisualData

Предметная область

Как правило, целью создания пользовательской программы является компьютерная эмуляция какой-то конкретной предметной области.

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

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

Каждое отдельно взятое значение существует не само по себе, а представляет собой значение одной из характеристик какого-то конкретного объекта. Иными словами, любую предметную область можно более укрупнено и наглядно представить как совокупность объектов с их значениями. Именно так мы воспринимаем окружающую нас действительность : на уровне смыслового восприятия нас окружают объекты.

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

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

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

Но что особенно примечательно, все субъекты физического и абстрактного уровня представляют собой обычные структуры данных, пригодные для персистентного хранения. Из сказанного ранее следует, что эти структуры: а) в общем случае могут быть составными и включать в себя другие структуры данных; б) обладают способностью создавать производные (на правах экземпляра) структуры данных. И что существенно — производная структура может быть создана простым копированием части родительской структуры.