В проектах автоматизации одно и то же поле или показатель нередко понимается разными участниками по-разному. Для специалиста предметной области «клиент» может означать лицо, заключившее договор, для CRM — запись определенного типа, для бухгалтерской системы — контрагента, а для аналитической отчетности — объект, соответствующий дополнительным критериям. Пока такие различия остаются незафиксированными, они превращаются в источник противоречивых требований, ошибок интеграции и неоднозначной интерпретации информации.
Техника «Словарь данных» направлена именно на устранение подобных расхождений. В BABOK она рассматривается как средство стандартизации определений элементов данных и формирования их единого понимания. Словарь фиксирует не только названия элементов, но также их смысл, допустимые значения и способы объединения простых элементов в составные структуры.
Для бизнес-аналитика словарь данных является связующим артефактом между предметной областью и формальным представлением информации в решении. Он позволяет зафиксировать договоренности о данных таким образом, чтобы ими могли одинаково пользоваться представители бизнеса, аналитики, разработчики, архитекторы, специалисты по интеграции и другие заинтересованные стороны.
Назначение техники
Согласно BABOK, назначение словаря данных состоит в стандартизации определения элемента данных и обеспечении единого понимания элементов данных.
Ключевым здесь является не само составление перечня полей, а стандартизация. Если несколько подразделений или систем используют один термин, словарь позволяет определить, действительно ли речь идет об одном и том же элементе. Если один объект имеет несколько названий, словарь позволяет установить связь между ними. Если значение ограничено определенным набором вариантов или форматом, это ограничение также становится частью общего определения.
Таким образом, словарь данных уменьшает семантическую неоднозначность. Он отвечает на практические вопросы: что означает конкретный элемент данных, как он называется, какие значения может принимать и как связан с более сложными информационными конструкциями.
Особенно важна такая стандартизация там, где данные проходят через несколько систем. Различия в названиях можно устранить техническим преобразованием, но различия в смысле требуют аналитической работы. Словарь делает этот смысл явным и доступным всем участникам изменения.
Описание техники
BABOK определяет словарь данных как средство документирования стандартных определений элементов данных, их смысла и возможных значений. Помимо отдельных элементов, словарь показывает, каким образом они объединяются в составные элементы данных. Благодаря этому техника применима не только к изолированным атрибутам, но и к более сложным информационным структурам.
Словари данных могут использоваться для стандартизации понимания данных между различными решениями и различными заинтересованными сторонами. BABOK также отмечает, что их иногда называют репозиториями метаданных. В этом качестве словарь становится средством управления сведениями о данных в контексте решения.
Значение этой техники возрастает при использовании data mining и более развитой аналитики: словарь способен предоставить метаданные, необходимые для таких сценариев. BABOK указывает и на связь словаря данных с моделированием данных: он часто используется совместно с диаграммой «сущность-связь» и может извлекаться из модели данных.
Способ реализации словаря при этом не принципиален. Он может поддерживаться вручную, например в электронной таблице, либо с применением автоматизированного инструмента. Наиболее значимым является содержание словаря и согласованность его использования, а не конкретная программная платформа.
Элементы техники
BABOK выделяет три элемента этой техники: элементы данных, простые элементы данных и составные элементы.
Элементы данных
Словарь описывает характеристики элементов данных и содержит их определения, которыми должны пользоваться заинтересованные стороны. В него входят стандартные определения элементов, их смысл и допустимые значения.
Назначение этого элемента состоит в том, чтобы превратить используемые в требованиях, интерфейсах, отчетах и системах обозначения в однозначно определенные информационные понятия. Запись «Дата клиента» сама по себе недостаточна: необходимо понимать, идет ли речь о дате регистрации, дате заключения договора, дате первого обращения или какой-то иной характеристике.
BABOK отдельно подчеркивает связь между простыми и составными элементами: словарь содержит определения каждого простого элемента и показывает, каким образом из них формируются составные структуры. Следовательно, словарь описывает не только отдельные значения, но и внутреннее устройство информационных объектов.
Простые элементы данных
Для каждого простого элемента BABOK предусматривает четыре вида информации:
Наименование — уникальное имя элемента, на которое могут ссылаться составные элементы. Уникальность здесь необходима для однозначной идентификации элемента внутри словаря. В корпоративной практике целесообразно избегать ситуаций, когда одинаковое название используется для разных смыслов.
Псевдонимы — альтернативные наименования, применяемые различными заинтересованными сторонами. Это особенно важно при интеграции подразделений и систем с различающейся терминологией. Например, понятия «ИНН клиента», tax_id и «налоговый номер» могут являться одним элементом. Псевдонимы позволяют сохранить используемую терминологию, не создавая несколько независимых определений одного и того же содержания.
Значения — допустимые значения элемента. Они могут задаваться перечислением либо через описание допустимого формата, включая количество символов. Если используются сокращения или коды, словарь должен раскрывать их значение. Таким образом, запись описывает не только смысл элемента, но и множество допустимых состояний.
Описание — определение элемента данных в контексте решения. Именно описание обеспечивает семантическую определенность. Техническое имя status практически ничего не говорит заинтересованной стороне, пока не установлено, статус какого объекта имеется в виду, что он характеризует и какое значение имеет для решения.
Эти четыре характеристики образуют минимальное содержание простого элемента в соответствии с BABOK. Дополнительные атрибуты могут использоваться в корпоративной практике, однако они не должны выдаваться за элементы, определенные этой техникой.
Составные элементы
Составной элемент создается из других элементов данных и описывает более сложную информационную структуру. BABOK выделяет три аспекта построения таких структур:
Последовательности устанавливают необходимый порядок простых элементов внутри составного. В BABOK приводится пример, в котором имя клиента формируется последовательностью имени, отчества и фамилии. Значение здесь имеет не только наличие элементов, но и порядок их соединения.
Повторения определяют, может ли один или несколько элементов появляться в структуре несколько раз. Простейший практический пример — список телефонных номеров клиента или несколько позиций в заказе. Для анализа важно явно отличать одиночное значение от повторяющегося набора.
Необязательные элементы могут присутствовать или отсутствовать в конкретном экземпляре составного элемента. Это позволяет описывать структуры, в которых часть информации не является обязательной во всех ситуациях.
Таким образом, составные элементы позволяют перейти от каталога отдельных характеристик к описанию структур данных, с которыми фактически работает решение.
Практическое применение
На практике бизнес-аналитик применяет словарь данных при выявлении и формировании спецификации информационных требований, согласовании терминологии, проектировании интеграций, подготовке отчетности и анализе существующих решений.
Работа обычно начинается с выявления используемых элементов данных. Источниками могут быть требования, формы документов, пользовательские интерфейсы, отчеты, модели данных, API, существующие информационные системы и результаты интервью с заинтересованными сторонами. Затем бизнес-аналитик сопоставляет одинаковые или близкие по смыслу элементы и выявляет расхождения в определениях.
К обсуждению привлекаются специалисты предметной области, владельцы процессов и другие участники, способные определить смысл данных и правила их использования. Результатом становится согласованный словарь, содержащий простые элементы и, при необходимости, описания составных структур.
Словарь может использоваться как самостоятельный артефакт либо совместно с моделями данных. На его основании принимаются решения о едином наименовании элементов, допустимых значениях, трактовке кодов, соответствии данных разных систем и структуре передаваемой информации.
Практический пример
Давайте рассмотрим проект интеграции CRM с системой электронного документооборота. Пусть CRM хранит сведения о клиентах, а система документооборота должна автоматически формировать договоры на основании переданных данных.
Предположим, что при анализе выясняется, что обе системы используют поле «Наименование клиента». В CRM для физического лица оно содержит строку вида «Иванов Иван Сергеевич», а система документооборота ожидает три самостоятельных значения: фамилию, имя и отчество. Кроме того, часть сотрудников называет одно из этих значений «ФИО клиента», хотя технически речь идет о совокупности трех элементов.
Бизнес-аналитик формирует словарь. Простыми элементами становятся «Фамилия клиента», «Имя клиента» и «Отчество клиента». Для каждого фиксируются уникальное наименование, используемые в системах псевдонимы, допустимые значения или формат и описание.
После обсуждения устанавливается, что отчество может отсутствовать. Следовательно, при описании составного элемента оно отмечается как необязательное. Затем определяется составной элемент «Полное имя клиента», представляющий последовательность «Фамилия + Имя + Отчество».
Параллельно обнаруживается еще одна проблема: в CRM поле client_type принимает значения P и C, тогда как документооборот использует PERSON и COMPANY. В словаре фиксируется смысл элемента «Тип клиента», его псевдонимы и допустимые значения с расшифровкой. Это позволяет отделить бизнес-смысл значения от конкретного кодирования в каждой системе.
В результате команда получает согласованное описание данных, на основании которого уточняются требования к интеграции и правила преобразования. Разработчики понимают структуру передаваемых данных, специалисты бизнеса видят их смысл, а тестировщики получают основу для проверки допустимых значений и необязательности отдельных элементов.
Хорошие и плохие практики
Хорошей практикой является создание словаря вокруг значимых для решения данных, а не механическое копирование структуры таблиц базы данных. Определения должны быть понятны заинтересованным сторонам и описывать смысл элемента в контексте решения.
Полезно фиксировать псевдонимы. Попытка принудительно заставить все подразделения немедленно отказаться от привычных им терминов часто непродуктивна. Гораздо важнее показать, какие обозначения относятся к одному элементу и какое определение считается стандартным.
Хорошей практикой также является совместное согласование значений и определений. Если бизнес-аналитик самостоятельно выводит смысл элемента из его технического имени, возникает риск закрепить ошибочную интерпретацию.
Плохой практикой является создание словаря «для документации» без дальнейшего сопровождения. Такой артефакт быстро расходится с реальным состоянием решения. Не менее опасно наличие нескольких независимых словарей для одного контекста: вместо стандартизации организация получает еще один уровень противоречий.
Типичные ошибки
Распространенная ошибка — смешение словаря данных с обычным перечнем полей. Если таблица содержит только техническое имя и тип, она не обеспечивает общего понимания смысла данных. В BABOK существенную роль играют определения, допустимые значения и структура составных элементов.
Вторая ошибка — игнорирование псевдонимов. Различия терминологии между подразделениями после этого не исчезают, а остаются скрытыми. В результате участники могут считать разные названия разными объектами или, наоборот, одинаковые названия одним элементом при различии смыслов.
Третья ошибка — отсутствие работы с составными элементами. Бизнес-аналитик может подробно описать отдельные поля, но не показать, как они образуют используемую решением структуру. Особенно заметна эта проблема при интеграциях и обмене сообщениями.
Четвертая ошибка — отсутствие владельцев процесса сопровождения словаря. BABOK прямо указывает, что без регулярной поддержки метаданные устаревают или становятся некорректными. Поэтому создание словаря без организации процесса его дальнейшего изменения дает лишь временный эффект.
Практические рекомендации
Начинать формирование словаря целесообразно с информации, вокруг которой уже существуют расхождения или которая используется несколькими системами и подразделениями. Попытка сразу описать все корпоративные данные обычно нивелирует практическую ценность результата относительно затрачиваемых усилий.
Для каждого определения полезно проверять его на независимость от конкретной реализации. Формулировка «поле VARCHAR(50) таблицы CLIENT» описывает техническую конструкцию, но практически не раскрывает бизнес-смысл элемента. Определение должно оставаться понятным специалисту предметной области.
При работе с интеграциями следует отдельно проверять различия между бизнес-смыслом элемента и способом кодирования его значений в системах. Одинаковый смысл может иметь разные технические представления, а одинаковое техническое название — различный смысл.
Составные элементы особенно полезно описывать для сообщений интеграции, документов и других структур, где важны порядок, повторяемость и необязательность частей. Это позволяет использовать словарь не только как справочник терминов, но и как средство проверки информационных требований.
Наконец, необходимо заранее определить правила сопровождения: кто меняет словарь, кто согласует изменения и как участники узнают о новой версии определения.
Ограничения техники
BABOK выделяет два основных преимущества словаря данных. Во-первых, он дает заинтересованным сторонам единое понимание формата и содержания соответствующей информации. Во-вторых, единый репозиторий корпоративных метаданных способствует согласованному использованию данных в масштабе организации.
Основное ограничение связано с сопровождением. Словарь требует регулярного обновления, иначе содержащиеся в нем метаданные устаревают и могут стать недостоверными. Причем изменения должны выполняться согласованно, чтобы заинтересованные стороны могли быстро находить достоверную информацию.
Следовательно, словарь особенно эффективен там, где данные используются многими участниками или решениями и существует реальная потребность в их стандартизации. Его применение менее оправданно, если стоимость создания и постоянного сопровождения превышает ценность устранения возможной неоднозначности.
Еще одно практическое ограничение состоит в том, что словарь не заменяет собой собственно моделирование данных. Он определяет элементы, значения и составные структуры, однако для описания сущностей и отношений между ними BABOK предусматривает отдельную технику моделирования данных. Эти средства следует рассматривать как взаимодополняющие.
Вместо заключения
Словарь данных в BABOK — это техника стандартизации понимания данных, а не просто каталог технических полей. Ее основой являются определения элементов данных, описание простых элементов через наименование, псевдонимы, значения и описание, а также построение составных элементов с учетом последовательности, повторяемости и необязательности.
Для бизнес-аналитика эта техника особенно полезна в ситуациях, когда информация пересекает границы подразделений, процессов или информационных систем. Она делает скрытые различия в терминологии и интерпретации явными и создает единое основание для требований, проектирования, интеграции и анализа.
В системе техник BABOK словарь данных тесно связан с моделированием данных и может использоваться совместно с диаграммами «сущность-связь». При этом его самостоятельная ценность заключается в стандартизации метаданных и создании общего языка, на котором заинтересованные стороны описывают используемые решением данные.
