Метод упрощенного анализа архитектурных альтернатив
Метод упрощенного анализа архитектурных альтернатив (Lightweight Architectural Alternative Assessment Method - LAAAM) используется для выбора архитектурной стратегии построения приложения. На реализацию метода LAAAM, как правило, уходит один день.
Этапы
- Построение дерева полезности, описывающего основные качественные и функциональные параметры приложения с учетом представленных требований. Каждый параметр записывается в виде сценария, принимающего форму оператора, включающего контекст, стимул и ответ.
- Ключевые качественные и функциональные параметры приложения определяются в соответствии с требованиями к качеству обслуживания и требованиями к продукту. Дерево полезности представляет собой совокупность качественных параметров приложения. Корневой узел дерева помечен как "Полезность". Как правило, другие узлы характеризуются в стандартных терминах качества (возможность внесения изменений, доступность и безопасность). Дерево должно отражать иерархический характер качественных характеристик и служить основой для определения приоритетов. На каждом последующем уровне дерева качества уточняются. В конечном счете эти качества представляются в виде сценариев.
- Чтобы определить степень соответствия стратегии сценарию используется оценочная матрица.
- Для каждого листа дерева полезности необходимо создать сценарий. Сценарий существует в форме контекста, стимула и ответа (например, "При нормальной работе транзакция базы данных должна занимать менее 100 миллисекунд"). Создается электронная или обычная таблица и вводится каждый сценарий в виде строки в получившуюся оценочную матрицу. Каждая архитектурная стратегия должна быть представлена в виде столбца. На пересечении стратегий и сценариев необходимо проставить рейтинговые баллы от 1 до 4. При этом необходимо учитывать следующие факторы:
- Затраты на разработку. Решение реализуется легко или сложно? Каково его влияние на другие области?
- Эксплуатационные затраты. Во время выполнения это решение работает без проблем или отрицательно сказывается на удобстве работы, производительности системы и т. д.?
- Риск. Это решение хорошо подходит для данного сценария или вероятны непредвиденные затраты? Это решение может негативно сказаться на возможностях команды реализовывать дополнительные требования в будущем?
- Если для стратегии был создан прототип, можно использовать его данные для определения значений.
- Внизу таблицы суммируются значения сценариев. Эти показатели используются при обсуждении альтернативных архитектур.
- Для каждого листа дерева полезности необходимо создать сценарий. Сценарий существует в форме контекста, стимула и ответа (например, "При нормальной работе транзакция базы данных должна занимать менее 100 миллисекунд"). Создается электронная или обычная таблица и вводится каждый сценарий в виде строки в получившуюся оценочную матрицу. Каждая архитектурная стратегия должна быть представлена в виде столбца. На пересечении стратегий и сценариев необходимо проставить рейтинговые баллы от 1 до 4. При этом необходимо учитывать следующие факторы: