Настройка расчетов в схеме автоматизации
Данный раздел описывает использование расчетов в схеме автоматизации на примере практической задачи. Описаны процессы настройки расчетов и вывода их результатов в интерфейс системы.
Содержание раздела:
Пример решаемой задачи
С помощью расчетов можно подсчитать количество экземпляров сущностей, связанных с текущей сущностью в рамках иерархии предметной области.
Предварительные условия
В системе создана схема домена Аудиты и контроль с идентификатором evo.compliance.audit. В этой схеме домена определены следующие сущности:
-
Аудит — процедура определения степени соответствия актива требованиям по информационной безопасности.
-
Идентификатор в схеме домена: Audit.
-
Исходящая связь: сущность Аудит связана с сущностью Требование связью "один ко многим".
-
-
Требование — отдельное положение стандарта, выполнение которого необходимо оценить при проведении аудита.
-
Идентификатор в схеме домена: Requirement.
-
Исходящая связь: сущность Требование связана с сущностью Замечание связью "один ко многим".
-
-
Замечание — нарушение требования, которое было найдено и зафиксировано аудитором в ходе аудита.
-
Идентификатор в схеме домена: Issue.
-
Создание расчетов в схеме автоматизации
Для решения задачи необходимо создать схему автоматизации и добавить в нее расчеты. При создании расчетов нужно определить:
-
метаданные схемы автоматизации;
-
объекты расчетов, в том числе сущности, для которых они выполняются, их формулы и дополнительные свойства.
| Чтобы ознакомиться с подробным описанием структуры схем автоматизации, обратитесь к разделу Схемы автоматизации. |
Для расчета суммарного количества замечаний аудита в рамках домена Аудиты и контроль можно создать следующую схему автоматизации:
id: evo.compliance.audit.automation
name: number_of_issues_in_audit
description: Схема автоматизации для расчета количества замечаний аудита
type: calculation_schema
tags: [audit, calculations]
version: 1.0.0
status: stable
author: John Doe <johndoe@example.com>
calculations:
- id: issue
name: Замечание
auto_recalculation: true
entity: evo.compliance.audit/Issue
complexity_limit: 1
expression: "1"
- id: num_of_issues_requirement
name: Количество замечаний требования
auto_recalculation: true
entity: evo.compliance.audit/Requirement
complexity_limit: 100
expression: "sum({calculation:issue})"
children:
- linkage: evo.compliance.audit/Requirement_Issue
calculation: issue
- id: num_of_issues_audit
name: Количество замечаний аудита
auto_recalculation: true
entity: evo.compliance.audit/Audit
complexity_limit: 100
target: numOfIssues
expression: "sum({calculation:num_of_issues_requirement})"
children:
- linkage: evo.compliance.audit/Audit_Requirement
calculation: num_of_issues_requirement
Интерпретация примера
-
Свойства с
idпоauthorпредставляют собой метаданные схемы автоматизации. -
Свойство
calculationsсодержит массив следующих расчетов:-
issue— расчет для замечания. Всегда возвращает значение1, поскольку нужно подсчитать количество всех замечаний без дополнительных условий.Идентификаторы сущностей и связей домена в схемах автоматизации указываются с использованием FQID. FQID начинается с идентификатора схемы домена: в данном примере evo.compliance.audit. -
num_of_issues_requirement— расчет суммарного количества замечаний, связанных с требованием. Вычисляется как сумма результатов дочернего расчетаissue. -
num_of_issues_audit— расчет суммарного количества замечаний, связанных с аудитом. Вычисляется как сумма результатов дочернего расчетаnum_of_issues_requirement. Для вывода результата расчета в полеnumOfIssuesаудита в интерфейсе установлено свойствоtarget: numOfIssues.
-
-
Для всех расчетов в поле
auto_recalculationустановлено значениеtrue, чтобы при добавлении или удалении замечания количество замечаний аудита пересчитывалось автоматически.
Отображение результатов расчетов в интерфейсе
Чтобы результат расчетов отобразился в интерфейсе домена, выполните следующие действия:
-
В коде схемы домена:
-
Добавьте атрибут типа
calculationв список атрибутов сущности, для которой выполняется расчет. -
Добавьте виджет для отображения атрибута в представлении сущности.
-
-
Опубликуйте обновленную версию схемы домена.
-
Обновите домен.
После того как завершится обновление домена, результат расчета отобразится в карточке сущности, для которой выполняется расчет.
Пример настройки отображения результата расчета в коде схемы домена
В данном примере настроено отображение результата расчета количества замечаний в поле Количество замечаний карточки аудита. Для простоты карточка аудита, помимо результата расчета, включает только название аудита и таблицу связанных требований.
entities:
- id: Audit
name: Аудит
attributes:
- id: name
name: Название
dataType: String
constraints:
- kind: required
- id: numOfIssues
name: Количество замечаний
dataType: Integer
...
views:
- entity: Audit
id: id_Audit
label: label_Audit
type: entity
widgets:
- id: editors_auditName
type: attribute
attribute: name
control:
type: text
description: Название аудита
- id: tables_requirementsInAudit
type: linkage
linkage: Audit_Requirement
label: Требования аудита
control:
addLinksView: requirements
columns:
- attribute: name
id: name
type: table
- id: editors_numOfIssues
type: attribute
attribute: numOfIssues
description: Количество замечаний
groups:
- id: auditInfoTab
components:
- widget: editors_auditName
- widget: tables_requirementsInAudit
- widget: editors_numOfIssues
label: Информация об аудите
type: tab
Интерпретация примера
-
В разделе
entitiesсхемы домена для сущностиAuditдобавлен атрибутnumOfIssuesтипаCalculation. Значение этого поля — результат расчетаnum_of_issues_auditиз схемы автоматизацииevo.compliance.audit.automation. -
В разделе
viewsсхемы домена для сущностиAuditдобавлен виджетeditors_numOfIssuesдля вывода значения атрибутаnumOfIssues. Этот виджет добавлен в представление вкладки Информация об аудите (auditInfoTab) карточки аудита.
Пример отображения результата расчета в интерфейсе домена
-
С аудитом Аудит ИБ связаны три требования:
-
Требование Т1. Конфиденциальность связано с двумя замечаниями.
-
Требование Т2. Целостность не связано ни с одним замечанием.
-
Требование Т3. Доступность связано с четырьмя замечаниями.
-
-
В карточку аудита добавлено поле Количество замечаний. Его значение — 6 — является суммарным количеством замечаний, связанных со всеми требованиями аудита.
Была ли полезна эта страница?