Техники Руководство BABOK v3, 10.11

Моделирование понятий

Коротко Модель понятий упорядочивает деловую лексику предметной области: то, о чём говорят люди, и факты, которые связывают эти понятия. Она даёт заинтересованным сторонам и команде, создающей решение, единый однозначный язык для требований, правил и решений.

По материалам: IIBA, Руководство BABOK® v3, техника 10.11 «Моделирование понятий»; Watermark Learning, BABOK v3 Study Tables (2016), техника 10.11.

На этой странице

Что это#

Модель понятий (concept model) — это картина того, как бизнес говорит и мыслит, а не того, как база данных хранит данные. Руководство BABOK® описывает три вида строительных блоков:

  • Понятия-существительные (noun concepts) — то, чему бизнесу нужно дать имя: клиент, бронирование, ремонтный заказ, запчасть.
  • Понятия-глаголы (verb concepts) — короткие утверждения-факты, которые связывают понятия-существительные: клиент делает бронирование, позиция ремонта использует запчасть. Каждое такое утверждение эксперт бизнеса может подтвердить как истинное или отвергнуть как ложное.
  • Другие связи — категории и классификации (клиент без записи — разновидность клиента), связи «целое — часть» (ремонтный заказ включает позиции ремонта) и роли (человек, выступающий как клиент или как механик).

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

Руководство BABOK применяет технику в трёх задачах: «Проведение выявления» (фиксация ключевых терминов и связей между ними), «Анализ текущего состояния» (описание лексики предметной области бизнеса) и «Спецификация и моделирование требований» (определение терминов, важных для изменения).

Когда применять#

Применяйте модель понятий, когда:

  • люди называют одним словом разные вещи или разными словами — одну и ту же;
  • в работе много правил и решений (ценообразование, право на услугу, соответствие нормативным требованиям), где каждое правило зависит от точных терминов;
  • нужна лексика, которая не наследует искажений существующей системы или структуры базы данных;
  • несколько команд или систем должны пользоваться общими бизнес-терминами.

Не применяйте её, когда достаточно простого глоссария: в небольшой предметной области, где термины почти не связаны друг с другом. Если для разработки уже нужны атрибуты, ключи и кардинальности, переходите к моделированию данных. Часто одно следует за другим: сначала модель понятий, потом модель данных.

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

Как это делать#

  1. Соберите кандидатов в термины. Выпишите существительные из интервью, документов, форм, экранов, отчётов и существующих правил. Отмечайте, откуда взят каждый термин.
  2. Разберитесь с синонимами и омонимами. Объедините слова с одинаковым смыслом и выберите один предпочтительный термин. Разделите слово, которое значит разное для разных групп.
  3. Дайте определение каждому понятию-существительному — одним предложением, понятным новичку, — и занесите его в глоссарий.
  4. Свяжите понятия глагольными фразами. Для каждой связанной пары напишите простое утверждение-факт («механик назначен на ремонтный заказ»). Прочитайте его в обоих направлениях и убедитесь, что оно имеет смысл.
  5. Добавляйте категории, связи «целое — часть» и роли только там, где от них зависят правила или решения.
  6. Нарисуйте модель и держите её в границах изменения.
  7. Проверьте модель с экспертами предметной области, читая факты вслух. Спрашивайте: «Это всегда так? Какие бывают исключения?»
  8. Пользуйтесь моделью. Пишите требования, бизнес-правила и критерии приёмки только в её терминах и обновляйте модель, когда меняется бизнес.

Пример#

В «Мастерской», вымышленной сети из 12 веломастерских, которая планирует онлайн-запись, одно и то же сотрудники стойки приёма называют «заявкой», механики — «нарядом», а владелец — «ремонтным заказом». При этом словом «бронирование» называют и зарезервированное время, и сам ремонт.

Аналитик согласует предпочтительные термины с владельцем и управляющими мастерских, а затем рисует такую модель:

Рис. 1. Модель понятий для бронирования и ремонта в «Мастерской». Прямоугольники — бизнес-понятия; каждая подписанная линия читается как короткое предложение. Нотация: модель понятий (понятия и глагольные фразы)
Показать текстом
Клиент --делает--> Бронирование
Бронирование --резервирует--> Временной слот --относится к--> Мастерская
Бронирование --становится--> Ремонтный заказ          (когда велосипед сдан в мастерскую)
Ремонтный заказ --выполняется для--> Велосипед --принадлежит--> Клиент
Механик --назначен на--> Ремонтный заказ
Ремонтный заказ --включает--> Позиция ремонта     (целое — часть)
Позиция ремонта --использует--> Запчасть --поставляется--> Поставщик
Ремонтный заказ --имеет--> Статус ремонта

Клиент без записи, Зарегистрированный клиент --разновидность--> Клиент

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

Частые ошибки#

  • Рисуют базу данных вместо лексики → не включайте атрибуты, ключи и технические таблицы; моделируйте то, что говорит бизнес.
  • Повсюду расплывчатые глаголы вроде «имеет» или «связан с» → используйте конкретные глаголы, которые эксперт может подтвердить или отвергнуть.
  • Моделируют всё предприятие → ограничьте модель понятиями, которых касается изменение.
  • Прямоугольники без определений → у каждого понятия-существительного должна быть статья в глоссарии.
  • Строят модель в одиночку → проверяйте её, читая факты вслух вместе с экспертами; ранние разногласия — важный результат, а не помеха.
  • Модель устаревает → назначьте ей владельца и обновляйте её, когда меняются продукты, правила или нормативные требования.

Чек-лист#

  • У каждого понятия-существительного одно предпочтительное название и определение в одно предложение.
  • Синонимы записаны как альтернативные названия, а не как отдельные понятия.
  • На каждой линии есть глагольная фраза, которая читается как предложение.
  • Категории, связи «целое — часть» и роли показаны там, где от них зависят правила.
  • Эксперты предметной области проверили факты.
  • Требования и правила используют только термины из модели.
  • У модели есть владелец и дата последней проверки.

Источники и что почитать#

  • IIBA. A Guide to the Business Analysis Body of Knowledge (BABOK® Guide), version 3. International Institute of Business Analysis, 2015. Рус. изд.: Руководство к своду знаний по бизнес-анализу (Руководство BABOK®), версия 3.0. Техника 10.11 «Моделирование понятий».
  • Watermark Learning. BABOK v3 Study Tables. 2016 (учебное пособие к Руководству BABOK). Техника 10.11.