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

Глава 11

Метод анализа компромиссных архитектурных решений — комплексный подход к оценке архитектуры

(в соавторстве с Марком Кляйном)

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

Фридрих Нище

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

Оценить архитектуру крупной системы весьма не просто. Во-первых, чем боль­ше система, тем масштабнее ее архитектура и тем протяженнее промежуток вре­мени, за который о ней можно составить некое представление. Во-вторых, соглас­но Ницше (см. эпиграф) и архитектурно-экономическому циклу (Architecture Business Cycle, ABC), любая компьютерная система призвана решать коммерческие зада­чи; таким образом, и ходе оценки необходимо устанавливать связи между этими задачами и техническими решениями. Наконец, крупные системы, как правило, характеризуются многочисленностью заинтересованных лиц, а для того чтобы за ограниченный промежуток времени проанализировать их позиции, процесс оценки ш'обходпмо внимательно контролировать. Итак, из всего вышесказанного понят­

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

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

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

  1. Участники АТАМ

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

  1. Группа оценки. Специалисты из этой группы не должны участвовать в раз­работке оцениваемой архитектуры. Как правило, численность группы со­ставляет 3-5 человек. Каждому из них назначается ряд ролей, которые он должен исполнять в период оценки. (Описание этих ролей, а также жела­тельные характеристики каждой из них приводятся в табл. 11.1.) В некото­рых случаях группа оценки являет собой постоянное подразделение, регу­лярно проводящее действия по оценке вариантов архитектуры; в иных ситуациях ее участники подбираются из числа специалистов с серьезными знаниями в области архитектуры для выполнения конкретной задачи. Иногда группы оценки и разработки набираются из сотрудников одной компании, однако не исключается вариант заказа оценки у третьей сторо­ны. В любом случае это должны быть компетентные, объективные люди без предубеждений и корыстных целей.

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

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

Таблица 11.1. Распределение ролей между участниками группы оценки

Роль

Обязанности

Предпочтительные

характеристики

Руководитель

Планирует оценку; общается

Организованность,

группы

с заказчиком и гарантирует

управленческие способности,

выполнение его требований; утверждает

навыки ведения переговоров

договор о проведении оценки; набирает

с заказчиком, выполнение

специалистов в группуоценки;

обязанностей в установленные

координирует составление и предоставление заказчикусводного отчета (обязанности по его составлению можно делегировать)

сроки

Руководитель

Ответствен за проведение оценки;

Способность выступать перед

специалистов

содействует выявлению сценариев;

аудиторией; развитые навыки

по оценке

координирует отбор сценариев и их

содействия; компетентность

классификацию согласно приоритетам;

в вопросах архитектуры; опыт

содействует процессу оценки сценариев

участия в оценке вариантов

в контекстеархитектуры; содействует

архитектуры; способность

проведению местного анализа

отличить беспредметные прения от дискуссии, потенциально ведущей к получению ценных выводов

Секретарь

В процессе выявления сценариев

Хороший почерк; способность

по сценариям

пишет сценарии на лекционном

сосредоточивать специалистов

плакате или белой доске; фиксирует

на задаче формулирования идеи

согласованные формулировки

(сценария); понимание

сценариев; не позволяет остальным

технической терминологии

участникам углубляться в дискуссии

и способность резюмировать

до получения точных формулировок

соответствующие дискуссии

Секретарь по

Работая на портативном компьютере

Крепкие навыки быстрого

результатам

или на рабочей станции, в электронной

клавишного набора; способность

форме фиксирует результаты:

оперативно восстанавливать

непроверенные сценарии, соображения,

в памяти нужную информацию;

влияющие на их составление

компетентность в архитектурных

(во многих случаях они не отражаются

вопросах; навыки быстрого

в формулировкесамогосценария),

усвоения технических проблем;

резолюции сценариев применительно

отсутствие комплексов,

к архитектуре; в его обязанности также

позволяющее(в подходящий

входит предоставление всем участникам

момент) прервать дискуссию для

печатной версии списка всех принятых

прояснения вопроса и фиксации

сценариев

нужной информации

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

Роль

Обязанности

Предпочтительные

характеристики

Хронометрист

Помогает руководителю специалистов по оценке придерживаться графика; ограничивает время, уделяемое на этапе оценки каждому из сценариев

Способность в нужный момент прерватьдискуссию и напомнить ее участникам о временных ограничениях

Наблюдатель

Вырабатывает способы усовершенство­

Внимательность при

за процессом

вания или видоизменения процесса оценки; в основном остается в тени, но изредка может высказывать руководителю разумные соображения относительно процесса оценки; отчитывается о проведенном процессе и формулирует предложения на будущее; крометого, обязандетально изложить участникам группы оценки сведения, относящиеся к накопленному ранее опыту

наблюдении; серьезная компетентность в вопросах оценки; опыт осуществления методики архитектурной оценки

Координатор

Помогает руководителю специалистов

Серьезные знания по части

процесса

по оценке соблюдать все этапы метода оценки

подробностей этапов метода; способность предоставления руководителю специалистов по оценке полезных консультаций

Дознаватель

Поднимает архитектурные вопросы, о которых не подумали заинтересованные лица

Серьезные знания в области архитектуры; понимание потребностей заинтересованных лиц; опыт работы с системами в сходных предметных областях; способность поднимать дискуссионные вопросы и добиваться их рассмотрения; хорошее знание оцениваемых атрибутов качества