Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архитектура ПО на практике.doc
Скачиваний:
3
Добавлен:
01.05.2025
Размер:
63 Мб
Скачать
☆
  1. Этапы atam

Операции оценки по методу АТАМ распадаются на четыре этапа.

На нулевом этапе — «Установление партнерских отношений и подготовка» — руководители группы оценки проводят неофициальные совещания с основными ответственными за проект лицами и прорабатывают подробности предстоящей работы. Представители проекта посвящают специалистов по оценке в суть проекта, тем самым повышая квалификацию некоторых из них. Эти две группы принима­ют согласованные логистические решения: где и когда встречаться, кто предоста­вит лекционные плакаты и с кого пончики и кофе. Кроме того, они согласовыва­ют предварительный перечень заинтересованных лиц (перечисляя их не по именам, а по ролям) и устанавливают сроки и получателей сводного отчета. Они также организуют снабжение специалистов по оценке архитектурной документацией — если, конечно, таковая существует и может оказаться полезной. Наконец, руко­водитель группы оценки объясняет руководителю проекта и архитектору, какую информацию им следует предоставить на первом этапе, и при необходимости помогает им составить соответствующие презентации.

Таблица 11.2. Этапы АТАМ и их характеристики1

Этап

Операции

Участники

Средняя продолжительность

0

Установление партнерских отношений и подготовка

Руководство группы оценки и основные ответственные за проектлица

Проходит в неформальной обстановке, согласно конкретной ситуации; можетдлиться несколько недель

1

Оценка

Группа оценки и ответственные за проект лица

1 день с последующим перерывом продолжительностью от 2 до 3 недель

2

Оценка

(продолжение)

Группа оценки, ответственные за проект лица и заинтересованные лица

2 дня

3

Доработка

Группа оценки и заказчик оценки

1 неделя

1 Источник: приводится по изданию [Clements 02a] (адаптированная всрсия).

На первом и втором этапах проводится непосредственно оценка — все погру­жены в аналитические операции. К началу этих этапов все участники группы оценки должны ознакомиться с документацией по архитектуре, получить доста­точное представление о системе, знать задействованные архитектурные методи­ки и ориентироваться в первостепенных атрибутах качества. На первом этапе, намереваясь приступить к сбору и анализу информации, участники группы оцен­ки встречаются с лицами, ответственными за проект (как правило, встреча длится весь день). На втором этапе к специалистам присоединяются заинтересованные в архитектуре лица, и в течение примерно двух дней они проводят аналитиче­ские мероприятия совместно. Первой и второй этапы подробно расписаны в сле­дующем разделе.

Третий этап занимает доработка — группа оценки составляет в письменном виде и предоставляет получателям сводный отчет. По сути, участники занимают­ся самопроверкой и вносят в результаты своей работы разного рода коррективы. Назаключительном совещании группы обсуждаются успехи и трудности. Участ­ники изучают отчеты, выданные им на первом и втором этапах, и заслушивают выступление наблюдателя за процессом. По сути, они занимаются поиском путей усовершенствования по части исполнения своих ролей, с тем чтобы проводить последующие оценки с меньшими усилиями и с более высокой эффективностью. Действия, выполненные в период оценки участниками трех групп, тщательно регистрируются. По прошествии нескольких месяцев руководитель группы дол­жен связаться с заказчиком оценки, для того чтобы оценить долгосрочные ре­зультаты ее проведения и сравнить издержки с выгодами.

Четыре этапа АТАМ, их участники и приблизительный график представлены в табл. 11.2.

Операции на различных этапах оценки

Аналитические этапы АТАМ (этап 1 и 2) состоят из девяти операций. Операции с первой по шестую проводятся на первом этапе. На втором этапе в присутствии всех заинтересованных лиц подводятся предварительные итоги и выполняются операции 7-9.

Аналитические операции, как правило, выполняются последовательно, в со­ответствии с установленным планом, однако для адаптации к доступным трудо­вым ресурсам или архитектурной информации возможно проведение динамических модификаций. Каждая оценка уникальна — иногда, если в том есть необходи­мость, группа на короткое время возвращается к предыдущим операциям, рань­ше времени переходит к последующим или выполняет операции повторно.

Операция 1: презентация АТАМ

В ходе первой операции руководитель специалистов по оценке организует для представителей проекта презентацию метода АТАМ. От него требуется растолко­вать всем участникам суть процесса, которому им придется следовать, ответить на все вопросы, а также определить контекст остальных операций и их ожида­емые результаты. Стандартная форма презентации позволяет руководителю кратко охарактеризовать все операции, предусмотренные в АТАМ, и поставленные пе­ред ними задачи.

Операция 2: презентация коммерческих факторов

Все участники оценки — как представители проекта, так и специалисты из груп­пы оценки — должны знать контекст системы, а также основные коммерческие факторы, стимулирующие ее разработку. Ответственное за проект лицо (в идеа­ле — руководитель проекта или заказчик системы) обязано представить обзор системы с коммерческой точки зрения. В числе прочего в составе этой презента­ции должны содержаться описания:

  • важнейших функций системы;

  • всех значимых технических, управленческих, экономических или полити­ческих ограничений;

  • коммерческих задач и коммерческого контекста в его отношении к проекту;

  • основных заинтересованных лиц;

  • архитектурных мотивов (иначе говоря, основных задач но реализации ат­рибутов качества, оказывающих на архитектуру определяющее воздействие).

Операция 3: презентация архитектуры

На этом этапе главный архитектор (или группа архитекторов) организует пре­зентацию архитектуры на адекватном ситуации уровне детализации. «Адекват­ность» детализации обусловливается несколькими факторами: степенью разра­ботанности проекта и документации архитектуры, временными ограничениями, а также характером требований к поведению и качеству.

В ходе презентации архитектор должен изложить технические ограничения — в частности, назвать операционную систему, аппаратное и промежуточное про­граммное обеспечение, а также другие системы, с которыми будет взаимодейство­вать рассматриваемая система. Что самое главное, от архитектора требуется опи­сать архитектурные методики (или образцы, если архитектор свободно владеет соответствующим словарем), применяемые для реализации требований.

Максимально эффективное использование отведенного на презентацию вре­мени обеспечивает высокий коэффициент «сигнал-помеха». Другими словами, не переходя к обсуждению вспомогательных областей и уклоняясь от детального рассмотрения отдельных аспектов, архитектор должен донести до слушателей суть архитектуры. Таким образом, нелишне заблаговременно рассказать архитек­тору, какую именно информацию от него ожидают получить участники группы оценки. При подготовке презентации применяются специальные шаблоны напо­добие показанного в листинге 11.1. Некоторым архитекторам трудно обойтись без «генеральной репетиции» презентации, которая также считается одной из операций первого этапа.

Листинг 11.1. Пример шаблона презентации архитектуры2 Презентация архитектуры (-20 слайдов; 60 минут).

Важнейшие архитектурные требования, связанные с ними измеряемые величины и все существующие стандарты/модели/методики, направленные на их удовлетворение (2-3 слайда).'

Значимые сведения об архитектуре (4-8 слайдов):

Контекстная диаграмма, демонстрирующая систему в том контексте, в котором она должна будет существовать. Люди и другие системы, которые будут с ней взаимодействовать.

Модульное или многоуровневое представление — модули (возможно, подсистемы или уровни), описывающие декомпозицию функциональности в системе, а также содержащиеся в них объекты, процедуры и функции и отношение между последними (например, вызовы процедур и методов, обратные вызовы, включение).

  • Представление «компонент и соединитель» - процессы и потоки вместе с тем, что их соединяет: синхронизацией, потоками данных и событиями.

Представление размещения — процессоры, память, внешние устройства/ датчики, а также соединяющие их сети и устройства связи. Здесь же должны быть показаны процессы, исполняющиеся на разных процессорах.

Применяемые архитектурные методики, образцы и тактики с указанием атрибутов качества, на реализацию которых они направлены, и описанием механизмов этой реализации (3-6 слайдов).

  • Применение коммерческих коробочных продуктов (COTS) вместе с описанием

механизмов их отбора/интеграции (1-2 слайда).

  • Кальки 1-3 наиболее важных сценариев Use Case. По возможности следует

указывать потребление ресурсов периода прогона каждым из сценариев (1-3 слайда).

  • Кальки 1-3 наиболее важных сценариев изменений. По возможности следует приводить описания воздействия изменений (расчетный диапазон/трудность проведения изменений) применительно к модифицируемым модулям или интерфейсам (1-3 слайда).

  • Архитектурные проблемы/риски, связанные с удовлетворением важнейших архитектурных требований (2-3 слайда).

  • Глоссарий (1 слайд).

По приведенному шаблону презентации видно, что основным инструментом изложения архитектуры являются архитектурные представления (см. главу 2). 'За редкими исключениями, в ходе проведения оценки весьма полезными оказы­ваются контекстные диаграммы, «компонент и соединитель», представления декомпозиции уровней и размещения, а также многоуровневые представления; соответственно, архитектор должен быть готов продемонстрировать их. Если зна­чимая в контексте рассматриваемой архитектуры информация, в особенности относящаяся к выполнению важнейших задач по реализации атрибутов качества, содержится в каких-то других представлениях, их также следует упомянуть. В общем, архитектору рекомендуется оперировать теми представлениями, кото­рые в процессе создания архитектуры показались ему наиболее важными.

Во время презентации участники группы оценки могут попросить архитекто­ра прояснить какие-то непонятные моменты; при этом они исходят из знаний, полученных в результате проводимого на нулевом этапе анализа архитектурной документации, и изучения в ходе предшествующей операции коммерческих фак­торов. Кроме того, они ожидают получить и зафиксировать сведения о применя­емых архитектурных тактиках и образцах.

Операция 4: выявление архитектурных методик

Согласно АТАМ, необходимым условием анализа архитектуры является компе­тентность в вопросах задействованных в ней архитектурных методик. На мате­риале главы 5 мы выяснили, что архитектурные образцы, помимо прочего, вы-

годно отличаются тем, что их воздействие на различные атрибуты качества хорошо изучено. Так, многоуровневый образец повышает переносимость системы, при­чем иногда — за счет снижения производительности. Образец репозитария дан­ных, как правило, отличается масштабируемостью по части количества произво­дителей и потребителей данных. И так далее.

В рассматриваемый момент у всех участников группы уже должно сложиться четкое представление об образцах и методиках, задействованных архитектором при проектировании системы. Для этого есть все предпосылки — ведь они озна­комились с архитектурной документацией, а в ходе третьей операции прослуша­ли проведенную архитектором презентацию. На том же этапе архитектор должен явно, по именам перечислить использованные образцы и методики, а от участников группы требуется умение распознавать те из них, которые архитектор не упомянул.

В период проведения настоящей операции задача группы оценки заключается в том, чтобы каталогизировать очевидные образцы и методики. Обязанность по составлению (при участии специалистов) соответствующего списка, а также по его последующему распространению возлагается на секретаря. В дальнейшем этот список становится основой для проведения анализа.

Операция 5: генерация дерева полезности атрибутов качества

В зависимости от того, способна ли архитектура реализовать в системе те или иные атрибуты качества, она признается пригодной или непригодной для конст­руирования этой самой системы. Архитектура, в которой достигается высочай­шая производительность, никоим образом не сочетается с системой, в которой приоритет отдается, скажем, безопасности. В ходе операции 2, попутно с изложе­нием коммерческих факторов, должны быть представлены задачи по реализации атрибутов качества, важнейшие в контексте данного варианта архитектуры; впро­чем, их детализация на этом этапе не позволяет выполнять действия аналити­ческого характера. Общие задачи наподобие «модифицируемости», «высокой пропускной способности» или «возможности перенесения на разные маши­ны» обозначают контекст и направление, формируют основу для изложения по­следующей информации. С другой стороны, они не настолько конкретны, чтобы на их основе можно было делать выводы о пригодности архитектуры. О какой модифицируемости идет речь? Насколько высокой должна быть пропускная спо­собность? На какие конкретно машины предполагается переносить систему?

Настоящая операция предполагает детальную фиксацию задач по реализации атрибутов качества; для достижения этой цели применяется механизм под назва­нием «дерево полезности». Участники группы оценки совместно с ответственны­ми за проект лицами устанавливают наиболее важные для системы задачи по реализации атрибутов качества, расставляют их согласно приоритетам, уточняют и выражают в виде сценариев. Дерево полезности способствует конкретизации требований по качеству и тем самым склоняет архитектора и представителей за­казчика к их точному формулированию.

Корневым узлом дерева полезности является собственно полезность (utility), выражающая общую «добротность» системы. Атрибуты качества как компонен­ты полезности располагаются на втором уровне. Тс из них, которые обозначены в презентации коммерческих факторов во время второй операции, составляют

исходный (начальный) набор второго уровня. Чаще всего дочерними элементами полезности оказываются производительность, модифицируемость, безопасность, практичность и готовность, однако оценщикам ничто не мешает вводить новые имена. Иногда разные группы заинтересованных лиц по-разному называют одни и те же концепты (в частности, некоторые заинтересованные лица любят термин «удобство сопровождения»). В отдельных случаях они употребляют такие поня­тия, которые носят явную смысловую нагрузку только в их собственной субкуль­туре, однако в других областях почти не используются, — например, что-нибудь вроде «гибкорасширяемости» (flextensihility). Имена, вводимые заинтересованны­ми лицами, адекватны лишь до тех пор, пока по мере уточнения на последующих уровнях они могут объяснить свое значение (см. врезку «Что в имени твоем?»).

На более низких уровнях, дочерних по отношению к каждому из атрибутов качества, располагаются их уточнения. К примеру, производительность можно разложить на «задержку данных» и «пропускную способность для транзакций». Это — очередной шаг на пути к уточнению задач по атрибутам до сценариев атрибутов качества, предполагающих возможность расстановки приоритетов и про­ведения анализа. В частности, задержка данных уточняется до «Снизить задерж­ку сохранения в базе данных по заказчикам до 20 мс» и «Довести частоту кадров видеоизображения в реальном времени до 20 кадров в секунду» — и тот и другой варианты задержки являются значимыми в контексте системы.

При помощи механизма сценариев (см. главу 4) общие (и неоднозначные) формулировки желаемых атрибутов качества конкретизируются и приводятся в форму, позволяющую проводить тестирование. Из них формируются и систе­матизируются по выражаемым атрибутам качества листья дерева полезности. Шестичастная форма, предложенная в главе 4, в данном случае адаптируется к за­дачам оценки. Сценарии АТАМ состоят из трех частей: стимула (наблюдаемое в системе условие, породивший его источник и стимулируемый артефакт систе­мы), среды (все происходящее в данный момент времени) и реакции (реакция системы на стимул, выраженный в измеримой форме).

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

Некоторые сценарии выражают несколько атрибутов качества и, следователь­но, размещаются на дереве сразу в нескольких местах. В этом, как правило, нет ничего страшного, однако, с другой стороны, руководитель группы оценки дол­жен следить за теми сценариями, которые демонстрируют тенденцию к избыточ­ному разрастанию, иначе их будет трудно анализировать. Пытайтесь разбивать сценарии на составляющие, выражающие относительно более мелкие проблемы.

Участники группы оценки должны не просто знать задачи, возложенные на архитектуру, но и осознавать их относительную значимость. На дереве полезно­сти зачастую оказывается по 50 листьев-сценариев, на анализ которых во время совещания по оценке просто не хватает времени. Таким образом, составление дерева полезности одновременно способствует расстановке приоритетов. Реше­ния о назначении сценариям приоритетов должны приниматься ответственными лицами согласованно. Иногда для этого вводится шкала приоритетов от 0 до 10,

в иных случаях вполне хватает относительных рангов: высокого, среднего и низ­кого. (Мы отдаем предпочтение второй методике: во-первых, она лучше приспо­соблена к разнородным группам, а во-вторых, по сравнению с присваиванием точных значений, занимает меньше времени.)

После этого в отношении сценариев проводится вторичная расстановка прио­ритетов — в этот раз на основе другого критерия. Архитектор ранжирует сцена­рии исходя из своих представлений о том, насколько проблематичным окажется реализация каждого из них в архитектуре. В данном случае, как и раньше, подхо­дит схема «высокой/средней/низкой» сложности.

ЧТО В ИМЕНИ ТВОЕМ?

Изложенные в нашей книге методы оценки архитектуры предусматривают фиксацию атри­бутов качества с помощью сценариев. Зачем это нужно? Дело в том, что сами по себе атри­буты качества слишком размыты, чтобы проводить на их основе аналитические действия.

С другой стороны, дерево полезности АТАМ систематизируется по именам атрибутов каче­ства. Нет ли в этом противоречия? Нам не все равно, какие атрибуты качества заинтересо­ванные лица сочтут наиболее важными. Они вольны называть атрибуты как угодно — если это способствует мыслительному процессу. К примеру, в табл. 11.5, приведенной ниже, раз­делены такие атрибуты, как «конфигурируемость» и «модульность»; у вас есть полное право возразить против такой формулировки — ведь оба указанных атрибута являются подвидами «модифицируемости», а значит, обозначить их следует как уточнения последнего. В принципе, мы с этим согласны. Но в данном случае, по мнению заинтересованных лиц, и тот и другой подвид в силу существенных различий заслуживали отдельных позиций на дереве полезно­сти, и мы не стали с ними спорить. В конце концов, листы-сценарии на дереве полезности значительно важнее структуры ветвей.

Ситуация, при которой одни и те же имена атрибутов качества переходят из одной оцен­ки в другую, встречается очень редко. То, что одна компания называет «удобством сопровож­дения», другая предпочитает именовать «взаимозаменяемостью». Иногда «переносимость» рассматривается как подвид модифицируемости, но во многих других случаях заинтересо­ванные лица предпочитают трактовать эти атрибуты по отдельности. Надежность часто на­зывают готовностью, и наоборот. Помимо всего прочего, нам приходилось сталкиваться с оригинальными именами атрибутов качества, смысл которых был понятен только сотруд­никам конкретной организации, — примерами тому «развертываемость» и «продаваемость». Мы сначала не совсем поняли, что это значит, но, поскольку в АТАМ нет необходимости тра­тить ценное время на терминологические споры, никаких проблем не возникло. Реальное значение атрибутов выражается в сценариях. Самое главное — упомянутые термины были понятны заинтересованным лицам; исходя из этого они могли составить сценарии и тем са­мым сформулировать задачи, которые требовалось решить.

В одном из случаев оценки по методу АТАМ мы столкнулись с довольно оригинальными задачами компании-разработчика — они хотели привлечь новых способных сотрудников к ра­боте в своем центральном офисе, который, на беду, находился в маленьком тихом городке на американском Среднем Западе. Исходя из этого коммерческого фактора они сформули­ровали архитектурную задачу — архитектура должна была опираться на современные про­граммные разработки, которые, как предполагалось, заинтересуют новых специалистов.

Несмотря на то что атрибута качества под именем «lowa-bility» нет ни в одном стандарт­ном перечне IEEE, ISO или ANSI, в нашей практике был случай, когда он нашел свое отраже­ние на дереве полезности АТАМ и заставил специалистов основательно поразмыслить над тем, какие сценарии смогут выразить сформулированную в таком виде задачу.

-РСС

Теперь каждому сценарию соответствует упорядоченная пара наподобие (В,Вы­сокий]), (В,С[редний]), (В,Н[изкий]) и т. д. Самые важные и сложные сценарии требуют выделения значительных временных ресурсов для проведения анализа, а оставшаяся часть будет просто фиксироваться. Сценариям, рассматриваемым

как несущественные (И,*) или легко реализуемые (*,Н), вряд ли будет уделяться слишком много внимания.

Продуктом составления дерева полезности является перечень сценариев с расставленными приоритетами, выступающий в качестве плана проведения ос­тавшейся части оценки по методу АТАМ. Он сообщает участникам группы о том, на что имеет смысл потратить ограниченное время, — в частности, в каких случа­ях следует провести испытания архитектурных методик и рискованных решений. Дерево полезности помогает специалистам по оценке сориентироваться в архитек­турных методиках, способных реализовать высокоприоритетные листы-сценарии.

К рассматриваемому периоду вся необходимая для проведения анализа ин­формация должна быть выражена в табличной форме — в частности, речь идет об ожидаемых значимых атрибутах качества, реализуемых архитектурой и обу­словливаемых коммерческими факторами (операция 2) и деревом полезности (операция 5), а также о самой архитектуре, зафиксированной в виде презента­ции (операция 3) и каталога применяемых методик (операция 4). Пример дерева полезности в табличной форме (без корневого узла) приводится в табл. 11.5.

Операция 6: анализ архитектурных методик

В рамках данной операции группа оценки по одному исследует сценарии с наи­высшим приоритетом; архитектор при этом объясняет, каким образом они реали­зуются в архитектуре. Участники группы оценки — по большей части дознавате­ли — испытывают архитектурные методики, при помощи которых архитектор реализует каждый из сценариев. Параллельно группа документирует значимые архитек*?урные решения, устанавливает и каталогизирует рискованные и нерис­кованные решения, точки чувствительности и компромиссы. Если речь идет о хо­рошо изученной методике, участники группы расспрашивают архитектора о том, как ему удалось преодолеть ее известные недостатки и из чего он сделал вывод о ее адекватности. Тем самым они проверяют, подходит ли конкретная реализация методики для удовлетворения требований по конкретным атрибутам качества.

К примеру, на количество транзакций, которые база данных может обработать за одну секунду, влияет количество одновременных обращений к ней. Из этого следует, что по отношению к отклику, измеряемому транзакциями в секунду, рас­пределение клиентов между серверами является точкой чувствительности. Если значение отклика при распределении становится неприемлемым, значит, мы име­ем дело с рискованным решением. Если же архитектурное решение оказывается точкой чувствительности в отношении сразу нескольких атрибутов, его следует признать точкой компромисса.

В ходе критического анализа сценария следует обсуждать возможные риски, нерискованные решения, точки чувствительности и компромисса. Такие дискус­сии, в свою очередь, иногда диктуют необходимость в проведении углубленного анализа. Определяющей здесь является позиция архитектора. Если, к примеру, архитектор оказывается не способен охарактеризовать количество клиентов или предложить выравнивание нагрузки путем распределения процессов между ап­паратными устройствами, заниматься формированием сложных очередей или проводить частотно-монотонный анализ производительности не имеет смысла. Если же архитектор отвечает на эти вопросы, группа оценки должна провести хотя бы фрагментарный, поверхностный анализ с целью выявления недостатков принятых архитектурных решений в контексте реализации ими требований по атрибутам качества. Комплексный анализ здесь не требуется. Цель заключается в том, чтобы при помощи выявленной значимой архитектурной информации ус­тановить связь между принятыми архитектурными решениями и требованиями по атрибутам качества, которые предполагается удовлетворить.

Рис. 11.1. Пример анализа архитектурной методики1

1Источник, приводится по изданию [Clements 02а] (адаптированная версия).

На рис. 11.1 изображена стандартная форма, предназначенная для фиксации результатов анализа архитектурной методики применительно к конкретному сце­нарию. Из него следует, что по результатам рассматриваемой операции участни­ки группы оценки устанавливают ряд точек чувствительности и компромиссов, рискованные и нерискованные решения. Любые точки чувствительности и комп­ромиссы потенциально рискованны. К моменту завершения оценки по методу АТАМ их необходимо занести в одну из двух категорий: рискованные и нериско­ванные. Рискованные и нерискованные решения, точки чувствительности и ком­промиссы — все они фиксируются в отдельных списках. Приведенные на рис. 11.1 обозначения R8, ТЗ, S4, N12 и т. д. — это указатели на соответствующие позиции в таких списках.

К моменту завершения рассматриваемой операции у всех участников группы оценки должно сложиться устойчивое представление о важнейших аспектах ар­хитектуры в целом и о логическом обосновании основных проектных решений; кроме того, в их распоряжении должны быть списки рискованных и нерискован­ных решений, точек чувствительности и компромиссов.

Перерыв и начало второго этапа

На этом завершается первый этап. Группа оценки делает перерыв на одну-две недели, во время которого ее участники резюмируют полученные данные и в не­формальной манере (как правило, по телефону) переговариваются с архитекто­ром. При желании в этот период можно провести анализ дополнительных сцена­риев или уточнить неясные вопросы.

Второй этап начинается лишь тогда, когда, во-первых, к его проведению под­готовятся ответственные за проект руководители, а во-вторых, вместе соберутся все заинтересованные лица. Все работы на этом этапе проводятся в присутствии многочисленных участников и расширенной группы заинтересованных лиц. Сна­чала для того чтобы заинтересованные лица получили представление о применя­емом методе и своей в нем роли, резюмируются результаты первого этапа. Затем руководитель группы оценки воспроизводит результат операций со второй по шестую, озвучивает текущее состояние списка рисков, нерискованных решений, точек чувствительности и компромиссов. После этого, когда заинтересованные лица «догонят» процесс оценки, можно приступать к трем оставшимся операциям.

Операция 7: мозговой штурм и расстановка сценариев согласно приоритетам

Составление дерева полезности главным образом преследует целью воспроизвод- ство архитектурных мотивов по атрибутам качества с точки зрения архитектора и выбранных им путей реализации таковых. Мозговой штурм сценариев решает другую задачу — он выражает настроения, царящие среди заинтересованных лиц в условиях их наиболее широкого представительства. Наибольшая эффективность этой методики появляется в крупных группах, где она создает ситуацию стиму­лирования одних размышлений другими. Этот процесс благоприятствует взаи­модействию заинтересованных лиц, поощряет творческую мысль и выражает кол­лективную позицию участников. Перечень сценариев, сформулированных методом

мозгового штурма, подлежит сравнению с перечнем, составленным согласно де­реву полезности. Если эти два документа не противоречат друг другу, значит, намерения архитектора и ожидания заинтересованных лиц сходятся. Выявление новых значимых сценариев — это уже риск, свидетельствующий о рассогласова­нии целей заинтересованных лиц, с одной стороны, и архитектора — с другой.

Участники группы оценки на рассматриваемом этапе просят заинтересован­ных лиц озвучить сценарии, носящие операционно-смысловую нагрузку в кон­тексте их индивидуальных ролей. Так, специалист по сопровождению, вероятно, сформулирует сценарии реализации модифицируемости, а пользователь в своем сценарии, скорее всего, сделает упор на ту или иную полезную функциональ­ность или на удобство взаимодействия с системой.

Вполне допустимым на этом этапе следует считать возврат к тем сценариям дерева полезности, которые не были проанализированы ранее. Воссоздавая в хо­де мозгового штурма те сценарии 5 и 6 операций, которым, по их мнению, не было уделено должного внимания, заинтересованные лица компенсируют недо­работки.

После сбора сценариев следует операция по расстановке среди них приорите­тов. Такая необходимость вызвана теми же факторами, которые обусловливают назначение приоритетов на дереве полезности, — участники группы оценки долж­ны знать, чему следует уделить ограниченные временные ресурсы. Во-первых, заинтересованных лиц просят соединить воедино сценарии, которые, по их мне­нию, выражают один и тот же тип поведения или одну и ту же задачу по атрибуту качества. Затем путем голосования из числа получившихся сценариев выбираются наиболее важные. Каждому заинтересованному лицу предоставляется количе­ство голосов, составляющее 30 % от общего числа сценариев3, после чего полу­ченное число округляется. Так, если сценариев всего двадцать, каждое заинтере­сованное лицо получает по шесть голосов. Распоряжаться ими заинтересованное лицо может произвольно — если потребуется, оно отдаст все шесть голосов за один сценарий, или по одному голосу за'каждый из любых шести сценариев, или примет какое-либо промежуточное решение.

Голосование по сценариям проходит открыто; по нашему опыту, этот способ не только забавен — он способствует укреплению у участников чувства общно­сти. После подсчета голосов руководитель группы оценки сортирует сценарии по количеству поданных голосов и выделяет из них те, за которые проголосовало заметно меньше заинтересованных лиц, чем за все остальные. Сценарии с наи­высшими показателями утверждаются и впоследствии участвуют в дальнейших операциях. Так, к примеру, группа может взять на рассмотрение лишь пять сце­нариев, набравших наибольшее количество голосов.

Операция 8: анализ архитектурных методик

После выявления сценариев и их расстановки согласно приоритетам группа оценки инструктирует архитектора в процессе реализации наиболее ценных (см. опера­цию 7), с точки зрения заинтересованных лиц, сценариев. Архитектор должен

объяснить механизм воздействия значимых архитектурных решений на их реа­лизацию. Лучше всего, если главным действующим лицом во время этой опера­ции станет архитектор, объясняющий реализацию сценариев в контексте рассмот­ренных ранее архитектурных методик.

Действия, проводящиеся участниками группы оценки, схожи с теми, что тре­буется выполнить во время операции 6. Иначе говоря, они отображают недавно составленные сценарии с наивысшнм приоритетом на выявленные к настоящему моменту архитектурные артефакты.

Операция 9: презентация результатов

Наконец, информацию, собранную согласно методике АТАМ, необходимо резю­мировать и еще раз изложить в присутствии заинтересованных лиц. Обычно подобного рода презентации организуются в форме устного отчета с показом слай­дов, однако не исключается и вариант последующего предоставления заинтере­сованным лицам более подробного письменного отчета. Во время презентации руководитель группы оценки в очередной раз перечисляет этапы АТАМ и излага­ет собранную по результатам их выполнения информацию — в частности, ком­мерческий контекст, важнейшие требования, ограничения и архитектуру. Поми­мо прочего, в отчете должны быть отражены следующие моменты:

  • документированные архитектурные методики;

  • набор сценариев, сформулированных методом мозгового шторма, и их при­оритеты;

  • дерево полезности;

  • выявленные риски;

  • установленные нерисковаиные решения;

  • найденные точки чувствительности и компромиссы.

В ходе оценки все эти моменты должны быть обнаружены, публично оглаше­ны и письменно зафиксированы. Также во время рассматриваемой операции уча­стники группы оценки, исходя из какой-либо значимой задачи или регулярно встречающегося недостатка, формулируют (на основе выявленных рискованных решений) магистральные риски. К примеру, совокупность рисков, связанных с недостаточной или устаревшей документацией, можно сгруппировать в рамках магистрального риска, декларирующего нехватку внимания к документации. Со­вокупность рисков, связанных с неспособностью системы функционировать в ус­ловиях разного рода аппаратных и/или программных отказов, формирует магис­тральный риск недостаточного внимания к резервированию или готовности.

Для каждого из установленных магистральных рисков группа определяет на­ходящиеся под его воздействием коммерческие факторы (они должны были быть выявлены в ходе операции 2). Определение магистральных рисков и их связей с конкретными факторами замыкает процесс оценки, поскольку его конечные ре­зультаты соотносятся с первоначальной презентацией. Не менее важно, что оно раскрывает перед ответственными лицами суть установленных рисков. То, что руководитель ранее рассматривал как далекий от практического контекста технический вопрос, теперь со всей очевидностью предстает как угроза, лежащая в зоне его ответственности.

В табл. 11.3 отражены все девять операций АТАМ и показана степень их вли­яния на конечные продукты оценки по этой методике. обозначает операции, которые напрямую воздействуют на эти результаты, а «*» — операции, влияющие на них лишь косвенно.

Таблица 11.3. Коррелированные операции и продукты АТАМ’


a В ходе установления коммерческих факторов излагается первоначальное, наиболее общее описание атрибутов качества.

b Во время презентации коммерческих факторов допускается разглашение ранее выявленных или устойчивых рисков, которые в таком случае необходимо зафиксировать.

с В своей презентации архитектор может установить дополнительные риски.

d В своей презентации архитектор может выявить дополнительные точки чувствительности или комп­ромиссы.

e Стандартные сопутствующие риски характерны для многих архитектурных методик.

f Многим архитектурным методикам свойственны стандартные сопутствующие варианты чувстви­тельности и компромиссы между атрибутами качества.

f В ходе рассматриваемых аналитических операций возможно выявление новых архитектурных ме­тодик, не замеченных во время операции 4; в таком случае формулируются новые методико-ориен- тированные вопросы.