Анализ компромиссов

Анализ компромиссов (Trade-Off Analysis) — рассмотрение возможных вариантов перед принятием решений.

Анализ решений (Decision analysis, DA) — дисциплина, использующая точные, количественные методы для принятия решений в условиях неопределённости. Включает в себя философию, теорию, методологию и практику, предоставляющие формальный аппарат для работы с решениями.

Решение проблем (Problem resolution) — процесс анализа и решения проблем (включая обнаруженные несоответствия), независимо от их происхождения или источника, которые обнаружены в ходе выполнения разработки, эксплуатации, сопровождения или других процессов (ISO/IEC 12207). Целью данного процесса является обеспечение способов своевременного, ответственного и документируемого анализа и решения всех обнаруженных проблем и определения причин их возникновения.

Процесс анализа компромиссов

Шаги, предпринимаемые в процессе поиска компромиссов (в скобкох приведены аналогичные шаги в методе системной инженерии на этапе выбора предпочтительной концепции):

  1. Определение цели (анализ требований)
    • определить все основные требования и выделить из них обязательные
    • указать, какие аспекты будут рассматриваться при выборе предпочтительного решения
    • определить контекст функционирования (стадия ЖЦ, уровень системы) и с вязи с другими исследованиями компромиссов
  2. Идентификация альтернатив (исследование концепции)
    • определить несколько вариантов, стараясь не пропустить потенциально ценного c учетом:
      • предшествующей системы (аналога)
      • технического прогресса
      • оригинальности концепции
      • кандидатов, предложенных заинтересованными сторонами
    • в отобранные не рекомендуется включать варианты, не удовлетворяющие обязательным требованиям
    • обычно этот шаг распадается на несколько этапов:
      1. поиск максимально большого количества альтернатив без оценки их достоинств (мозговой штурм)
      2. для отсеивания менее подходящих кандидатов, упорядочивают их по различным критериям (стоимость, техническая осуществимость, безопасность, возможность изготовления, производственный риск и т.д.)
      3. тщательный анализ отобранных кандидатов
  3. Сравнение альтернатив (выбор концепции)
    1. Определение критериев выбора
      • альтернативные решения сравниваются по критериям, выраженным в виде показателя эффективности и соотнесенным с одним или несколькими требованиями. Желательно, чтобы он допускал количественное выражение (для объективности).
      • рекомендуемое количество критериев - от 6 до 10.
    2. Назначение весовых коэффициентов критериям выбора
      • каждому коэффициенту назначается весовой коэффициент, который увеличивает вклад наиболее важных критериев
      • чтобы повысить объективность, необходимо производить анализ компромиссов и при самом назначении коэффициентов. Сумма весовых коэффициентов не должна превосходить некоторой максимальной величины:
        MaxSum = (MaxWeight - MinWeight) * n / 2,
        где
        MaxWeight - максимальный допустимый вес
        MinWeight - минимальный допустимый вес
        n - количество критериев
    3. Назначение рейтинга ценности альтернатив
      • объединяют критерии и получают итоговую оценку по каждой альтернативе. Для этого используют индекс эффективности для каждого критерия, в зависимости от характера собираемых данных:
        1. Метод субъективной оценки (Subjective value method)
        2. Метод ступенчатой функции (Step function method)
        3. Метод полезности (Utility function method)
    4. Сравнение оценок
      • по каждой альтернативе вычисляют итоговую оценку путем взвешенного суммирования оценок по каждому критерию
      • кандидат с наибольшей суммой считается наилучшим при данном наборе критериев выбора и весов, при условии что следующая по величине оценка статически достоверно меньше
      • рекомендуется в дополнение включать еще графическое представление профиля критериев для каждого кандидата
        Criteria-profile.png
      • традиционный метод суммирования прост, но маскирует низкие оценки по критериям, поэтому иногда вычисляют не сумму, а произведение оценок, либо сумму логарифмов оценок
  4. Анализ чувствительности (валидация концепции)
    • проверка на чувствительность состоит в том, чтобы подтвердить что результат исследования будет слабо изменяться при малых изменениях весовых коэффициентов и оценок. Следует рассматривать вариации порядка 20-30%
    • другой вариант - поочередно обнулять каждый критерий и повторять исследование. Если при таких вариациях наилучшая альтернатива остается лучшей, то уверенность в результате анализа возрастает.
    • дополнительная проверка - рассмотреть важные критерии, не учтенные при вычислениях (риск, потенциал роста, доступность поддержки, зрелость изделия или его поставщика, простота использования и т.п.)

Методы оценивания

Общие

  • Многомерная теория полезности (Multiattribute Utility Theory - MAUT) использует функцию полезности для преобразования критерия выбора в безразмерное значение полезности. Значения полезности затем можно объединить и получить итоговую оценку для каждой альтернативы.
  • Метод анализа иерархий (Analytical Hierarchy Process - AHP) - математически обоснованная методика, в которой критерии и альтернативы сравниваются попарно для получения как весовых коэффициентов, так и сравнительных оценок альтернатив.
  • Деревья решений (Desicion Trees) - графы для представления возможных вариантов выбора. Каждому варианту можно сопоставить значение и показатель неопределенности (в виде вероятности), а затем определить ожидаемые результаты для альтернативных путей решения.
  • Анализ "затраты-эффективность" (Cost-Benefit Analysis - CBA) обычно применяется для статистического и имитационного моделирования с целью расчета эффективности каждой альтернативы на единицу затрат.
  • Структурирование функции качества (Quality Function Deployment - QFD) - определяется матрица (дом качества), в которой отражены связи между потребностями заказчика, требованиями к системе, компонентами системы и важностью компонента для проекта в целом. Матрица может быть исследована для получения количественных оценок альтернатив.
  • Матрица решения (Desicion Matrix): матрица решения используется, чтобы оценить все варианты решения.
  • T-диаграмма: Эта диаграмма используется, взвешивая положительные явления и minuses вариантов. Это гарантирует, что все положительные стороны и отрицания учтены, принимая решение.
  • Мультиголосование используется, когда многократные люди вовлечены в принятие решения. Это помогает сводить на нет большой список варианты к меньшему к возможному окончательному решению.
  • Анализ Pareto - техника, используемая, когда большое количество решений должно быть сделано. Это помогает в приоритезации, которая должна быть сделана первой, определив, какие решения окажут самое большое полное влияние.
  • Матрица Kepner-Tregoe.

Анализ архитектуры ПО

  • Метод анализа архитектуры ПО (Software architecture analysis method - SAAM) - один из первых методов оценки архитектуры программной системы, предшественник ATAM.
  • Метод анализа архитектурных компромиссов (Architecture tradeoff analysis method - ATAM) - доработанная и улучшенная версия SAAM, которая позволяет пересматривать архитектурные решения относительно требований параметров качества и того, насколько хорошо эти решения отвечают конкретным целевым показателям качества.
  • Активный анализ конструкции (Active Design Review - ADR). ADR больше всего подходит для незавершенных архитектур или архитектур, находящихся в процессе разработки. Основное отличие этого метода в том, что анализ более сфокусирован на наборе проблем или отдельных разделах, а не на проведении общего анализа.
  • Активный анализ промежуточных конструкций (Active Reviews of Intermediate Designs - ARID). ARID сочетает в себе подход ADR анализа архитектуры, находящейся в процессе разработки, с фокусом на наборе проблем и подход методов ATAM и SAAM анализа на основании сценария с основным вниманием на параметрах качества.
  • Метод анализа рентабельности (Cost Benefit Analysis Method, CBAM). Метод CBAM основное внимание уделяет анализу затрат, выгод и планированию последствий архитектурных решений.
  • Анализ модифицируемости на уровне архитектуры (Architecture Level Modifiability Analysis - ALMA). ALMA оценивает модифицируемость архитектуры для систем бизнес-аналитики (business information systems, BIS).
  • Метод оценки семейства архитектур (Family Architecture Assessment Method - FAAM). FAAM оценивает архитектуры семейства информационных систем с точки зрения возможности взаимодействия и расширяемости.
  • Метод упрощенного анализа архитектурных альтернатив (Lightweight Architectural Alternative Assessment Method - LAAAM)
  • Quality Attribute Workshop - QAW

Ссылки

См. также