Введение в механизмы анализа
Механизм анализа предоставляет шаблон типичного решения для типичной проблемы. Механизм анализа может предложить шаблон
структуры, шаблон функции или оба вместе. Механизмы анализа используются для снижения сложности анализа и улучшения
связности, предоставляя проектировщикам подсказки по сложным функциям. Механизмы позволяют преобразовывать
функциональные требования в концепции программ без потери времени при описании сложных функций. Механизмы анализа часто
сопровождают установку шаблонов архитектуры или анализа.
Механизмы анализа используются как указатели для сложных технологий при среднем и низком уровне архитектуры. Используя
механизмы в качестве указателей в архитектуре, можно упростить проектирование архитектуры. Например, необходимость
хранить объекты вне зависимости от вариантов использования, жизненных этапов процесса или перезапуска и выключения
системы определяет потребность поддержки постоянных объектов. Поддержка постоянных объектов - это сложный механизм, и
во время анализа нам нет необходимости отвлекаться на то, как мы будем его реализовывать. Это дает начало механизму
анализа поддержки постоянных объектов, имеющего дело с постоянными объектами. Таким образом нам не надо беспокоиться о
том, как будет работать механизм поддержки постоянных объектов.
Механизмы анализа обычно не связаны с проблемной областью, а являются концепциями "компьютерной науки" и занимают
средние и нижние уровни архитектуры. Они предоставляют специальное поведение классам подсистем, связанным с проблемной
областью, или соответствуют реализации взаимодействия между классами и/или подсистемами. Они могут быть реализованы как
структура. Примеры включают механизмы работы с постоянными объектами, внутренними
процессами, ошибками и неполадками, оповещениями и сообщениями.
Однако, с увеличением шаблонов анализа в разных проблемных областях, частичное или полное создание
экземпляров этих анализов приводит к тому, что эти механизмы появляются в верхних уровнях архитектуры.
-
Поддержка постоянных объектов
Для всех классов, чьи объекты могут стать постоянными, необходимо определить следующее:
-
Уровень дискретности: размер и диапазон объектов для хранения
-
Объем: Количество объектов для хранения
-
Продолжительность: как долго объекты необходимо хранить обычно?
-
Механизм поиска: как определенный объект идентифицируется?
-
Частота обновления: постоянны ли объекты и надо ли их обновлять?
-
Надежность: должны ли объекты быть устойчивы к сбою процесса, системы в целом или процессора?
-
-
Связи между процессами
Для всех элементов, которые должны взаимодействовать с компонентами или службами, выполняемыми в других процессах
или потоках, необходимо идентифицировать следующее:
-
Латентность: Как быстро должны процессы взаимодействовать друг с другом?
-
Синхронизация: асинхронное взаимодействие
-
размер сообщения: целесообразно указать диапазон
-
Протокол, контроль потока, буфер и т.д.
Другие типичные механизмы включают следующее:
-
Маршрутизация сообщений
-
Контроль процессов и синхронизация
-
Управление транзакциями
-
Обмен информацией
-
Защита
-
Дублирование
-
Сообщение об ошибках
-
Преобразованию форматов
Процесс описания механизмов анализа включает следующее:
-
Сбор всех механизмов анализа в список
Одни и те же механизмы анализа могут появляться под различными именами в зависимости от реализаций вариантов
использования или разных проектировщиков. Например, хранение, поддержка постоянных объектов, база
данных и хранилище все могут обозначать механизм поддержки постоянных объектов. Связи между
процессами, передача сообщений или удаленный вызов могут относиться к механизму связи между
процессами.
-
-
Отображение классов клиентов на механизмы анализа
-
Классы и идентифицированные подсистемы должны быть отображены в идентифицированном механизме анализа -
указатели обозначают, что класс использует механизм. Часто класс клиента требует службы не скольких механизмов.
-
Идентификация параметров механизмов анализа
To discriminate across a range of potential designs, identify the key characteristics used to qualify each
analysis mechanism. Частично эти параметры связаны с функциональностью, частично с размером и
быстродействием.
-
-
Модель использования кооперирования
После идентификации и названия механизма анализа их необходимо моделировать с помощью кооперирования
'объединение классов' (Обратитесь к BOO98]), часть которых не предоставляет прямо функциональность, но существует
чтобы поддерживать ее. Часто эти 'классы поддержки' расположены в середине нижних уровней архитектуры,
предоставляя таким образом общую службу поддержки всем классам уровня приложения.
Если идентифицированный механизм достаточно общий, возможно, существуют шаблоны, из которых механизм может быть реализован с помощью
объединения существующих классов и реализации новых в соответствии с шаблоном. Произведенный таким образом
механизм анализа будет абстрактным и потребует дальнейшего уточнения с помощью проектирования и реализации.
Механизм анализа документированы в документеРабочий продукт: Документация по архитектуре программного
обеспечения. С развитием архитектуры программного обеспечения документ Рабочий продукт: Документация по архитектуре программного обеспечения
включает информацию об отношениях (или записях преобразования) механизмов анализа к механизмам проектирования и
механизмам реализации и связанные обоснования для этих выборов.
|