Средства описания предметной области

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

Для хранения статических редко изменяющихся данных предназначены справочники и развязочные таблицы. Не будет чересчур грубым их представление просто в виде таблиц.

Это одни из самых простых объектов в системе. Например, список товаров продаваемых или производимых компанией – хороший пример для реализации в виде справочника.

Как только в систему вносится описание нового справочника (его имя, набор полей и т.д.), разработчик сразу получает в свое распоряжение форму для списка записей справочника и форму для редактирования его записей. Это позволяет быстро перейти к реализации прочей логики, не теряя время на разработку интерфейса. Для реализации связи многие-ко-многим предназначены развязочные таблицы. Описание свойств развязочной таблицы позволяет системе автоматически сгенерировать и предложить пользователю или разработчику готовый интерфейс для управления данными.

К более сложным объектам относятся документы и итоги.

Документы содержат информацию о некоем событии в предметной области (например, продаже товара).

Документы – составные объекты, в отличие от справочников. Каждый документ состоит из общей шапки (набора полей, который есть в любом документе системы), шапки – набора полей, который есть только в данном документе, и набора табличных частей (возможно пустого, а возможно и нет – количество табличных частей для одного документа не ограничено, это сильно упрощает формулирование сложной бизнес-логики).

Табличная часть позволяет сохранить список записей внутри одного документа (товарные строки, как наиболее востребованный, но далеко не единственный пример). С документами тесно связано понятие итога.

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

Далее будет использоваться следующая терминология:

справочник (синоним для тип справочника) – тип справочника задает набор полей и прочие свойства;

запись справочника – конкретная строка (или конкретный объект системы) справочника;

развязочная таблица (синоним для тип развязочной таблицы) – аналогично справочнику определяет, какие поля есть в развязочной таблице;

тип документа – описание набора полей шапки документа и прочих свойств;

документ – один конкретный документ, содержащий информацию об одном событии.