ООА. Модели доменного уровня, понятие мостов, клиентов, серверов. - Painted-Black/BMSTU-OOP GitHub Wiki
Когда имеется большая система, мы разбиваем задачу на домены.
-
Прикладные - основные домены, которые решают непосредствено задачу.
-
Сервисные домены – обеспечивают функции, необходимые для поддержания прикладного домена, всевозможные сервисные функции.
-
Архитектурный – домен, отвечающий за архитектуру построения системы (один домен на систему); обеспечивает общие механизмы для управления системы. Задает архитектуру системы.
-
Домены реализации – стандартные, библиотечные функции и так далее. Функционал, который предоствяляет какой-то низкой уровень/ОС. Дают возможность лёгкой замены одной реализации на другую.
Один домен использует возможности и механизмы другого – между этими доменами есть мост. Тот, который предоставляет возможности, называют сервером; использующий – клиентом. Клиент рассматривает мост как набор каких-то предложений, которые кто-то ему представляет. Сервер – набор требований. Диаграмма доменного уровня как правило содержит в верхней части – домены, наиболее осведомленнее о системе (прикладные), внизу – сервисные и реализации.
При разбиении задачи для проектирования каждого домена можно использовать разные технологии. Например в задаче отрисовки, непосредственно рисование – структурный подход, а различные взаимодействия на сцене – объектный. Доменный подход позволяет в дальнейшем легко заменить один домен на другой; сервер рассматривается как набор предложений.
Прикладной домен разбивается на подсистемы, в то время как сервисный – просто набор функций. Для домена, так же как и для подсистемы, рисуется три диаграммы:
- модель связей подсистем (по информационной модели)
- модель взаимодействия подсистем (по МВО) (! Если мы выделяем событийную модель для какой-то подсистемы, то все подсистемы этого домена должны использовать событийную модель)
- модель доступа подсистем (по МДО)
- модель доступа к объекта. Стрелочкой помечается идентификатор процесса. Модель взаимодействия – асинхронная, событийная модель. Модель доступа – синхронное взаимодействие (один объект может получить данные другого объекта) В итоге получаем модель доступа к объектам, таблица процессов состояний, диаграмма потомков данных действий.