Долгушев Никита Владимирович
2019
Прикладной системный анализ стремительно становится неотъемлемой компетенцией современного специалиста. Не имеет значения о какой отрасли идет речь. Не важен уровень занимаемой должности. Системный подход помогает быстро и результативно разобраться в структуре и функционировании системы, выявить характер взаимного влияния элементов системы — преимущественно скрытый и неочевидный, а иногда даже парадоксальный. Инструменты системного анализа позволяют разработать удобную модель, которая поможет осмыслить опыт, проанализировать текущее состояние и построить сценарий достижения желаемого будущего.
Основные понятия системного анализа #
Определения #
Система – это средство достижения цели пользователями системы (стейкхолдерами)/
- Система может быть специально создана или приспособлена для достижения цели.
- Система обязательно имеет одно или несколько целевых свойств. Если целевых свойств несколько, то они могут иметь разную ценность (разную значимость) для пользователя системы.
Проблема – возникает, когда система не позволяет достичь поставленных перед ней целей:
- целевое свойство не достигает намеченного уровня или
- целевое свойство ухудшается или
- целевое свойство может ухудшиться в течение определенного времени.
Системный анализ – это структурированный подход к достижению цели посредством выявления и решения проблем.
Когда возникает проблема #
Работающая система притягивает к себе проблемы. Вот наиболее типичные проблемы, сопровождающие систему на протяжении всего периода ее жизненного цикла:
Создание новой системы
- вывод на рынок новой продукции (товар, услуга),
- запуск нового оборудования,
- разработка нового месторождения,
- создание новой технологии и т.п.
Изменение (улучшение) существующей системы — обычно связано с изменением целей пользователя системы.
- увеличение объемов производства на существующем оборудовании,
- повышение уровня лояльности потребителей,
- увеличение доли компании на рынке,
- сокращение затрат производства, и т.п.
Изменение внешних по отношению к системе условий
- изменение рынков (поставщики, потребители, рынок труда, страхование, транспортные услуги …),
- изменение требований регулирующих органов, и т.п.
Практически всегда само существование системы обуславливает существование проблемы: сложно представить себе собственника или пользователя системы, которые не желали бы сделать свою систему более эффективной, управляемой, надежной и безопасной.
Алгоритм системного анализа #
Прикладной системный анализ является методикой или, в некотором смысле, «технологией» улучшения систем. Как и любая технология, системный анализ предполагает последовательное выполнение определенных операций. Каждая операция имеет цель, после выполнения каждой операции ожидается вполне определенный результат. Ниже приведен алгоритм прикладного системного анализа и обозначены основные цели его этапов.
Цикл прикладного системного анализа «Термины-Связи-Анализ-Решение-Действие» (ТСАРД) включает следующие элементы

(Т) Термины – структурные элементы системы:
- формирование языка описания системы;
- определение целевых свойств и целевого состояния системы — такого состояния, которое устраивает пользователей системы (стейкхолдеров).
(С) Связи – взаимосвязи между терминами описания системы.
- установление взаимосвязей между ожиданиями стейкхолдеров и целевыми свойствами системы;
- установление взаимосвязей между внешними и внутренними факторами и параметрами системы;
- Термины + Связи = Модель системы.
(А) Анализ – выявление критических терминов и взаимосвязей, воздействие на которые должно привести к решению проблемы
- формулировка проблемы в терминах описания модели;
- измерение проблемы;
- поиск критических параметров, которые негативно влияют на целевое свойство системы;
- постановка целей по изменению критических параметров — если эти цели будут достигнуты, то система придет в целевое состояние;
- если в результате анализа критические параметры не выявлены или не удается поставить по ним цели, то возвращаемся на первый шаг.
(Р) Решение – выбор наилучшего плана действий (инициатив)
- для достижения целей по каждому из критических параметров выбирают такие действия, затраты на которые меньше, чем «цена» проблемы для пользователей системы (стейкхолдеров);
- если полученный план действий нереалистичен для выполнения в определенный стейкхолдерами срок, то возвращаемся на первый шаг.
(Д) Действие – реализация плана действий
- при выполнении действий необходимо отслеживать, как достижение целей по каждому из критических параметров влияет на состояние системы;
- если действия эффективны, то следует «стандартизовать» их результат;
- если система не приходит к целевому состоянию, значит выполняемые действия не результативны и нужно вернуться на первый шаг.
Качество выполнения системного анализа подтверждается эффективностью действий по изменению системы, приводящими к решению проблемы системы. Поэтому для полноценного выполнения системного анализа невозможно ограничиться только «анализом системы» (понять природу проблемы), а нужно также найти правильные улучшающие действия и воплотить их жизнь– создать или изменить систему и убедиться в эффективности предпринятых действий.
Технология прикладного системного анализа #
(Т) Термины #
Таксономии терминов #
Первый этап системного анализа — это достижение договоренности между заинтересованными лицами о том, что такое система, из каких элементов она состоит и какие параметры описывают ее состояние. Для того чтобы это получилось, сначала надо договориться о терминах — понятиях, которые будут использованы для описания системы — словах, формулировках, единицах измерения, и т.д.
Термины необходимо описывать аккуратно для того, чтобы избежать путаницы при использовании различных понятий для обозначения одного и того-же элемента, функции или параметра системы. Если же участники системного анализа общаются на разных национальных языках — тогда при описании терминов также необходимо договориться о едином для всех переводе.
В прикладном системном анализе при описании терминов обычно используют иерархические древовидные реестры — таксономии. Такие реестры напоминают оглавления книг, в которых заголовки ранжированы на части, главы, разделы, параграфы и т.п.:
Термин 1 Дочерний термин 1.1 Дочерний термин 1.2 Дочерний термин 1.2.1 Дочерний термин 1.3 ...
Дерево тегов (терминов) #
Например, в программном обеспечении almaGRID реестр терминов имеет вид:

Дерево тегов — это универсальный реестр, в котором находятся:
- служебные слова almaGRID (показаны в дереве тегов жирным шрифтом), которые используются для
- настройки параметров almaGRID (языки, календари, пользователи, и т.п.);
- использования в составе скриптов и макетов форм ввода-вывода информации.
- термины описания системы — названия элементов модели;
- определения, заданные пользователем, которые используются для
- удобства структурирования информации;
- описания скриптов и задания их параметров;
- описания переменных макетов.
Для каждого тега можно указать его перевод на национальные языки. Если не удается найти перевод тега на текущий язык модели, то берется тег на наиболее близком языке и такой тег отображается в дереве тегов серым цветом.
Один и тот же тег может одновременно входить в разные ветви дерева тегов.
Выполнять операции с тегами (добавлять/удалять/модифицировать) можно
- с использованием Менеджера Тегов среды разработки almaGRID или
- функций API almaGRID, которые доступны как из скриптов almaGRID, так и из внешних приложений, в том числе из макросов Excel.
(С) Связи #
Типы моделей #
Связи описывают структуру и функционирование системы. Если установить связи между терминами (элементами) системы, то получится модель системы.
Модель – это формализованное знание о системе. «Формализованное» означает, что все ощущения и суждения переведены в структурированное логическое, причинно-следственное или алгоритмическое описание.
Аналитические модели строятся на основе известных законов природы, как правило, записанных в виде математических уравнений — законов механики и динамики, теории прочности и т.п. В этом случае связи — это взаимосвязи между элементами системы, описанные с использованием выбранного теоретического подхода.
Например если известны математические формулы, связывающие скорость износа подшипника со скоростью его вращения, нагрузкой на ось, температурой, параметрами смазочного материала, то можно построить модель ресурса подшипника и определить периодичность его инспекции и смазки, обеспечивающую требуемую продолжительность его безаварийной работы.
Имитационные модели строятся на основе представлений о взаимодействии элементов системы друг с другом. Имитационное моделирование используют для систем, для которых по различным причинам не разработаны аналитические модели, создание аналитической модели принципиально невозможно, не разработаны методы решения полученной модели либо решения неустойчивы. В этом случае связи — это известные причинно-следственные, логические или иные функциональные взаимосвязи.
Например, если описано взаимодействие между отдельным покупателем и продавцом на рынке, то можно построить модель, имитирующую реакцию рынка «как целого» на то или иное внешнее воздействие.
Статистические модели строятся на основании обработки экспериментальных данных (исторических данных). В этом случае связи — это выявленные статистические закономерности взаимосвязей элементов.
Например, проанализировав сезонную информацию о фактических продажах туристических путевок, о количестве и цене проданных туров, о доходах жителей, можно построить модель продаж туристических путевок.
Комбинированные модели сочетают перечисленные выше подходы — при построении каждой части модели используют свое, наиболее подходящее описание.
Как отдельный вид моделей следует выделить стохастические модели, в которых некоторые параметры являются случайными величинами, и результаты моделирования при каждой реализации отличаются друг от друга.
Описание связей #
Для описания связей между элементами системы и построения моделей в almaGRID используются объекты almaGRID. Объект – это единица информации модели. Объект может быть числом, текстом, логической константой, формулой, гиперссылкой или изображением.
Объект-число используют для
- задания настроек модели;
- хранения параметров расчетных алгоритмов;
- описания веса дуг между двумя узлами графовой модели.
Например, если в модели [Тег1] и [Тег2] это узлы графа, то объект-число Объект1 с двумя такими тегами — это ребро (ненаправленная связь) между узлами, соответствующими [Тег1] и [Тег2].
Объект1 [Тег1] -------------- [Тег2]
Также можно описать направленную дугу (направленную связь) от [Тег1] к [Тег2]. Для этого нужно использовать встроенный тег [=>], показывающий направление связи. То есть объект-число с тегами [Тег1] и [=>][Тег2] описывает направленную дугу
Объект1 [Тег1] --------------> [Тег2]
Выполнять операции со связями (добавлять/удалять/модифицировать) можно
- в графическом редакторе графов;
- с помощью матриц смежности вершин графа, представленных в виде гридов;
- с помощью правил построения дуг графа между вершинами, принадлежащими заданным уровням деревьев тегов. Например, дуги идут от родительских к дочерним тегам дерева тегов;
- при вызове соответствующих функций API almaGRID.
Для расчета значения графовой модели можно использовать:
- алгоритмы, определенные пользователем, записанные в виде скриптов с вызовами API almaGRID;
- встроенные агрегатные функции, например, значение графовой модели – это сумма весов всех цепочек графа и вес цепочки – это произведений весов узлов и дуг, входящих в цепочку.
No-code модели #
Грид — это разметка рабочего листа Excel в виде таблицы для ввода и отображения информации о модели. Грид имеет тело и заголовки. В ячейках тела грида отображаются объекты, имеющие теги (термины), показанные в ячейках заголовков, находящихся в той же строке и столбце, что и объект.
Например, значение Объекта1 — это вес дуги между двумя узлами, представленными тегами [Тег1] и [Тег2].

С помощью грида можно создать в базе данных объект и привязать к нему теги или отобразить объекты с заданными тегами. Созданный грид или правила его построения можно сохранить в базе данных модели в виде макета.
Макет гридов — это сохраненный в базе данных шаблон документа, формы ввода информации или отчета, содержащий правила (скрипты)
- размещения гридов на рабочем листе,
- формирования заголовков,
- синхронизации гридов с базой данных,
- вычисления объектов в теле гридов.
Макет гридов храниться в базе данных в теге-макете. Такой тег отмечается в дереве иконкой .
В ячейках гридов можно выполнять вычисления. Такие ячейки записываются в базу данных как объекты-числа. При чтении таких объектов из базы данных в грид загружаются последние рассчитанные значения. Используя правила формирования гридов, правила расчета агрегатных функций и вычисления в ячейках грида можно создать математическую модель и выполнить ее анализ.
(А) Анализ #
Проанализировать проблему – это найти элементы системы (параметры системы), которые негативно влияют на ее целевые свойства. Проблема выявлена, когда установлена взаимосвязь между отклонением целевых свойств системы и конкретными параметрами системы.
Вероятно, многим приходилось сталкиваться с фразами типа
«… Всем известно, что низкий спрос на нашу продукцию обусловлен недостаточным сроком ее хранения, поэтому необходимо закупить новое оборудование, позволяющее производить продукцию с увеличенным сроком хранения…».
Также вероятно, что перед принятием важных решений многим хочется вместо аргумента «Всем известно, …» услышать, а еще лучше увидеть доказательства того, что
- усилия будут приложены в наиболее значимом для достижения результата, а именно, роста продаж, направлении и
- эти усилия будут наименее затратными.
Причем желательно, чтобы
- доказательства были сформулированы с использованием простых, заранее согласованных терминов, и не пестрели специфическими словами, понятными только «узкому кругу специалистов»;
- доказательства легко читались и однозначно интерпретировались любым человеком, вовлеченным в процесс принятия решения.
Если проблема выявлена некорректно, то любые изменения системы, направленные на устранение такой «проблемы» являются бесполезными, а иногда даже опасными, поскольку могут привести к еще большему отклонению целевых свойств системы от желаемого значения.
Системный анализ, как методологический подход, направлен на сокращение риска неправильного выявления проблемы системы. Если термины описания системы сформулированы корректно и построена адекватная модель системы, то использование системного анализа, в идеале, должно привести к выявлению одной и той же проблемы – кто бы ни выполнял анализ. Конечно же влияние эксперта велико, но оно в большей мере сказывается на времени, потраченном на выявление проблемы, а не на качестве анализа.
В прикладном системном анализе для поиска коренных причин используется метод декомпозиции: систему, в точнее, модель системы, разделяют на составные части (элементы) и среди элементов ищут те, которые находятся «в корне» проблемы.
Для выполнения анализа almaGRID предоставляет следующие инструменты:
- поиск цепочки связей (пути на графе) между заданными узлами модели;
- создание фильтров для выделения выбранных фрагментов модели;
- ранжирование элементов модели по их вкладу в цепочки связей;
- определение вклада изменений сценарных значений параметров модели в изменение целевых свойств модели;
- стохастическое моделирование методом Монте-Карло;
- сценарное и имитационное моделирование;
- поиск решений методом нелинейной оптимизации, в том числе, с использованием эвристических алгоритмов и методов машинного обучения.
(Р) Решение #
Обычно решение проблемы выглядит как план действий, где для каждого мероприятия сделана оценка его влияния на результат.
Общим принципом выбора действий для плана мероприятий является:
- приоритет отдается действиям, направленным на атаку коренных причин, в которых зарождаются критические цепочки развития нежелательных событий, проводящих к проблеме;
- если нежелательное событие зарождается в поле неконтролируемых факторов, то следует выявить управляемые элементы системы и в них установить барьеры на пути развития цепочек нежелательных событий.
План действий может быть основан
- на экспертных оценках (мнениях специалистов) — это быстро, но сильно зависит от «человеческого фактора» и
- на результатах анализа модели — это требует дополнительных трудозатрат, но может дать дополнительные результаты.
В примере ниже показано сравнение этих подходов к управлению рисками.

(Д) Действие #
Реализация плана мероприятий — это заключительный шаг цикла прикладного системного анализа ТСАРД. У этого шага следующие задачи:
- добиться приведения системы к целевому состоянию реализуя разработанный план — это должно произойти, если модель адекватна, анализ корректен и план действий разумен;
- стабилизировать систему в целевом состоянии — обычно эту задачу решают разработкой новых и корректировкой существующих правил системы (стандарты, политики и т.п.);
- собрать обратную связь, для уточнения модели: если жизненный цикл системы далек от завершения, то очень вероятно, что модель пригодится при решении следующей проблемы.
Примеры #
Построение моделей #
Модель процесса или проекта #




Модель причинно-следственных связей на основе корреляций #

Корпоративная модель сквозной оценки рисков #

Результаты анализа для принятия решений #
Диаграмма «Галстук-Бабочка» (ГОСТ Р 58771-2019 Технологии оценки риска) #

Дерево отказов (ГОСТР 27.302- 2009 Анализ дерева неисправностей) #

Реестр риска, паспорт риска (ГОСТ Р 51901.22-2012 — Менеджмент риска — Реестр риска) #

Ключевые характеристики ПО almaGRID #
![]() |
Для того, чтобы начать строить модель, достаточно общего понимания логики и минимального набора исходных данных -по мере уточнения требований к модели и появлении данных модель можно легко корректировать |
![]() |
Визуальное проектирование отчетов и форм ввода-вывода информации |
![]() |
ПО almaGRID и модели можно быстро настроить на любые бизнес-процессы и ИТ-окружение |
![]() |
Инструменты для работы с графовой математикой и данными в виде гиперкуба |
![]() |
Low-Code / No-Code разработка математических моделей с помощью скриптов или визуального конструктора графовых моделей |
![]() |
Простая корректировка модели при появлении новой информации |
![]() |
Создание расчетных модулей, интегрируемых с другим ПО |
![]() |
Разделение сложной модели на простые и объединение нескольких моделей в одну |
![]() |
ПО может использоваться как desk-top или клиент-серверное приложение |
![]() |
Пользователю модели достаточно навыков работы с офисным ПО |
![]() |
Коннекторы данных принимают информацию из ИТ-систем, реестров, таблиц, файлов и предоставляют отчеты бизнес-пользователям |
![]() |
В ПО almaGRID не используются внешние сервисы – все компоненты ПО и модели находится внутри ИТ-периметра Пользователя |
![]() |
Модель можно описать на нескольких языках – участники международной рабочей группы увидят модель на своем родном языке |
![]() |
Модель можно разработать "с нуля", либо взять за основу одно из "коробочных решений" |
![]() |
Модели можно использовать как учебные тренажеры (пример по запросу) |
Рекомендуемая литература #
Акофф Р. Искусство решения проблем. М.: Мир, 1987.
Перегудов Ф.И., Тарасенко Ф.П. Основы системного анализа. Томск: Изд-во НТЛ, 2001.
Тарасенко Ф.П. Прикладной системный анализ (Наука и искусство решения проблем). Томск: Изд-во Томского университетата, 2004.