Was this article helpful?

Спасибо за вашу оценку!

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

Практикум. Методика оценки нефинансовых компаний. Объектная модель

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

Перед тем как приступить к настройке приложения необходимо выделить основные используемые понятия:

  • Атрибут – значимая характеристика бизнес-сущности, используется для идентификации, классификации, выражения количественной характеристики или состояния объекта;

  • https://docs.greendata.ru/platform/ru/architecture-of-system-objects.html#%D1%82%D0%B8%D0%BF%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%B0[Тип объектов] – набор характеристик (атрибутов) для описания бизнес-сущности;

  • https://docs.greendata.ru/platform/ru/architecture-of-system-objects.html#%D1%8D%D0%BA%D0%B7%D0%B5%D0%BC%D0%BF%D0%BB%D1%8F%D1%80%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%B0[Экземпляр] – набор сведений о конкретном объекте, создается Системой при заполнении данными;

  • https://docs.greendata.ru/platform/ru/architecture-of-system-objects.html#%D1%80%D0%B5%D0%B5%D1%81%D1%82%D1%80%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%B2[Реестр объектов] – накопитель сведений одного типа;

  • Связь – индикатор взаимоотношений между объектами. Существует 3 типа связей: наследования, агрегации и ассоциации.

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

Для решения рассматриваемой бизнес-задачи необходимо построить объектную модель, содержащую следующие типы объектов: Карточка оценки риска нефинансовой компании – ключевой тип объектов, с которым взаимодействуют пользователи для расчета оценки риска Клиента; Нефинансовая компания – системный тип объектов, используемый для хранения записей о Клиентах; Справочник – основной тип-родитель для создаваемых в Системе справочников: Адрес регистрации Клиента – справочник, который будет хранить варианты адреса регистрации Клиента; Сроки деятельности Клиента – справочник, который будет хранить варианты количества времени деятельности Клиента; Уровень поддержки собственников – справочник, который будет хранить уровни поддержки собственников в поддержке бизнеса; Рыночная позиция бизнеса – справочник, который будет хранить уровни конкуренции на рынке; Рейтинг – справочник, который будет хранить значения вариантах рейтинга; Финансовое положение Клиента – справочник, который будет хранить варианты финансового положения Клиента.

Целевая объектная модель должна выглядеть следующим образом:

image014

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

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

Для создания новой ER-диаграммы есть два способа:

  1. На стартовой странице в виджете «Предметные области» нажмите на кнопку «Создать».

    image

    В модальном окне воспользуйтесь кнопкой «Создать с нуля» чтобы создать пустую предметную область.

    image

  2. Через главное меню перейти в пункт «Администрирование» – «Управление объектами» – «Предметные области». После перехода в реестре предметных областей создать новый экземпляр типа с помощью кнопки «Создать».

image

Создайте новую предметную область. Задайте для предметной области Наименование «Оценка нефинансовых компаний». Сохраните экземпляр с помощью кнопки на верхней панели.

image

Определение типов объектов

Для реализации объектной модели используются типы объектов для описания сущностей.

В редакторе предметной области предусмотрено добавление уже имеющихся типов объектов и создание новых.

image

Создание типа объектов «Справочник»

Создайте новый тип объектов «Справочник» – тип объектов, который будет хранить экземпляры дочерних справочников. Он используется для стандартизации атрибутивного состава для типов-справочников, а также реализации их связи для обращения к значениям каждого при необходимости.

Создайте тип объектов «Справочник» [DICTIONARY], в качестве родителя укажите тип объектов «Объект» — это абстрактный объект, содержащий минимально необходимый набор атрибутов.

Необходимо корректно заполнить поля «Наименование таблицы» и «Родитель», так как после сохранения данного типа, изменить их будет нельзя.

image

Сохраните настройки типа объекта с помощью кнопки «Ок» и вернитесь к предметной области – созданный тип объектов будет расположен на ней в виде прямоугольника с наименованием. При необходимости добавить новый справочник, в качестве родителя можно будет использовать тип объектов «Справочник».

image

Создание и наполнение дочерних справочников

Создайте новый тип объектов «Сроки деятельности Клиента» [CLI_ACT_DUR], в качестве родителя выберите тип объектов «Объект» и сохраните настройки типа объектов. Тип будет использоваться для хранения вариантов сроков деятельности клиента.

image

В окне настроек типа объектов «Сроки деятельности Клиента» перейдите в реестр экземпляров с помощью кнопки «Открыть реестр» на панели управления.

image

Реестр нового типа объектов по умолчанию пустой и не имеет экземпляров объектов. На панели инструментов расположены кнопки взаимодействия с реестром и экземплярами типа объектов.

image

Создайте новый объект (экземпляр) с помощью кнопки на панели управления. Заполните поле «Наименование» значением «Более 3 лет» и сохраните объект.

image

Вернитесь к реестру и создайте остальные объекты:

  • От 1.5 года до 3 лет;

  • От 6 до 1.5 года;

  • От 3 до 6 месяцев;

  • Менее 6 месяцев.

После этого реестр будет выглядеть следующим образом:

image

Вернитесь к предметной области и сохраните ее.

image

Аналогично создайте справочники и заполните их реестры в соответствии с таблицей ниже (см. Таблица 1).

Таблица 1. Справочники и объекты в реестрах

Наименование Идентификатор Объекты в реестре

Адрес регистрации Клиента

CLI_REGIS_ADR

Совпадают юридический и фактический адреса

Юридический адрес в списке ФНС массовых регистраций

Не совпадают юридический и фактический адреса, но компания не в списке ФНС массовых регистраций

Кредитная история Клиента

CLI_CRED_HISTORY

Положительная кредитная история

Информация в БКИ отсутствует

Получена негативная информация по запросу в БКИ

Уровень поддержки собственников

OWNER_SUP_LVL

Высокая степень заинтересованности в поддержке бизнеса собственником, в т.ч. участие собственника в управлении бизнесом и пр.

Низкая степень заинтересованности в поддержке бизнеса собственником, в т.ч. отсутствие участия или слабое участие собственника в управлении бизнесом и пр.

Рыночная позиция бизнеса

MARKET_POS_BUSINESS

Приемлемый уровень конкуренции в бизнесе, наличие налаженных рынков сбыта

Ограниченный список рынков (потребителей), высокая конкуренция

Высокий уровень конкуренции в данном бизнесе, отсутствие налаженных рынков сбыта продукции

Рейтинг

RATING

A1

A2

B1

B2

C1

C2

D

Финансовое положение Клиента

CLIENT_FIN_STAT

Хорошее

Среднее

Плохое

image

Определение типа объектов «Карточка оценки риска нефинансовой компании»

Необходимо создать карточку для работы с методикой по оценке Клиента. Методика предназначена для получения аналитических данных, рассчитанных на основании совокупности подобранных вычислимых показателей, которые вычисляются посредством алгоритмов. Для взаимодействия с методикой используется тип объектов «РМ. Карточка расчета».

Тип объектов «РМ. Карточка расчета» – это системный тип объектов, настройки которого нельзя изменить. Но его можно использовать в качестве родителя для типов объектов для расчета методики по заданным параметрам, так как он имеет необходимые для этого атрибуты «Дата отчетности», «Дата актуальности» и «Методика».

Создайте новый тип объектов «Карточка оценки риска нефинансовой компании» [RISK_NON_FIN_CALC] – впоследствии все расчеты по методике будут проводиться в экземплярах данного типа. В качестве родителя выберите тип объектов «РМ. Карточка расчета» и сохраните настройки типа объектов.

image

На вкладке «Атрибуты» настройте атрибутивный состав типа объектов. В списке атрибутов указываются родительские и собственные атрибуты.

Для того чтобы отобразить список родительских атрибутов, необходимо активировать переключатель «Показать атрибуты родительского типа».

image

В системе есть возможность добавлять существующие атрибуты и создавать новые.

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

image

Добавьте атрибут, который будет хранить информацию о статусе выполнения оценки клиента. Добавьте существующий атрибут, для этого нажмите на кнопку «Добавить существующий». В модальном окне активируйте переключатель «Выбор атрибута из полного списка атрибутов» и в поле «Атрибут» с помощь поиска найдите и выберите атрибут «Статус события» [STATE_ID], затем подтвердите выбор с помощью кнопки «Добавить».

image

Перейдите к настройке добавленного атрибута «Статус события» для этого в списке выберите его и воспользуйтесь кнопкой image033 или дважды щелкните по нему списке.

В модальном окне настройки атрибута его параметры расположены на следующих вкладках:

  • Основное – ввод основной информации об атрибуте;

  • Визуал – выбор визуального отображения атрибута;

  • Версионность значений – определение зависимости значения атрибута от времени;

  • События – настройка дополнительных действий при изменении значения атрибута в объекте;

  • Дополнительное – ввод иных (некритичных) характеристик атрибута.

Измените настройки добавленного атрибута: на вкладке «Основное» замените наименование атрибута на «Состояние объекта». В поле «Значение по умолчанию» укажите «Новый».

image

Также перейдите на вкладку «Дополнительное» и активирует опцию «Доступен только для чтения». Сохраните настройки атрибута с помощью кнопки «Ок».

image

Создайте новый атрибут для хранения дат отчетности, для этого нажмите на кнопку «Создать».

image

На вкладке «Основное» заполните поля:

  • Наименование – «Атрибут для хранения дат отчетности»;

  • Идентификатор – «ATTR_DATE_KEEPING»;

  • Тип – «Строка»;

  • Размер – «2000»;

  • Обязательность – «Нет».

image

Сохраните настройки типа объектов.

image

Настройка связей между типами объекта

Настройте связи между типами объектов на предметной области. На платформе реализован функционал установки связей для сопоставления данных между двумя типами объектов.

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

Существует 3 вида взаимосвязи между объектами:

  • Наследования – ссылка на родительский объект;

  • Ассоциации – создание объектного атрибута – атрибута с ссылкой на тип объектов;

  • Агрегации – создание дочернего атрибута – атрибут, хранящий в себе набор записей другой таблицы (типа объекта, указанного при настройках атрибута), которая в свою очередь имеет объектную ссылку на текущую таблицу.

Один родительский объект может иметь несколько дочерних, однако у всякого дочернего объекта может быть только один родитель. Кроме того, один и тот же объект может быть родительским для одних объектов и в то же время дочерним для других.

Создайте ассоциативную связь от типа объектов «Карточка оценки риска нефинансовой компании» к типу объектов «Сроки деятельности Клиента», для того чтобы отображать данные об адресе Клиента. Для этого выберите тип объектов «Карточка оценки риска нефинансовой компании» и откройте выпадающий список действий, выберите команду «Создать ассоциативную связь» и щелкните по типу объектов «Сроки деятельности Клиента».

image

После этого откроется модальное окно создания атрибута. При необходимости в текущем окне можно изменить настройки атрибута до сохранения, но после часть настроек будет недоступна для редактирования. Сохраните без изменений, нажав на кнопку «Ок».

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

image

Таким образом, в типе объектов «Карточка оценки риска нефинансовой компании» будет создан объектный атрибут, ссылающийся на Тип объектов «Сроки деятельности Клиента».

image

Сохраните предметную область.

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

image

Таблица 2. Объектные атрибуты типа объектов «Карточка оценки риска нефинансовой компании»

Наименование Идентификатор Ссылка на тип

Адрес регистрации Клиента

CLI_REGIS_ADR_ID

Адрес регистрации Клиента

Уровень поддержки собственников

OWNER_SUP_LVL_ID

Уровень поддержки собственников

Рыночная позиция бизнеса

MARKET_POS_BUSINESS_ID

Рыночная позиция бизнеса

Рейтинг

RATING_ID

Рейтинг

Финансовое положение Клиента

CLIENT_FIN_STATE_ID

Финансовое положение Клиента

Клиент

RISK_CLIENT_ID

Нефинансовая компания

image

Также необходимо настроить атрибутивный состав типа «Нефинансовая компания».

Для типа объектов «Нефинансовая компания» добавьте объектные атрибуты как существующие, согласно таблице ниже (см. Таблица 3).

Таблица 3. Объектные атрибуты типа объектов «Нефинансовая компания»

Наименование Идентификатор Ссылка на тип

Рейтинг

RATING_ID

Рейтинг

Финансовое положение Клиента

CLIENT_FIN_STATE_ID

Финансовое положение Клиента

Определение выражений для типа объекта

На платформе GreenData предусмотрена работа с алгоритмами. Алгоритм – это некая последовательность вычислительных шагов, используемая для выполнения определенной задачи или преобразования данных.

Система поддерживает работу со всеми типами алгоритмов: линейными, разветвляющимися, циклическими и вспомогательными. Они задаются на языке Groovy – объектно-ориентированном языке программирования, который является дополнением к языку Java.

Бэковые алгоритмы объектов выполняются на серверной части приложения. Они используются для:

  • заполнения значений атрибутов типа объектов;

  • расчета вычислимых показателей;

  • запуска этапа процесса интеграции;

  • создания условий и действий на бизнес-процессе;

  • трансформации аналитических форм.

Откладка бэковых алгоритмов возможна на этапе создания формулы. Каждый алгоритм может использоваться в Системе один или несколько раз.

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

Создание и настройка выражений происходит в настройках типа объекта на вкладке «Выражения\Автокалькуляции». Все системные и созданные пользователями алгоритмы выражений хранятся в реестре алгоритмов объектов в папке «Карточки объектов», в который можно перейти с помощью главного меню: «Администрирование» - «Управление объектами» - «Алгоритмы объектов».

Также можно создать собственную папку для хранения созданных алгоритмов с помощью кнопки на верхней панели.

image

Если выражения наследуются от родительского типа объектов, их невозможно отредактировать и удалить на уровне дочернего типа. Например, все типы объектов по умолчанию содержат выражение для автоматического заполнения наименования объекта. Указанное выражение наследуется от типа «Объект». Для задания нового алгоритма следует использовать кнопку «Переопределить настройки».

Для создания нового выражения воспользуйтесь кнопкой «Добавить новое выражение».

image

Редактор алгоритмов содержит в себе поле для формулы и панель «Инструменты», на которой располагаются доступные функции: набор функций определяется типом алгоритма.

image

На предметной области откройте настройки типа объектов «Карточка оценки риска нефинансовой компании» и перейдите на вкладку «Выражения/Автокалькуляции». Переопределите настройки выражения для атрибута «Наименование».

image

Создайте алгоритм «Наименование карточки оценки клиента», в качестве базового типа объектов оставьте «Карточка оценки риска нефинансовой компании». Данный алгоритм будет автоматически генерировать наименование на основе данных карточки и сохранять его в атрибуте «Наименование».

Заполните поле формулой алгоритма.

image

Воспользуйтесь функциями:

Выполните следующие шаги чтобы повторить формулу алгоритма:

  1. На панели инструментов в разделе «Источники» вызовите функцию attr: в списке выберите атрибут «Дата отчетности». После этого наименование атрибута отобразится в поле формулы алгоритма;

  2. С помощью клавиатуры укажите знак сложения для конкатенации строки;

  3. С помощью функции text или с помощью клавиатуры вставьте кавычки, в которых необходимо указать «: »;

  4. Вставьте атрибут «Методика» - «Наименование» с помощью функции attr: чтобы добавить цепочечный атрибут раскройте список атрибутов у атрибута «Методика»;

  5. Повторите шаги 2-3 и вставьте в строку открывающую скобку;

  6. Укажите атрибут «Клиент» с помощью функции attr аналогично шагу 1;

  7. Аналогично шагу 5 укажите закрывающую скобку.

Сохраните изменения и вернитесь к настройке выражения типа, дважды нажав по нему в списке.

В окне настройки выражения оставьте переключатель «Рассчитать в момент создания новых объектов», чтобы алгоритм выполнялся после сохранения объекта и измените значение поля «Автоматический пересчет выражения», выбрав в списке «При изменении атрибутов, используемых в алгоритме».

image

Сохраните настройки выражения с помощью кнопки «Сохранить». Также сохраните настройки типа объектов.