Перейти к основному содержанию

Процессы и потоки данных

Около 10 мин

Процессы и потоки данных (DFD)

На архитектурном ревью почти всегда звучит вопрос: «Пользователь открыл систему — что он в ней делает?» Ответ на него — не список кнопок интерфейса, а описание процессов, которые проходят внутри системы, и данных, которые при этом перемещаются.

Здесь описаны процессы самой платформы: моделирование, согласование и публикация моделей, ведение реестра процессов, управление пользователями и правами. Это те цепочки, которые поддерживает продукт независимо от того, какие бизнес-процессы вы в нём описываете.

Что здесь не описано

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

Условные обозначения

Схемы построены как диаграммы потоков данных (DFD) в упрощённых обозначениях.

ОбозначениеСмысл
Прямоугольник с номеромПроцесс — действие, которое преобразует данные
ЦилиндрХранилище данных
Зелёная скруглённая фигураВнешняя сущность: роль пользователя
Синяя скруглённая фигураВнешняя сущность: смежная система
Стрелка с подписьюПоток данных и его содержание

Схемы можно перерисовать под свою нотацию

Если у вас принята строгая нотация DFD — Йордана — Де Марко, Гейна — Сарсона или другая, — перерисуйте схемы в ней: состав процессов, хранилищ и потоков от этого не изменится. Исходники диаграмм лежат прямо в тексте страницы (блоки mermaid) — их удобно скопировать и править. Полный перечень потоков продублирован таблицами: по ним схему можно собрать заново в любом редакторе.

Контекстная диаграмма (уровень 0)

Система целиком, её пользователи и смежные системы.

Внешняя сущностьТипЧто передаёт в системуЧто получает из системы
Аналитик, методологРольМодели процессов, атрибуты карточек, справочникиМодели, реестр, результаты поиска
СогласующийРольРешение по согласованию, комментарииЗапрос на согласование, уведомления
ЧитательРольПоисковые запросыМодели и карточки процессов на чтение
Администратор командыРольПрава, состав групп, структура реестраОтчёт о составе участников и правах
Администратор системыРольКонфигурация, обновленияМетрики, журналы, состояние системы
Служба ИБРольЗапросы на выгрузкуСобытия аудита
Корпоративный IdPСистемаТокен, подтверждённые атрибуты пользователяЗапрос аутентификации
Почтовый серверСистемаПисьма: приглашения, согласования, уведомления
S3-совместимое хранилищеСистемаФайлы по запросуФайлы, вложения, превью моделей
PostgreSQLСистемаДанные по запросуДанные платформы
SIEM, коллектор логовСистемаЖурнал действий по протоколу syslog
Prometheus, GrafanaСистемаМетрики по эндпоинту /actuator

DFD-1. Жизненный цикл модели процесса

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

Создание и правка модели.

Согласование, публикация и чтение.

Процессы

ПроцессЧто происходит
1.1Создание модели в редактореПользователь создаёт модель в выбранной папке, при необходимости из шаблона. Модель получает статус «Новый» и владельца — автора
1.2Редактирование и автосохранениеПравка схемы, описаний элементов, связей с ролями и элементами архитектуры. Изменения сохраняются автоматически, при сохранении фиксируется версия
1.3Обсуждение в комментарияхУчастники оставляют комментарии, в том числе привязанные к конкретному элементу схемы
1.4Отправка на согласованиеАвтор указывает согласующих. Создаются запросы на текущую версию модели, согласующие получают доступ на чтение и уведомление. Модель переходит в статус «На согласовании»
1.5Решение согласующегоСогласующий отвечает «согласовано» или «отклонено» с комментарием. Решение фиксируется вместе со временем
1.6Перевод в статус «Готов»После получения всех решений автор публикует модель. В статусе «Готов» модель доступна только на чтение
1.7Архивирование моделиУстаревшая модель переводится в статус «Архив» и остаётся доступной на чтение
1.8Просмотр, поиск, выгрузкаЧитатели ищут модели, открывают их и выгружают в поддерживаемые форматы в пределах своих прав

Потоки данных

ПотокИсточникПриёмникСодержание
Название, папка, шаблонАналитик1.1Параметры создаваемой модели
Новая модель1.1D1Модель в статусе «Новый», автор, папка
Элементы схемы и описанияАналитик1.2Содержимое диаграммы
Тело схемы и элементы1.2D1Актуальное состояние модели
Снимок версии1.2D2Версия модели с автором и временем
Превью и вложения1.2D6Изображение схемы, прикреплённые файлы
Комментарий1.3D4Текст, автор, привязка к элементу
Список согласующихАналитик1.4Адреса электронной почты согласующих
Запрос согласования1.4D3Запрос, привязанный к текущей версии модели
Доступ согласующим1.4D5Право на чтение модели для согласующих
Оповещение о запросе1.4D7Уведомление в системе и письмо
Решение и комментарийСогласующий1.5«Согласовано» или «отклонено», текст
Статус решения1.5D3Решение, время, комментарий
Оповещение о решении1.5D7Уведомление автору, письмо о завершении согласования
Статус «Готов»1.6D1Смена статуса, модель становится доступной только на чтение
Статус «Архив»1.7D1Смена статуса
Модели, доступные читателюD11.8Перечень моделей с учётом прав
Проверка правD51.8Права конкретного пользователя на модель
Письмо получателюD7Почтовый серверПисьмо по шаблону

Статусы модели

СтатусЧто означаетМаксимальный доступ
НовыйМодель создана, работа не начиналасьПо правам пользователя
В работеМодель в активной проработкеПо правам пользователя
На согласованииОтправлена согласующим, идёт сбор решенийТолько чтение
ГотовСогласована и опубликованаТолько чтение
АрхивВыведена из обращения, сохранена для историиТолько чтение

Статус сильнее прав

Статусы «На согласовании», «Готов» и «Архив» ограничивают доступ уровнем чтения независимо от прав пользователя: даже администратор команды не изменит такую модель, не сняв статус. Это защищает утверждённые версии от незаметной правки. Полный порядок проверки прав на конкретную модель описан в статье Разделение прав доступа к диаграммам.

Правила согласования

  • Запрос на согласование привязан к конкретной версии модели. Если после отправки модель изменили и отправили заново, незакрытые запросы прошлой версии закрываются, а согласующие получают запрос на актуальную версию — согласование «задним числом» невозможно.
  • Пока хотя бы один запрос текущей версии не получил ответа, модель нельзя вывести из статуса «На согласовании».
  • Согласующим можно указать людей, которых ещё нет в системе: запрос создаётся на адрес электронной почты и связывается с учётной записью, когда человек её заводит.
  • Когда получены все решения, автор получает уведомление и письмо о завершении согласования.
  • Решение содержит автора, время и комментарий и остаётся в системе как след для аудита.

DFD-2. Реестр процессов и справочники

Реестр процессов — каталог процессов организации с атрибутами, статусами и связями. Модели привязываются к карточкам процессов, а не заменяют их.

Ведение карточек процессов.

Связи, представления и витрины.

ПроцессЧто происходит
2.1Создание карточки процессаЗаводится карточка: наименование, владелец, место в иерархии
2.2Заполнение атрибутов и полейЗаполняются описание, признак переиспользуемости, значения пользовательских полей и справочников
2.3Привязка моделей к процессуК карточке привязываются модели, описывающие процесс на разных уровнях
2.4Настройка структуры реестраАдминистратор задаёт уровни процессов, набор статусов, состав и обязательность полей
2.5Смена статуса процессаПеревод карточки в следующий статус; при настроенной проверке система требует заполнить обязательные поля
2.6Просмотр реестра, поиск, выгрузкаЧтение реестра с учётом прав, фильтрация, выгрузка
2.7Связывание процесса с ролями и системамиСвязи карточек и элементов моделей с ролями, подразделениями и элементами ИТ-архитектуры
2.8Витрины, отчёты, метрикиСводные представления по реестру, страницы вики со ссылками на процессы
ПотокИсточникПриёмникСодержание
Название, владелец, границыВладелец процесса2.1Исходные атрибуты карточки
Карточка процесса2.1D8Новая запись реестра
Значения полей2.2D10Значения пользовательских полей и справочников
Связь «процесс — модель»2.3D1Привязка модели к карточке
Конфигурация реестра2.4D9Уровни, статусы, обязательность полей
Статус процесса2.5D8Новый статус после проверки обязательных полей
Связи с архитектурой2.7D11Связи с информационными системами и их элементами
Связи с оргструктурой2.7D12Связи с ролями и подразделениями
Витрины и отчёты2.8D13Страницы вики, сводные представления
Срез реестраD82.6Данные реестра, отфильтрованные по правам пользователя

Статусы реестра настраиваются

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

DFD-3. Управление пользователями и правами

Появление пользователя и выдача прав.

Ограничения, отзыв доступа и учёт мест.

Процессы 3.1–3.7 подробно описаны на отдельной странице — Управление пользователями, включая жизненный цикл учётной записи, подключение к корпоративному каталогу и порядок отзыва доступа.

ПроцессКраткое содержание
3.1Аутентификация пользователяВход через корпоративный IdP по OIDC/OAuth2 либо встроенная аутентификация
3.2Создание учётной записиПрофиль создаётся по подтверждённым атрибутам из IdP при первом входе либо по приглашению
3.3Приглашение в командуАдминистратор команды приглашает участников и задаёт их право в команде
3.4Назначение прав и группВключение участника в группы прав, определяющие доступные действия
3.5Ограничение доступа к папкам и викиПравила «разрешить» и «запретить» на папках и страницах с наследованием
3.6Блокировка и удаление учётной записиОтключение доступа, исключение из команд, удаление профиля
3.7Учёт лицензионных местКонтроль занятых мест и одновременных сессий

Хранилища данных

КодХранилищеГде физическиЧто содержит
D1Модели процессовPostgreSQLСхемы, их атрибуты, владельцы, статусы, размещение в папках
D2Версии моделейPostgreSQLСнимки моделей с автором и временем изменения
D3СогласованияPostgreSQLЗапросы, решения, комментарии, привязка к версии
D4КомментарииPostgreSQLОбсуждения моделей, привязка к элементам
D5Права доступа к моделямPostgreSQLПерсональные доступы, доступ по ссылке, доступы согласующих
D6Файлы, превью, вложенияS3-совместимое хранилищеИзображения схем, вложенные документы
D7УведомленияPostgreSQLОповещения в интерфейсе и очередь писем
D8Реестр процессовPostgreSQLКарточки процессов, иерархия, статусы
D9Структура реестраPostgreSQLУровни, статусы, правила заполнения
D10Поля и справочникиPostgreSQLПользовательские поля, справочники и их значения
D11Элементы архитектурыPostgreSQLИнформационные системы и их элементы, связи с процессами
D12Оргструктура и ролиPostgreSQLПодразделения, должности, сотрудники, роли
D13Вики и регламентыPostgreSQLСтраницы вики, ссылки на процессы и модели
D14ПользователиPostgreSQLПрофили: имя, почта, должность, локаль, дата последнего входа
D15Участники командPostgreSQLЧленство в командах, право в команде, статус приглашения
D16Группы прав и привилегииPostgreSQLГруппы и наборы привилегий
D17Правила доступа к папкам и викиPostgreSQLРазрешения и запреты, признак наследования
D18Лицензионные места и сессииPostgreSQLЗанятые места, активные сессии
D19Журнал действийКонсоль, SIEM по syslog, отдельная база TimescaleDBСобытия входа и действий пользователей

Термины и сокращения

ТерминЗначение
BPMNBusiness Process Model and Notation — нотация моделирования бизнес-процессов
DFDData Flow Diagram — диаграмма потоков данных
Модель (диаграмма)Схема процесса, созданная в редакторе
Карточка процессаЗапись реестра процессов с атрибутами, к которой привязаны модели
КомандаРабочее пространство организации или подразделения: участники, папки, справочники
Право в командеБазовый уровень возможностей участника: администратор, чтение и изменение, только чтение, просмотр
Группа правИменованный набор привилегий, который выдаётся участникам
ПривилегияРазрешение на действие с объектом системы (создание, чтение, изменение, удаление)
СогласованиеЗапрос решения по конкретной версии модели, адресованный конкретному человеку
Элемент архитектурыИнформационная система или её компонент, с которыми связываются процессы
IdPIdentity Provider — корпоративный сервер аутентификации
OIDCOpenID Connect — протокол аутентификации поверх OAuth2
SIEMSecurity Information and Event Management — система сбора и анализа событий безопасности
RTO, RPOЦелевое время восстановления и допустимая потеря данных