CBAM методо анализа затрат и выгод Часть 1
2019-12-11 14:51:12 +0600 +0600
CBAM метод анализа затрат и выгод Часть 1
Метод анализа компромиссов в архитектуре ATAM предоставляет архитекторам программного обеспечения средства для оценки технических компромиссов, с которыми сталкиваются при разработке или обслуживании программной системы. В ATAM мы в первую очередь исследуем, насколько хорошо архитектура (реальная или предлагаемая) была разработана с учетом атрибутов качества, которые ее заинтересованные стороны сочли важными. Мы также анализируем архитектурные компромиссы - места, где решение может иметь последствия для нескольких качественных атрибутов одновременно.
Однако в ATAM отсутствует важное соображение: самые большие компромиссы в больших и сложных системах обычно связаны с экономикой. Как организация должна инвестировать свои ресурсы таким образом, чтобы максимизировать свои выгоды и минимизировать свои риски?
В прошлом этот вопрос был в основном сосредоточен на затратах, и даже тогда это были в первую очередь затраты на создание системы, а не долгосрочные затраты в результате циклов обслуживания и обновления. Важными или, возможно, более важными, чем затраты, являются преимущества, которые архитектурное решение может принести организации.
Учитывая, что ресурсы для построения и обслуживания системы ограничены, должен существовать рациональный процесс, который поможет нам выбрать один из вариантов архитектуры как на начальном этапе проектирования, так и в последующие периоды обновления. Эти варианты будут иметь разные затраты, будут потреблять различное количество ресурсов, будут реализовывать различные функции (каждый из которых приносит определенную выгоду для организации), и будут иметь некоторые риски или неопределенности. Чтобы охватить эти аспекты, нам нужны экономические модели программного обеспечения, которые учитывают затраты, выгоды, риски и последствия.
Чтобы удовлетворить потребность в принятии экономических решений, был разработан метод экономического моделирования программных систем, основанный на анализе архитектуры. Называемый методом анализа затрат и выгод (CBAM), он основан на ATAM для моделирования затрат и преимуществ решений архитектурного проектирования. Метод является средством оптимизации таких решений. CBAM дает оценку технико-экономических проблем и архитектурных решений.
Архитектор программного обеспечения или лицо, принимающее решения, желает максимизировать разницу между преимуществами, получаемыми от системы, и стоимостью реализации проекта. CBAM начинается там, где завершается ATAM, и фактически зависит от артефактов, которые ATAM создает в качестве выходных данных. На рисунке показан контекст для CBAM.
Поскольку архитектурные стратегии имеют технические и экономические последствия, бизнес-цели системы программного обеспечения должны влиять на стратегии, используемые архитекторами. Прямым экономическим эффектом является стоимость внедрения системы. Техническими последствиями являются характеристики системы, а именно атрибуты качества. В свою очередь, качественные признаки имеют экономические последствия из-за выгод, которые могут быть получены.
Важно:
CBAM не принимает решения для заинтересованных сторон, так же как финансовый консультант не говорит вам, как инвестировать ваши деньги. Этот метод просто помогает в выявлении и документировании затрат, выгод и неопределенности архитектурных инвестиций и дает заинтересованным сторонам структуру, в рамках которой они могут применять рациональный процесс принятия решений, который соответствует их потребностям.
Вкратце, идея CBAM заключается в том, что архитектурные стратегии (набор архитектурных тактик) влияют на качественные атрибуты системы, что, в свою очередь, дает заинтересованным сторонам системы определенную выгоду. это можно назвать преимущество полезностью. Каждая архитектурная стратегия обеспечивает определенный уровень полезности для заинтересованных сторон. Каждый из них также имеет стоимость и требует времени для реализации. Учитывая эту информацию, CBAM может помочь заинтересованным сторонам в выборе архитектурных стратегий, основанных на их отдаче от инвестиций (ROI) - соотношении выгоды и стоимости.
Теперь мы опишем ключевые идеи, которые составляют основу CBAM. Наша цель здесь состоит в том, чтобы разработать теорию, лежащую в основе измерения ROI для различных архитектурных стратегий в свете сценариев, выбранных заинтересованными сторонами.
Мы начнем с рассмотрения набора сценариев, сгенерированных либо как часть ATAM, либо специально для оценки CBAM. Мы исследуем, как они различаются в значениях их прогнозируемых ответов, а затем назначаем полезность этим значениям. Полезность основана на важности каждого рассматриваемого сценария с точки зрения его ожидаемого значения ответа. Далее мы рассмотрим архитектурные стратегии, которые приводят к различным прогнозируемым ответам. Каждая стратегия имеет свою стоимость, и каждая влияет на множество атрибутов качества. То есть архитектурная стратегия может быть реализована для достижения некоторого прогнозируемого отклика, но при достижении этого отклика она также влияет на некоторые другие атрибуты качества. Полезность этих «побочных эффектов» должна учитываться при рассмотрении общей полезности стратегии. Именно эту общую утилиту мы объединяем со стоимостью проекта архитектурной стратегии для расчета окончательного показателя ROI.