Задача: Определение механизмов проектирования
Эта задача описывает процесс перевода аналитических механизмов в механизмы проектирования.
Назначение
  • Преобразовать аналитические механизмы в механизмы проектирования с учетом ограничений, налагаемых средой реализации.
Взаимосвязи
Шаги
Распределите клиентов аналитических механизмов по категориям

Аналитические механизмы предоставляют абстрактный набор служб, используемых аналитическими классами. Такой подход облегчает моделирование сложного поведения (это обязательно будет сложным процессом, но эти сложности не относятся к процессу анализа). При этом становится возможным определить требования к проектируемым службам системы, не вдаваясь в вопросы, связанные с поставщиком этих служб.

В первую очередь следует уточнить информацию, относящуюся к аналитическим механизмам. Этапы этого процесса перечислены ниже:

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

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

Разбейте клиентов на группы в соответствии с их отношением к профайлам характеристик. Добавьте клиентов, использующих аналитические механизмы с похожими профайлами характеристик в одну категорию; для каждой потребности клиентов определите соответствующий механизм проектировки. На основе этих групп в дальнейшем будут созданы механизмы проектирования. Например, аналитический механизм "взаимодействие между процессами" может быть реализован механизмом проектировки "посредник запросов объектов". Различные профайлы характеристик будут оформлены в виде различных механизмов проектировки, хотя эти механизмы могут быть порождены одним и тем же аналитическим механизмом. Простой аналитический механизм хранения данных может быть реализован в виде нескольких механизмов проектировки: сохранение данных в памяти, в файлах, в базе данных, в распределенных хранилищах и т. п. Механизмы проектировки являются уточнениями аналитических механизмов, созданными на основе профайлов характеристик.

Создайте список механизмов реализации

Следующий этап - создание списка доступных механизмов реализации (см. Концепция: Механизмы проектирования и реализации):

  • Механизмы, входящие в состав промежуточного программного обеспечения или базового компонента.
  • Механизмы, входящие в состав операционной системы.
  • Механизмы, входящие в состав компонентов.
  • Механизмы, входящие в состав библиотеки классов.
  • Устаревший код (см. также Задача: Совмещение существующих элементов проектирования)
  • Специальные пакеты: средство создания графического интерфейса, географическая информационная система, DBMS и т. п.

Определите, можно ли использовать имеющиеся механизмы реализации и какие механизмы потребуется создать.

Свяжите механизмы проектирования с механизмами реализации

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

Определите допустимые диапазоны параметров. Учитывая характеристики механизмов проектирования, определите допустимые значения или диапазоны значений параметров, которые будут применяться к потенциальным механизмам реализации.

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

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

На выбор механизма реализации влияют не только его технические характеристики, но и некоторые параметры, не относящиеся к техническим (например, цена). Некоторые из принятых решений могут быть условными; почти все решения влекут некоторые риски: связанные с быстродействием, объемом работ, масштабируемостью. На этом этапе часто приходится выносить оценки, создавать пробные прототипы либо модифицировать архитектурный прототип.

Составьте документацию по архитектурным механизмам

На этом этапе архитектор программного обеспечения выбирает и оценивает механизмы, создавая их, совмещая и проверяя их работу. Окончательное решение принимается при завершении этапа проектирования. Архитектор программного обеспечения и инженер совместно составляют документацию, описывающую механизмы и особенности их использования в форме рекомендаций, связанных с проектированием. См. Задача: Составить рекомендации по проекту. Связи между аналитическими механизмами, механизмами проектировки и реализации, а также основания для принятых решений следует описать в Документе о программной архитектуре. Механизмы являются элементами модели проектирования (пакетом, классом либо подсистемой проектирования) и должны быть описаны в рабочем продукте Модель проектирования в ходе выполнения соответствующих задач проектирования.



Свойства
Несколько вхождений
Управляется событиями
Выполняющийся
Необязательный
Запланированный
Повторяющийся
Дополнительные сведения