Разбор техник BABOK: Моделирование понятий

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

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

Техника моделирования понятий (Concept Modelling), описанная в BABOK, предназначена именно для работы с этой проблемой. Она позволяет систематизировать язык предметной области, определить значимые понятия и установить смысловые связи между ними. Результатом становится не техническая модель данных, а согласованное представление знаний бизнеса, пригодное для коммуникации, формирования требований и описания бизнес-правил.

Назначение техники

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

Ключевое здесь — именно систематизация языка бизнеса. Бизнес-аналитик не просто составляет перечень терминов, он формирует целостную систему понятий, в которой становится понятно, какие сущности значимы для предметной области, каким смыслом они обладают и как связаны друг с другом.

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

Таким образом, эта техника помогает бизнес-аналитику работать не только со словами, но и со знаниями, которые за ними стоят.

Описание техники

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

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

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

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

BABOK выделяет несколько ситуаций, в которых эта техника особенно полезна:

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

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

Элементы техники

BABOK определяет три элемента моделирования понятий: понятия-существительные, глагольные понятия и другие связи.

Понятия-существительные

Понятия-существительные являются базовыми понятиями соответствующей предметной области. BABOK характеризует их как «данности» домена.

В корпоративной системе документооборота такими понятиями могут быть «Документ», «Договор», «Контрагент», «Согласование», «Сотрудник» или «Подразделение». В страховании это могут быть «Полис», «Страхователь», «Страховой случай» и «Выплата».

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

Например, «Клиент» и «Контрагент» могут оказаться разными понятиями. Клиент приобретает продукт или услугу предприятия, тогда как контрагент является стороной определенных договорных отношений. В некоторых случаях один субъект выполняет обе роли, но совпадение экземпляров не делает сами понятия тождественными.

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

Глагольные понятия

Если понятия-существительные определяют основные «данности» предметной области, глагольные понятия задают структурные отношения между ними.

Например:

«Клиент подает Заявку»

«Заявка относится к Продукту»

«Менеджер согласовывает Договор»

«Договор заключается с Контрагентом»

BABOK подчеркивает, что таким глагольным понятиям следует давать стандартные формулировки, позволяющие однозначно на них ссылаться. Они не обязательно представляют из себя законченные предложения. Скорее, это строительные блоки, из которых затем могут формироваться более сложные высказывания, в частности определения бизнес-правил.

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

Например, правило «Каждая заявка должна быть подана клиентом» опирается на ранее определенные понятия «Заявка», «Клиент» и отношение «подает». Если участники одинаково понимают эти элементы, вероятность неоднозначной трактовки самого правила существенно снижается.

BABOK также отмечает, что некоторые глагольные понятия могут определяться, выводиться или вычисляться посредством определительных бизнес-правил. Таким образом, новое знание формируется из более фундаментальных фактов предметной области.

Другие связи

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

К ним, в частности, относятся категоризации, классификации, отношения «целое–часть» и роли.

Категоризация и классификация позволяют показать разновидности понятий. Например, «Юридическое лицо» и «Физическое лицо» могут выступать категориями понятия «Контрагент», если именно такая структура соответствует бизнес-смыслу рассматриваемой области.

Отношения «целое–часть» позволяют фиксировать составные конструкции. Например, «Договор» может включать «Приложение», а «Заказ» — «Позицию заказа». При этом бизнес-аналитик должен описывать именно бизнес-смысл отношения, а не предполагаемый способ хранения данных.

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

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

Практическое применение

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

На этапе выявления модель помогает бизнес-аналитику фиксировать используемый заинтересованными сторонами язык и сразу обнаруживать расхождения. Если представители двух подразделений употребляют термин «заказ», но один понимает под ним запрос клиента, а другой — уже подтвержденное обязательство компании, проблема становится видимой до формирования детальных требований.

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

При спецификации требований согласованный понятийный аппарат становится семантической основой требований, бизнес-правил и других моделей.

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

Практический пример

Давайте рассмотрим проект автоматизации договорной работы крупной компании. В организации существуют CRM, ERP и система электронного документооборота. Каждая система использует собственную терминологию.

На интервью сотрудники отдела продаж называют организацию, приобретающую услуги, «клиентом». Бухгалтерия использует термин «контрагент». Юристы говорят о «стороне договора». В информационных системах присутствует универсальный объект «Организация».

Попытка непосредственно перейти к требованиям быстро вызывает противоречия. Требование «система должна хранить договоры клиента» оказывается неоднозначным: клиентом считается только покупатель или любая сторона договора?

Бизнес-аналитик начинает моделирование понятий с базовых понятий-существительных: «Организация», «Контрагент», «Клиент», «Договор», «Сторона договора», «Услуга», «Заявка».

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

Следующий этап — глагольные понятия. В модели появляются связи: «Клиент приобретает Услугу», «Контрагент является Стороной договора», «Договор заключается между Сторонами договора», «Заявка инициирует подготовку Договора».

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

В ходе совместного рассмотрения выясняется важное обстоятельство: не каждый контрагент является клиентом. Поставщик также является контрагентом и стороной договора, но клиентом не является. Это различие влияет на требования к CRM, документообороту и интеграции с ERP.

После согласования модели бизнес-аналитик корректирует требования. Вместо неоднозначного «система должна отображать договоры клиента» появляются требования, использующие согласованные понятия и явно определенные отношения.

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

Хорошие и плохие практики

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

Другой важный принцип — моделировать не только существительные, но и смысловые отношения. Глоссарий без связей полезен, но не заменяет модель понятий.

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

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

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

Типичные ошибки

Первая распространенная ошибка — считать моделирование понятий расширенным глоссарием. Определения действительно являются отправной точкой, но без отношений между понятиями модель не раскрывает структуру знаний.

Вторая ошибка — преждевременная техническая конкретизация. Бизнес-аналитик начинает определять поля, типы данных и структуру объектов. В результате модель перестает быть независимой от дизайна и теряет главное преимущество, отмеченное BABOK.

Третья ошибка — попытка любой ценой сократить количество терминов. Богатство словаря является не недостатком, а важной характеристикой модели понятий. Если бизнес действительно различает несколько близких понятий, такое различие необходимо сохранить.

Четвертая ошибка — использование связей без однозначных формулировок. Если отношение сегодня называется «владеет», завтра «относится к», а послезавтра «связано с», невозможно надежно использовать эти конструкции в требованиях и бизнес-правилах.

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

Практические рекомендации

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

Особое внимание следует уделять словам, которые кажутся всем очевидными. Именно такие термины часто скрывают различные интерпретации. Полезный диагностический вопрос: «Как мы определяем это понятие так, чтобы отличить его от соседних?»

При обсуждении отношений стоит требовать от участников законченного бизнес-смысла. Связь «Клиент — Договор» почти ничего не сообщает. Формулировка «Клиент является стороной договора» уже выражает проверяемое знание.

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

Ограничения техники

BABOK отмечает четыре ограничения моделирования понятий:

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

Во-вторых, моделирование требует специальных навыков, прежде всего способности мыслить абстрактно и непроцедурно о знаниях и ноу-хау. Бизнес-аналитику необходимо уметь отделять смысл понятия от процессов, в которых оно используется, и систем, в которых оно реализовано.

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

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

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

Вместо заключения

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

Его основа — понятия-существительные, глагольные понятия и другие смысловые связи. Вместе они формируют язык, на котором могут последовательно выражаться знания, бизнес-правила и требования.

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