Концепция: Механизм анализа
Механизм анализа предоставляет шаблон типичного решения для типичной проблемы. Механизм анализа может предложить шаблон структуры, шаблон функции или оба вместе.
Взаимосвязи
Основное описание

Введение в механизмы анализа

Механизм анализа предоставляет шаблон типичного решения для типичной проблемы. Механизм анализа может предложить шаблон структуры, шаблон функции или оба вместе. Механизмы анализа используются для снижения сложности анализа и улучшения связности, предоставляя проектировщикам подсказки по сложным функциям. Механизмы позволяют преобразовывать функциональные требования в концепции программ без потери времени при описании сложных функций. Механизмы анализа часто сопровождают установку шаблонов архитектуры или анализа.  

Механизмы анализа используются как указатели для сложных технологий при среднем и низком уровне архитектуры. Используя механизмы в качестве указателей в архитектуре, можно упростить проектирование архитектуры. Например, необходимость хранить объекты вне зависимости от вариантов использования, жизненных этапов процесса или перезапуска и выключения системы определяет потребность поддержки постоянных объектов. Поддержка постоянных объектов - это сложный механизм, и во время анализа нам нет необходимости отвлекаться на то, как мы будем его реализовывать. Это дает начало механизму анализа поддержки постоянных объектов, имеющего дело с постоянными объектами. Таким образом нам не надо беспокоиться о том, как будет работать механизм поддержки постоянных объектов.

Механизмы анализа обычно не связаны с проблемной областью, а являются концепциями "компьютерной науки" и занимают средние и нижние уровни архитектуры. Они предоставляют специальное поведение классам подсистем, связанным с проблемной областью, или соответствуют реализации взаимодействия между классами и/или подсистемами. Они могут быть реализованы как структура. Примеры включают механизмы работы с постоянными объектами, внутренними процессами, ошибками и неполадками, оповещениями и сообщениями.  

Однако, с увеличением шаблонов анализа в разных проблемных областях, частичное или полное создание экземпляров этих анализов приводит к тому, что эти механизмы появляются в верхних уровнях архитектуры.

Примеры механизмов анализа

  • Поддержка постоянных объектов

    Для всех классов, чьи объекты могут стать постоянными, необходимо определить следующее:
    • Уровень дискретности: размер и диапазон объектов для хранения
    • Объем: Количество объектов для хранения
    • Продолжительность: как долго объекты необходимо хранить обычно?
    • Механизм поиска: как определенный объект идентифицируется?
    • Частота обновления: постоянны ли объекты и надо ли их обновлять?
    • Надежность: должны ли объекты быть устойчивы к сбою процесса, системы в целом или процессора?

  • Связи между процессами

    Для всех элементов, которые должны взаимодействовать с компонентами или службами, выполняемыми в других процессах или потоках, необходимо идентифицировать следующее:
    • Латентность: Как быстро должны процессы взаимодействовать друг с другом?
    • Синхронизация: асинхронное взаимодействие
    • размер сообщения: целесообразно указать диапазон
    • Протокол, контроль потока, буфер и т.д.

Другие типичные механизмы включают следующее:

  • Маршрутизация сообщений
  • Контроль процессов и синхронизация
  • Управление транзакциями
  • Обмен информацией
  • Защита
  • Дублирование
  • Сообщение об ошибках
  • Преобразованию форматов

Описание механизмов анализа

Процесс описания механизмов анализа включает следующее:

  1. Сбор всех механизмов анализа в список

    Одни и те же механизмы анализа могут появляться под различными именами в зависимости от реализаций вариантов использования или разных проектировщиков. Например, хранение, поддержка постоянных объектов, база данных и хранилище все могут обозначать механизм поддержки постоянных объектов. Связи между процессами, передача сообщений или удаленный вызов могут относиться к механизму связи между процессами.

  2. Отображение классов клиентов на механизмы анализа
  3. Диаграмма описывается в содержании.

    Классы и идентифицированные подсистемы должны быть отображены в идентифицированном механизме анализа - указатели обозначают, что класс использует механизм. Часто класс клиента требует службы не скольких механизмов.

  4. Идентификация параметров механизмов анализа

    To discriminate across a range of potential designs, identify the key characteristics used to qualify each analysis mechanism. Частично эти параметры связаны с функциональностью, частично с размером и быстродействием.

  5. Модель использования кооперирования

    После идентификации и названия механизма анализа их необходимо моделировать с помощью кооперирования 'объединение классов' (Обратитесь к BOO98]), часть которых не предоставляет прямо функциональность, но существует чтобы поддерживать ее. Часто эти 'классы поддержки' расположены в середине нижних уровней архитектуры, предоставляя таким образом общую службу поддержки всем классам уровня приложения.

    Если идентифицированный механизм достаточно общий, возможно, существуют шаблоны, из которых механизм может быть реализован с помощью объединения существующих классов и реализации новых в соответствии с шаблоном. Произведенный таким образом механизм анализа будет абстрактным и потребует дальнейшего уточнения с помощью проектирования и реализации.

Механизм анализа документированы в документеРабочий продукт: Документация по архитектуре программного обеспечения. С развитием архитектуры программного обеспечения документ Рабочий продукт: Документация по архитектуре программного обеспечения включает информацию об отношениях (или записях преобразования) механизмов анализа к механизмам проектирования и механизмам реализации и связанные обоснования для этих выборов.