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