Введение в прикладной системный анализ

Долгушев Никита Владимирович

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.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: