Определение тактики
Что придает одному решению свойство переносимости, другому — высокую производительность, а третьему — интегрируемость? Реализация этих атрибутов качества связана с принятием фундаментальных проектных решений. Мы намерены в подробностях рассмотреть эти проектные решения, которые по-другому называются тактиками (tactics). Тактика — это проектное решение, которое влияет на управление реакцией по атрибуту качества. Совокупность тактик называется архитектурной стратегией (architectural strategy) — о ней речь пойдет в главе 12. Упаковка тактик в составе архитектурных образцов рассматривается в разделе 5.8. Проект системы представляет собой совокупность решений. Некоторые из них помогают контролировать реакции по атрибутам качества; иные обеспечивают функциональность систем. В этом разделе речь пойдет о решениях по атрибутам качества, называемым тактиками. Связь тактики и реакции по атрибуту качества изображена в виде схемы на рис. 5.1. Тактики используются архитекторами многие годы; мы намерены выделить и описать их. Имейте в виду — мы ничего не изобретаем; мы просто фиксируем методы практической деятельности архитекторов. Каждая тактика для архитектора — это проектная альтернатива. Предположим, к примеру, что одна из возможных тактик повышает готовность системы за счет реализации резервирования. Повышение готовности — это лишь одна из многочисленных альтернатив, среди которых архитектор волен выбирать. Как правило, повышение готовности через резервирование сопровождается синхронизацией (которая нужна для того, чтобы в случае повреждения оригинала можно было обратиться к резервной копии). Из этого примера можно сделать два вывода. 1. Одна тактика может использоваться для уточнения другой. Мы назвали резервирование тактикой. В свою очередь, можно различать «резервирование данных» (в системе баз данных) или «резервирование вычислений» (во встроенной системе управления). И то и другое — тактики. Проектировщик может пойти еще дальше и путем уточнения максимально конкретизировать резервирование. В отношении всех атрибутов качества, которые нам предстоит рассмотреть, мы намерены структурировать тактики в рамках иерархических систем. 2. Упаковка тактик в образцы. Любой образец (паттерн), призванный обеспечивать готовность, вероятнее всего, предусматривает совместное применение тактик резервирования и синхронизации. Кроме того, они в нем, наверное, конкретизированы. Ближе к завершению данного раздела мы представим пример образца, описанного в категориях тактик. Тактики атрибутов качества систем мы предпочитаем систематизировать в рамках иерархических систем; необходимо при этом иметь в виду, что любая иерархия демонстрирует лишь часть тактик — завершенных перечней тактик просто не бывает. Мы приведем тактические методики реализации каждого из шести атрибутов, рассмотренных в главе 4 (готовность, модифицируемость, производительность, безопасность, контролепригодность и практичность). Для каждого мы представим вариант систематизации тактик и их краткое описание. Систематизация нужна для того, чтобы архитектор имел возможность поиска нужных тактик.
|