Перейти к содержимому

Предметная область и словарь

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

Словарь предметной области кажется простым артефактом, но он сильно влияет на качество всей модели. “Заявка” для пользователя может быть просьбой, для сотрудника — документом на согласовании, для разработчика — записью в базе, а для руководителя — единицей отчётности. Пока это не разобрано, модель будет неустойчивой.

Словарь не должен быть просто списком слов. Полезная структура выглядит так:

ПолеЧто фиксируется
Терминосновное название понятия
Определениесмысл термина в рамках проекта
Синонимыдругие используемые названия
Источникдокумент, интервью, процесс, эксперт
Пример использованияфраза или ситуация, где термин встречается
Связанные правилабизнес-правила, где термин участвует
Связанные сценариигде понятие используется в поведении системы
Возможная роль в моделикласс, атрибут, состояние, документ, событие

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

Пример фрагмента словаря для записи на консультации:

ТерминОпределениеСинонимыВозможная роль
Консультациявстреча студента и преподавателя по учебному вопросуприём, встречасобытие или услуга
Интервал консультациивремя, доступное для записислот, окнопредметный объект
Записьподтверждённое бронирование интервала студентомброньобъект с жизненным циклом
Отменапрекращение активной записиотказсобытие или операция

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

Со словарём удобно работать итеративно. Сначала фиксируются очевидные термины из темы проекта. Затем добавляются термины из требований и интервью. После описания сценариев появляются названия действий, состояний и результатов. После процессной модели становятся заметны документы, события и промежуточные данные. На этапе концептуального моделирования словарь уточняется: часть терминов становится классами, часть — атрибутами, часть — ролями или состояниями.

Важно фиксировать спорные термины. Если разные участники называют один и тот же объект по-разному, нужно выбрать основное название и записать синонимы. Если одно слово используется в разных смыслах, лучше развести понятия: например, “заявка” как документ и “заявка” как процесс обработки.