Настраиваем бизнес-глоссарий в SAP PowerDesigner

УПРАВЛЕНИЕ ЗНАНИЯМИ  Настраиваем Категория:  УПРАВЛЕНИЕ ЗНАНИЯМИ УПРАВЛЕНИЕ ДАННЫМИ
Опубликовал:         10.10.2019               print

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


Корпоративный бизнес-глоссарий имеет первостепенное базовое значение для управления данными:

  1. Сокращение барьера между Бизнесом и IT, недопонимания между Бизнесом и Бизнесом. Бизнес-глоссарий позволяет сотрудникам на берегу синхронизироваться по контексту, снизить эффект испорченного телефона между участниками разных команд.
  2. Снижение риска неправильного использования данных из-за двойственного, кусочного понимания бизнес-контекста;
  3. В зрелой комплаенс среде бизнес-термины связаны с другими бизнес-терминами, метаданными, ключевыми показателями эффективности (KPI) для ускорения анализа.
  4. Хороший бизнес-глоссарий должен быть интегрирован в эффективную функцию поиска, способную находить контекстно-зависимые релевантные результаты: деловые термины, положения, области бизнес-процессов, метрики, технические метаданные.
  5. Кросс-функциональным группам трудно работать совместно, когда каждый департамент - по своим окопам. Менеджеры начинают определять условия ведения бизнеса по своим предпочтениями, а не в соответствии со стандартами, политиками и передовыми практиками. Чтобы заинтересованные стороны были своевременно информированы, бизнес-глоссарий должен быть оснащен рабочими процессами управления и согласования.
  6. Рабочий процесс (workflow) размещения бизнес-терминов в едином репозитории подразумевает роли, ответственность по созданию, редактированию, утверждению и публикации терминов.
  7. Глоссарий может технически храниться в репозитории моделей данных, а конечным пользователям не важно об этом знать. Им важно знать то место, куда они могут обратиться и быстро найти определения, контекст по ключевой бизнес-информации. Настоящая совместная работа происходит тогда, когда взаимодействие является двунаправленным: стороны могут просматривать термины, оставлять комментарии, тем самым вносить вклад в совершенствование определений.


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


Перейдем к практике.
В SAP PowerDesigner бизнес-термины создаются в модели требований (Requirements Model, RQM), на которые затем можно ссылаться в логической модели данных (LDM), физической модели данных (PDM) и других моделях. Если использовать репозиторий, то, например, в PDM при задании наименований полям таблиц, при вводе первых трех букв будут предлагаться термины из глоссария (настраиваемая опция).


Базовый набор свойств термина весьма бедный, но если воспользоваться возможностью расширения модели (Extension), то можно (нужно!) кастомизировать термины для утилитарного применения. Непосредственно в модели RQM создадим расширение,




внутри которого добавим метакласс GlossaryTerm.




Этот метакласс будет оказывать влияние на термины глоссария, поэтому создадим необходимые дополнительные атрибуты. В реальном проекте я запустил в дело следующие поля:

  • • Аббревиатура;
  • • Синоним / перевод /предыдущее наименование;
  • • Альтернативная или предыдущая аббревиатура;
  • • Web-ссылка на описание термина (официальный или авторитетный внешний ресурс, где опубликовано подробное описание, положение и т.п.);
  • • Предметная область 1 (таксономия бизнеса, обязательное поле, выбор из списка);
  • • Предметная область 2 (термин может подпадать под несколько категорий, выбор из того же списка);
  • • Предметная область 3 (термин может подпадать под несколько категорий, выбор из того же списка);
  • • Распространенность термина (обязательное поле, выбор из списка: Общепринятый или Внутрикорпоративный).




Чтобы отобразить дополнительные поля на форме-карточке термина, переопределим форму General, воспользовавшись конструктором форм.




В результате должна получиться вот такая форма для заполнения:




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



Вот так метод выглядит в действии:



И собственно исходный код метода:

------------------------------------------------------------------------------

Sub %Method%(obj)

Dim model
Dim trm
Dim trmNew
Dim objExcel
Dim wBook
Dim ExcelFileFullName
Dim fso
Dim okSearch
Dim i, termCode, termComm, WhatDo

Set model = ActiveModel ' Current active model
If (model Is Nothing) Then
  MsgBox "Прежде необходимо открыть модель требований (RQM)"
  Exit sub
Else  
   If Not model.IsKindOf(PdRQM.cls_Model) Then
     MsgBox "Текущая модель НЕ является моделью требований (RQM)"
     Exit sub
   End if
End If


ExcelFileFullName = TRIM(InputBox("Введите полное (включая путь) имя Excel-файла с описаниями полей и таблиц. Шаблон вида:" & vbNewLine & vbNewLine _
    & "В первой строке 1-го листа Excel - наименования столбцов (наименования могут быть произвольными), в следующих строках:" & vbNewLine _
    & "1-ый  столбец - Бизнес-термин" & vbNewLine _
    & "2-ой  столбец - Описание термина" & vbNewLine _
    & "3-ий  столбец - Web-ссылка на описание термина" & vbNewLine _
    & "4-ый  столбец - Аббревиатура" & vbNewLine _
    & "5-ый  столбец - Cиноним, перевод или предыдущее наименование" & vbNewLine _      
    & "6-ой  столбец - Альтернативная или предыдущая аббревиатура" & vbNewLine _
    & "7-ой  столбец - Предметная область 1" & vbNewLine _
    & "8-ой  столбец - Предметная область 2" & vbNewLine _    
    & "9-ый  столбец - Предметная область 3" & vbNewLine _        
    & "10-ый столбец - Распространенность термина (Общепринятый или Внутрикорпоративный)" & vbNewLine & vbNewLine ))
IF ExcelFileFullName = "" Then
  Exit sub
End If  

Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists(ExcelFileFullName) Then
Else
  MsgBox "НЕ существует файла  " & ExcelFileFullName
  Exit sub
End If



WhatDo = MsgBox("Импортировать термины:" & vbNewLine & vbNewLine _
         & "ДА  - добавить как новые термины" & vbNewLine _
         & "НЕТ - заместить, обновить описаниями из файла" , 4 + 32, "")


Set objExcel = CreateObject("Excel.Application") 
objExcel.Visible = True 
Set wBook = objExcel.Workbooks.Open(ExcelFileFullName)

For i = 2 To 64000
  If TRIM(wBook.Sheets(1).Cells(i, 1)) = "" Then
    Exit For    ' выход из цикла, если закончился список полей в Excel-файле
  End if
  termCode  = TRIM(wBook.Sheets(1).Cells(i, 1).Value)
  termComm  = TRIM(wBook.Sheets(1).Cells(i, 2).Value)

  okSearch = False
  For Each trm In model.Glossary
    If UCase(termCode) = UCase(TRIM(trm.Code)) Then
      okSearch = True
      Exit For
    End if
  Next

  If WhatDo = 7 AND okSearch Then
    output  "Обновление:   " & trm.Code & "  ----Комментарий:  " & trm.Comment
    trm.SetAttribute "Comment",  termComm
    trm.SetExtendedAttribute "URL", TRIM(wBook.Sheets(1).Cells(i, 3).Value)
    trm.SetExtendedAttribute "abbreviation", TRIM(wBook.Sheets(1).Cells(i, 4).Value)
    trm.SetExtendedAttribute "synonym", TRIM(wBook.Sheets(1).Cells(i, 5).Value)
    trm.SetExtendedAttribute "abbreviation_alter", TRIM(wBook.Sheets(1).Cells(i, 6).Value)
    trm.SetExtendedAttribute "key_phrase_1", TRIM(wBook.Sheets(1).Cells(i, 7).Value)
    trm.SetExtendedAttribute "key_phrase_2", TRIM(wBook.Sheets(1).Cells(i, 8).Value)
    trm.SetExtendedAttribute "key_phrase_3", TRIM(wBook.Sheets(1).Cells(i, 9).Value)
    trm.SetExtendedAttribute "term_spread", TRIM(wBook.Sheets(1).Cells(i, 10).Value)

  ElseIf WhatDo = 6 AND okSearch = False Then
    output  "Новый:   " & termCode
    Set trmNew = model.Glossary.CreateNew()
    trmNew.Code = termCode
    trmNew.Name = termCode
    trmNew.Comment = termComm
    trmNew.SetExtendedAttribute "URL", TRIM(wBook.Sheets(1).Cells(i, 3).Value)
    trmNew.SetExtendedAttribute "abbreviation", TRIM(wBook.Sheets(1).Cells(i, 4).Value)
    trmNew.SetExtendedAttribute "synonym", TRIM(wBook.Sheets(1).Cells(i, 5).Value)
    trmNew.SetExtendedAttribute "abbreviation_alter", TRIM(wBook.Sheets(1).Cells(i, 6).Value)
    trmNew.SetExtendedAttribute "key_phrase_1", TRIM(wBook.Sheets(1).Cells(i, 7).Value)
    trmNew.SetExtendedAttribute "key_phrase_2", TRIM(wBook.Sheets(1).Cells(i, 8).Value)
    trmNew.SetExtendedAttribute "key_phrase_3", TRIM(wBook.Sheets(1).Cells(i, 9).Value)
    trmNew.SetExtendedAttribute "term_spread", TRIM(wBook.Sheets(1).Cells(i, 10).Value)
  End if
Next

Set trm = Nothing
Set trmNew = Nothing

wBook.Close             ' обязательно осовбождаем ресурсы при завершении процедуры
Set objExcel = Nothing  ' обязательно осовбождаем ресурсы при завершении процедуры

MsgBox "Завершен импорт терминов из файла  " & ExcelFileFullName
  
End Sub


Энергия идеи   dvbi.ru                    Последнее изменение: 2019-10-10 23:34:00Z         Возрастная аудитория: 14-70         Комментариев:  0
Теги:   Примеры Управление
Связанные статьи:

Пожалуйста, проголосуйте и ниже поставьте лайк:   rating
0 0 0


  Comments


Следующая статья:    Шаблон плана коммуникаций
Предыдущая статья:  Собираем затраты на Data Governance