Attribute-Driven Design (ADD) - это методика проектирования, которая помогает архитекторам системы разрабатывать эффективную архитектуру, в которой учитываются все необходимые атрибуты. ADD представляет собой итерационный цикл проектирования, состоящий из 8 шагов:
1. Шаг 1: Определение основных атрибутов системы.
На этом шаге определяются основные атрибуты системы, такие как производительность, безопасность, доступность, масштабируемость и другие. Архитектор должен понять, какие из этих атрибутов являются наиболее важными для данной системы.
2. Шаг 2: Определение сценариев использования системы.
Архитектору необходимо определить сценарии использования системы, то есть ситуации или задачи, которые будут решаться с помощью данной системы. На этом шаге также рассматриваются требования к системе от пользователя и других заинтересованных сторон.
3. Шаг 3: Анализ атрибутов и сценариев.
На этом шаге проводится анализ взаимосвязи между атрибутами системы и сценариями использования. Архитектор должен понять, какие атрибуты системы влияют на выполнение каждого сценария. Такой анализ помогает сосредоточиться на ключевых атрибутах и сценариях, необходимых для разработки архитектуры.
4. Шаг 4: Определение ограничений системы.
На этом шаге архитектору необходимо определить ограничения, которые могут влиять на разработку архитектуры. К ограничениям могут относиться бюджет, время разработки, наличие существующих систем и т. д. Ограничения помогают архитектору учитывать реальные условия и ограничения в процессе проектирования.
5. Шаг 5: Определение архитектурных вариантов.
На этом шаге архитектору необходимо определить различные варианты архитектуры, которые могут удовлетворить требования и атрибуты системы, а также учесть ограничения. Варианты архитектуры могут содержать различные компоненты, технологии, паттерны и т. д.
6. Шаг 6: Оценка архитектурных вариантов.
На этом шаге архитектор должен оценить каждый вариант архитектуры с позиции основных атрибутов и сценариев использования. Оценка может проводиться с помощью моделирования, сравнения и других методов. Целью оценки является выбор наилучшего варианта архитектуры.
7. Шаг 7: Разработка детализированной архитектуры.
На этом шаге архитектор более детально разрабатывает выбранный вариант архитектуры, учитывая конкретные требования и атрибуты системы. Архитектор может использовать различные диаграммы, структуры данных, описания компонентов и другие инструменты для создания детализированной архитектуры.
8. Шаг 8: Проверка и итерационное развитие архитектуры.
На этом шаге проводится проверка разработанной архитектуры с позиции требований и атрибутов системы. Если возникают проблемы или недостатки, архитектор может внести корректировки в архитектуру и повторить шаги с 4 по 7. После устранения всех проблем архитектура считается готовой для реализации.
Техника Attribute-Driven Design позволяет архитекторам разрабатывать эффективные архитектуры, которые удовлетворяют требованиям и атрибутам системы. Этот метод помогает избежать недостатков проектирования, таких как недостаточная производительность, низкая безопасность или сложность в использовании системы.