Системный анализ обеспечивает строгий подход к технике принятия решений. Он используется для исследования альтернатив и включает моделирование и имитацию, анализ затрат, анализ технических рисков и анализ эффективности.
В отличие от SWEBoK , SEBoK распространен в России намного меньше. По крайней мере при подготовке учебного курса для магистратуры, найти хоть каких-то переводов его статей мне не удалось. А тем не менее, книга структурирует очень полезные и пока что разрозненные знания в области разработки больших систем и, в том числе, системного анализа.
Так как мой курс касался именно системного анализа, под катом будет перевод этой главы SEBoK… Но это всего несколько глав одного из 7 разделов книги.
P.S. Буду благодарен за комментарии и Ваше мнение об этой статье (качестве, необходимости) и об интересе к системному анализу и системной инженерии.
Основные принципы системного анализа
Одна из основных задач системной инженерии является оценка результатов, полученных в результате ее процессов. Сравнение, проведение оценки – это центральный объект системного анализа, обеспечивающего необходимые техники и средства для:
- Определения критериев сравнения на основе системных требований;
- Оценки предполагаемых свойств каждого альтернативного решений в сравнении с выбранными критериями;
- Сводной оценки каждого варианта и ее объяснения;
- Выбора наиболее подходящего решения.
Процесс анализа и выбора между альтернативными решениями выявленной проблемы/возможности описывается во 2 разделе SEBoK (глава Системный подход в проектировании систем). Определим основные принципы системного анализа:
- Системный анализ – итеративный процесс, состоящий из оценки альтернативных решений, полученных в процессе синтеза системы.
- Системный анализ основывается на критериях оценки, основанных на описании проблемы или возможности системы;
- Критерии основываются на базе идеального описания системы;
- Критерии должны учитывать требуемое поведение и свойства системы в итоговом решении, во всех возможных более широких контекстах;
- Критерии должны включать нефункциональные вопросы, например: безопасность и защищенность системы и т.д. (подробнее описывается в главе «Системная инженерия и специальное проектирование»).
- «Идеальная» система может поддерживать «нестрогое» описание, из которого могут быть определены «нечеткие» критерии. Например, стейкхолдеры выступают за или против некоторых видов решений, соответствующие социальные, политические или культурные условности должны также учитываться и т.д.
- Критерии сравнения должны включать, как минимум, ограничения по расходам и времени, приемлемые для стейхолдеров.
- Системный анализ предоставляет отдельный механизм исследования компромиссов для анализа альтернативных решений
- Исследование компромиссов – междисциплинарный подход для поиска наиболее сбалансированного решения среди множества предполагаемых жизнеспособных вариантов.
- При исследовании рассматривается весь набор критериев оценки, с учетом их ограничений и взаимосвязей. Создается «система критериев оценки».
- При сравнении альтернатив придется иметь дело одновременно с объективными и субъективными критериями. Необходимо особо внимательно относиться к определению влияния каждого критерия на общую оценку (чувствительность общей оценки).
Примечание: «Мягкое»/«нестрогое» и «строгое» описание системы отличается возможностью четко определить цели, задачи и миссию системы (для «мягких» систем это зачастую сделать крайне сложно).
Исследование компромиссов
Примечание: В нашей литературе чаще встречается термин «Анализ альтернатив» или «Оценка альтернатив»
В контексте описания системы, исследование компромиссов состоит из сравнения характеристик каждого элемента системы и каждого варианта архитектуры систем для определения решения, в целом наиболее подходящего по оцениваемым критериям. Анализ различных характеристик выполняется в процессах анализа затрат, анализа рисков, и анализа эффективности. С точки зрения системной инженерии эти три процесса будут рассматриваться более подробно.
Все методы анализа должны использовать общие правила:
- Критерии оценки используются для классификации различных вариантов решения. Они могут быть относительные или абсолютные. Например, максимальная цена на единицу продукции – в рублях, снижение затрата — %, повышение эффекивности — %, снижение риска так же в %.
- Определяются допустимые границы критериев оценки, которые применяется во время анализа (например, вид издержек, которые необходимо принять во внимание; приемлемые технические риски и т.д.);
- Для сравнения количественных характеристик используются шкалы оценки. Их описание должно включать максимальный и минимальный предел, а также порядок изменения характеристики в этих пределах (линейная, логарифмическая и т.д.).
- Оценочный балл присваивается каждому варианту решения по всем критериям. Цель исследования компромиссов – обеспечить количественное сравнение по трем направлениям (и их декомпозиции на отдельные критерии) для каждого варианта решения: затраты, риск и эффективность. Эта операция как правило сложна и требует создания моделей.
- Оптимизация характеристик или свойств улучшает оценку наиболее интересных решений.
Процесс принятия решений – это не точная наука, поэтому исследование альтернатив имеет свои ограничения. Необходимо принимать во внимание следующие проблемы:
- Субъективные критерии оценки – персональное мнение аналитика. Например, если компонент должен быть красивым, то что собой представляет критерий «красивый»?
- Неопределенные данные. Например, инфляция должна быть учтена при расчете затрат на обслуживание для полного жизненного цикла системы. Как системный инженер может прогнозировать развитие инфляции в следующие пять лет?
- Анализ чувствительности. Общая оценка, выставляемая каждому альтернативному решению, не абсолютна; поэтому рекомендуется проводить анализ чувствительности, который учитывает небольшие изменения «весов» каждого критерия оценки. Оценка считается надежной, если изменение «весов» не изменяет существенно саму оценку.
Тщательно проведенное исследование компромиссов определяет допустимые значения результатов.
Анализ эффективности
Анализ эффективности отталкивается от контекста использования системы или проблемы.
Эффективность решения определяется исходя из выполнения основных и дополнительных функций системы, которые выявляются исходя удовлетворения требований стейкхолдеров. Для продуктов, это будет набор общих нефункциональных качеств, например: безопасность, защищенность, надежность, ремонтопригодность, удобство использования и т.д. Эти критерии часто точно описаны в смежных технических дисциплинах и сферах. Для услуг или организаций, критерии могут быть больше связаны с определением потребностей пользователей или целей организации. Типичные характеристики таких систем включают устойчивость, гибкость, возможность развития и т.д.
В дополнение к оценке абсолютной эффективности решения, необходимо также учитывать ограничения по затратам и времени реализации. В целом, роль системного анализа сводится к выявлению решений, которые могут обеспечить эффективность в какой-то мере с учетом затрат и времени выделенных для каждой заданной итерации.
Если ни одно из решений не может предоставить уровень эффективности, оправдывающий предполагаемые инвестиции, тогда необходимо вернуться к первоначальному состоянию проблемы. Если хотя бы один из вариантов показывает достаточную эффективность, тогда может выполняться выбор.
Эффективность решения включает несколько существенных характеристик (но не ограничивается): производительность, удобство использования, надежность, производство, обслуживание и поддержку, и т.д. Анализ в каждом из этих направлений выделяет предложенные решения с точки зрения различных аспектов.
Важно установить классификацию важности аспектов для анализа эффективности, т.н. ключевые показатели производительности. Основная сложность анализа эффективности – правильно отсортировать и выбрать набор аспектов, в точки зрения которых оценивается эффективность. Например, если продукт выпускается для одноразового использования, ремонтопригодность не будет подходящим критерием.
Анализ затрат
Анализ затрат рассматривает затраты полного жизненного цикла. Базовый набор типовых расходов может изменяться для конкретного проекта и системы. В структуру затрат могут входить как трудовые затраты (на оплату труда), так и не трудовые.
Тип | Описание и пример |
---|---|
Разработка | Проектирование, разработка инструментов (оборудование и программное обеспечение), управление проектом, тестирование, макетирование и прототипирование, обучение и т.д. |
Производство продукта или оказание услуги | Сырье и поставки, запасные части и складской запас, необходимые для работы ресурсы (вода, электричество и т.д.), риски, эвакуация, переработка и хранение отходов или брака, административные расходы (на налоги, администрацию, документооборот, контроль качества, уборку, контроль и т.д.), упаковка и хранение, необходимая документация. |
Продажи и постпродажное обслуживание | Расходы на сеть продаж (филиалы, магазины, сервисные центры, дистрибьюторов, получение информации и т.д.), работу с жалобами и обеспечение гарантии и т.д. |
Использование у клиентов | Налоги, установка (у заказчика), необходимые для работы ресурсы (вода, топливо и т.д.), финансовые риски и т.д. |
Поставки | Транспортировка и доставка |
Обслуживание | Сервисные центры и выезды, профилактика, контроль, запасный части, затраты на гарантийное обслуживание и т.д. |
Удаление | Сворачивание, демонтаж, транспорт, уничтожение отходов и т.д. |
Методы определения стоимости затрат описываются в разделе «Планирование» (раздел 3).
Анализ технических рисков
Риск – потенциальная неспособность к достижению целей в рамках определенных затрат, графика и технических ограничений. Состоит из двух частей:
- Вероятность реализации (вероятность того, что риск оправдается, и цели не будут достигнуты);
- Степень влияния или последствия реализации.
Каждый риск имеет вероятность больше 0 и меньше 1, степень влияния больше 0 и сроки в будущем. В случае, если вероятность равна 0 – риска нет, если равна 1 – это уже факт, а не риск; если степень влияния равна 0 — риска нет, т.к. нет никаких последствий его возникновения (можно игнорировать); если сроки не в будущем – значит это уже свершившийся факт.
Анализ рисков в любой сфере основан на трех факторах:
- Анализ наличия потенциальных угроз или нежелательных событий и вероятности их возникновения.
- Анализ последствий выявленных угроз и их классификация по шкале тяжести.
- Снижение вероятности угроз или уровня их воздействия до приемлемых значений.
Технические риски реализуются, когда система перестает удовлетворять требованиям к ней. Причины этого находятся либо в требованиях, либо в самом решении. Они выражаются в виде недостаточной эффективности и могут иметь несколько причин:
- Неправильная оценка технологических возможностей;
- Переоценка технической готовности элемента системы;
- Аварии из-за износа или устаревания оборудования, комплектующих или ПО,
- Зависимость от поставщика (несовместимые детали, задержка поставки и т.д.);
- Человеческий фактор (недостаточное обучение, неправильные настройки, недостаточная обработка ошибок, выполнение несоответствующих процедур, злой умысел) и т.д.
Технические риски не должны смешиваться с проектными рисками, хотя и методы управления ими совпадают. Не смотря на то, что технические риски могут приводить к проектным рискам, они ориентированы на саму систему, а не на процесс ее разработки (подробнее описано в главе «Управление рисками» раздела 3).
Процессный подход
Цель и принципы подхода
Процесс системного анализа используется для:
- Обеспечения строгого подхода к принятию решений, разрешения конфликта требований, и оценке альтернативных физических решений (отдельных элементов и всей архитектуры);
- Определения уровня удовлетворения требований;
- Поддержки управления рисками;
- Подтверждения, что решения принимаются только после расчета затрат, сроков, производительности и влияния рисков на проектирование или перепроектирование системы.
Этот процесс был также назван процессом анализа решений (NASA, 2007) и использовался для оценки технических задач, альтернативных решений и их неопределенности для принятия решений. Подробнее в главе «Управление решениями» (раздел 3).
Системный анализ поддерживает другие процессы описания системы:
- Процессы описания требований стейкхолдеров и описания требований системы используют системный анализ для решения конфликтов между требованиями; в частности связанными с затратами, техническими рисками и эффективностью. Системные требования, подверженные высоким рискам или требующие существенных изменений архитектуры – дополнительно обсуждаются.
- Процессы разработки логической и физической архитектуры используют системный анализ для оценки характеристик или разработки свойств вариантов архитектуры, получения обоснования для выбора наиболее эффективного варианта с точки зрения затрат, технических рисков и эффективности.
Как и любой процесс описания системы, системный анализ – повторяющийся. Каждая операция выполняется несколько раз, каждый шаг улучшает точность анализа.
Задачи в рамках процесса
Основные виды деятельности и задачи в рамках этого процесса включают:
- Планирование изучения альтернатив:
- Определение количества альтернативных вариантов для анализа, используемых методов и процедур, ожидаемых результатов (примеры объектов для выбора: поведенческий сценарий, физическая архитектура, элемент системы и т.д.), и обоснование.
- Создание графика анализа согласно наличию моделей, технических данных (системные требования, описание свойств системы), квалификации персонала и выбранных процедур.
- Определение критериев выбора модели:
- Выбор критериев оценки из нефункциональных требований (производительность, условия эксплуатации, ограничения и т.д.) и/или описания свойств.
- Сортировка и упорядочивание критериев;
- Определение шкалы сравнения для каждого оценочного критерия, и определение веса каждого критерия в соответствии с его уровнем важности относительно других критериев.
- Определение вариантов решений, связанных с ними моделей и данных.
- Оценка вариантов с использованием ранее определенных методов и процедур:
- Выполнение анализа затрат, анализа технических рисков и анализа эффективности, размещая все альтернативные варианты на шкале для каждого критерия оценки.
- Оценить все альтернативные варианты по общей шкале оценок.
- Предоставление результатов инициировавшему процессу: критериев оценки, выбор оценок, шкалы сравнения, результаты оценки для всех вариантов, и возможные рекомендации с обоснованием.
Артефакты и терминология процесса
В рамках процесса создаются такие артефакты, как:
- Модель критериев выбора (список, шкалы оценки, веса);
- Отчеты по анализу затрат, рисков, эффективности;
- Отчет с обоснованием выбора.
В процессе используются термины, перечисленные в таблице ниже.
Термин | Описание |
---|---|
Критерий оценки | В контексте системного анализа, критерий оценки – характеристика, используемая для сравнения элементов системы, физической архитектуры, функциональных сценариев и других элементов, которые могут сравниваться. Включает: идентификатор, название, описание, вес. |
Оценочный выбор | Управление элементами системы, на основе оценочного балла, который объясняет выбор элементов системы, физической архитектуры или сценария использования. |
Оценочный балл (оценка) | Оценочный балл получают элементы системы, физической архитектуры, функциональных сценариев используя набор критериев оценки. Включает: идентификатор, название, описание, значение. |
Затраты | Значение в выбранной валюте, связанное со значением элемента системы и т.д. Включает: идентификатор, название, описание, сумма, тип затрат (разработка, производство, использование, обслуживание, утилизация), метод оценки, период действия. |
Риск | Событие, которое может произойти и повлиять на цели системы или ее отдельные характеристики (технические риски). Включает: идентификатор, название, описание, статус. |
Проверка правильности системного анализа
Для получения проверенных результатов, необходимо обеспечить выполнение следующих пунктов:
- Соответствие моделей и данных в контексте использования системы;
- Соответствие критериев оценки относительно контекста использования системы;
- Воспроизводимость результатов моделирования и расчетов;
- Достаточный уровень точности шкал сравнения;
- Доверие к оценкам;
- Достаточный уровень чувствительности полученных баллов относительно весов критериев оценки.
Принципы использования моделей
- Использование общих моделей. Различные типы моделей могут быть использованы в контексте системного анализа.
- Физические модели – масштабные модели, позволяющие экспериментировать с физическими явлениями. Специфичны для каждой дисциплины; например: макеты, испытательные стенды, прототипы, вибростолы, декомпрессионные камеры, воздушные тоннели и т.д.
- Модели представлений в основном используются для моделирования поведения системы. Например, диаграммы состояний и т.д.
- Аналитические модели используются для установления значения оценок. Используют уравнения или диаграммы для описания реальной работы системы. Они могут быть как очень простые (сложение элементов), так и невероятно сложные (вероятностное распределение с несколькими переменными).
- Использование необходимых моделей. На каждом этапе проекта должны использоваться соответствующие модели:
- В начале проекта используются простые инструменты, позволяющие получить грубые приближения без особых затрат и усилий. Такого приближения бывает достаточно, чтобы сразу определить нереальные варианты решений.
- По мере продвижения проекта необходимо повышать точность данных для сравнения еще конкурирующих вариантов. Работа будет сложнее при высоком уровне инноваций в проекте.
- Системный инженер сам по себе не может моделировать сложную систему, для этого ему помогает эксперты из соответствующих предметных областей.
- Экспертиза предметными экспертами: когда значение критерия оценки не может быть установлено объективно и точно. Экспертиза проводится в 4 этапа:
- Выбор респондентов для получения квалифицированных мнений по рассматриваемому вопросу.
- Создание проекта анкеты. Анкеты с точными вопросами проще оценивать, но если она слишком закрыта – есть риск упустить существенные пункты.
- Проведение интервью со специалистами по анкете, включая проведение углубленного обсуждения проблемы для получения более точного мнения.
- Анализ полученных результатов с несколькими разными людьми, сравнивая их отзывы до тех пор, пока соглашение классификации критериев оценки или вариантов решения не будет достигнуто.
Наиболее часто используемые аналитические модели в рамках системного анализа приведены в таблице.
Тип модели Описание Детерминированные (определенные) модели Детерминированной называется модель, которая не зависит от теории вероятности. - К этой категории относятся модели, основанные на статистике. Принцип состоит в создании модели на основании значительного количества данных и результатов прежних проектов. Могут применяться только к тем компонентам системы, технология которых уже известна.
- Модели «по аналогии» также используют предыдущие проекты. Изучаемый элемент сравнивается с уже существующим элементом, с известными характеристиками. Затем эти характеристики уточняются на основе опыта специалистов.
- Кривые обучения позволяют предвидеть изменение характеристики или технологии. Один из примеров: «Каждый раз, когда число произведенных модулей удваивается, стоимость этого модуля уменьшается на определенную, постоянную, долю».
Стохастические (вероятностные) модели Если в модели среди величин имеются случайные, т.е. определяемые лишь некоторыми вероятностными характеристиками, то модель называется стохастической (вероятностной, случайной). В этом случае и все результаты, полученные при рассмотрении модели, имеют стохастический характер и должны быть соответственно интерпретированы.
Теория вероятности позволяет классифицировать возможные решения как следствие множества событий. Эти модели применимы для ограниченного числа событий с простыми комбинациями возможных вариантов.Многокритериальные модели Если критериев больше 10, рекомендуется использовать многокритериальные модели. Они получаются в результате следующих действий: - Построить иерархию критериев;
- Связать с каждым критерием каждой ветви дерева с его «весом» относительно критериев того же уровня.
- Вычисляется вес для каждого «листа» критериев для каждой ветви умножением на все веса ветки.
- Оценить каждый альтернативный вариант решения по листьям критериев, суммировать оценки и сравнить между собой.
- С использованием компьютера можно провести анализ чувствительности для получения точного результата.
Практические рекомендации
Основные «подводные камни» и успешные практики системного анализа описаны в двух разделах ниже.
Подводные камни
Подводный камень Описание Аналитическое моделирование – не инструмент принятия решений Аналитическая модель предоставляет аналитический результат из анализированных данных. Ее следует рассматривать как помощь, но не как инструмент принятия решений. Модели и уровни декомпозиции системы Модель может быть хорошо адаптирована для энного уровня декомпозиции системы и несовместима с моделью более высокого уровня, которая использует данные дочерних уровней. Важно, чтобы системный инженер обеспечивал согласованность моделей на различных уровнях. Оптимизация – это не сумма оптимизированных элементов Общая оптимизация исследуемой системы – это не сумма оптимизации каждой ее части. Проверенные методики
Методика Описание Оставаться в оперативном поле Модели никогда не смогут показать все поведение и реакцию системы: они работают в ограниченном пространстве с узким набором переменных. Используя модель, всегда необходимо убедиться, что входные данные и параметры являются частью операционного поля. Иначе есть высокий риск неправильных результатов. Развивайте модели Модели должны развиваться на протяжении проекта: путем изменения настроек параметров, вводя новые данные (изменение критериев оценки, выполняемых функций, требований и т.д.), и путем использования новых инструментов, когда предыдущие достигают предела своих возможностей. Используйте несколько типов моделей Рекомендуется одновременно использовать несколько различных типов моделей для сравнения результатов и учета других аспектов системы. Поддерживайте согласованность элементов контекста Результаты моделирования всегда получаются в рамках контекста моделирования: используемых инструментов, допущений, введенных параметров и данных, и разброса выходных значений.
Автор: Kettariecz