Руководство...

126
Руководство пользователя ARIS SCRIPT

Transcript of Руководство...

Page 1: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT

Page 2: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. 2

СОДЕРЖАНИЕ

1. ОТЧЕТЫ, ОБЩАЯ ИНФОРМАЦИЯ. ............................................................................ 5

1.1. Методология использования скриптов для создания отчетов в системе ARIS .... 5

1.2. Структура базы данных ARIS ......................................................................................... 6

1.3. Примерная структура моделей базы данных ARIS ..................................................... 8

1.4. Рамки переносимости скриптов .................................................................................. 11

1.5. Положительные стороны использования скриптов в ARIS.................................... 12

2. ДОКУМЕНТИРОВАНИЕ ИНФОРМАЦИИ О ПРОЕКТЕ С ПОМОЩЬЮ ARIS SCRIPT ........................................................................................................................................... 13

2.1. Определения ................................................................................................................... 13

2.2. Этапы создания документации .................................................................................... 13

3. РАБОТА СО СПРАВОЧНОЙ СИСТЕМОЙ В ARIS .................................................... 16

3.1. Структура справочной системы ARIS ......................................................................... 16

3.2. Использование ARIS Help Topic ................................................................................... 16

3.3. Использование ARIS Method Help ................................................................................ 18

3.4. Использование ARIS Methods Manual ......................................................................... 19

3.5. Нахождение справки о классах, объектах и константах ARIS_Extension .............. 19

3.6. Нахождение справочной информации о встроенном в систему ARIS языке программирования Sax Basic .............................................................................................. 20

4. КРАТКОЕ ОПИСАНИЕ ЯЗЫКА SAX BASIC LANGUAGE ........................................ 21

4.1. Переменные и константы .............................................................................................. 21

4.2. Написание кода программы ......................................................................................... 23

4.3. Принятие решения в программе .................................................................................. 25

4.4. Использование циклов. ................................................................................................. 27

4.5. Процедуры и функции ................................................................................................... 28

4.6. Классы и объекты .......................................................................................................... 29

5. РАБОТА СО СКРИПТАМИ В СИСТЕМЕ ARIS .......................................................... 31

5.1. Скрипты в системе ARIS, общие сведения ................................................................ 31

5.2. Запуск скрипта для создания отчета .......................................................................... 32

5.3. Создание скрипта с помощью Script Wizard .............................................................. 34

5.4. Редактирование скрипта с помощью Script Wizard .................................................. 39

5.5. Редактирование скрипта с помощью Script Editor .................................................... 41

5.6. Отладка скриптов, работа с закладкой Watch, работа с точками останова .......... 41

5.7. Вывод на экран вспомогательной информации в ходе выполнения скрипта .... 43

5.8. Использование различных языков в скриптах ARIS ................................................ 44

6. СТРУКТУРА, ФОРМАТ И МАКЕТ ОТЧЕТА ............................................................... 46

6.1. Операторы, формирующие структуру отчета ........................................................... 46

Page 3: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 3

6.2. Операторы, создающие нижний и верхний колонтитул макета отчета ................. 47

6.3. Операторы, вставляющие в отчет строки .................................................................. 47

6.4. Использование таблиц в отчете .................................................................................. 47

6.5. Различия используемых форматов отчетов ............................................................. 49

6.6. Операторы, создающие иллюстрацию и вставляющие ее в отчет ........................ 49

6.7. Пример скрипта, формирующего структуру отчета .................................................. 50

7. ИСПОЛЬЗОВАНИЕ ИНТЕРАКТИВНЫХ ЭЛЕМЕНТОВ ПРИ СОЗДАНИИ СКРИПТОВ В ARIS .......................................................................................................... 54

7.1. Использование Dialog Editor для создания экранных форм .................................. 54

7.2. Описание параметров диалоговых элементов ARIS SAX Basic ............................. 56

7.3. Обработка результатов выбора пользователя ......................................................... 57

7.4. Использование стандартных экранных форм .......................................................... 57

7.5. Пример скрипта на использование экранных форм ................................................ 58

8. ОПИСАНИЕ СКРИПТОВ ОТЧЕТОВ, ПРИСУТСТВУЮЩИХ В СТАНДАРТНОЙ ПОСТАВКЕ ARIS ............................................................................................................. 60

9. СКРИПТЫ SEMANTIC CHECK ................................................................................... 69

9.1. Скрипты семантических проверок: общие сведения ............................................... 69

9.2. Запуск скрипта семантической проверки в системе ARIS ....................................... 71

9.3. Работа со стандартным (встроенным) скриптом семантических проверок ......... 73

10. КЛАССЫ И ОБЪЕКТЫ ARIS SAX BASIC ................................................................ 74

10.1. Терминология ............................................................................................................... 74

10.2. Перечисление, общее описание классов и объектов ............................................. 75

10.3. Структура взаимоотношений моделей, древо классов, древо наследования ... 78

11. ПОДРОБНОЕ ОПИСАНИЕ СВОЙСТВ И МЕТОДОВ КЛАССОВ ARIS .................. 81

11.1. Класс “ARIS_BASIC_Extension” .................................................................................. 81

11.2. Класс “BaseList” ........................................................................................................... 82

11.3. Класс “Item” ................................................................................................................... 83

11.4. Класс “Occ” ................................................................................................................... 84

11.5. Класс “Attr” .................................................................................................................... 84

11.6. Класс “Cxn” ................................................................................................................... 85

11.7. Класс “CxnOcc” ............................................................................................................. 86

11.8. Класс “Database” .......................................................................................................... 86

11.9. Класс “Font” .................................................................................................................. 87

11.10. Класс “FontStyle” ........................................................................................................ 87

11.11. Класс “Group” ............................................................................................................. 88

11.12. Класс “Lane” ................................................................................................................ 89

11.13. Класс “Language” ....................................................................................................... 90

11.14. Класс “MethodFilter” ................................................................................................... 90

Page 4: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 4

11.15. Класс “Model” .............................................................................................................. 91

11.16. Класс “ObjDef” ............................................................................................................ 96

11.17. Класс “ObjOcc” ........................................................................................................... 98

11.18. Класс “Output” ............................................................................................................ 98

11.19. Класс “Picture” .......................................................................................................... 101

11.20. Класс “Table” ............................................................................................................. 102

11.21. Класс “User” .............................................................................................................. 102

11.22. Класс “UserGroup”.................................................................................................... 103

12. ВВЕДЕНИЕ В ARIS API ........................................................................................... 104

12.1. Описание ARIS API ..................................................................................................... 104

12.2. Краткое описание возможностей ARIS API............................................................. 105

13. ОСНОВНЫЕ АЛГОРИТМИЧЕСКИЕ ПРИЕМЫ ПРИ РАБОТЕ С БАЗОЙ ARIS .. 107

13.1. Пример на использование Occurrence и Definition объекта ................................ 107

13.2. Пример создания своих списков объектов и их сортировки .............................. 111

13.3. Пример рекурсивной программы ............................................................................ 115

13.4. Пример анализа топологии (геометрии) модели ................................................... 119

13.5. Пример применения теории графов для анализа модели с помощью ARIS Script...................................................................................................................................... 121

14. ОСНОВНЫЕ ПРИЕМЫ КОЛЛЕКТИВНОЙ РАБОТЫ НАД СКРИПТАМИ ............ 125

14.1. Форматирование текста программы – соглашения об отступах, переносы ..... 125

14.2. Соглашения об именах переменных и функций ................................................... 126

14.3. Отказ от свободного преобразования типа ........................................................... 126

14.4. Объявление и комментирование переменных ...................................................... 126

14.5. Комментирование операторов ветвления ............................................................. 126

14.6. Комментирование процедур и функций ................................................................. 126

Page 5: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. 5

1. Отчеты, общая информация.

1.1. Методология использования скриптов для создания отчетов в системе ARIS

Инструментарий ARIS используется для описания бизнес-процессов компании. Результатом описания является набор взаимосвязанных моделей ARIS, которые можно просматривать с помощью ARIS Toolset, ARIS Easy Design или ARIS WEB Designer. Как правило, графическая информация о процессе, содержащаяся в моделях, легко усваивается, но для работы часто необходимо представить ее в виде обычных текстовых документов или таблиц (возможно, с рисунками). Для извлечения информации о моделях и объектах из базы ARIS необходимо на встроенном в ARIS языке SAX Basic создавать программные модули (скрипты), с помощью которых осуществляется сбор и вывод информации в файлы документов.

Скрипт (script) – программа, набор специальных команд, которые выполняются системой ARIS, и в результате выполнения которых формируется файл отчета или изменяется наполнение базы данных ARIS (атрибуты).

Скрипт открывается для редактирования только в ARIS, и применение других редакторов для его просмотра и изменения невозможно.

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

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

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

Также возможно не выбирать конкретный объект (модель) или группу объектов (моделей), а выбрать всю базу целиком или папки, содержащиеся в ней.

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

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

При создании скрипта, формирующего тот или иной отчет, необходимо хорошо представлять себе следующее:

для кого будет создаваться отчет(например, отчет для руководства предприятия или отчет для средств массовой информации), т.е. какую информацию из базы ARIS отчет, возможно, отобразит;

в какой форме (текст, рисунки, таблицы, графики) будет представлен отчет. Сформированный отчет может быть сохранен в виде HTML-файла, файла формата текстового

редактора MS Word либо рабочей книги MS Excel.

Page 6: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 6

1.2. Структура базы данных ARIS

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

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

хранимых моделей и объектов. Они аналогичны каталогам DOS, Windows. В роли файлов при этом выступают модели и определения объектов ARIS.

В каждой базе данных ARIS существует корневая группа, в которой создаются все остальные подгруппы.

Стандартным средством, позволяющим пользователю просматривать, создавать, удалять и редактировать группы, является ARIS Explorer.

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

Согласно концепции ARIS, все типы моделей классифицированы в соответствии с двумя характеристиками:

точка зрения на предприятие (организационная структура, структура документооборота, структура деятельности и процессная взаимосвязь этих точек зрения);

уровень детализации описания (уровень определения требований, уровень спецификации проекта, уровень описания реализации).

Каждый тип модели представлен набором типов объектов и типов связи между ними. Тип связи между объектами имеет место в типе модели при соответствующем логическом обосновании этой связи в данной теории моделирования. Наличие типа связи в типе модели означает возможность осуществления такой связи в модели.

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

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

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

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

Язык. В каждой базе данных пользователь может работать с несколькими языками (рабочие языки базы данных) для представления моделей, объектов и их атрибутов на нескольких языках.

Пользователи создаются в базе данных ARIS. Пользователи обладают уникальным именем и паролем. Чтобы иметь возможность работать с базой данных, пользователю должен быть присвоен фильтр для открытия базы данных и права доступа к группам базы данных. Пользователь может быть приписан к группе пользователей. Каждая вновь создаваемая база данных имеет одного пользователя с именем «system» и паролем «manager».

Основой для моделирования в ARIS является модель, в рамках которой используются объекты и связи между ними.

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

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

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

Модели и объекты расположены в папках базы данных. Связи находятся на модели и их нельзя найти в папках базы данных. К ним можно получить доступ, только находясь на модели.

Page 7: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 7

Объект может быть расположен на нескольких разных моделях. Причем объект имеет две различных сущности - это Occurrence и Definition.

Отображение объекта (Occurrence) – это представление объекта, находящееся на определенной модели, причем у объекта может быть несколько Occurrence. На уровне Occurrence определяется расположение объекта на модели (координаты), цвет объекта, активность объекта и т.д.

Определение объекта (Definition) – это определение объекта, находящееся в папке базы данных в котором находится основная информация об объекте (атрибуты). У объекта есть только один Definition, но может быть и несколько Occurrence. При обходе базы данных ARIS скриптом необходимо по возможности использовать уровень Occurrence и только при необходимости переходить на уровень Definition.

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

На нижеприведенной диаграмме нарисована примерная взаимосвязь объектов в базе данных ARIS.

Page 8: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 8

1.3. Примерная структура моделей базы данных ARIS

Рисунок 1. Примерная структура моделей

Main process consists of consists of consists of c...

Sce

nario

belo

ng

s to

belo

ng

s to

...

Расчеты сзаказчиком

Расчеты споставщиком

Расчеты сподотчетными

лицами

Оперативноепланирование

Оперативноепланированиепоступлений/

выплат

Расчеты

Оперативноепланированиепоступлений/

выплат

Оперативноепланированиепоступлений/

выплат

Контрольрасчетов

Контроль оплатыи подготовказаявки для

формированиясчетов-фактур

Отчетподотчетного лица

о расходованиисредств

Начальник БИМ

Организовывать работупо бесперебойному

обеспечению сырьем иматериалами

Контролировать остаткисырья и материалов

на складах

Организовывать работупо поиску и созданию

сети поставщиков

Организовывать работупо повышению качества

получаемого сырья и мат-в

Организовывать работупо снижению цен

получаемого сырья и мат-в

Организовывать работупо забракованному сырью и мат-у

РуководитьБИМ

Полученазадача на

разработку нов огопродукта

60,00 Hour(s)Определение

функциональностии дизайна нового

продукта

60,00 Hour(s)Определение

специфики нов огопродукта (материалы,

конструктив )

16,00 Hour(s)Формиров ание

проекта задания наразработку нов ого

продукта

Определенаспецифика нов ого

продукта (материалы,конструктив )

Определенафункциональность

и дизайн новогопродукта

Менеджерпо продукту

Менеджерпо продукту

Менеджерпо продукту

Сформированпроект задания наразработку нов ого

продукта

2,50 Hour(s)Утв ерждение

проекта заданияна разработку нов ого

продукта В случае необходимости корректировкипроекта задания на разработку нового

продукта идет повторение этапа"определение параметров продукта"

Утв ержденпроект задания

на разработку нов огопродукта

Отказ от задачина разработку

нового продукта

Необходимостькорректиров ки

проекта задания наразработку нов ого

продукта

Знания об историипродаж в

ассортиментнойгруппе

Знания о конкурентахв ассортиментной

группе

Знания отенденциях

развития рынка

Знания овозможностяхпредприятия

Знания овозможностяхсбытовой сети

Знания об историипродаж в

ассортиментнойгруппе

Знания о конкурентахв ассортиментной

группе

Знания отенденциях

развития рынка

Знания овозможностяхпредприятия

Знания овозможностяхсбытовой сети

Определение параметров нового продукта

План развитияпродукта

План развитияпродукта

План развитияпродукта

Задание наразработку нов ого

продукта

Комиссия попродукции

коммерческойслужбы

Задание наразработку нов ого

продукта

Задание наразработку нов ого

продукта

Службаматериальногообеспечения

Зам.начальника СМОпо логистике

Бюроимпортныхматериалов

Бюро фурнитурыи стекло-изделий

Начальник службыматериальногообеспечения

Начальник БИМ

Экономист 1 поматериально-техническому

снабжению БИМЭкономист 2 поматериально-техническому

снабжению БИМ

Начальник БФиС

Экономист 1 поматериально-техническому

снабжению БФиСЭкономист 2 поматериально-техническому

снабжению БФиСЭкономист 3 поматериально-техническому

снабжению БФиСЭкономист 4 поматериально-техническому

снабжению БФиСЭкономист 5 поматериально-техническому

снабжению БФиС

Служба материального обеспечения

Процессы компании

Анализрынка

Стратегическоеу правление

Разработкаи вывод на рынокновых проду ктов и

у слу г

Продвижение Продажи Производство

Расчеты

Логистика(обеспечениепроизводства)

Основные процессы

Отчет подотчетного лица

о расходовании средств

Сводная заявка на выдачу

наличных денег сформирована

Задание, связанное с

использованием подотчетной суммы

завершено

Оперативное планирование поступлений/

выплат

Сальдо по подотчетному лицу равно 0

Имеется задолженность

компании перед

подотчетным лицом

Имеется задолженность подотчетного лица перед компанией

Page 9: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 9

Рассмотрим, что представляет собой понятие модели в ARIS, и что в данном понятии содержится. Модель – это совокупность символов, их свойств, атрибутов и отношений между ними, которая

адекватно описывает некоторые свойства моделируемого объекта. Структуру модели см. Рисунок 2.

Рисунок 2. Структура модели

Модель ARIS

ОбъектыИмя

Модельорганизации

Тип модели

Текст(комментарии)

Встроенныйвнешний объект

Текстовыйдокумент WordPad

Свойства

Атрибуты

Заполненныеатрибуты

Внешний видмодели

Варианты

Предложения поулучшению

Управлениеизменениями

Методологическиефильтры

Объект может

являться

(can be)

имеет (has)

является частью(is part of)

классифицируют(classifies)

содержит (subsumes)

Класс модели

Связи

содержит(subsumes)

является

частью(is part of)

Page 10: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 10

Рассмотрим, что представляет собой понятие объекта в ARIS и что в данном понятии содержится. Объект - самостоятельная часть методологии, отражающая элемент описываемой предметной области. Структуру объекта см. Рисунок 3

Рисунок 3. Структура объекта

Внешний вид

объектаАтрибу ты

объекта

Свойства

объекта

Прочие

свойства объекта

стру кту рно-

зависимый

стру кту рно-

независимый

Тип объекта

Символ 1

Символ M

. . .Модель ARIS

Экземпляробъекта

содержит (subsumes)

является

экземпляром(is specimen of)

классифициру ет (c lassifies)

может являться (can be)

имеет(has)

Объект

Связь

Имя

Page 11: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 11

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

Рисунок 4. Структура связи

1.4. Рамки переносимости скриптов

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

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

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

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

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

Внешний видсвязи

Атрибутысвязи

Свойствасвязи

Прочиесвойства связи

Связь

Мастер-вариант

Тип связи Детализирующая

Соединение

является э кземпл яром

(is specimen of)

классифицирует (classifies)

содержит (subsumes)

Экземпляр

Исходныйобъект

Конечныйобъект

Объект

имеет (has)

Page 12: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 12

1.5. Положительные стороны использования скриптов в ARIS

С помощью скриптов решается основная задача – анализ и документирование данных из базы ARIS, собранных в ходе описания компании, в документах формата MS Office.

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

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

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

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

Возможность формирования отчета в виде табличного файла (Excel) позволяет использовать результаты работы в электронных таблицах (Excel) и переносить их в СУБД (напр., Access).

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

Помимо задач документирования базы данных ARIS, с помощью скриптов возможно решить и вспомогательные вопросы:

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

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

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

С помощью скриптов можно организовать импорт или экспорт информации из ARIS в другие приложения. Этот вариант привлекает своей простотой по сравнению с использованием ARIS API, который является отдельным продуктом ARIS и приобретается по отдельной лицензии.

Page 13: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 13

2. Документирование информации о проекте с помощью ARIS Script

2.1. Определения

Документирование - вывод информации о проекте в форме файлов текстового редактора MS Office. Скрипт - программа, позволяющая перенести информацию из графических

моделей в файлы документов в соответствии с определенными правилами. Генерация отчета - создание файла документа при помощи заранее

созданного скрипта.

2.2. Этапы создания документации

Перед созданием документации необходимо определить этапы создания документации. Для процесса документирования с помощью скриптов ARIS характерны следующие этапы:

Определение целей создания документации;

Определение групп пользователей документации;

Определение требований к документам в соответствии с группами пользователей (перечень выводимой в документ информации, создание структуры документа, создание форм представления информации);

Оценка возможностей ARIS по выводу информации в этом виде и изменение форм документов в соответствии с требованиями ARIS;

Уточнение требований к моделированию;

Создание скриптов отчетов в визуальном мастере (Script Wizard) или в Script Editor;

Генерация отчетов с помощью созданных скриптов.

2.2.1. Определение целей создания документации

Рассмотрим перечень целей создания документации:

Структурирование и обобщение информации о проекте;

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

Получение информации о проекте в удобной форме;

Документы о закрытии этапов проекта;

Формирование технологических и регламентных документов (положения о подразделениях, должностные инструкции, технологические карты и т.д.);

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

заменять модели ARIS. Отчеты являются лишь дополнением к моделям ARIS. Пример выделения целей создания документов:

Создание должностной инструкции для заместителей генерального директора;

Документирование процессов (создание регламентов работ или технологических карт сотрудников и подразделений);

Получение описания предприятия в соответствии со стандартами качества.

2.2.2. Определение групп пользователей документации

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

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

информационное моделирование;

описание структуры документов;

описание организационной структуры;

создание моделей верхнего уровня;

описание процессов. Руководство проекта:

Page 14: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 14

руководители рабочих групп;

методологические консультанты;

руководители проекта. Подразделения, охваченные проектом:

сотрудники подразделений;

руководители подразделений;

клиенты компании и средства массовой информации. Выделение группы пользователей документов (пример): Кадровая служба (требования к штатной единице, формирование штатного расписания

подчиненных руководителю подразделений); Отдел технологий (процедуры работы руководящего состава, технологические карты

подчиняющихся руководителям сотрудников); Заместители генерального директора (информация для разграничения зон ответственности,

технологические карты сотрудников); Генеральный директор (выделение персональной ответственности заместителей).

2.2.3. Определение требований к документам

Для определения требований необходимо определить следующие позиции:

Определение перечня необходимой информации;

Определение элементов репозитория ARIS, содержащих эту информацию (информация о документируемых моделях, информация об объектах, которые будут выводиться в документ, их характеристиках и атрибутах, характеристики отношений между объектами, информация о детализирующих объектах моделях);

Определение форм представления данных;

Выделение требований к представлению информации из моделей (в виде графики моделей, таблиц, текста).Создание структуры документа:

Создание разделов документа и определение формы представления информации в каждом разделе;

Определение заголовков, стилей и колонтитулов;

Выделение содержательной части информации, получаемой из моделей;

Расстановка служебных слов;

Согласование форм служебных слов (падежей, чисел, родов и т.д.) и информации, выводимой из моделей.

2.2.4. Оценка возможностей ARIS по выводу информации

Средства документирования ARIS:

ARIS Script Wizard – средство, позволяющее создать структуру скрипта в визуальном виде, определить, какие модели, объекты, связи и атрибуты будут обрабатываться этим скриптом;

ARIS Script Editor – средство, позволяющее проводить сложные выборки информации из БД проекта, редактировать и русифицировать скрипты, полученные при помощи Script Wizard, используя все возможности алгоритмического языка Visual Basic for Applications (Sax Basic Language);

MS Word - средство, позволяющее редактировать отчет (документ), русифицировать его при помощи макросов, сохранять и распространять информацию из проекта.

Возможности по выводу информации в Script Wizard

Строгая иерархическая структура вывода информации из моделей, например: Модель -> Объекты модели -> Атрибуты и связи объектов -> Связанные объекты -> Декомпозирующие объекты модели;

Возможность вывода всех свойств и атрибутов каждого элемента;

Вывод графики модели;

Возможность фильтрации и сортировки выводимых элементов;

Задание параметров вывода информации по всем элементам репозитория ARIS.

Page 15: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 15

Ограничения Script Wizard по выводу информации

Невозможен вывод информации в табличном виде;

Строгая направленность на модели и объекты определенного типа;

Отсутствие возможностей анализа структуры модели (положения объектов и связей);

Ограниченные возможности фильтрации и отбора информации по условиям.

Возможности Script Editor по выводу информации и редактированию шаблонов отчетов

Неограниченные возможности алгоритмического языка Visual Basic for Applications (Sax Basic Language);

Специализированные функции фильтрации и сортировки информации по заданным критериям;

Специализированные функции вывода в текстовом и табличном виде;

Функции вывода частичной графики моделей;

Специализированные функции анализа структуры моделей;

Возможности форматированного вывода текста (задание стилей вывода).

2.2.5. Уточнение требований к моделированию

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

правила задания имен;

семантическое значение каждого объекта;

задание атрибутов объекта;

расположение и последовательность объектов на модели;

формы слов в связанных объектах. Для корректного вывода информации в виде отчетов необходимо выбрать соответствующие:

модели;

объекты;

связи между объектами;

атрибуты моделей, объектов и связей;

правила детализации объектов на модели. Пример определения перечня элементов репозитория для должностной инструкции: для вывода информации в «должностную инструкцию» выбираем элементы репозитория - модели

Organizational Chart, eEPC; в этих моделях используем объекты: Position, Organizational Unit, Function; в этих моделях используем связи между объектами

eEPC: Position (Organizational Unit) - executes – Function; Organizational Chart: Position - is technical superior to - Organizational Unit

Organizational Unit - is composed of – Position; у всех объектов используем атрибут Name (детализации в этом отчете не отслеживаются).

Page 16: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. 16

3. Работа со справочной системой в ARIS

3.1. Структура справочной системы ARIS

ARIS включает в себя объемную справочную систему, в которой содержится подробная информация об использовании ARIS.

Справочная система ARIS (на английском языке) состоит из следующих частей: 1) Help Topic (основная часть справочных файлов, где содержится фактически вся информация,

необходимая для использования ARIS); 2) Method Help (справочная информация о типах объектов, типах моделей и типах атрибутов системы

ARIS); 3) Methods Manual (руководство по методологии ARIS в pdf-формате). 4) Sax Basic Help (справочная информация по языку BASIC) В справочной системе ARIS существует возможность использовать ссылки и перемещаться по ним для

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

3.2. Использование ARIS Help Topic

ARIS Help Topic содержит 34 разделов, описывающих: общие принципы работы с системой; назначение компонентов системы; работу с различными компонентами системы; назначение быстрых кнопок и пунктов меню главного окна системы и дочерних окон компонентов

системы ARIS; основные отличия различных вариантов поставки системы и описание расширения встроенного

языка программирования (без описания самого языка программирования). При вызове данной части справки возникает диалоговое окно, имеющее три закладки. Справочная

информация из этих разделов также доступна из системы ARIS при нажатии клавиши F1. Рассмотрим работу с закладкой Содержание (Contents). Использование данного метода поиска информации полезно в случае общего исследования какой-либо

области ARIS. Для поиска какого-либо термина данный метод слишком громоздкий.

Рисунок 5. Окно Содержание справки ARIS

Page 17: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 17

Рассмотрим работу с закладкой Предметный указатель (Index). Все 34 раздела объединены общим алфавитным указателем с возможностью глобального поиска

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

Рисунок 6. Окно Предметный указатель справки ARIS Рассмотрим работу с закладкой Поиск. Для более глубокого поиска в справочной системе ARIS рекомендуется использовать окно поиска. В данном окне необходимо ввести искомый термин. В других частях окна будут отображены подходящие термины для сужения поиска и разделы

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

нахождения искомой информации.

Рисунок 7. Окно Поиск справки ARIS

Page 18: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 18

3.3. Использование ARIS Method Help

ARIS Method Help содержит справочную информацию обо всех типах объектов, типах моделей, типах атрибутов и их применении в работе с системой ARIS и при работе с библиотекой API, поставляемой вместе с системой. Справочная информация из этих разделов также доступна в системе ARIS при нажатии клавиш Ctrl+F1.

ARIS Method Help имеет структуру поиска, аналогичную ARIS Help Topic. Данный раздел справочной структуры ARIS необходимо использовать для получения подробной

информации о модели или объекте.

Рисунок 8. Окно ARIS Method Help Данный раздел справочной системы позволяет найти информацию для определенного типа модели

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

Рисунок 9. Окно справки о модели EEPc

Page 19: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 19

3.4. Использование ARIS Methods Manual

Methods Manual представляет собой книгу о методах моделирования бизнес-процессов с помощью системы ARIS. Данная книга хранится в формате PDF и читается с помощью Acrobat Reader.

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

Рисунок 10. Содержание Methods Manual

3.5. Нахождение справки о классах, объектах и константах ARIS_Extension

В разделе “ARIS Script” в ARIS Help Topic находится справочная информация о классах, объектах и константах, составляющих расширение языка Sax Basic (ARIS_Basic_Extension).

Рисунок 11. Окно раздела ARIS Script

Справочная информация о классах, объектах и константах ARIS_Extension также доступна при

Page 20: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 20

работе в ARIS Script Editor по нажатию клавиши F1, и при работе в ARIS Script Wizard по нажатию правой кнопки мыши на классе, методе или свойстве, отображаемом в специальном окне Script Wizard’а.

3.6. Нахождение справочной информации о встроенном в систему ARIS языке программирования Sax Basic

Справочная информация из этого раздела доступна в системе ARIS при работе в ARIS Script Editor по нажатию клавиши F1.

Для подробного изучения справочной информации о языке программирования ARIS Sax Basic возможно выделить файл, где она расположена. Справочная информация о языке программирования Sax Basic находится отдельно, в справочном файле SBE5_000.hlp.

Для быстрого нахождения справочной информации о каком-либо методе или константе языка программирования ARIS Sax Basic необходимо встать указателем на данную команду в Script Editor и нажать клавишу F1. В результате откроется окно справки о выбранном объекте.

Page 21: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. 21

4. Краткое описание языка Sax Basic Language

4.1. Переменные и константы

4.1.1. Понятие о переменных

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

Имя переменной. С помощью имен осуществляется привязка переменных к их положению в оперативной памяти компьютера;

Тип переменной. Определяет, какого рода информация хранится в ней; Значение переменной. Это – те данные, которыми оперирует программа. Чтобы оперировать с переменной в программе, ей нужно присвоить некоторое имя и тип, например:

Dim X As Integer

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

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

Имя переменной должно начинаться только с буквы (не с цифры или специального символа);

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

Имя переменной должно быть уникальным;

Длина имени переменной не должна превышать 255 символов;

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

4.1.2. Типы переменных

Ниже перечислены некоторые стандартные типы переменных.

Тип переменной

Хранимое значение Занимаемая

память Диапазон допустимых значений

Integer Целое число одинарной точности 2 байта -32 768 … +32 767

Long Целое число двойной точности 4 байта -2 147 483 648 … + 2 147 483 647

Single Десятичное число с плавающей точкой одинарной точности

4 байта +/-(10-45 … 3x1038)

Double Десятичное число с плавающей точкой двойной точности

8 байт +/-(5x10-324 … 1,8x10308)

Currency Десятичное число с фиксированной точностью

8 байт +/-(9x1014)

String Строка текста 1

байт/символ До 65 400 символов

Byte Целое число 1 байт 0…255

Boolean Логическое значение 2 байта True или False

Date Дата и время 8 байт 1/1/100 … 12/31/9999

Object Экземпляр класса; объект типа OLE

4 байта -

Variant Любой из перечисленных выше типов данных

16 байт + 1 байт/символ

-

Кроме перечисленных выше стандартных типов данных, можно определить собственные типы, которые

наилучшим образом подходят для решаемой вами задачи. Пример определения и использования переменных:

Page 22: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 22

Private Type Point

X As Integer

Y As Integer End Type … Dim MyPoint As Point … MyPoint.X = 3 MyPoint.Y = 5

В приведенном примере для объявления нового типа данных используется оператор Type. Для объявления переменной нового типа используется оператор Dim, как и для объявления переменной стандартного типа. Для обращения в программе к элементам нового типа используется символ точки (.).

4.1.3. Массивы переменных

Массив – это группа переменных одного типа, объединенных одним именем. Пример объявления массива:

Dim crs(1 to 20) As Integer

Можно обращаться к любому элементу массива по его индексу, например:

Crs(5)=120

Для работы с массивами удобно пользоваться циклами. Циклы будут рассмотрены ниже.

4.1.4. Инструкции для работы со значениями переменной

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

Инструкции для работы со значениями переменной - присваивание/изменение значений переменных

Инструкция Действие инструкции

Erase имя_переменной Присвоение переменной нулевого значения, сброс

размерности динамического массива.

[Let] имя_переменной = значение Присвоение переменной значения. Название инструкции

указывать необязательно. В качестве значения может быть указано выражение соответствующего типа.

Lset имя_строковой_переменной = строка Присвоение строковой переменной значения с

сохранением длины строковой переменной. Если длина строки меньше, то она дополняется пробелами справа.

Rset имя_строковой_переменной = строка Присвоение строковой переменной значения с

сохранением длины строковой переменной. Если длина строки меньше, то она дополняется пробелами слева.

Set имя_объектной_переменной = объект Присвоение ссылки на объект объектной переменной.

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

Инструкция Действие инструкции

Array([выражение[, ...]]) Инструкция возвращает массив типа Variant с результатами вычисления выражений.

Cbool(численное или строковое выражение)

Инструкция преобразует численное выражение в переменную типа Boolean. При этом нуль преобразуется в значение «False», другие значения в «True».

Cbyte(численное или строковое выражение)

Инструкция преобразует численное или строковое выражение в переменную типа Byte.

CCur(численное или строковое Инструкция преобразует численное или строковое

Page 23: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 23

выражение) выражение в переменную типа Currency.

Cdate(численное или строковое выражение)

Инструкция преобразует численное или строковое выражение в переменную типа Date.

Cdec(численное или строковое выражение)

Инструкция преобразует численное или строковое выражение в переменную типа Decimal.

CDbl(численное или строковое выражение)

Инструкция преобразует численное или строковое выражение в переменную типа Double.

CInt(численное или строковое выражение)

Инструкция преобразует численное или строковое выражение в переменную типа Integer.

Clng(численное или строковое выражение)

Инструкция преобразует численное или строковое выражение в переменную типа Long.

CSng(численное или строковое выражение)

Инструкция преобразует численное или строковое выражение в переменную типа Single. Преобразование слишком больших и слишком маленьких чисел приводит к ошибке переполнения.

CStr(численное или строковое выражение)

Инструкция преобразует численное или строковое выражение в переменную типа String.

CVar(численное или строковое выражение)

Инструкция преобразует численное или строковое выражение в переменную типа Variant.

Val(строковое выражение) Инструкция преобразует строковое выражение в численное значение.

4.1.5. Явное и неявное объявления переменных

Visual Basic не требует обязательного явного объявления переменных. При неявном объявлении переменные просто используются в программе, при явном они предварительно должны быть определены (например, посредством оператора Dim). Небольшой пример демонстрирует оба варианта:

Dim varName As String 'явное объявление

t =7 'неявное объявление

4.1.6. Константы

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

Const MyHouseNumber = 120

4.2. Написание кода программы

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

Тип оператора Пример использования

Присваивание переменной нового значения SName=”Иван”

Вызов встроенной функции MsgBox(“Доброе утро!”)

Вызов функции пользователя MyStruct=GetStruct(stpl)

Установка значения свойств объекта Mstr.Visited=True

Принятие решения If mCount>100 then DoLarge

Строки, имеющие большую длину и не умещающиеся на экране монитора или на странице (при

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

Page 24: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 24

Например, строка Set oSelectedModels1 = SelectedModels может быть разбита на три строки: Set _ oSelectedModels1 _ = SelectedModels

4.2.1. Использование операторов присваивания

После того, как переменная объявлена в программе, ей нужно присвоить какое-нибудь значение. Для этого используется оператор присваивания. Ниже приведен пример оператора присваивания:

X = 5

Данная инструкция указывает Basic, что нужно поместить число 5 в ячейку памяти, адрес которой представлен переменной X. Синтаксис оператора прост - вначале вы указываете имя переменной, а после знака равенства (=), само значение.

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

Оператор присваивания Тип выражения

Ncustomers = 25 Числовой литерал

StopSaler = ”Иванов Сергей” Строковый литерал

FavgScore = nTopCustomers / AvCustomer Математическое выражение

SfullName = “Петров” + “Леонид” Строковое выражение

SCapitalName = UCase$(“Сидоров”) Строка, возвращаемая функцией

4.2.2. Применение математических операторов

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

Операция Оператор

Сложение +

Вычитание -

Умножение *

Деление /

Целочисленное деление \

Остаток от деления нацело Mod

Возведение в степень ^

4.2.3. Порядок выполнения операторов

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

-4*3+7*(6/2-3)^2

При вычислении значения сложных выражений Basic выполняет операторы в указанном ниже порядке: 1. Возведение в степень ( ^ ); 2. Отрицание (унарный - ); 3. Умножение и деление ( * , / ); 4. Деление нацело ( \ ); 5. Взятие остатка от деления ( Mod ); 6. Сложение и вычитание ( + , - ).

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

Page 25: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 25

4.2.4. Работа со строками

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

Функция Описание

UCase, Lcase Изменяет регистр букв заданной строки на верхний или нижний соответственно

InStr, InStrRev Выполняет поиск одной строки в другой

Left, Right Возвращает указанное количество символов с начала или конца строки соответственно

Mid Возвращает указанное количество символов с начала, конца или из середины строки

Ltrim, RTrim, Trim Отсекает пробелы с начала, конца или обеих сторон строки соответственно

Len Возвращает длину строки

Chr, Asc Преобразует ASCII-код в символьную строку или возвращает ASCII-код символа соответственно

Str, CStr, Val Преобразуют числовое значение в строку и наоборот

StrReverse Изменяет порядок следования символов в строке на обратный

StrConv Изменяет регистр букв текстовой строки.

4.2.5. Объединение строк

Как уже было отмечено, в Basic для работы со строками предусмотрен только один оператор – оператор объединения. С его помощью можно слить несколько строк в одну большую строку. Знаком операции объединения строк является символ амперсанда (&) или символ плюса (+). При объединении нескольких строк, вторая строка помещается в конец первой, третья в конец второй и т.д.

Синтаксис оператора конкатенации строк выглядит следующим образом:

Новая_Строка = Строка1 & Строка2 [& Строка3]… [& СтрокаN]

4.3. Принятие решения в программе

Существует еще одна важная группа операторов – операторы управления. Операторы приятия решения используются для управления ходом выполнения программы на основании некоторых условий, возникающих в программе. Существует два основных типа описываемых операторов: If и Select Case.

4.3.1. Использование оператора If

Во многих случаях требуется, чтобы некоторый оператор (или группа операторов) в программе выполнялись только тогда, когда значение некоторого условия равно True. Именно для этого и предназначен оператор If. Существует две его разновидности – однострочный и многострочный.

4.3.2. Однострочный оператор If

Данная форма оператора используется для выполнения некоторого действия, когда условие истинно. Ниже приведен синтаксис оператора If:

If условие Then команда

или

If условие Then команда1 Else команда2

В качестве параметра условия может выступать любой тип логического выражения:

сравнение значения переменной с литералом, другой переменной или функцией;

переменная, значение которой может быть True или False;

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

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

If cSalary > cMaxSalary Then tOut.BeginFooter

4.3.3. Многострочный оператор If

Данная форма оператора If используется в случае, если для обработки некоторого условия требуется выполнить несколько команд. Иногда многострочный оператор If называют также блочным оператором If. Между ключевыми словами If и End If заключается группа операторов, которая будет выполнена в случае истинности

Page 26: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 26

условия. Пример использования многострочного оператора If:

If cDepositAmt > 0 Then

CTotalPaid = cTotalPaid + cDepositAmt

CDepositAmt = 0

Call UpdateReservation

End If

4.3.4. Обработка истинных и ложных условий

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

If условие1 Then

Блок операторов для обработки истинного условия1

ElseIf условие2 Then

Блок операторов для обработки истинного условия2

Else

Блок операторов для обработки ложного условия

End If

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

4.3.5. Использование оператора Select Case

Обрабатывать несколько условий в программе можно также с помощью оператора Select Case. Он позволяет выполнить фрагмент программы в зависимости от значения некоторого выражения или переменной. Ниже описан синтаксис оператора Select Case:

Select Case Анализируемое_Значение

Case Значение1

Группа операторов 1

Case Значение2

Группа операторов 2

Case Else

Группа операторов N+1

End Select

Первым в данной конструкции всегда указывается оператор Select Case. Он говорит компилятору о том,

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

Каждая условная группа команд (они будут выполняться в том случае, если заданное условие

Page 27: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 27

выполняется) начинается с ключевого слова Case. Оно определяет значение, с которым будет сравниваться параметр Анализируемое_Значение. Если параметр Анализируемое_Значение будет равен указанному в операторе Case значению, программа выполнит блок операторов, расположенный между текущим и следующим ключевым словом Case или оператором End Select. Если параметр Анализируемое_Значение не будет равен указанному в операторе Case значению, программа приступает к обработке следующего оператора Case и т.д. Блок Select Case заканчивается оператором End Select.

4.4. Использование циклов.

Еще одним важным элементом программы является оператор цикла. Он используется для выполнения повторяющихся действий в программе. В Basic существует три разновидности операторов цикла:

с использованием счетчика (Циклы типа For);

условный оператор цикла (Циклы типа Do);

перечислимый оператор цикла (Циклы типа For Each). Для принудительного выхода из цикла можно использовать оператор Exit For или Exit Do соответственно.

4.4.1. Циклы типа For

Операторы цикла данного типа располагаются между операторами For и Next.

For переменная = начальное_значение To конечное_значение [Step Шаг]

<тело цикла>

Next [переменная]

При указании цикла данного типа программист определяет переменную цикла, которая служит счетчиком, а также ее начальное и конечное значения. В качестве дополнительного параметра цикла можно указать шаг – величину, которая прибавляется к счетчику или вычитается из него после завершения очередного шага цикла. Шаг указывается в операторе For после ключевого слова Step. Перед выполнением первого шага цикла счетчик устанавливается в исходное состояние. Затем счетчик сравнивается с конечным значением переменной цикла. Если он больше, чем конечное значение, выполнение цикла прекращается и программа переходит к следующему за ключевым словом Next оператору. После выполнения очередного шага к переменной цикла прибавляется величина, указанная после ключевого слова Step.

В приведенном ниже фрагменте кода цикл типа For/Next используется для вывода последовательности

чисел от 1 до 10, а также квадратов их значений.

For i = 1 To 10

STemp = i & “в квадрате – “ & (i ^ 2)

WriteOutput (sTemp)

Next i

4.4.2. Циклы типа Do While

Цикл данного типа выполняется, пока истинно некоторое условие. Под условием понимается любое выражение, значение которого может быть True или False (например, Numval > 15), либо функция, возвращающая логическое значение, либо свойство, имеющее логическое значение.

Do While Условие

<Тело Цикла>

Loop

или

Page 28: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 28

Do

<Тело Цикла>

Loop While Условие

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

4.4.3. Циклы типа Do Until

Циклы типа Do Until работают аналогично рассмотренным выше циклам Do While с одним отличием. Тело цикла Do Until будет выполняться только если условие будет оставаться ложным.

Do Until Условие

<Тело Цикла>

Loop

или

Do

<Тело Цикла>

Loop Until Условие

4.4.4. Перечислимые циклы

В Basic предусмотрен еще один вариант цикла, начинающийся с ключевых слов For Each. Это так называемый перечислимый тип цикла, поскольку он используется для обработки (учета) каждого элемента некоторого набора (коллекции) объектов. В ARIS практически не используется.

For Each Объект In Коллекция <Тело цикла> Next

4.5. Процедуры и функции

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

4.5.1. Использование процедур

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

Sub имя_процедуры([список_параметров])

Выполняемые операторы

End Sub

Вызов процедуры из программы выглядит следующим образом:

Call имя_процедуры(список_параметров)

или

Имя_процедуры список_параметров

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

Page 29: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 29

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

Sub CalcRectangle(width as integer, height as integer, area as integer, perimeter as integer)

Area = width * height

Perimeter = 2 * (width + height)

End Sub

Вызов этой процедуры может выглядеть так:

Mwidth = 5

Mheight = 7

Tsqr = 0

Tper = 0

CalcRectangle mwidth, mheght, Tsqr, Tper

4.5.2. Принудительное завершение процедуры

При написании процедуры иногда бывает необходимо досрочно завершить ее выполнение (не доходя до последнего оператора) и вернуть управление в вызывающую программу. В таком случае нужно воспользоваться оператором Exit Sub.

Оператор Exit Sub может находиться в любом месте процедуры. После его выполнения процедура завершает свою работу и передает управление вызвавшей ее программе.

4.5.3. Использование функций

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

Function Square(width As integer, height As integer) As Integer

Square = width * height

End Function

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

Width = 13 Height = 15

Tsqr = Square(width, height)

4.6. Классы и объекты

Язык скриптов ARIS в большинстве своем оперирует классами и объектами ARIS. Классы могут

содержать несколько типов элементов:

Свойства - эти элементы используются для того, чтобы задавать и возвращать значения из экземпляра класса;

Методы - это глобальные функции или процедуры, которые определяются в классе;

События - объект, созданный из класса, может вызывать определенные события. Экземпляры класса – это объекты. Каждый класс представляет собой шаблон, по которому создаются объекты определенного типа.

Page 30: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 30

4.6.1. Объявление и использование объектов

Объекты можно создавать на базе классов ARIS. Пример создания объекта:

Dim Mlist As New ModelList

Ключевое слово New, указанное в операторе объявления, вызывает автоматическое образование нового экземпляра класса ModelList. При этом указатель на этот экземпляр класса будет помещен в объектную переменную Mlist. Но иногда создание объекта в программе требуется отложить, например, до наступления определенных условий. В этом случае ключевое слово New необходимо использовать в операторе Set:

Dim Mlist As ModelList

„ Позднее в программе… Set Mlist = New Modellist

Привязку переменной к экземпляру класса можно также организовать следующим образом:

Dim mo As Object Set mo = CreateObject (“Aris.Modellist”)

Или так:

Dim mo As Object Set mo = New Aris.Modellist

Обращение к свойствам и методам объекта осуществляется с помощью точки (.), например:

Modc = mo.Count

или

Set SingleModel = mo.Get(i)

4.6.2. Структура программы

Программа состоит из блока глобальных определений переменных (Global declarations), блока главной процедуры (Sub Main – End Sub) и блоков прочих процедур и функций (Sub – End Sub, Function - End Function). Процедура или функция состоит из описания локальных переменных и текста кода. Размещение описания переменных в блоке глобальных определений или внутри процедуры/функции влияет на видимость этой переменной во всех процедурах/функциях или только в одной.

4.6.3. Работа с объектами ActiveX Automation

ActiveX Automation предоставляет доступ к объектам в других приложениях. Каждый объект поддерживает определенный набор методов и свойств. Каждый метод/свойство имеет ноль или более параметров. Параметры могут быть необязательными, в этом случае параметры могут быть определены выражением:

имя_параметра := значению

№ Выражение Описание выражения

1 objexpr.method [expr][, ...] [param := expr][,...]

Вызов метода для objexpr. Например: myobjlist.Unique

2 objexpr.method[([expr][, ...] [param := expr][,...])]

Возвращает значение метода для objexpr. Например: modtype= Model12.Type()

3 objexpr.property[([expr][, ...] [param := expr][,...])]

Возвращает значение свойства для objexpr. Например: Objcount = myobjlist.Count

4 Set objexpr.property[([expr][, ...])] = objexpr

Определение ссылки на объект свойству objexpr. Например: Set NextObj = myobjlist.Get(I+1)

Page 31: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 31

5. Работа со скриптами в системе ARIS

5.1. Скрипты в системе ARIS, общие сведения

Анализ содержимого базы данных ARIS производится посредством исполнения программы (далее – скрипта), написанной на языке, ядром которого является Sax Basic Language.

Результаты анализа могут быть сохранены в наиболее распространенных форматах файлов .html, .doc, .rtf, .xls, .txt. Сохраненные результаты анализа далее называются отчетами. С помощью соответствующих приложений отчеты могут быть отредактированы и проанализированы средствами этих приложений.

Доступ к данным системы из языка программирования обеспечивается набором классов и объектов, в совокупности образующих расширение стандартного VBA для доступа к данным системы ARIS. Краткое описание доступных при этом объектов системы ARIS приведено в главе 10 «Классы и объекты ARIS SAX BASIC». Более подробно описание классов доступно в контекстной справке компонентов системы ARIS – Script Wizard и Script Editor.

В любой стандартной поставке системы ARIS имеется набор стандартных скриптов для изготовления отчетов. Скрипты для составления отчетов располагаются в каталоге «ARIS\Script\Report\en». Обычно там же хранятся и вновь создаваемые скрипты.

В системе ARIS отдельно хранятся готовые скрипты, составляющие отчет о семантической корректности выбранного объекта или выбранной модели. Эти скрипты находятся в каталоге «ARIS\Script\SemanticCheck\En». Там же хранятся дополнительные вспомогательные файлы к ним.

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

Назначение Расширение файла

Отчет общего (любого) назначения .RSC

Отчет о выделенных объектах базы данных .RSO

Отчет о выделенных моделях базы данных .RSM

Отчет о выделенных группах базы данных .RSG

Отчет о выделенных фильтрах базы данных .RSF

Отчет о выделенной базе данных сервера .RSD

Отчет о выделенных ABC-таблицах базы данных .RST

Отчет о результатах семантической проверки выделенной модели .SEM

Отчет о результатах семантической проверки выделенного объекта .SEO

Отчет о результатах анализа выделенной модели .ASM

Отчет о результатах анализа выделенного объекта .ASO

Необходимо заметить, что *.RSC, *.RSM и *.RSO скрипты также могут, в принципе, выполнять

семантические проверки моделей и объектов системы ARIS, но освещение этого вопроса выходит за рамки данного курса.

Поставляемым вместе с системой ARIS скриптам семантических проверок (Semantic Check Scripts) посвящена глава 9«Скрипты Semantic Check». Далее в этой главе речь пойдет только о скриптах для отчетов (Report Scripts).

Основные настройки компонента ARIS – Report производятся в главном меню системы с помощью закладки View->Options->Evaluations. Внешний вид этой закладки приведен на рисунке.

Page 32: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 32

Рисунок 12. Основные параметры для создания отчета

В группе «общее» (General) перечисляется, какие программы запускаются для просмотра отчетов

соответствующих типов. В группе «отчет» (Report) указываются путь для сохранения (Output Path) отчета и источника (Script Path) скриптов для его создания.

5.2. Запуск скрипта для создания отчета

Чтобы создать отчет, пользователь должен сделать следующее: 1. Подключиться к базе данных, для содержания которой будет создан отчет. 2. Выбрать в компоненте ARIS Explorer одну базу данных либо набор групп, либо моделей, либо

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

3. Для выбранного содержимого базы данных открыть меню и выбрать Evaluate->Report. В появившейся диалоговой форме, показанной на рисунке, необходимо выбрать скрипт для формирования отчета. Этот скрипт может находиться в каталоге по умолчанию. В этом случае выбираем папку в левом окне, и в правом - название файла скрипта. В противном случае файл скрипта может быть найден в файловой системе после переключения «User-Defined Path».

Page 33: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 33

Рисунок 13. Иллюстрация запуска скрипта

Рисунок 14. Формы выбора файла скрипта для создания отчета

4. Далее в форме-диалоге настроек отчета (Рисунок 15) необходимо указать полное имя файла, в

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

Page 34: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 34

Рисунок 15. Установка параметров отчета

5. Щелкните по кнопке “Finish” чтобы завершить создание отчета. В зависимости от выбранного скрипта вы будете приглашены в ходе создания отчета к дальнейшим

действиям.

5.3. Создание скрипта с помощью Script Wizard

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

В качестве примера создадим простой скрипт, который анализирует выделенную модель (одну) и создает отчет (со стандартным заголовком) о модели как таковой и о представлениях объектов, которые присутствуют на данной диаграмме.

Первый шаг состоит в том, чтобы включить Script Wizard. Это делается с помощью команды File->New из компонента ARIS’а – ARIS Explorer. Появляется диалог, изображенный на рисунке (Рисунок 16). Выбор «Evaluation script» производит включение компонента Script Wizard.

Рисунок 16. Шаг 1. Создание программы для отчета Вторым шагом является указание основных параметров будущего скрипта. В первом поле

необходимо указать «Report». Во втором поле указывается назначение скрипта (по умолчанию системой предлагается назначение, соответствующее контексту выполнения). В текстовом поле необходимо указать

Page 35: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 35

имя файла, в который будет записан текст скрипта. Внутри рамки «Generation» внизу формы необходимо отметить «Generate Code», поскольку альтернативный выбор завершит работу Script Wizard созданием скрипта, создающего «пустой» (тривиальный) скрипт.

Рисунок 17. Шаг 2-1. Указание основных параметров Здесь же возможно указание заголовка, автора, компании, описания скрипта в диалоговом окне,

появляющимся после нажатия кнопки «Properties».

Рисунок 18. Шаг 2-2. Указание заголовка, автора, компании, описания программы Третьим шагом пользователь указывает фильтр ARISа, через который скрипт будет «видеть»

содержимое базы данных ARIS. Кроме этого, пользователь может ограничить область применения скрипта

Page 36: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 36

определенными типами диаграмм базы, определенными типами групп, определенными типами объектов или определенными типами баз ARIS (в рамках выбранного контекста), для которых возможно использование скрипта.

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

Рисунок 19. Шаг 3. Указание фильтра и ограничения применения скрипта

Следующим шагом определяются колонтитулы будущего отчета.

Рисунок 20. Шаг 4. Колонтитулы отчета

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

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

Page 37: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 37

Верхний колонтитул

Graphic Left Text Graphic Right

ARIS Report

Нижний колонтитул

Дата и время создания отчета Полное имя файла отчета Номер текущей страницы

17.03.03 16:03:23 C:\TEMP\Report1.doc Page 3 of 1262

По умолчанию в начале отчета выводится следующая информация:

заголовок;

название сервера;

название базы данных;

имя пользователя. Пятый шаг – основной. На этом шаге указывается структура отчета. База данных ARIS является

объектно-ориентированной. Это означает, что объекты, хранящиеся в базе данных, являются экземплярами классов ARIS. Краткое описание классов системы ARIS приведено в главе 10 «Классы и объекты ARIS SAX BASIC». Более подробно описание классов доступно в контекстной справке компонентов системы ARIS – Script Editor (по нажатию F1 на выделенном слове) и Script Wizard (по правой кнопке мыши на выделенном элементе).

Рисунок 21. Шаг 5. Структура отчета

В окне "Procedural Structure" изображено синтаксическое древо нашего скрипта (пока оно тривиально - присутствует только список выделенных моделей). В окне "Available Methods" показываются свойства и методы синтаксического элемента, подсвеченного в данный момент в окне слева (сейчас - доступные свойства и методы класса "Model").

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

С помощью кнопки "<<Insert" добавим в будущий отчет имя (Name) и тип (Type) модели, которая оказалась выбранной перед выполнением скрипта (который мы создаем):

Page 38: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 38

Рисунок 22. Шаг 6. Формирование структуры программы

Теперь найдем в списке в окне справа класс "ObjOccList", выберем его и нажмем кнопку "<<Insert".

Перейдем в левое окно и выберем "ObjOccList", в правом окне появится список его свойств и методов. С помощью кнопки "<<Insert" добавим в наш отчет координаты X и Y присутствующих на модели представлений объектов. Чтобы добавить в отчет информацию о типах и именах объектов, которым данные представления соответствуют ("представляют"), с помощью кнопки "<<Insert" добавим в древо в левом окне (в раздел "ObjOccList") свойство "ObjDef" из списка справа, затем выделим в левом окне (только что вставленную) строчку "ObjDef" и с помощью кнопки "<<Insert" добавим имя (Name) и тип (Type) объекта.

Получилось:

Рисунок 23. Шаг 7. Формирование структуры программы

Результат наших действий - древовидная структура в левом окошке, называющемся "Procedural Structure". Script Wizard преобразует ее в программный код, который сохраняется в файл с именем, совпадающем с именем скрипта, при запуске которого составляется отчет. В нашем синтаксическом древе -

Page 39: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 39

два списка, следовательно, в скрипте будет реализовано два цикла (один вложен в другой), один - с перебором по всем выбранным моделям, другой - реализует перебор по всем представлениям объектов, нарисованным на выбранной модели.

От каждого представления объекта в отчет попадет: его декартовы координаты на канве модели; имя и тип объекта, который оно представляет. Чтобы отчет был отсортирован, выберем в левом окошке строчку "ObjOccList" и нажмем на кнопку

"Options:". В появившемся диалоговом окне выберем первичный критерий сортировки (нам сейчас достаточно одного критерия) SORT_GEOMETRIC и нажмем Ok:

Рисунок 24. Шаг 8. Диалоговая форма сортировки списка После того как пользователь завершил формирование структуры программы, необходимо нажать

кнопку «Finish» для записи текста программы в файл. При отсутствии ошибок выдается сообщение об успешном окончании создания программы.

Рисунок 25. Сообщение об успешном окончании создания программы

5.4. Редактирование скрипта с помощью Script Wizard

Script Wizard позволяет также вносить изменения в программу, созданную с его помощью. В этом случае Script Wizard. включается с помощью команды File->Open из компонента ARISа – ARIS

Explorer. Появляется диалог, изображенный на рисунке. Необходимо выбрать «Evaluation script».

Рисунок 26. Диалог выбора при открытии скрипта

Page 40: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 40

Теперь необходимо выбрать файл, в котором хранится программа, с помощью диалога, показанного

на рисунке.

Рисунок 27. Выбор скрипта для открытия В появившемся диалоге (Рисунок 28), выбор «In Script Wizard» запускает компонент Script Wizard,

который включается, начиная с шага 3. Здесь же возможно изменение заголовка, автора, компании, описания программы в диалоговом окне, появляющимся после нажатия кнопки «Properties».

Рисунок 28. Выбор способа редактирования программы

Имеющаяся альтернатива способа редактирования программы «In Script Editor» описана ниже. Учтите, что сохраненный из «Script Editor» файл больше нельзя будет открыть «In Script Wizard».

Page 41: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 41

5.5. Редактирование скрипта с помощью Script Editor

Внешний вид компонента приведен на рисунке (Рисунок 29). В заголовке окна видно полное имя

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

Рисунок 29. Внешний вид редактора скриптов

Редактор скриптов выделяет цветом семантически различные участки кода программы.

№ Смысл Цвет

1 Комментарий Зеленый

2 Служебные слова: стандартные процедуры, функции, операторы, константы (Visual Basic)

Голубой

3 Стандартные объекты ARIS Extension, методы этих объектов, константы ARIS

Темно-синий

4 Определения управляющих элементов Бирюзовый

5 Строки, содержащие синтаксические ошибки Красный

6 Прочее (определенные пользователем объекты, методы этих объектов, константы, и т.д.)

Черный

В нижней части окна имеются закладки для просмотра текста программы (Script – по умолчанию

активно), макета отчета (Layout – только чтение), макетов верхнего (Header) и нижнего (Footer) колонтитулов.

5.6. Отладка скриптов, работа с закладкой Watch, работа с точками останова

Открытый в окне Script Editor скрипт можно запустить на выполнение, нажав клавишу F12 (или выбрав меню Debug/Run) или нажав на кнопку “Run” панели инструментов “Debug”.

При этом контекст выполнения скрипта будет тем самым, который был до открытия окна Script Editor.

Page 42: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 42

Пошаговое выполнение скрипта возможно с помощью клавиши F10. Прерывание пошагового выполнения скрипта – F12 (выполнение скрипта с данной точки до конца в

автоматическом режиме) либо Shift+F12 (прерывание выполнения скрипта) либо Shift+F11 (выполнение скрипта с данной точки до конца в автоматическом режиме с игнорированием точек останова).

Точки останова – помеченные специальным способом (коричневый кружочек) строки скрипта.

Рисунок 30. Точка останова – помеченная строка кода

Если такая помеченная строка содержит исполняемые операторы, то выполнение скрипта будет

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

скрипта. Для этого: остановите выполнение скрипта (с помощью точки останова) и скопируйте имена интересующих переменных в текстовое поле закладки Watch, которая появляется в момент выполнения скрипта в открытом окне Script Editor. По мере прохождения (выполнения) последующих строк скрипта с помощью ручной трассировки (F10) или с использованием других точек останова, изменение содержимого этих переменных будет отображено в закладке Watch.

Page 43: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 43

Рисунок 31. Работа с закладкой Watch

5.7. Вывод на экран вспомогательной информации в ходе выполнения скрипта

Во время выполнения скрипта иногда полезно бывает иметь возможность видеть в специальном окошке информацию о ходе выполнения скрипта. Для этого в системе ARIS предусмотрена встроенная в язык программирования процедура WriteOutput(<текст для вывода>), где <текст для вывода> - текст, который появится в специальном окне в результате выполнения строки скрипта, содержащей данную процедуру.

Например, если мы вставим в текст скрипта, созданного нами с помощью Script Wizard, сразу после строки

' Headline строку

WriteOutput("Этот комментарий выводится сразу после формирования верхнего колонтитула") то в результате выполнения скрипта в окне “Output Window” мы увидим:

Рисунок 32. Окно “Output Window”

Другая процедура - WriteStatus(<текст для вывода>) – выдает текст в нижней строке статуса.

Page 44: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 44

5.8. Использование различных языков в скриптах ARIS

В ARIS возможно использование более 90 различных языков при создании моделей и объектов. У каждого объекта или модели ARIS присутствуют атрибуты. Некоторые атрибуты, такие как Name, Description/Definition встречаются у всех объектов, некоторые

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

атрибуты, зависимые от используемого пользователем языка базы; атрибуты, независимые от используемого пользователем языка базы. Зависимые от языка атрибуты могут в одном и том же объекте заполнятся на разных языках. Что

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

Рисунок 33. Окно атрибутов объекта ARIS При запуске скрипта на выполнение пользователь может выбрать, какой язык будет использован при

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

Page 45: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 45

Рисунок 34. Окно настройки параметров запуска скрипта

На этапе выполнения скрипта доступ к выбранному в данном окне языку возможно получить

посредством оператора SelectedLanguage, который возвращает идентификатор выбранного языка (LocaleID). Например: g_nLoc = SelectedLanguage Приведем таблицу идентификаторов наиболее часто используемых в ARIS языков (полный перечень

находится в справочной системе ARIS).

Язык Константа Значение

Немецкий LCID_GERMAN value:0x0407 1031

Английский (США) LCID_ENGLISHUS value: 0x0409 1033

Французский LCID_FRENCH value: 0x040c 1036

Русский - value: 0x0419c 1049

Нейтральный LCID_NEUTRAL value: 0

Данные идентификаторы используются при любом обращении к зависимым от языка атрибутам

объектов. В зависимости от того, какой язык атрибута необходим, возможны два варианта действий: 1) Использование переменной, в которую ранее было помещено значение выбранного при запуске

скрипта языка. Например: Set s = oObj.attribute(at_name, g_nLoc) 2) Использование значения идентификатора языка прямо в команде, если требуется обратиться к

значению атрибута на определенном языке. Например: Set s = oObj.attribute(at_name, 1049)

Page 46: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. 46

6. Структура, формат и макет отчета

6.1. Операторы, формирующие структуру отчета

Приведем пример выборки операторов из скрипта, созданного в Script Editor, которые обеспечивают вывод и формирование структуры отчетов. На данном примере становятся понятны основные правила работы с этими операторами.

Рассмотрим данную выборку: Global g_nLoc As Long Global g_oOutFile As Object … Sub Main … Set g_oOutFile = CreateObject("ARIS.Output.6.1") g_nLoc = SelectedLanguage g_oOutFile.Init(SelectedFormat, g_nLoc) … g_oOutFile.DefineF("REPORT1","Arial",24,C_BLACK, _ COLOR_TRANSPARENT,FMT_BOLD Or FMT_CENTER,0,21,0,0,0,1) … g_oOutFile.OutputLnF("ARIS Report", "REPORT1") … g_oOutFile.WriteReport(SelectedPath, SelectedFile) End Sub Здесь приведены не все строки скрипта (опущенные строки помечены многоточием), а лишь строки,

необходимые для того, чтобы в шапке отчета появился заголовок «ARIS Report» (жирным шрифтом Arial 24 размера черного цвета, выровненный по центру страницы).

“REPORT1” – это стиль текста, его можно определить один раз и затем использовать в операторах: <Имя ARIS.Output-объекта>.OutputLnF(…) что делает код скрипта значительно более компактным и удобочитаемым по сравнению с

использованием операторов: <Имя ARIS.Output-объекта>.Output(…) и <Имя ARIS.Output-объекта>.OutputLn(…) Рекомендуется в начале программы определить все стили текста и использовать их в коде

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

То же самое мы могли бы сделать с помощью следующего скрипта: Global g_nLoc As Long Global g_oOutFile As Object Sub Main g_nLoc = SelectedLanguage Set g_oOutFile = CreateObject("ARIS.Output.6.1") g_oOutFile.Init(SelectedFormat, g_nLoc) g_oOutFile.OutputLn("ARIS Report ", "Arial",_ 24,C_BLACK,COLOR_TRANSPARENT, _ FMT_BOLD Or FMT_CENTER,0) g_oOutFile.WriteReport(SelectedPath, SelectedFile) End Sub

Page 47: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 47

Как видно из текста для создания отчета в программном коде необходимо определить глобальный объект:

Global g_oOutFile As Object Этот объект используется при выводе любой информации в отчет. Для создания отчета необходимо: 1) создать объект "ARIS.Output.6.1" оператором Set <Имя ARIS.Output-объекта> = CreateObject("ARIS.Output.6.1"); 2) инициализовать объект "ARIS.Output.6.1" оператором <Имя ARIS.Output-объекта>.Init(SelectedFormat, <код языка>); 3) создать макет отчета (задать верхний и нижний колонтитулы, заголовок, тело) (для создания макета отчета можно использовать строки, таблицы и иллюстрации); 4) выполнить операцию создания отчета в виде файла определенного формата оператором <Имя ARIS.Output-объекта>.WriteReport(SelectedPath, SelectedFile).

6.2. Операторы, создающие нижний и верхний колонтитул макета отчета

Верхний колонтитул макета отчета создается операторами: <Имя ARIS.Output-объекта>.BeginHeader() … <Имя ARIS.Output-объекта>.EndHeader() где многоточием обозначены операторы, формирующие сам верхний колонтитул (операторы,

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

размещать различную информацию (логотип, название компании). Нижний колонтитул макета отчета создается операторами: <Имя ARIS.Output-объекта>.BeginFooter() … <Имя ARIS.Output-объекта>.EndFooter() где многоточием обозначены операторы, формирующие сам нижний колонтитул (операторы,

вставляющие строки, таблицы, иллюстрации). Как правило, в нижнем колонтитуле используется таблица, в которой размещается информация о

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

формирующих колонтитулы, формируют тело отчета.

6.3. Операторы, вставляющие в отчет строки

Операторы, вставляющие в отчет строки: <Имя ARIS.Output-объекта>.Output(<текст>, <имя шрифта>, <размер шрифта>, <цвет

шрифта>, <цвет заливки текста>, <стиль и выравнивание текста>, <отступ>) <Имя ARIS.Output-объекта>.OutputLn(<формирующий строку текст>, <имя шрифта>, <размер

шрифта>, <цвет шрифта>, <цвет заливки текста>, <стиль и выравнивание текста>, <отступ>) <Имя ARIS.Output-объекта>.OutputLnF(<формирующий строку текст>, <имя стиля>) где <имя стиля> - стиль, который должен быть ранее определен в программе. <Имя ARIS.Output-объекта>.DefineF(<имя стиля>,>, <имя шрифта>, <размер шрифта>, <цвет

шрифта>, <цвет заливки текста>, <стиль и выравнивание текста>, <отступ слева>, <отступ справа>, <отступ сверху>, <отступ снизу>,<отступ первой строки>, <интерлиньяж>)

6.4. Использование таблиц в отчете

Использование таблиц в отчете позволяет структурировать информацию, выводимую скриптом ARIS.

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

Page 48: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 48

Операторы, вставляющие в отчет таблицу: <Имя ARIS.Output-объекта>.BeginTable(<ширина таблицы в % от ширины страницы>,<цвет

рамки>,<цвет заливки>,<стиль и выравнивание текста таблицы>,<отступ от левого края страницы>) … <операторы, формирующие таблицу> … <Имя ARIS.Output-объекта>.EndTable(<нижний заголовок таблицы или для Excel – название

листа>,<ширина таблицы в % >, <имя шрифта заголовка>,<размер шрифта заголовка>,<цвет шрифта заголовка>,<заливка текста заголовка>,<% затенения>,<стиль и выравнивание текста заголовка>,<отступ>)

Оператор, формирующий строку таблицы: <Имя ARIS.Output-объекта>.TableRow() – указывает, что следующие за ним операторы,

формирующие ячейки, относятся к следующей строке таблицы. Операторы, формирующие ячейку таблицы: <Имя ARIS.Output-объекта>.TableCell(<текст>,<ширина ячейки в % от ширины таблицы>, <имя

шрифта>,<размер шрифта>,<цвет шрифта>,<цвет заливки ячейки>,<% затенения>,<стиль и

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

<Имя ARIS.Output-объекта>.TableCellF(<текст>,<ширина ячейки в % от ширины таблицы>,<имя

стиля>) где <имя стиля> - стиль, который должен быть ранее определен в программе. <Имя ARIS.Output-объекта>.DefineF(<имя стиля>, <имя шрифта>, <размер шрифта>, <цвет

шрифта>, <цвет заливки текста>, <стиль и выравнивание текста>, <отступ слева>, <отступ справа>, <отступ сверху>, <отступ снизу>,<отступ первой строки>, <интерлиньяж>)

Page 49: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 49

6.5. Различия используемых форматов отчетов

В зависимости от используемых форматов результирующих файлов различаются возможности управления форматом отчета. Рассмотрим основные различия.

Формат Excel При использовании для вывода отчета файла в формате Excel надо учитывать, что каждая

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

После создания отчета в формате Excel возможно переносить данные из Excel в базы данных для дальнейшей обработки.

Формат RTF Вывод отчета в данном формате позволяет использовать возможности форматирования отчета

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

Как правило, для обеспечения использования данных возможностей формат отчета лучше делать в формате RTF.

Команды, с помощью которых осуществляется форматирование RTF файла, не входят в рамки данного курса.

Формат HTML Формат HTML позволяет получать файлы, уже готовые к публикации в Интернете, что в

совокупности с использованием ARIS Web Publisher позволяет документировать результаты проекта в Интернете. Данные файлы можно просматривать с помощью любого браузера. После создания отчета данного типа его можно использовать как основу для дальнейшей переработки в соответствии с Вашими целями, изменяя код HTML.

Формат DOC Данный формат позволяет создать файл в формате текстового редактора MS Word. К сожалению, в

ARIS Sax Basic не поддерживается полный набор команд. В связи с этим, если к отчету предъявляются более высокие требования, необходимо использовать процедуры и функции из объектной библиотеки Word.

6.6. Операторы, создающие иллюстрацию и вставляющие ее в отчет

Если в отчетах используется графическая информация, то это выгодно отличает данный отчет от других, ограничивающихся только текстовой информацией. ARIS SAX Basic позволяет включать графические иллюстрации в отчеты.

Перед тем, как Вы вставите иллюстрацию в отчет, ее необходимо создать. Для создания иллюстраций в отчете необходимо проделать следующие действия: Определить имя объекта-иллюстрации: Dim <имя Picture-объекта> As Picture Создать объект-иллюстрацию: Set <имя Picture-объекта> = CreateObject("ARIS.Picture.6.1") Инициализировать объект-иллюстрацию: <имя Picture-объекта>.Create(<имя файла картинки>) где <имя файла картинки> - имя WMF, BMP или JPG – файла, заключенное в двойные кавычки. После создания иллюстрации ее необходимо вставить в отчет. Оператор, вставляющий иллюстрацию в отчет: <Имя ARIS.Output-объекта>.OutGraphic(<имя Picture-объекта>, <масштаб в %>, <максимальная

Page 50: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 50

ширина в мм>, <максимальная высота в мм>) где <имя Picture-объекта> - имя созданного заранее объекта класса Picture.

6.7. Пример скрипта, формирующего структуру отчета

В данном примере рассмотрены следующие вопросы:

задается список стилей, который будет использоваться при выводе информации;

создается колонтитул в виде таблицы;

показываются возможности вывода строк в различных форматах и различными шрифтами;

создается таблица и показываются возможности по ее форматированию;

выводится графический рисунок в отчет. Данный пример показывает различные возможности форматирования и структурирования получаемых

из ARIS отчетов.

Page 51: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 51

Global g_nLoc As Long Global g_oOutFile As Object Sub Main Set g_oOutFile = CreateObject("ARIS.Output.6.1") g_nLoc = SelectedLanguage g_oOutFile.Init(SelectedFormat, g_nLoc) g_oOutFile.PageWidth=297 g_oOutFile.PageHeight=210 g_oOutFile.DefineF("str_lf","Arial",14,C_BLACK,COLOR_TRANSPARENT,FMT_BOLD Or FMT_LEFT,0,0,0,0,0,1) g_oOutFile.DefineF("Str_rt","Arial",12,C_BLACK,COLOR_TRANSPARENT,FMT_ITALIC Or FMT_RIGHT,0,0,0,0,0,1) g_oOutFile.DefineF("Str_cn","Arial",12,C_BLACK,COLOR_TRANSPARENT,FMT_CENTER,0,0,0,0,0,1) Dim pict As picture Dim pictLeft As Picture Dim pictRight As picture Set pict = CreateObject("ARIS.Picture.6.1") Set pictLeft = CreateObject("ARIS.Picture.6.1") Set pictRight = CreateObject("ARIS.Picture.6.1") pict.Create("lb_logo.bmp") pictLeft.Create("lb_logo.bmp") pictRight.Create("") g_oOutFile.BeginHeader() g_oOutFile.BeginTable(100,C_BLACK,COLOR_TRANSPARENT,FMT_LEFT,0) g_oOutFile.TableRow() g_oOutFile.TableCell("",25, "Times New Roman",12,C_BLACK,COLOR_TRANSPARENT,0,FMT_CENTER Or FMT_VCENTER,0) g_oOutFile.OutGraphic(pictLeft,-1,1000,10) g_oOutFile.TableCell(ScriptInfo(SCRIPT_TITLE),50, "Times New Roman",14,C_BLACK,COLOR_TRANSPARENT,0,FMT_CENTER Or FMT_VCENTER,0) g_oOutFile.TableCell("",25, "Times New Roman",12,C_BLACK,COLOR_TRANSPARENT,0,FMT_CENTER Or FMT_VCENTER,0) g_oOutFile.OutGraphic(pictRight,-1,40,15) g_oOutFile.EndTable("",100, "Times New Roman",10,C_BLACK,COLOR_TRANSPARENT,0,FMT_LEFT Or FMT_VTOP,0) g_oOutFile.EndHeader() g_oOutFile.OutputLn("Пример отчета","Times New Roman",20,C_BLACK,COLOR_TRANSPARENT,FMT_CENTER,21) g_oOutFile.OutputLnF("Выводим строку с выравниванием влево (жирным шрифтом Arial)","str_lf") g_oOutFile.OutputLnF("Выводим строку с выравниванием вправо (наклонным шрифтом Arial)","Str_rt") g_oOutFile.OutputLnF("Выводим строку с выравниванием по центру (обычным шрифтом Arial)","Str_cn") g_oOutFile.OutputLn("Выводим строку с выравниванием влево и отступом (обычным шрифтом Times New Roman)","Times New Roman",12,C_BLACK,COLOR_TRANSPARENT,FMT_LEFT,20)

Page 52: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 52

g_oOutFile.OutGraphic(pict,-1,750,120) g_oOutFile.OutputLn(" - Необходимо, что-бы рисунок имел поля, поскольку Aris обрезает их при выводе на экран","Times New Roman",10,C_BLACK,COLOR_TRANSPARENT,FMT_LEFT,20) g_oOutFile.OutputLnF("","str_lf") g_oOutFile.OutputLnF("","str_lf") g_oOutFile.OutputLnF("Пример таблицы","Str_cn_ot") g_oOutFile.BeginTable(100,C_BLACK,COLOR_TRANSPARENT,FMT_LEFT,0) g_oOutFile.TableRow() g_oOutFile.TableCell("Ячейка 1",100, "Times New Roman",12,C_BLACK,COLOR_TRANSPARENT,10,FMT_BOLD Or FMT_LEFT Or FMT_VBOTTOM,0) g_oOutFile.TableRow() g_oOutFile.TableCellF("Ячейка 2.1",50,"str_lf") g_oOutFile.TableCellF("Ячейка 2.2",50,"Str_rt") g_oOutFile.TableRow() g_oOutFile.TableCellF("Ячейка 3.1",25,"str_lf") g_oOutFile.TableCellF("Ячейка 3.2",25,"Str_rt") g_oOutFile.TableCellF("Ячейка 3.3",25,"str_lf") g_oOutFile.TableCellF("Ячейка 3.4",25,"Str_rt") g_oOutFile.TableRow() g_oOutFile.TableCell("Ячейка 4.1",30,"Times New Roman",10,C_BLACK,RGB(212,212,212),0,FMT_BOLD Or FMT_LEFT Or FMT_VBOTTOM,10) g_oOutFile.TableCell("Ячейка 4.2",50,"Times New Roman",15,C_BLACK,RGB(212,212,212),0,FMT_BOLD Or FMT_LEFT Or FMT_VCENTER,20) g_oOutFile.TableCell("Ячейка 4.3",20,"Times New Roman",20,C_BLACK,RGB(212,212,212),0,FMT_BOLD Or FMT_LEFT Or FMT_VTOP,10) g_oOutFile.EndTable("",100, "Times New Roman",10,C_BLACK,COLOR_TRANSPARENT,0,FMT_LEFT Or FMT_VTOP,0) g_oOutFile.WriteReport(SelectedPath, SelectedFile) End Sub

Page 53: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 53

Рисунок 1. Пример работы скрипта формирующего структуру отчета

Page 54: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 54

7. Использование интерактивных элементов при создании скриптов в ARIS

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

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

Существует два пути создания экранных элементов:

в программе, путем написания соответствующего кода;

с помощью Dialog Editor, который позволяет в графическом интерфейсе сформировать экранную форму.

7.1. Использование Dialog Editor для создания экранных форм

Мы будем рассматривать второй способ (с помощью Dialog Editor) формирования экранных форм, так как он содержит полный функционал для создания экранных форм, и при этом очень прост в использовании.

Находясь в окне редактирования кода скрипта необходимо в меню выбрать пункт Extras / Dialog Editor. В результате данного действия появится рабочее окно Dialog Editor, в котором можно создать экранную

форму.

Рисунок 35. Рабочее окно Dialog Editor

Выделив необходимый для размещения на экранной форме элемент, нажатием на соответствующую

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

Page 55: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 55

Приведем описание кнопок, располагающихся на панели UserDialog Editor и действия, выполняемые при их выборе.

Кнопка Описание действия

Открывает окно свойств для выделенного элемента

Позволяет перебирать все присутствующие элементы на экранной форме

Управляет расположением элементов по уровням на экранной форме

Открывает диалоговое окно управления параметрами направляющей сетки (шаг, видимость и т.д.)

Закрывает UserDialog Editor и генерирует код в программе

Позволяет выбирать, сдвигать или редактировать элементы

Добавляет элемент GroupBox (рамка группировки элементов)

Добавляет элемент Text (текстовое поле без возможности изменения)

Добавляет элемент TextBox (текстовое поле с возможностью изменения)

Добавляет элемент CheckBox (флажок)

Добавляет элемент OptionButton (переключатель)

Добавляет элемент ComboBox (поле со списком)

Добавляет элемент ListBox (список)

Добавляет элемент DropListBox (раскрывающийся список)

Добавляет элемент Picture (картинка)

Добавляет элемент OKButton (кнопка ОК)

Добавляет элемент CancelButton (копка Cancel)

Добавляет элемент PushButton (кнопка)

Для примера рассмотрим окно свойств элемента TextBox

Рисунок 36. Окно свойств элемента

Кнопками << >> можно осуществлять переход с одного элемента экранной формы на другой, при этом, не закрывая окно. Поля Left, Top, Width, Height содержат данные о местоположении элемента и меняются при изменении местоположения элемента на экранной форме автоматически.

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

Page 56: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 56

7.2. Описание параметров диалоговых элементов ARIS SAX Basic

Приведем подробное описание параметров диалоговых элементов. Возможно выделить общие параметры, присутствующие у всех элементов: X - расстояние от левого края диалогового окна (оно задается в 1/8 средней символьной ширины для

шрифта диалога); Y - расстояние от верхнего края диалогового окна (оно задается в 1/12 символьной высоты для шрифта

диалога); DX – ширина (она задается в 1/8 средней символьной ширины для шрифта диалога); DY – высота (она задается в 1/12 символьной высоты для шрифта диалога). Подробно рассмотрим остальные параметры диалоговых элементов.

Синтаксис Параметры

GroupBox Title – заголовок группового блока; Field – имя, через которое можно организовать опрос и управление данным элементом.

Text Title – текст, отображаемый в данном текстовом поле; Field – имя, через которое можно организовать опрос и управление данным элементом.

TextBox

Field – имя, через которое можно организовать опрос и управление данным элементом; Options - это числовое значение, управляющее типом текстового поля: 0 - только одна строка может быть введена в поле; 1 - несколько строк может быть введено в поле (по умолчанию); -1 - строка вводится в поле, как скрытый пароль.

CheckBox

Field - имя, через которое можно организовать опрос и управление данным элементом: 0 - переключатель выключен; 1 - переключатель включен; 2 - переключатель не выбран. Options – это числовое значение, управляющее типом переключателя: 0 - переключатель может быть либо включен, либо выключен; 1 - переключатель может быть либо включен, либо выключен, либо не выбран (после выбора

возврат к состоянию «не выбран» невозможен); 2 - переключатель может быть либо включен, либо выключен, либо не выбран (возможен

циклический выбор любого из трех положений).

OptionButton Field - имя, через которое можно организовать опрос и управление данным элементом; Title$ - заголовок переключателя.

ComboBox

StrArray$ () - это массив строк, устанавливающий наполнение поля со списком. Все непустые элементы массива будут использоваться; Field$ - значение поля со списком можно получить через это имя в виде выбранного текста; Options - числовое значение, управляющее типом поля со списком: 0 - список не сортируется (по умолчанию); 2 - список сортируется.

ListBox

StrArray$ () - этот массив строк устанавливает наполнение списка выбора (все непустые элементы массива используются); Field$ - значение списка можно получить через это в виде индекса массива StrArray$; Options - числовое значение, управляющее типом списка: 0 - список не сортируется (по умолчанию); 2 - список сортируется.

DropListBox

StrArray$ () - этот массив строк устанавливает наполнение раскрывающегося списка выбора (все непустые элементы массива используются); Field$ - значение поля со списком можно получить через это имя в виде индекса массива; Options - числовое значение, управляющее типом раскрывающегося списка: 0 - текстовое поле недоступно для редактирования, и список не сортируется (по умолчанию); 1 - текстовое поле доступно для редактирования, и список не сортируется; 2 - текстовое поле - не доступно для редактирования, и список сортируется; 3 - текстовое поле доступно для редактирования, и список сортируется.

OKButton Field - название кнопки (если данный параметр пропущен, то название кнопки - "OK").

CancelButton Field - название кнопки (если данный параметр пропущен, то название кнопки - "Cancel").

Page 57: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 57

PushButton Title$ - надпись на кнопке; Field - название кнопки (если данный параметр пропущен, то первые два слова надписи на кнопке используются в качестве имени).

В результате диалог будет выглядеть в программе в виде программного кода:

Begin Dialog UserDialog 200,120 Text 10,10,180,15,"Please push the OK button" ComboBox 10,25,180,60,combos$(),.combo$ OKButton 80,90,40,20 End Dialog

Если в окне программного кода поместить указатель между Begin Dialog и End Dialog, то возможно запустить Dialog Editor снова и внести правки в экранную форму.

7.3. Обработка результатов выбора пользователя

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

После создания экранной формы в Dialog Editor или вручную необходимо определить переменную диалога:

Dim dlg_user As UserDialog

Для запуска экранной формы на выполнение необходимо использовать следующую команду:

Dialog dlg_user

Для опроса состояния элементов диалога необходимо использовать следующий синтаксис команд:

Set oSelectedItem1 = Dlg_user. ListBox1 Set oSelectedItem2 = Dlg_user. OptionButton1

Причем ListBox1 OptionButton1, – это имена, содержащиеся в свойстве Field соответствующих элементов диалога.

Необходимо следить за соответствием типов при присваивании и делать анализ полученных результатов.

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

7.4. Использование стандартных экранных форм

Помимо экранных форм, определяемых пользователем, для решения простых задач, возможно использовать стандартные экранные формы.

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

MsgBox(“Модель не найдена”, vbRetryCancel, “Скрипт”)

С помощью различных констант, возможно управлять набором кнопок, отображаемых в окне.

Набор кнопок Константа

OK VbOkOnly

OK, Cancel VbOkCancel

Abort, Retry, Ignore VbAbortRetryIgnore

Yes, No, Cancel VbYesNoCancel

Yes, No VbYesNo

Retry, Cancel VbRetryCancel

Результат выбора можно взять из переменной nResult и с помощью операторов If или Case выполнить нужные действия в программе.

Dim Nresult as integer Nresult = MsgBox(“Модель не найдена”, vbRetryCancel, “Скрипт”)

Для ввода информации от пользователя, возможно использовать следующую команду: SReturnVal = InputBox(“Введите название модели”)

В переменной SReturnVal будет находиться значение, введенное пользователем

Page 58: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 58

7.5. Пример скрипта на использование экранных форм

'-------------------------------------------------------- ' Aris 6 - Report Script, Object '-------------------------------------------------------- Option Explicit Global g_nLoc As Long Global g_oOutFile As Object Sub Main Dim oAttrList As Object Dim i1 As Long Dim Count_Of_Items As Long Dim ItemName() As String Dim ItemID() As Long Dim nResult As Integer Set g_oOutFile = CreateObject("ARIS.Output.6.1") g_nLoc = SelectedLanguage g_oOutFile.Init(SelectedFormat, g_nLoc) Begin Dialog UserDialog 630,203,"Отчет ARIS" ' %GRID:10,7,1,1 Text 30,21,350,35,"Выберите папку, где находится модель Технических терминов:",.Text1 OKButton 260,168,80,21 ListBox 20,56,340,105,ItemName(),.ListBox1 TextBox 30,175,90,21,.Text2 OptionGroup .Group1 OptionButton 440,28,90,14,"Выбор 1",.OB1 OptionButton 440,49,90,14,"Выбор 2",.OB2 CheckBox 440,161,140,14,"Переключатель",.CheckBox1 End Dialog g_oOutFile.DefineF("REPORT2","Times New Roman",14,C_BLACK,COLOR_TRANSPARENT,FMT_LEFT,0,21,0,0,0,1) Count_Of_Items=0 Dim Cur_DataBase As Object Set Cur_DataBase=ActiveDatabase Dim Cur_GroupList As Object Set Cur_GroupList=Cur_DataBase.GroupList(Cur_DataBase.RootGroup)'RootGroup Count_Of_Items=Cur_GroupList.Count ReDim ItemName(Count_Of_Items) ReDim ItemID(Count_Of_Items) For i1=0 To Cur_GroupList.Count-1 ItemName(i1)=Cur_GroupList.Get(i1).Name(g_nLoc) ItemID(i1)=i1 Next i1 Dim dlg3 As UserDialog Dialog dlg3 Dim oSelectedItem As Object Dim CurItemName As String Set oSelectedItem=Cur_GroupList.Get(Dlg3.ListBox1) CurItemName=oSelectedItem.Name(g_nLoc)

Page 59: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 59

Set oAttrList = oSelectedItem.AttrList(g_nLoc) MsgBox("Вы ввели текст :"+Dlg3.text2,vbYesNo,"Сообщение") nResult=MsgBox("Вами выбрана папка :"+CurItemName,vbYesNo,"Сообщение") If nResult=vbYes Then MsgBox("Вы нажали Да ",vbYesNo,"Сообщение") Else MsgBox("Вы нажали Нет ",vbYesNo,"Сообщение") End If g_oOutFile.Output("Вами выбрана папка : ", "Times New

Roman",12,C_BLACK,COLOR_TRANSPARENT,FMT_BOLD Or FMT_LEFT,0) g_oOutFile.OutputLn(CurItemName, "Times New

Roman",12,C_BLACK,COLOR_TRANSPARENT,FMT_BOLD Or FMT_ITALIC,0) If Dlg3.Group1=0 Then g_oOutFile.OutputLn("Выбор 1", "Times New

Roman",12,C_BLACK,COLOR_TRANSPARENT,FMT_BOLD Or FMT_ITALIC,0) Else g_oOutFile.OutputLn("Выбор 2", "Times New

Roman",12,C_BLACK,COLOR_TRANSPARENT,FMT_BOLD Or FMT_ITALIC,0) End If If Dlg3.CheckBox1=0 Then g_oOutFile.OutputLn("переключатель выключен", "Times New

Roman",12,C_BLACK,COLOR_TRANSPARENT,FMT_BOLD Or FMT_ITALIC,0) Else g_oOutFile.OutputLn("переключатель включен", "Times New

Roman",12,C_BLACK,COLOR_TRANSPARENT,FMT_BOLD Or FMT_ITALIC,0) End If g_oOutFile.WriteReport(SelectedPath, SelectedFile) End Sub

Page 60: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 60

8. Описание скриптов отчетов, присутствующих в стандартной поставке ARIS

Таблица 1. Перечень скриптов стандартных отчетов в каталоге Script\report\en\

№ п/п

Каталог и наименование скрипта

Описание

1 EuroConversion.rsd Преобразование в Евро

2 GroupModels.rsg Формирование информации обо всех моделях выбранной папки и вложенных в нее папок. Имя модели и ее тип выводятся по умолчанию. Имеется возможность включения выбранных атрибутов в отчет. Можно также импортировать в отчет графику моделей (для форматов .HTML, .RTF, .DOC).

3 GroupObjects.rsg Вывод информации об объектах, содержащихся в выбранной папке

4 ModelGraph.rsm Вывод информации об объектах выделенных моделей в соответствии с их графическим расположением на модели. Вывод проводится в текстовом формате.

5 ModelGraphics.rsm Выдает графическое представление выбранных моделей

6 ModelHierarchy.rsm Осуществление обработки функций и их детализаций, содержащихся во всех выбранных моделях. Формируется иерархия функций с выводом свойств и атрибутов. Глубина представляемой иерархии задается пользователем. Функции модели могут выводиться в алфавитном порядке, сортироваться по любым атрибутам, типам символа или топологии. Информация о функциях, имеющих множественные вхождения, выводится один раз. Все дополнительные экземпляры отображаются в виде ссылок.

7 ModelHierarchy_2.rsm Осуществление обработки объектов и их детализаций, содержащихся во всех выбранных моделях. В отчете формируется иерархия функций с выводом их свойств и атрибутов.

8 ModelInfo.rsm Позволяет получить описание всех существующих атрибутов для выбранных моделей. По желанию в отчете можно указать папку, в которой модели сохранены, вывести графику модели и объектов, содержащихся в модели вместе с их атрибутами. Кроме того, могут выводиться связи между объектами в пределах модели. Набор выводимых типов моделей, объектов, отношений и атрибутов может быть ограничен выбираемым фильтром обработки. Содержание отчета сортируется в алфавитном порядке. Вывод может быть осуществлен в форме таблицы или текстового документа.

9 ModelObjects.rsm Включение в отчет всех объектов выбранных моделей. При составлении отчета рассматриваются только те типы объектов, которые входят в установленный (стандартный) методологический фильтр. Отчет создается в виде таблиц (для каждой модели), объекты располагаются в алфавитном порядке.

10 ModelObjectTables.rsm Табличный вывод атрибутов и связей экземпляров объектов в моделях

11 ObjectInfo.rso Предоставление для всех выбранных объектов информации обо всех их связях с другими объектами. Установленные атрибуты анализируемых объектов могут быть включены в отчет, который имеет в форму таблицы.

Page 61: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 61

№ п/п

Каталог и наименование скрипта

Описание

12 ObjectTables.rso Формирование отчета обо всех установленных атрибутах выбранных объектов и их связях с другими объектами.

13 ScreenDesign.rsm Генерирует программные коды (C++) из моделей, которые отображают формат экранов. Создает *.rc и * h файлы.

14 Translation_In.rsd Используется для повышения удобства перевода содержимого баз данных с одного языка на другой. Осуществляет перенос в ARIS предварительно экспортированной и переведенной в системе Excel информации (см. также скрипт Translation_Out.rsg).

15 Translation_Out.rsg Используется для повышения удобства перевода содержимого баз данных с одного языка на другой. Скрипт осуществляет перенос информации из ARIS в Excel. Данная операция необходима для перевода и занесения служебной информации обратно в ARIS при помощи скрипта Translation_In.rsd.

16 TreeNumbering.rsm Подсчет числа объектов выбранной модели с учетом иерархии и вывод результатов на изображение модели.

17 ABC\CostCenterAnalysis_1.rst Отчет выводит содержимое центров затрат анализа, содержимое таблицы категорий затрат и все таблицы функций для выбранного функционально-стоимостного анализа

18 ABC\ProcessCalculation.rst Выводит результаты расчета стоимости процессов, произведенного методом АВС, например, детальную и обзорную таблицы расчета

19 ABC\TableStructure.rsg Скрипт генерирует пустую таблицу Excel со всеми колонками выбранного метода расчета.

20 Administration\Consolidation.rsg

Консолидирует объекты с идентичными именами. Перед выполнением скрипта Вы должны выбрать основные объекты активизируя любой Логический атрибут (напр.. User attribute Boolean 1).

21 Administration\DBLanguagesFonts.rsd

Выводит информацию о языках и/или шрифтах. Для шрифтов выводятся их свойства: формат, шрифт (Windows), размер, цвет, стиль, кодировка

22 Administration\DBUser.rsd Выводит информацию о пользователях, группах пользователей и назначенных для них функциональных привилегий для выбранной базы данных.

23 Administration\FilterInfo.rsf Отчет выводит типы (типы моделей, атрибуты моделей, типы символов, атрибуты объектов, назначения, типы связей, типы атрибутов для связей), разрешенные методом для выбранного фильтра

24 Administration\FindReplace.rsg Находит и заменяет текстовые атрибуты групп, моделей, объектов и связей.

25 Administration\GroupInfo.rsg Права доступа пользователей/групп пользователей, описание/определение и пути папок

26 Administration\IDCheck.rsd Осуществление проверки идентификаторов всех элементов базы данных на наличие в них символов, зависящих от используемого языка. При необходимости можно выбрать опцию удаления данных символов.

27 Administration\RelationshipMatrix.rsg

Экспортирует содержание матрицы отношений в MS Excel

Page 62: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 62

№ п/п

Каталог и наименование скрипта

Описание

28 Administration\ UserPrivileges.rsg

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

29 C3\c3-ProjectSheet.rsm Создает таблицу проекта с3 для каждой выбранной модели типа с3. Атрибуты Имя и Описание/Определение выводятся для каждого объекта

30 Cbusiness\CbusinessScenarioAggregated.rsm

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

31 Cbusiness\CbusinessScenarioDetailed.rsm

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

32 Cbusiness\DataSecurity.rsm Выдает объекты типа "Продукт/Услуга" и "Кластер/Модель данных". Перечисляются атрибуты для объектов типа "Тип передачи". При выборе опции "Тип передачи, он-лайновый" выводится наименование протокола защиты, для объектов, связанных с объектами типа "Защищенный протокол"

33 Cbusiness\InformationFlow.rsm Отчет выдает информационные потоки диаграммы. Каждый объект типа "Документ" или "Продукт/Услуга" являются входом или выходом для процесса. Отчет выводит информацию об объектах типа "Продукт/Услуга" или "Бизнес-документ", связи с процессами и процессы

34 Cbusiness\SystemSupport.rsm Выдает информацию о том, какая система поддерживает какие процессы, и, если определено, обязанности пользователей этой прикладной системы

35 CMA\CMA_Activities.rsg Формирование списка действий (в рамках работ по управлению изменениями) по планируемым изменениям в моделях и объектах, о которых должен быть проинформирован разработчик моделей или менеджер проекта.

36 CMA\CMA_History.rsm

CMA\CMA_History.rso

Отчет выводит историю изменения атрибутов папок "Управления изменениями". Информация, выводится по последовательно во времени (предложения по улучшению, мероприятия, замечания, состояние, ответственный, дата окончания)

37 CMA\CMA_Improvements.rsg Генерация в формате .XLS таблицы объектов и моделей, для которых имеются предложения по усовершенствованию в рамках работ по управлению изменениями.

38 CMA\CMA_StatusChanges.rsg Генерация списка объектов и моделей, состояние которых изменилось в рамках работ по управлению изменениями.

39 Functions\FunctionHierarchy.rso

Отчет описывает иерархию выбранных функций в базе данных. В отчете рассматриваются отношения в пределах моделей, а также иерархические отношения между функциями и назначенными моделями (например еЕРС).

40 Functions\ Functions_1.rso Описание взаимосвязи выбранных функций и организационных единиц. Анализируются все возможные связи между объектами типа «функция» и организационными единицами. При формировании отчета функции располагаются в алфавитном порядке. В зависимости от выбранных опций отчет выводится в виде таблицы или в текстовом формате.

Page 63: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 63

№ п/п

Каталог и наименование скрипта

Описание

41 Functions\Functions_2.rso Описание организационных элементов, выполняющих выбранные функции. Анализируется только тип связи «выполняется» (is executed by) между организационным элементом и функцией. Объекты при выводе в отчет сортируются в алфавитном порядке. В зависимости от выбранных опций отчет представляется в виде таблицы или в текстовом формате.

42 Organizational Elements\OrgChart_1.rsm

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

43 Organizational Elements\OrgElements_1.rso

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

44 Organizational Elements\OrgElements_2.rso

Описание функций, которые выполняют выбранные организационные единицы. Анализируется тип отношений «выполняет» (executes). Кроме того, в отчет могут быть включены атрибуты организационных элементов. В зависимости от выбранных опций отчет представлен в виде таблицы или как текстовый документ. Объекты сортируются согласно типам объекта, а в пределах данных типов – по алфавиту.

45 Organizational Elements\OrgElements_3.rso

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

46 Processes\ProcessesAsStructogram.rsm

Отчет выводит блочную структуру подобную структурограмме для выбранных eEPC-моделей

47 Processes\ProcessOverview_1.rsm,

Processes\ProcessOverview_2.rsm

В созданном отчете описываются функции, входящие в выбранные модели типов eEPC, eEPC (с потоком материалов), в офисный и в производственный процессы. Так же могут быть учтены включенные в эти модели организационные единицы, связанные с функциями. Анализируются все возможные типы связей между организационными единицами и функциями. Кроме того, объекты, описывающие данные, могут быть приведены в отчете как входные и выходные данные функций. Графическое изображение модели так же может быть включено в отчет (за исключением использования текстового формата в качестве выходного). Объекты сведены в таблицу и расположены в алфавитном порядке. Различие между этими скриптами состоит в типах учитываемых связей между объектами.

48 Processes\ProcessOverview_3.rsm

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

Page 64: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 64

№ п/п

Каталог и наименование скрипта

Описание

элементы. В зависимости от выбранной опции отчет может быть представлен как табличной или текстовой форме.

49 Processes\ProcessOverview_4.rsm

Предназначен для моделей типов eEPC, eEPC (с потоком материалов), офисного и производственного процессов. Скрипт создает отчет, который включает организационные единицы и выполняемые ими функции. Окружение функций анализируется для типов связи «выполняет» (executes) или «выполняется» (is executed by). В зависимости от выбранной опции отчет представляется в виде таблицы или текста.

50 Processes\ProcessOverview_5.rsm

Скрипт предназначен для моделей типов eEPC, eEPC (с потоком материалов), офисного и производственного процессов. Отчет описывает данные ввода и вывода, представленные объектами типа «Кластер/модель данных», «Тип сущности», «Технический термин» и «Информационный носитель», а также функции, с которыми они связаны. Анализируются типы связи «является входом для» (is input for) и «имеет на выходе» (has output of). При выводе в отчет объекты сортируются в алфавитном порядке.

51 Processes\ProcessOverview_6.rsm

Предназначен для моделей типов eEPC, eEPC (с потоком материалов), офисного и производственного процессов. Отчет описывает объекты, характеризующие тип прикладной системы, и функции, которые они поддерживают. В зависимости от установленных опций, отчет может также быть представлен в обратном направлении, то есть покажет связи функций модели eEPC с объектами, описывающими типы прикладной системы. В отчете анализируется тип связи «может поддерживать» (can support) или «может поддерживаться» (can be supported by). Объекты в отчете представлены в алфавитном порядке в формате таблицы или как текст.

52 Processes\ProcessOverview_7.rsm

Предназначен для моделей типов eEPC, eEPC (с потоком материалов), офисного и производственного процессов. Отчет описывает функции, имеющие среди своих заполненных атрибутов временные характеристики и/или параметры стоимости/затрат. В зависимости от настройки опций выбираются для включения в отчет средние, минимальные или максимальные значения. Суммарные характеристики выводятся в конце отчета. Для подведения итогов по временным атрибутам различные единицы измерения могут быть сведены к одной из них. Для подведения итогов по затратам, одна и та же валюта должна быть использована для различных стоимостных атрибутов. Сумма затрат в функции включает все типы стоимости кроме общих стоимостей. В отчет не включается анализ различных путей процесса или дополнительных критериев анализа. Функции выводятся в алфавитном порядке в виде таблицы.

53 Processes\VACD_1.rsm Предназначен для VAD – диаграмм цепочек добавленного качества. Создаваемый отчет описывает атрибуты и графические символы модели. Также в отчет включаются функции с атрибутами «название» и «описание/определение». В зависимости от установленных опций в отчете могут быть представлены все организационные элементы вместе с выполняемыми функциям и данными ввода и вывода. Для объектов, описывающих данные, анализируются типы связей «является входом для» (is input for) и «имеет на выходе» (has output of). Для организационных элементов рассматриваются все

Page 65: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 65

№ п/п

Каталог и наименование скрипта

Описание

возможные типы связей между этими элементами и функциями. Отчет составлен в алфавитном порядке и выводится в виде таблицы.

54 Processes\VACD_2.rsm Аналогичен предыдущему, однако анализируются следующие типы связей: функция «выполняется» (is executed by) организационным элементом; объект, описывающий данные, «является входом для» (is input for) функции, и функция «имеет на выходе» (has output of) объект, описывающий выходные данные. Отчет составляется в алфавитном порядке в формате таблицы.

55 QM\ModelISO.rsm Вывод информации с учетом требований международных стандартов ИСО серии 9000. Выводятся элементы, группы, установленные атрибуты и изображения моделей. Функции, имеющиеся в моделях, могут выводиться в алфавитном порядке, сортироваться по любому атрибуту, типу символа. Атрибуты, отношения и детализирующие модели сравниваются. Вывод информации производится в текстовом формате.

56 QM\StructuringModel.rsm Выводит модели, содержащие структурно-зависимые объекты

57 SAP\Activation_r3.rsm Вывод информации о состоянии активации объектов заданных типов – функций, событий и системных организационных единиц. Обрабатывается информация об имени, типе объекта, отнесении объекта к критерию активизации, а также код транзакции в информационной системе. Применяется для моделей, имеющих отношение к системе SAP R/3, а именно, моделей eEPC, VAD и PSM.

58 SAP\ Assignments_r3.rsm По каждой модели, имеющей отношение к системе SAP R/3, скрипт выводит перечень функций, для которых имеется детализация. Обрабатывается информация о коде транзакции, абсолютном пути к детализирующей модели, типе детализирующей модели, символе анализируемого объекта и статусе его активизации. Используемые модели те же, что и в предыдущем случае.

59 SAP\Functions_r3.rsm Для каждой модели, имеющей отношение к R/3, выводит перечень интерфейсов и функций со значимыми атрибутами

60 SAP\FunctionSelection_r3.rsm Используется для обзора функций и интерфейсов процессов со значимыми атрибутами, имеющих отношение к системе SAP R/3 и удовлетворяющих заданным критериям, выбираемым перед генерацией отчета

61 SAP\GroupModels_r3.rsg Вывод информации обо всех объектах типа «Функция», которые содержатся в рассматриваемых моделях и удовлетворяют критериям выбора. Критерий выбора задается перед созданием отчета и позволяет ограничить число объектов, включаемых в отчет.

62 SAP\ Occurrences.rso Отчет выводит экземпляры объектов в моделях и их состояние для выделенных определений объектов.

63 SAP\ProcessPath_r3.rsm Отображение связей между интерфейсами процессов.

64 SAP\StructuralModel.rsm Создаваемый отчет описывает модели, содержащие структурно зависимые объекты. Информация выводится в формате таблицы или как текст.

65 UML\Aris2xmiRR.rsm

(UML\Aris2xmiRR_v2.rsm)

Экспорт всех выбранных моделей типа «UML диаграммы классов» в файл формата XML в нотации UML XMI. Полученная информация может быть импортирована в программный продукт Rational Rose

Page 66: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 66

№ п/п

Каталог и наименование скрипта

Описание

2000 (или любой другой продукт, поддерживающий стандарт XMI). Для каждой выбранной модели создается отдельный экспортный файл.

66 UML\UMLClass2Java.rso Отчет создает Java-класы для объектов типа "Пакет", "Класс", "Интерфейс". Каждый создаваемы класс должен быть описан в "UML Диаграмма класса". Отчет выполняется на уровне определений, на уровне представлений выполняется только для выполняемых интерфейсов

67 UML\UMLInheritanceTree.rso Отчет выводит для всех выбранных объектов типа "Класс" наследованные связи уровня определений. Выводятся все непосредственные члены (Атрибуты и Операторы), а также все наследованные члены

68 UML\UMLJava2Aris.rsg Этот скрипт генерирует модели UML, основанные на выбранных файлах Java. Для импортируемых классов/интерфейсов создаются модели типов Диаграмма класса UML и Диаграмма описания класса UML, в которых отображены их связь с другими пакетами, интерфейсами, классами, их методами и элементами данных. Классы переписываются при экспорте только когда дата файла Java позднее, чем значение атрибута «Последние изменения» класса.

69 UML\UMLMemberInheritance.rsm

Отчет выводит для всех выбранных объектов типа "Класс" непосредственные и наследованные члены (Атрибуты и Операторы).

70 UML\UMLMemberInheritanceV2.rsm,

UML\UMLMemberInheritanceV2.rso

71 Variants\ModelVariants.rsm Вывод результатов сравнения выбранных моделей и их вариантов. Сравнение проводится до устанавливаемого пользователем уровня. Вывод проводится в текстовом формате, модели располагаются в алфавитном порядке.

72 Variants\ObjectVariants.rso Вывод информации о результатах сравнения выбранных объектов и их вариантов. Объекты и их варианты на одном структурном уровне будут отображены в алфавитном порядке. Отчет имеет форму таблицы.

73 Vitria\Vitria_Import.rsg Создает модели процессов из XML-файлов

74 Vitria\ Vitria_Export.rsm Экспортирует модели процессов в файл формат XML

75 XML\DTDExport.rsm Создает текстовое описание моделей DTD для выбранных моделей типа DTD

76 XML\DTDImport.rsg Создает модели типа "DTD" из текстового файла типа Document Type Definition

Таблица 2. Перечень стандартных скриптов анализа в каталоге Script\analyse\en\

№ п/п

Наименование скрипта Описание

1 ApplicSysBreaks.asm Определяет для всех функций в выбранных моделях, поддержаны ли они классами и/или типами и/или прикладными информационными системами, а так же компьютерами. Для всех функций процесса

Page 67: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 67

№ п/п

Наименование скрипта Описание

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

2 FunctionClass.asm Этот анализ группирует все функции выбранных моделей по значению атрибута определенного типа.

3 MediaBreaks.asm В ходе анализа определяет, имеется ли разрыв в носителях информации (например, документ, жесткий диск, журнал, файл, телефон и т.д.) для всех функций в выбранных процессах. Разрыв существует, когда две последовательно идущих функции с носителями информации, не обладают по крайней мере одним идентичным носителем информации каждая. Также определяется, сколько функций не обладают по крайней мере одним идентичным носителем информации. Анализ определяет коэффициент, отражающий степень информационных разрывов в процессах. Этот коэффициент может принимать значения от 0 до 1. Чем ниже степень информационной интеграции в процессе, тем выше будет значение коэффициента.

4 ModelComparison.asm Применяется для сравнения по крайней мере двух моделей. Анализ проводится двумя способами. Первый – сравнение существования, в ходе которого исследуются наличие или отсутствие одинаковых объектов в моделях. В качестве критериев идентичности могут выступать некоторые атрибуты, такие как имя, идентификатор, описание объекта, варианты объекта. Второй – сравнение атрибутов, при котором сравниваются атрибуты объектов с идентичными именами, но находящимися в различных моделях. Обрабатываются только модели, объекты, связи и типы атрибутов, доступные в соответствии с методологическим фильтром или фильтром обработки анализа. Чтобы сузить область анализа, выбирается соответствующий фильтр. Результат анализа отсортирован по алфавиту

5 OrgChange.asm В ходе анализ определяется, имеются ли изменения организационных единиц , групп, должностей и персоналий, задействованных при выполнении функций в выбранных процессах. Связь организационных элементов с функциями осуществляется с помощью связей "вносит вклад" или "выполняет". Если несколько организационных элементов связаны с функциями через связь "вносит вклад", то все орг.элементы необходимы для выполнения функции. Если используется связь "выполняет", то только один, любой, орг. элемент требуется для выполнения функции. В результате альтернативности выполнения функции организационными элементами, подсчитываются две величины, характеризующие организационные изменения. Если изменение возможно, но не необходимо (альтернатива), то величина минимального количества изменений не увеличивается, увеличивается только величина максимального количества изменений. В случае обязательных изменений, увеличиваются обе величины.

6 VariantComparison.asm Сравнивает две модели: мастер и вариант. В итоге выводится информация об объектах, которые существуют только в одной из

Page 68: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 68

№ п/п

Наименование скрипта Описание

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

Таблица 3. Перечень стандартных скриптов в каталоге Script\BSC\en\

№ п/п

Наименование скрипта Описание

1 BSC_DataImport.rsd Осуществление импорта данных (из Excel в ARIS), относящихся к методике оценки стратегии компании Balanced Score Card, после того, как они были перенесены туда скриптом BSC_DataExport.rsm и изменены в соответствии с текущим состоянием стратегии компании.

2 BSC_DataExport.rsm Осуществление экспорта данных (из ARIS в Excel), относящихся к методике оценки стратегии компании Balanced Score Card. Эти данные могут быть изменены в Excel и перенесены обратно при помощи скрипта BSC_DataImport.rsd. Применяется для моделей: BSC-причинно-следственная диаграмма, дерево функций, организационная схема, модель структуры и диаграмма VAD.

3 BSC_ManagementView.asm Этот скрипт вычисляет степень выполнения ключевых показателей результативности, цели и критические факторы Balanced Score Card и создает графическое представление.

4 BSC_Output.rsm Вывод для всех диаграмм типа «BSC – Причинно-следственная диаграмма», связанных с рассматриваемыми моделями организационных схем, моделями структуры, деревьями функций и диаграммами VAD, следующей информации: название перспективы, стратегические цели, ключевые показатели результативности, задачи. Эта информация дается в различных комбинациях, выбираемых пользователем. Применяется для тех же моделей, что и в предыдущем скрипте.

5 BSC_PlanActualComparison.asm Этот сценарий вычисляет степень достижежния целей ключевых показателей результативности, критических факторов в вашей Balanced Score Card в фактическом периоде времени.

6 BSC_ProcessInitiativesAnalysis.asm

Этот скрипт поможет расположить в соответствии с приоритетом индивидуальные инициативы и процессы для Balanced Score Card. Он определяет общую степень эффекта индивидуальных инициатив и процессов BSC в высших целях и критических факторах в конце причинно-следственной цепи и сравнивает еѐ со связанной средней стоимостью.

Page 69: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 69

9. Скрипты Semantic Check

9.1. Скрипты семантических проверок: общие сведения

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

Скрипты семантических проверок находятся в каталоге «ARIS\Script\SemanticCheck\En». В стандартной поставке системы ARIS имеется 6 скриптов семантических проверок моделей и 2

скрипта семантической проверки объектов. “Allocation rules.sem” – выполняет проверку структуры модели в соответствии с правилами,

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

“Existence rules.sem” – выполняет проверку структуры модели в соответствии с правилами,

регламентирующими наличие представлений одного и того же объекта на моделях базы разного типа. “Object attribute rules.sem” – выполняет проверку объектов заданного типа, имеющих

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

“Relationship attribute rules.sem” – выполняет проверку связей заданного типа, имеющих

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

“Structure rules.sem” – выполняет проверку структуры модели в соответствии с правилами,

ограничивающими топологию графа, соответствующего данной модели. “UMLRules.sem” – выполняет проверку структуры модели в соответствии с правилами,

ограничивающими структуру для UML – модели. “Assignment rules.seo” – выполняет проверку детализирующей модели, приписанной к выбранному

объекту, в соответствии с правилами, регламентирующими структуру детализирующей модели в зависимости от ее типа.

“Object attribute rules.seo” – выполняет проверку выбранного объекта как объекта заданного типа, в

соответствии с правилами, определяющими, какие атрибуты такого объекта должны быть непустыми. Основные настройки компонента ARIS – Semantic Check производятся в главном меню системы с

помощью закладки View -> Options -> Semantic Check. Внешний вид этой закладки приведен на рисунке.

Page 70: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 70

Рисунок 37. Основные настройки скриптов семантических проверок

В окне «тип и группы правил» (Rule Type and Rule Groups) перечисляется, какие типы и группы

правил (одного типа) применяются в стандартных (встроенных) скриптах семантических проверок. В группе «пути» (Path Data) указываются путь для сохранения (Output Path) отчета и источника (Script Path) скриптов для его создания.

Page 71: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 71

В окне «правила» можно отобразить и сформировать состав выбранной в окне слева («тип и группы правил») группу правил:

Рисунок 38. Настройка состава групп правил

9.2. Запуск скрипта семантической проверки в системе ARIS

Для запуска скрипта семантической проверки нужно: 1. Подключится к базе данных, содержания которой будет проведена проверка. 2. Выбрать в компоненте ARIS Explorer модель либо объект. Для выполнения проверки

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

3. Для выбранного содержимого базы данных открыть меню и выбрать Evaluate->Semantic Check. В появившейся диалоговой форме, необходимо выбрать скрипт для выполнения проверки и формирования отчета о результатах проверки. Этот скрипт может находиться в каталоге по умолчанию. В этом случае название файла, в котором она храниться можно будет найти в списке «Suggested Semantic Check Scripts (Rule Types)». В противном случае файл скрипта может быть найден в файловой системе в списке «Other Script».

Page 72: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 72

Рисунок 39. Форма выбора программы для семантической проверки 4. Далее в форме-диалоге настроек отчета необходимо указать полное имя файла, в котором

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

Рисунок 40. Установка параметров отчета 5. Щелкните по кнопке “Finish” чтобы начать семантическую проверку. В зависимости от выбранного скрипта вы будете приглашены при выполнении скрипта к дальнейшим

действиям.

Page 73: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 73

9.3. Работа со стандартным (встроенным) скриптом семантических проверок

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

выбрать подмножество правил, в соответствии с которыми будет проведена семантическая проверка выбранного объекта или модели.

Диалог формирования списка правил проведения семантической проверки содержит четыре окна: 1) окно “Rule Groups” со списком доступных групп правил; 2) окно “Rules” со списком правил из группы правил, выбранной в данный момент в окне “Rule

Groups”; 3) окно “rules to be Evaluated” со списком выбранных Вами правил; 4) окно без названия в нижней части диалога с комментарием-пояснением о выбранном в данный

момент в окне “Rules” правиле. Например, при выполнении скрипта “Allocation rules.sem”, проявляется следующий диалог:

Рисунок 2. Диалог выбора правил для проведения семантической проверки.

Сформировав список правил, нажмите на кнопку “ОК”. В результате выполнения скрипта семантической проверки будет сформирован файл, в котором

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

Page 74: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 74

10. Классы и объекты ARIS SAX BASIC

Содержимое базы ARIS достаточно разнородно и сама база сложно организована. Поэтому для работы с базой ARIS реализован объектный подход. Если коротко, объектный подход – это специальный способ структурировать содержимое базы с тем, чтобы синтаксис специальных выражений, обозначающих тот или иной элемент хранения в базе, был интуитивно понятен программисту. Класс – это (в общих словах) общий случай объекта, его структура, объект – это конкретный единичный экземпляр того, что в общем случае называется классом.

Для работы с содержимым базы ARIS система ARIS снабжает нас набором объектов и классов.

10.1. Терминология

Item – класс, имеющий атрибуты, т.е. любой объект класса Item содержит объекты класса Attr (организованные в список типа AttrList).

Любой объект из классов Model, DataBase, ObjDef, Cxn, Language, Table, FontStyle, Lane, Group, User «автоматически» являются объектами класса Item и «наследуют» все его методы и свойства.

Attr - класс атрибутов. Все объекты из класса Item имеют в своем составе объекты из класса Attr

(организованные в список типа AttrList) ObjDef – класс определений экземпляров объектов модели (диаграммы). Следует различать три различных смысла слова «ОБЪЕКТ»: 1) Объект как экземпляр класса (когда мы говорим о синтаксисе языка Sax Basic).Класс – общий

случай объекта, описание структуры объекта. Говорят «Объект а принадлежит классу А», если структура объекта а подходит под описание структуры объектов класса А (т.е. подходит под описание класса А);

2) Объект как элемент предметной области, т.е. сущность (например, должность «директор», либо «процесс закупки сырья»);

3) Объект как объект базы ARIS – наше огрубленное представление о реальном объекте из предметной области (т.е. то, как мы представили в базе ARIS должность «Директор» либо «процесс закупки сырья»).

Объект базы ARIS может быть изображен на диаграммах базы ARIS в нескольких местах, при этом

представляя один и тот же объект предметной области. Таким образом, объекту базы ARIS соответствует несколько (не менее одного) ПРЕДСТАВЛЕНИЯ этого объекта на диаграммах (т.е. в моделях) базы ARIS. Например, должность «директор» может (и должна) присутствовать как на диаграмме, описывающей организационную структуру предприятия, так и на диаграмме, описывающей распределение обязанностей.

ObjOcc – класс представлений экземпляров объектов модели (диаграммы). Cxn – класс определений экземпляров связи (класс определений связей между объектами на

отдельной модели). Связь (связь модели ARIS) – элемент диаграммы, а именно линия на диаграмме, обозначающая

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

Одни и те же кусочки диаграмм могут быть включены в различные модели (в одной модели также может присутствовать продублированный участок с целью достижения большей наглядности диаграммы). В этом случае на этих диаграммах будут присутствовать несколько представлений объектов, входящих в эти кусочки, а также будут присутствовать различные ПРЕДСТАВЛЕНИЯ связей, соединяющих эти объекты.

CxnOcc – класс представлений экземпляров связи.

Page 75: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 75

10.2. Перечисление, общее описание классов и объектов

Класс “ARIS_BASIC_Extension” Класс для обращения к выбранным базам, моделям, объектам, связям, группам и пользователям. Глобально объявленные методы предоставляют информацию о выбранных элементах, выборе

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

объектов моделей. Объект “Attr” представляет конкретный атрибут объекта или связи. Класс “AttrList” Представляет собой список из объектов класса Attr. В дополнение к собственным методам, доступны методы класса BaseList. Класс “Cxn” Класс определения экземпляра связи В дополнение к собственным методам, доступны методы класса Item. Класс “CxnList” Представляет собой список из объектов класса Cxn. В дополнение к собственным методам, доступны методы класса ItemList. Класс “CxnOcc” Класс для обращения к свойствам представления экземпляра связи. В дополнение к собственным методам, доступны методы класса Occ. Класс “CxnOccList” Класс списка представлений экземпляров связи. В дополнение к собственным методам, доступны методы класса BaseList. Класс “Database” Класс для обращения к свойствам, моделям (диаграммам) и объектам базы ARIS. Объект “Database” представляет базу ARIS. В дополнение к собственным методам, доступны методы класса Item. Класс “DatabaseList” Класс является списком объектов класса Database. В дополнение к собственным методам, доступны методы класса ItemList. Класс “Font” Класс для обращения к свойствам объектов ОС Windows FONT (шрифт), которые используются для

формирования отчетов. Класс “FontList” Класс является списком объектов класса FONT. В дополнение к собственным методам, доступны методы класса BaseList. Класс “FontStyle” Класс для обращения к коллекции свойств “Style” объектов ОС Windows FONT (шрифт), которые

используются для формирования отчетов. В дополнение к собственным методам, доступны методы класса Item.

Page 76: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 76

Класс “FontStyleList” Класс является списком объектов класса FontStyle. В дополнение к собственным методам, доступны методы класса BaseList и ItemList. Класс “Group” Класс для обращения к свойствам групп, в которые собраны модели, содержащиеся в базе ARIS. В дополнение к собственным методам, доступны методы класса Item. Класс “GroupList” Класс является списком объектов класса Group. В дополнение к собственным методам, доступны методы класса ItemList. Класс “Item” Класс содержит общие методы для свойство содержащих элементов и в тоже время является

базовым классом для специализированных классов (Object, Model,...). Класс “ItemList” Основной класс для всех списков, которые содержат элементы со свойствами. Этот и все выведенные из него классы поддерживают любые типы свойств (ArisAttrType) в качестве

критерия сортировки. Также доступны методы класса BaseList. Класс “Lane” Класс для обращения к свойствам ветви диаграммы (если у диаграммы есть ветви). В дополнение к собственным методам, доступны методы класса Item. Класс “LaneList” Класс является списком объектов класса Lane. В дополнение к собственным методам, доступны методы класса ItemList. Класс “Language” Класс для обращения к свойствам набора языковых настроек базы ARIS. В дополнение к собственным методам, доступны методы класса Item. Класс “LanguageList” Класс является списком объектов класса Language. В дополнение к собственным методам, доступны методы класса ItemList и BaseList. Класс “MethodFilter” Класс для обращения к свойствам методологического фильтра базы ARIS. Класс “Model” Класс для обращения к свойствам и компонентам диаграммы (модели) ARIS. В дополнение к собственным методам, доступны методы класса Item. Класс “ModelList” Класс является списком объектов класса Model. В дополнение к собственным методам, доступны методы класса ItemList. Класс “ObjDef” Класс для обращения к свойствам определения экземпляра объекта (модели) ARIS. В дополнение к собственным методам, доступны методы класса Item. Класс “ObjDefList” Класс является списком объектов класса ObjDef. В дополнение к собственным методам, доступны методы класса BaseList и ItemList.

Page 77: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 77

Класс “ObjOcc” Класс для обращения к свойствам представления экземпляра объекта (модели) ARIS. В дополнение к собственным методам, доступны методы класса Occ. Класс “ObjOccList” Класс является списком объектов класса ObjOcc. В дополнение к собственным методам, доступны методы класса BaseList. Класс “Occ” Базовый класс для классов ObjOcc и CxnOcc, содержит методы и свойства, необходимые для

обращения с представлениями как объектов, так и связей. Класс “Output” Класс для сборки (формирования) отчета и его конвертирования в выбранный формат выходного

файла (вывод отчета). В объекте этого класса собирается вся информация отчета и затем записывается в файл указанного

формата. Класс “Picture” Класс для обращения к свойствам графической вставки, вставляемой в отчет (в целях оформления

или иллюстрирования отчета). Класс “Table” Класс для обращения к свойствам таблицы, вставляемой в отчет. В дополнение к собственным методам, доступны методы класса Item. Класс “TableList” Класс является списком объектов класса Table. В дополнение к собственным методам, доступны методы класса BaseList и ItemList. Класс “User” Класс для обращения к свойствам учетной записи, идентифицирующей пользователя базы ARIS. В дополнение к собственным методам, доступны методы класса Item. Класс “UserList” Класс является списком объектов класса User. Класс “UserGroup” Класс для обращения к свойствам групп, в которые собраны учетные записи пользователей базы,

содержащиеся в базе ARIS. В дополнение к собственным методам, доступны методы класса Item. Класс “UserGroupList” Класс является списком объектов класса UserGroup.

Page 78: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 78

10.3. Структура взаимоотношений моделей, древо классов, древо наследования

Рисунок 41. Структура взаимоотношений моделей Приведенная схема лишь частично отображает структуру взаимоотношений моделей в базе данных

ARIS. На верхнем уровне структура напоминает древовидную. В базе данных (Database) содержится одна корневая группа (RootGroup). В ней могут содержаться группы (Group), модели (Model) и определения объектов (ObjDef). Каждая вложенная группа также может содержать группы, модели и определения объектов. Модели содержат представления объектов (ObjOcc) и связи между ними(CxnOcc). Каждое представление объекта имеет одно и только одно определение объекта, причем это определение может находиться в другой группе, как показано на схеме. Представление объекта может иметь ноль или более представлений связи (CxnOcc) с другими представлениями. Связь (представление связи) соединяет два объекта (представления объекта). Каждое определение объекта и каждая модель имеет набор атрибутов, подробно описывающих это представление и модель.

Database

RootGroup

Group1

Group 2

Group 3

ObjDef 1.1

ObjDef 1.2

ObjDef 1.3

ObjDef 3.1

ObjDef 3.2

ObjDef 3.3

Model 1

Model 2

Model 3

ObjOcc 3.1

ObjOcc 3.2

ObjOcc 3.3

ObjOcc 3.4

CxnOcc 3.1

CxnOcc 3.2 CxnOcc 3,3

Attr1 Attr2 Attr3 Attr1 Attr2 Attr3

Page 79: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 79

Отдельные классы из перечисленных организованы в иерархическую структуру:

Рисунок 42. Иерархическая структура классов.

Из этой схемы видно, что Иерархия классов имеет не древовидную структуру на уровне

представлений связей (прямоугольники, обозначенные как “CxnOcc”).

SelectedDataBases

DataBase1 DataBase2 DataBaseNSelectedDataBase

RootGroup

Group1

SubGroup1.1

Group1.3.6

Group2 GroupN

Model1

Model2

ModelN

SelectedModel

ObjDef1

ObjDef2

SelectedObjDef

ObjDefN

ObjOcc1

ObjOcc2

SelectedObjOcc

ObjOccN

CxnOcc1

CxnOcc2

SelectedCxnOcc

CxnOccN

Cxn1 Cxn2 SelectedCxn CxnN

CxnOcc1 CxnOcc2 SelectedCxnOcc CxnOccN

Page 80: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 80

Схема наследования свойств и методов классами:

Рисунок 43. Схема наследования классов.

Item

Occ

ItemList

BaseListARIS_Basic_Extension

Model

GroupCxn DataBase FontStyle Lane

Language ObjDef UserTable

CxnOcc ObjOcc

CxnList DataBaseList FontStyleList GroupList

UserGroup

LaneList UserGroupList

LanguageList ModelList ObjDefList TableList UserList

Attr

AttrList

CxnOccList ObjOccList

Font

FontList

Picture

Page 81: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 81

11. Подробное описание свойств и методов классов ARIS

11.1. Класс “ARIS_BASIC_Extension”

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

Таблица 4. Методы класса ARIS_BASIC_Extension

Наименование Тип Описание

SelectedFormat long Возвращает или устанавливает выбранный формат вывода отчетов (например, SelectedFormat=OUTEXCEL).

SelectedFile BSTR Возвращает или устанавливает имя файла, в который будет выводиться отчет.

WindowVisible BOOL Возвращает или устанавливает видимость окна, отображаемого во время выполнения скрипта.

ScriptError long Возвращает или устанавливает значение ошибки.

SelectedPath BSTR Возвращает путь вывода отчета.

SelectedLanguage long Возвращает выбранный язык(localeID).

ActiveDatabase LDISPATCH Возвращает активную базу данных в виде объекта Database.

ActiveUser LDISPATCH Возвращает пользователя, открывшего активную базу данных, в виде объекта User.

SelectedModels LDISPATCH Возвращает список выбранных для обработки моделей в виде объекта ModelList.

SelectedObjDefs LDISPATCH Возвращает список выбранных для обработки определений объектов в виде объекта ObjDefList.

SelectedObjOccs LDISPATCH Возвращает список выбранных для обработки представлений объектов в виде объекта ObjOccList.

SelectedGroups LDISPATCH Возвращает список выбранных для обработки групп в виде объекта GroupList.

SelectedUsers LDISPATCH Возвращает список выбранных пользователей в виде объекта UserList.

SelectedUserGroups LDISPATCH Возвращает список выбранных групп пользователей в виде объекта UserGroupList.

SelectedDatabases LDISPATCH Возвращает список выбранных баз данных в виде объекта DatabaseList. На момент составления настоящего описания в списке может находиться только одна таблица, доступная также по вызову ActiveDatabase.

SelectedFilters LDISPATCH Возвращает список выбранных методов фильтрации в виде объекта MethodFilterList.

SelectedTables LDISPATCH Возвращает список выбранных таблиц в виде объекта TableList.

WriteStatus(LPCSTR sText) void Выводит текст в строку состояния окна приложения.

WriteOutput(LPCSTR sText) void Выводит текст в окно вывода информации о ходе формирования отчета.

GetProfileString(LPCTSTR sSection, LPCTSTR sEntry, LPCTSTR sDefault)

BSTR Возвращает значение ключа в реестре: SSection – имя секции в разделе

"HKEY_CURRENT_USER\Software\IDS\ARIS\6.1", например, "Report\Modelgraphic":

sEntry – имя ключа в заданной секции; sDefault – значение, которое будет возвращено, если

ключ не найден.

Page 82: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 82

WriteProfileString(LPCTSTR sSection, LPCTSTR sEntry, LPCTSTR sValue)

BSTR Записывает значение sValue в реестр по адресу sSection\sEntry:

SSection – имя секции в разделе "HKEY_CURRENT_USER\Software\IDS\ARIS\6.1", например, "Report\Modelgraphic";

sEntry – имя ключа в заданной секции.

GetPrivateProfileString(LPCTSTR sSectionName, LPCTSTR sKeyName, LPCTSTR sDefault, LPCTSTR sFileName, long FAR* pnReturn)

BSTR Возвращает строку из .ini-файла sFileName в секции sSectionName и с ключом sKeyName:

SSectionName – имя секции в разделе "HKEY_CURRENT_USER\Software\IDS\ARIS\6.1", например, "Report\Modelgraphic";

SKeyName – имя ключа в заданной секции; sDefault – значение, которое будет возвращено, если

ключ не найден; sFileName – имя ini-файла; pnReturn – отображает, насколько корректно был

считан ключ. Значения: >= 0 длина возвращенной строки; -1 ini-файл не найден; -2 ошибка открытия ini-файла.

GetPrivateProfileInt(LPCTSTR sSectionName, LPCTSTR sKeyName, long nDefault, LPCTSTR sFileName, long FAR* pnReturn)

long Возвращает число, введенное в .ini-файле под секцией sSectionName, с ключом sKeyName:

SSectionName – имя секции в разделе "HKEY_CURRENT_USER\Software\IDS\ARIS\6.1", например, "Report\Modelgraphic";

sKeyName– имя ключа в заданной секции; nDefault – значение, которое будет возвращено, если

ключ не найден; sFileName – имя ini-файла; pnReturn – отображает, насколько корректно был

считан ключ. Значения: 0 ошибок не было; -1 ini-файл не найден; -2 ошибка открытия ini-файла.

11.2. Класс “BaseList”

Основной класс с общими методами всех списков.

Таблица 5. Методы класса BaseList

Наименование Тип Описание

Add(LPDISPATCH pDisp, const VARIANT FAR& nPos)

void Добавляет элемент в список: PDisp – Элемент списка, который нужно добавить. Должен

быть объектом класса для которого список был создан, или объект производный от такого класса;

nPos – [необязательный] Если "nPos" определен, новый элемент будет вставлен в этой позиции (или в конец если nPos < 0 или > count-1). Позиция вновь включенного элемента в списке - "nPos", а позиция элемента прежде занимавшего "nPos" и всех следующих элементов увеличены на 1.

Count() long Возвращает количество элементов списка.

Delete(const VARIANT FAR& parm)

BOOL Удаляет определенный элемент списка (parm=object) или элемент в определенной позиции (parm=index в списке).

Get(long index) LPDISPATCH Возвращает элемент списка в позиции “index” (нумерация с 0).

Page 83: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 83

Sort(short sortKrit0, short sortKrit1, short sortKrit2, long localeId)

void Сортирует список согласно указанным критериям сортировки.

Unique() void Возвращает однозначный список, удаляя все последующие повторы любого элемента, который уже существует, начиная с начала.

11.3. Класс “Item”

Класс содержит общие методы для свойство-содержащих элементов и в тоже время является базовым классом для специализированных классов (Object, Model,...).

Таблица 6. Методы класса Item

Наименование Тип Описание

KindNum() long Возвращает категорию элемента в виде CID-константы (напр., CID_OBJDEF, CID_MODEL).

DataBase() LDISPATCH Возвращает базу данных, в которой сохранен элемент.

Name(localeID) BSTR Возвращает имя элемента в выбранном языке.

Attribute(long attrTypeNum, long localeID)

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

AttrList(localeID) LPDISPATCH Возвращает список всех атрибутов, установленных в данном языке.

WriteAttributes(VARIANT lstAttrTypeAndValue, long localeID)

LPDISPATCH Записывает двумерный массив атрибутов

TableRows(long RowTypeNum, const VARIANT FAR& KeyItemList)

LDISPATCH Возвращает все строки таблицы, определенные с помощью RowTypeNum, ссылающиеся на этот элемент. Если параметр KeyItemList (список элементов, которые должны быть ключами в строке таблицы) определен, возвращаются только строки с данным ключом:

RowTypeNum – требуемый номер типа строк таблицы;

KeyItemList - список элементов, которые должны быть ключами в строке.

TableIdentifiers(long RowTypeNum, const VARIANT FAR& KeyItemList)

VARIANT Возвращает все идентификаторы строки таблицы (в виде массива) для определенной RowTypeNum, которые ссылаются на элемент:

RowTypeNum – требуемый номер типа строк таблицы;

KeyItemList - список элементов, которые должны быть ключами в строке.

TableRowsByIdentifier(const VARIANT FAR& idList)

LDISPATCH Возвращает все строки таблицы для набора определенных идентификаторов, которые ссылаются на элемент.

RowTypeNums() VARIANT Возвращает список всех номеров RowType, которые ссылаются на этот элемент.

IsEqual(LPDISPATCH pItem) BOOL Возвращает TRUE, если элемент идентичен указанному.

ObjectID() BSTR Возвращает ID элемента в базе данных в виде строки.

OID() VARIANT Возвращает ID элемента в базе данных в виде

Page 84: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 84

массива Long-элементов.

GUID() BSTR Возвращает GUID элемента.

RefGUID() BOOL Возвращает GUID родительского элемента.

IsValid() BOOL Возвращает TRUE, если элемент содержит правильный объект.

Touch() void Обновляет изменения даты и пользовательских атрибутов. Вызывается после изменения свойства элемента или представления объекта в модели.

Класс “ItemList” Основной класс для всех списков, которые содержат элементы со свойствами. Этот и все выведенные из него классы поддерживают любые типы свойств (ArisAttrType) в качестве

критерия сортировки. Также доступны методы класса BaseList.

11.4. Класс “Occ”

Базовый класс для классов ObjOcc и CxnOcc, содержит методы и свойства, необходимые для обращения с представлениями как объектов, так и связей.

Таблица 7. Методы класса Occ

Наименование Тип Описание

KindNum() long Возвращает тип представления (CID_OBJOCC или CID_CXNOCC).

Model() LDISPATCH Возвращает модель, в которой представление отображено как модель.

Active BOOL Возвращает и устанавливает статус активности представления.

IsValid() BOOL Возвращает TRUE, если представление представляет корректный объект базы данных.

IsEqual(LPDISPATCH pOcc) BOOL Возвращает TRUE, если представление идентично указанному.

ObjectID() BSTR Возвращает ID представления в базе данных.

BusinnessOccs() LDISPATCH Возвращает доступные представления в бизнес правилах для данного представления.

OriginalOcc() LDISPATCH Возвращает оригинальное представление, если вызывающее представление является представлением в бизнес правиле.

Remove(optional Bool bRemoveDef)

BOOL Удаляет экземпляр из модели. Если параметр bRemoveDef имеет значение TRUE, определение также удаляется, когда удален последний экземпляр.

ZOrder() long Возвращает и устанавливает номер по оси Z (передний план, задний план, …)

11.5. Класс “Attr”

Класс для обращения к атрибутам определений связи и определений объектов моделей. Объект “Attr” представляет конкретный атрибут объекта или связи.

Таблица 8. Методы класса Attr

Наименование Тип Описание

Value BSTR Возвращает или устанавливает значение атрибута в виде строки. Значения атрибутов с плавающей точкой округляются до 2-х знаков после запятой. Если требуется большая точность, используйте методы GetValue или MeasureValue.

Page 85: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 85

SetValue(LPCTSTR sValue, long nMeasureUnitTypeNum)

BOOL Устанавливает новое значение атрибута. "nMeasureUnitTypeNum" будет учитываться только в том случае, если для атрибута определено понятие системы измерения:

SValue – устанавливаемое значение; NMeasureTypeNum – тип системы измерения.

GetValue(BOOL bRemoveLineBreaks) VARIANT Возвращает значение атрибута в виде строки. Если "bRemoveLineBreaks" = TRUE, разрывы строки не включаются в возвращаемое значение.

Type() BSTR Возвращает тип атрибута в виде строки.

TypeNum() long Возвращает значение типа атрибута. Если объект неправильный, возвращается –1.

MeasureUnit() BSTR Возвращает единицу измерения атрибута в виде строки.

MeasureUnitTypeNum() long Возвращает тип единицы измерения.

MeasureValue(BOOL bRemoveLineBreaks)

VARIANT Возвращает измеренное значение (=Value) указанного атрибута. Возвращает точное значение для типов с плавающей точкой.

IsValid() BOOL Возвращает TRUE, если этот атрибут правильный.

IsMaintained() BOOL Возвращает FALSE, если значение атрибута не существует.

GetLockState() long Возвращает информацию относительно доступа к атрибуту (ArisLockState).

LanguageDepedence() long Возвращает информацию о языковом значении атрибута.

IsChangeable() BOOL Возвращает информацию о изменяемости атрибута.

Delete() short Удаляет атрибут из базы и возвращает 1, если удалился успешно.

Класс “AttrList” Представляет собой список из объектов класса Attr. В дополнение к собственным методам, доступны методы класса BaseList.

11.6. Класс “Cxn”

Класс определения связи. В дополнение к собственным методам, доступны методы класса Item.

Таблица 9. Методы класса Cxn

Наименование Тип Описание

SourceObjDef() LDISPATCH Возвращает исходное определение объекта.

TargetObjDef() LDISPATCH Возвращает целевое определение объекта.

OccList() LDISPATCH Возвращает представления связи в виде объекта CxnOccList.

OccListInModel(LPDISPATCH Model) LDISPATCH Возвращает представления связи из данной модели в виде объекта CxnOccList.

ActiveType() BSTR Возвращает активное имя связи.

PassiveType() BSTR Возвращает пассивное имя связи.

TypeNum() long Возвращает номер типа или -1, если связь неправильная.

Delete() BOOL Удаляет определение, если нет представлений.

Page 86: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 86

Класс “CxnList” Представляет собой список из объектов класса Cxn. В дополнение к собственным методам, доступны методы класса ItemList.

11.7. Класс “CxnOcc”

Класс для обращения к свойствам представления экземпляра связи. В дополнение к собственным методам, доступны методы класса Occ.

Таблица 10. Методы класса CxnOcc

Наименование Тип Описание

Cxn() LDISPATCH Возвращает определение связи в виде объекта Cxn. В дальнейших версиях вместо этого метода будет использоваться метод CxnDef.

CxnDef() LDISPATCH Возвращает определение связи в виде объекта Cxn.

SourceObjOcc LDISPATCH Возвращает исходное представление объекта в виде ObjOcc.

TargetObjOcc LDISPATCH Возвращает целевое представление объекта в виде ObjOcc.

Pointlist() Array Возвращает список углов в представлении связи.

Класс “CxnOccList” Класс списка представлений экземпляров связи. В дополнение к собственным методам, доступны методы класса BaseList.

11.8. Класс “Database”

Класс для обращения к свойствам, моделям (диаграммам) и объектам базы ARIS. Объект “Database” представляет базу ARIS. В дополнение к собственным методам, доступны методы класса Item.

Таблица 11. Методы класса Database

Наименование Тип Описание

ServerName() BSTR Возвращает имя сервера, на котором сохранена база данных.

RootGroup() LDISPATCH Возвращает корневую группу (Group).

GroupList(LPDISPATCH beginGroup) LDISPATCH Возвращает список всех групп и их подгрупп в базе данных, начиная с beginGroup.

UserList(LPDISPATCH userGroup) LDISPATCH Возвращает список всех пользователей базы данных(UserList) в данной группе пользователей. Если UserGroup=Nothing, возвращаются все пользователи независимо от группы, в которой они находятся.

UserGroupList() LDISPATCH Возвращает список всех групп пользователей (UserGroupList).

User(LPCTSTR Name, LPDISPATCH UserGroup)

LDISPATCH Возвращает пользователя Name (User) из группы UserGroup.

Group(LPCTSTR sPath, long localeId) LDISPATCH Возвращает группу(Group), определенную путем sPath.

ActiveFilter() LDISPATCH Возвращает фильтр(MethodFilter), с которым была открыта база данных.

ActiveUser() LDISPATCH Возвращает пользователя (User), вошедшего в базу данных.

LanguageList() LDISPATCH Возвращает список всех языков(LanguageList), представленных в базе данных.

Page 87: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 87

FontStyleList() LDISPATCH Возвращает список форматов шрифтов, доступных в базе данных(FontStyleList).

FindGUID(LPCTSTR sGUID) LDISPATCH Ищет объект с заданным GUID и возвращает ссылку на него.

Find(long SearchKind, long ItemType, long AttrTypeNum, long LocaleId, String sAttrValue, long CompareFlags)

LDISPATCH Возвращает список всех объектов, которые соответствуют указанным критериям поиска.

CreateTextDef(String sText, long nLocale)

Создает новое определение текстового комментария в текущей группе.

CreateUser(String sUserName, String sPassword, Long() aFunctionRights, Bool bSystemUser)

Создает нового пользователя базы.

CreateUserCopy(User userToCopy) Создает копию пользователя базы.

CreateUserGroup(String sUserName, Long() aFunctionRights)

Создает новую группу пользователей базы.

DeleteUser(User oUser) Удаляет пользователя базы.

DeleteUserGroup(UserGroup oUserGroup)

Удаляет группу пользователей базы.

TextDefList() Возвращает список всех текстовых комментариев базы.

Класс “DatabaseList” Класс является списком объектов класса Database. В дополнение к собственным методам, доступны методы класса ItemList.

11.9. Класс “Font”

Класс для обращения к свойствам объектов ОС Windows FONT (шрифт), которые используются для формирования отчетов.

Таблица 12. Методы класса Font

Наименование Тип Описание

Name() BSTR Возвращает имя шрифта.

Style() long Возвращает начертание шрифта в виде константы ArisFormatType.

Size() long Возвращает размер шрифта.

Color() long Возвращает цвет шрифта.

CharSet() long Возвращает номер набора символов шрифта.

IsValid() BOOL Возвращает True, если объект правильный.

Класс “FontList” Класс является списком объектов класса FONT. В дополнение к собственным методам, доступны методы класса BaseList.

11.10. Класс “FontStyle”

Класс для обращения к коллекции свойств “Style” объектов ОС Windows FONT (шрифт), которые используются для формирования отчетов.

В дополнение к собственным методам, доступны методы класса Item.

Таблица 13. Методы класса FontStyle

Наименование Тип Описание

Page 88: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 88

Font(long localeId) LPDISPATCH Возвращает объект Font (Шрифт) для заданного языка базы данных.

IsDefaultFontStyle() BOOL Возвращает True, если формат шрифта соответствует заданному по умолчанию формату шрифта.

Класс “FontStyleList” Класс является списком объектов класса FontStyle. В дополнение к собственным методам, доступны методы класса BaseList и ItemList.

11.11. Класс “Group”

Класс для обращения к свойствам групп, в которые собраны модели, содержащиеся в базе ARIS. В дополнение к собственным методам, доступны методы класса Item.

Таблица 14. Методы класса Group

Наименование Тип Описание

Path(long localeId) BSTR Возвращает путь к группе в указанном языке.

ModelListFilter(VARIANT value, VARIANT localeId, VARIANT typeNum, VARIANT attrTypeNum)

LDISPATCH Возвращает список моделей(ModelList), удовлетворяющих данным критериям:

Value – Тип модели, или текст имени, или значение атрибута;

Localeid – язык; TypeNum – номер типа модели; AttrTypeNum – тип атрибута, для которого

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

последнего. При этом: 1) если указаны все параметры, то value –

требуемое значение атрибута указанного типа; 2) если AttrTypeNum отброшен, то value – требуемое

имя модели; 3) если AttrTypeNum и TypeNum отброшены, то

value – требуемое имя модели в заданном языке; 4) если отброшены все параметры, кроме value, то

value – требуемый номер типа модели. Если ни один параметр не указан, возвращаются

все модели группы.

ModelListFilter_40(LPCTSTR Name, long TypeNum, long localeId)

LDISPATCH Возвращает список моделей(ModelList). Содержит все модели группы, удовлетворяющие указанным критериям. Если Typenum = -1 или Name = "", критерий не используется в запросе. Все параметры должны быть указаны.

ModelList() LPDISPATCH Возвращает список всех моделей в группе (ModelList).

ObjDefListFilter(VARIANT value, VARIANT localeId, VARIANT typeNum, VARIANT attrTypeNum)

LDISPATCH Возвращает список определений объектов (ObjDefList), удовлетворяющих данным критериям:

Value – Тип определения, или текст имени, или значение атрибута;

Localeid –язык; TypeNum – номер типа определения; AttrTypeNum – тип атрибута, для которого

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

последнего. При этом: 1) Если указаны все параметры, то value –

требуемое значение атрибута указанного типа;

Page 89: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 89

2) Если AttrTypeNum отброшен, то value – требуемое имя определения;

3) Если AttrTypeNum и TypeNum отброшены, то value – требуемое имя определения в заданном языке;

4) Если отброшены все параметры, кроме value, то value – требуемый номер типа определения.

Если ни один параметр не указан, возвращаются все определения объектов в группе.

ObjDefListFilter_40(LPCTSTR Name, long TypeNum, long localeId)

LDISPATCH Возвращает список определений объектов(ObjDefList). Содержит все определения объектов в группе, удовлетворяющие указанным критериям.

Если Typenum = -1 или Name = "", критерий не используется в запросе. Все параметры должны быть указаны.

ObjDefList() LDISPATCH Возвращает список всех определений объектов в группе (ObjDefList).

Parent() LDISPATCH Возвращает родительскую группу(Group). Если группа корневая или родительская группа неправильная, возвращаемый объект Group будет неправильным.

Childs() LDISPATCH Возвращает список вложенных групп (GroupList).

TableList() LDISPATCH Возвращает список всех таблиц в группе(TableList).

CreateChildGroup(String sName, long localeId)

LDISPATCH Создает новую группу. Уникальность имени не проверяется.

CreateModel(long ModelType, String sName, long localeId)

LDISPATCH Создает новую модель. Уникальность имени не проверяется.

CreateObjDef(long ObjType, String sName, long localeId)

LDISPATCH Создает определение нового объекта. Уникальность имени не проверяется.

CreateShortcut(Item modelOrObjDef) BOOL Создает новую ссылку в группе на объект или модель

Delete(Item ItemToDelete) BOOL Удаляет группу, модель, объект или таблицу

DeleteShortcut(Item modelOrObjDef) BOOL Удаляет ссылку в группе на объект или модель

GetOrCreateObjDef(long nObjTypeNum, long ByRef nSearchOptions, String sName, long localeId)

LDISPATCH Возвращает существующее определение объекта или создает новое определение объекта в текущей группе, если определение объекта не может быть обнаружено по критерию поиска.

Класс “GroupList” Класс является списком объектов класса Group. В дополнение к собственным методам, доступны методы класса ItemList.

11.12. Класс “Lane”

Класс для обращения к свойствам ветви диаграммы (если у диаграммы есть ветви). В дополнение к собственным методам, доступны методы класса Item.

Таблица 15. Методы класса Lane

Наименование Тип Описание

Start() Long Возвращает координаты старта ветви.

End() Long Возвращает координаты конца ветви.

Color() Long Возвращает фоновый цвет ветви.

Orientation() Long Возвращает параметры выравнивания ветви в виде константы ArisLaneOrientationType.

ObjOccs(VARIANT Lane) LDISPATCH Возвращает все представления объектов в ветви. Если параметр представлен (ветвь должна отличаться от текущей), рассматривается пересечение обоих ветвей.

Page 90: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 90

IsObjOccOfLane(LPDISPATCH Lane) BOOL Возвращает TRUE, если представление объекта есть элемент ветви.

Класс “LaneList” Класс является списком объектов класса Lane. В дополнение к собственным методам, доступны методы класса ItemList.

11.13. Класс “Language”

Класс для обращения к свойствам набора языковых настроек базы ARIS. В дополнение к собственным методам, доступны методы класса Item.

Таблица 16. Методы класса Language

Наименование Тип Описание

DefaultFont() LDISPATCH Возвращает стандартный шрифт для данного языка.

LocaleID() long Возвращает ID языка.

CodePage() long Возвращает кодовую страницу, поддерживающую язык.

Класс “LanguageList” Класс является списком объектов класса Language. В дополнение к собственным методам, доступны методы класса ItemList и BaseList.

11.14. Класс “MethodFilter”

Класс для обращения к свойствам методологического фильтра базы ARIS.

Таблица 17. Методы класса MethodFilter

Наименование Тип Описание

FilterKey() String Возвращает ключ фильтра.

Name(long localeId) String Отображает имя фильтра в указанном языке.

Description(long localeId) String Возвращает описание метода в указанном языке.

IsFullMethod() BOOL Возвращает TRUE, если это полный метод.

GetTypes(long itemKindNum) VARIANT Основываясь на указанном ItemKindNum, возвращает типы, разрешенные для данного сорта элемента.

ModelTypes(long viewNum) VARIANT Возвращает разрешенные типы моделей в виде списка.

AttrTypes(long itemKindNum, long typeNum)

VARIANT Возвращает номера типов атрибутов, разрешенных для данного ItemKindNum.

IsValidAttrType(long itemKindNum, long itemTypeNum, long attrTypeNum)

BOOL Возвращает TRUE, если атрибут типа AttrTypeNum разрешен в элементе класса ItemKindNum типа ItemTypeNum:

AttrTypeNum- номер типа атрибута; ItemKindNum- номер класса элемента; ItemTypeNum – номер типа элемента.

ObjTypes() VARIANT Возвращает разрешенные типы объектов в виде списка номеров типов.

IsValidObjType(long objTypeNum) BOOL Возвращает TRUE, если данный тип объекта разрешен.

Assignments(long objTypeNum) VARIANT Возвращает список детализаций для объекта в виде списка номеров типов моделей.

Symbols(long modelTypeNum[, VARIANT objType])

VARIANT Возвращает список разрешенных символов (необязательно: для типа objType) в указанном типе

Page 91: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 91

моделей в виде списка типов символов.

CxnTypes(long modelTypeNum [, VARIANT srcSymType, VARIANT destSymType])

VARIANT Возвращает список разрешенных типов связей (необязательно: между определенными типами символов(src->dest)) в указанном типе моделей в виде списка номеров типа связи:

ModelTypeNum – номер типа модели; SrcSymType – номер типа начального символа; DestSymType – номер типа конечного символа.

CxnTypesFromObj(long srcObjTypeNum, long trgObjTypeNum)

VARIANT Возвращает список разрешенных типов связи между указанными типами объектов в виде списка номеров типа связи:

SrcObjTypeNum – номер типа начального объекта; DestObjTypeNum – номер типа конечного объекта.

View(long modelTypeNum) long Возвращает вид ARIS, к которому классифицирована модель.

ModelTypeName(long modelTypeNum) String Возвращает имя типа модели.

IsValidModel(long modelTypeNum) BOOL Возвращает TRUE, если указанный тип модели разрешен. В последующих версиях будет использоваться IsValidModelType.

IsValidModelType(long modelTypeNum)

BOOL Возвращает TRUE, если указанный тип модели разрешен.

IsValidSymbol(long modelTypeNum, long symbolTypeNum)

BOOL Возвращает TRUE, если указанный символ разрешен в указанной модели.

SymbolGraphic(long symbolTypeNum) LDISPATCH Возвращает графический образ символа.

SymbolObjType(long symbolTypeNum) long Возвращает тип объекта символа.

SymbolName(long symbolTypeNum) String Возвращает имя символа.

ObjTypeName(long objTypeNum) String Возвращает имя типа объекта.

ActiveCxnTypeName(long cxnTypeNUm)

String Возвращает активное имя связи.

PassiveCxnTypeName(long cxnTypeNum)

String Возвращает пассивное имя связи.

ToSymbols(long modelTypeNum, long cxnTypeNum)

VARIANT Возвращает все номера символов возможных целевых узлов связи.

FromSymbols(long modelTypeNum, long cxnTypeNum)

VARIANT Возвращает все номера символов возможных исходных узлов связи.

ItemKindName(long itemKindNum) String Возвращает имя сорта элемента.

ItemTypeName(long itemKindNum, long itemTypeNum)

String Возвращает имя типа элемента.

AttrTypeName(long attrTypeNum) String Возвращает имя типа атрибута.

AttrBaseType(long nAttrTypeNum) long Возвращает базовый тип для типа атрибута.

GraphType(long modelTypeNum) long Возвращает тип изображения модели для указанного типа модели.

FilterGroup() long Возвращает группу фильтров для данного фильтра.

IsValid() BOOL Возвращает TRUE, если указанный фильтр правильный.

11.15. Класс “Model”

Класс для обращения к свойствам и компонентам диаграммы (модели) ARIS. В дополнение к собственным методам, доступны методы класса Item.

Таблица 18. Методы класса Model

Page 92: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 92

Наименование Тип Описание

Type() BSTR Возвращает наименование типа модели.

TypeNum() long Возвращает номер типа модели.

Group() LDISPATCH Возвращает группу, к которой принадлежит модель.

Zoom() Float Возвращает параметр увеличения модели в процентах.

Attribute(const ATTR_TYPE, long localeid)

LDISPATCH Возвращает объект типа ATTR, содержащий соответствующий заданному типу атрибут.

ARISView() long Возвращает ARIS-образ, принадлежащий данному типу модели.

Graphic(BOOL CutObjects, BOOL BlackWhite, long localeId)

LDISPATCH Возвращает изображение модели в указанном языке в виде графического образа:

CutObjects – для RTF-формата: во время урезания объекта производить его урезание(TRUE), или его перекрытие(FALSE);

BlackWhite – TRUE для черно-белого изображения; LocaleId – язык модели.

SuperiorObjDefs() LDISPATCH Возвращает список ObjDefList объектов, которые детализированы моделью.

ObjDefList() LDISPATCH Возвращает список ObjDefList объектов, имеющих представление в модели.

ObjOccList() LDISPATCH Возвращает список ObjOccList представлений объектов, содержащихся в модели.

CxnList() LDISPATCH Возвращает список CxnList связей, имеющих представления в модели.

CxnOccList() LDISPATCH Возвращает список CxnOccList представлений связей, содержащихся в модели.

CxnListFilter(VARIANT value, VARIANT localeId, VARIANT typeNum, VARIANT attrTypeNum)

LDISPATCH Возвращает список CxnList связей, имеющих представления в модели и удовлетворяющих указанным критериям:

Value – Тип связи, или текст имени, или значение атрибута;

Localeid – язык; TypeNum – номер типа связи; AttrTypeNum – тип атрибута, для которого

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

последнего. При этом: 1) Если указаны все параметры, то value –

требуемое значение атрибута указанного типа; 2) Если AttrTypeNum отброшен, то value –

требуемое имя типа связи; 3) Если AttrTypeNum и TypeNum отброшены, то

value – требуемое имя связи в заданном языке; 4) Если отброшены все параметры, кроме value, то

value – требуемый номер типа связи; Если ни один параметр не указан, возвращаются

все связи в модели.

CxnOccListFilter(VARIANT value, VARIANT localeId, VARIANT typeNum, VARIANT attrTypeNum)

LDISPATCH Возвращает список CxnOccList представлений связей, содержащихся в модели и удовлетворяющих указанным критериям:

Value – тип представления связи, или текст имени, или значение атрибута;

Page 93: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 93

Localeid – язык; TypeNum – номер типа представления связи; AttrTypeNum – тип атрибута, для которого

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

последнего. При этом: 1) Если указаны все параметры, то value –

требуемое значение атрибута указанного типа; 2) Если AttrTypeNum отброшен, то value –

требуемое имя типа представления связи; 3) Если AttrTypeNum и TypeNum отброшены, то

value – требуемое имя представления связи в заданном языке;

4) Если отброшены все параметры, кроме value, то value – требуемый номер типа представления связи;

Если ни один параметр не указан, возвращаются все представления связей в модели.

ObjDefListFilter(VARIANT value, VARIANT localeId, VARIANT typeNum, VARIANT attrTypeNum)

LDISPATCH Возвращает список ObjDefList определений объектов, содержащихся в модели и удовлетворяющих указанным критериям:

Value – тип определения, или текст имени, или значение атрибута;

Localeid –язык; TypeNum – номер типа определения; AttrTypeNum – тип атрибута, для которого

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

последнего. При этом: 1) Если указаны все параметры, то value –

требуемое значение атрибута указанного типа; 2) Если AttrTypeNum отброшен, то value –

требуемое имя типа определения; 3) Если AttrTypeNum и TypeNum отброшены, то

value – требуемое имя определения в заданном языке; 4) Если отброшены все параметры, кроме value, то

value – требуемый номер типа определения. Если ни один параметр не указан, возвращаются

все определения объектов в группе.

ObjOccListFilter(VARIANT value, VARIANT localeId, VARIANT typeNum, VARIANT attrTypeNum)

LDISPATCH Возвращает список ObjOccList представлений объектов, содержащихся в модели и удовлетворяющих указанным критериям:

Value – тип представления, или текст имени, или значение атрибута;

Localeid – язык; TypeNum – номер типа представления; AttrTypeNum – тип атрибута, для которого

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

последнего. При этом: 1) Если указаны все параметры, то value –

требуемое значение атрибута указанного типа; 2) Если AttrTypeNum отброшен, то value –

требуемое имя типа представления; 3) Если AttrTypeNum и TypeNum отброшены, то

value – требуемое имя представления в заданном языке; 4) Если отброшены все параметры, кроме value, то

Page 94: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 94

value – требуемый номер типа представления. Если ни один параметр не указан, возвращаются

все представления объектов в модели.

ComObjOcc() LDISPATCH Возвращает все представления OLE-объектов в модели.

GetLanes(long nOrientation) LDISPATCH Возвращает все ветви с указанным расположением, содержащиеся в модели.

BuildGraph(BOOL bStructure) BOOL Создает граф модели и назначает метки. Если bStructure = True, то учитываются только структурно-зависимые объекты. Все операции с графом возможны только после того, как этот метод вызван.

StartNodeList() LDISPATCH Возвращает список ObjOccList всех стартовых объектов или узлов модели.

EndNodeList() LDISPATCH Возвращает список ObjOccList всех конечных объектов или выходов из модели.

MarkVisited(LPDISPATCH ObjOcc, BOOL bVisited)

LDISPATCH Помечает объект как посещенный(TRUE), или непосещенный (FALSE).

GetVisited(LPDISPATCH ObjOcc) LDISPATCH Возвращает информацию о том, был ли посещен данный объект.

HasCycle() BOOL Возвращает информацию о том, имеет ли граф модели цикл.

IsTree() BOOL Возвращает информацию о том, имеет ли граф модели древовидную структуру.

IsConnected(LPDISPATCH ObjOcc0, LPDISPATCH ObjOcc1)

BOOL Возвращает информацию о том, связаны ли указанные представления объектов в графе модели.

IsConnectedGraph() BOOL Возвращает информацию о том, связан ли граф модели.

Neighbour(LPDISPATCH ObjOcc0, LPDISPATCH ObjOcc1)

LDISPATCH Возвращает представления связи между двумя представлениями объектов.

CountNodes() long Возвращает число представлений объектов в графе модели.

CountEdges() long Возвращает число связей в графе модели.

GetSuccNodes(LPDISPATCH ObjOcc)

LDISPATCH Возвращает список ObjOccList всех потомков указанного представления и помечает их посещенными.

GetPredNodes(LPDISPATCH ObjOcc) LDISPATCH Возвращает список ObjOccList всех предков указанного представления и помечает их посещенными

DFSGetFirstNode(LPDISPATCH ObjOcc)

LDISPATCH Возвращает перемещенное представление как выбранное и инициализирует поиск в глубину. Все отметки посещения предварительно удаляются.

DFSNextNode() LDISPATCH Возвращает следующее представление (ObjOcc) в глубину и помечает возвращаемый объект (ObjOcc) как посещенный.

BFSGetFirstNode(LPDISPATCH ObjOcc)

LDISPATCH Возвращает перемещенное представление как выбранное и инициализирует поиск в ширину. Все отметки посещения предварительно удаляются.

BFSNextNode() LDISPATCH Возвращает следующее представление (ObjOcc) в ширину и помечает возвращаемый объект (ObjOcc) как посещенный.

Depth(LPDISPATCH ObjOcc) long Возвращает глубину выбранного представления в графе (дереве) модели.

Page 95: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 95

Mark(LPDISPATCH ObjOcc, const VARIANT FAR& sSetMark)

BSTR Возвращает (или устанавливает, если определено значение sSetMark) строку пометки представления.

ResetNodes() void Сбрасывает пометку "посещенные" всех объектов.

IsVariant() BOOL Возвращает TRUE, если модель является вариантом.

HasVariants() BOOL Возвращает TRUE, если у модели имеются варианты.

Master() LDISPATCH Возвращает мастер-модель, если модель является вариантом.

Variants() LDISPATCH Возвращает список ModelList моделей, являющихся вариантами данной модели.

ObjDefListFilter_40(LPCTSTR Name, long Type, long localeId)

LDISPATCH Возвращает все объекты (ObjDef), имеющие представления в модели, имеющие указанный тип и указанное имя(если соответствующие параметры не указываются, выбираются непустые значения).

ObjOccListFilter_40(LPCTSTR Name, long Type, long localeId)

LDISPATCH Возвращает все представления (ObjOcc), в модели, имеющие указанный тип и указанное имя(если соответствующие параметры не указываются, выбираются непустые значения).

CxnListFilter_40(LPCTSTR Name, long Type, long localeId)

LDISPATCH Возвращает все связи (CxnList), имеющие представления в модели, имеющие указанный тип и указанное имя (если соответствующие параметры не указываются, выбираются непустые значения).

CxnOccListFilter_40(LPCTSTR Name, long Type, long localeId)

LDISPATCH Возвращает все представления связей (CxnList) в модели, имеющие указанный тип и указанное имя(если соответствующие параметры не указываются, выбираются непустые значения).

BusinnesCases() LDISPATCH Возвращает все бизнес правила, доступные для модели.

OriginalModel() LDISPATCH Возвращает оригинальную модель, если модель является бизнес правилом.

Cycles(BOOL bStructure) VARIANT Проверяет модель на циклы и возвращает циклы. Если bStructure = TRUE, то учитываются только значимые объекты и связи. Для исполнения этого метода не требуется графическая информация.

OpenModel(long nLocale, BOOL bKeepOpen)

BOOL Открывает модель в окне моделирования с учетом указанного языка:

Localeid – язык для отображения значений атрибутов;

BkeepOpen: TRUE - модель закрывается, если соответствующий

ей объект стерт; FALSE - модель закрывается, если объект

становится неправильным.

CloseModel() BOOL Закрывает модель, открытую OpenModel.

ShowError(LPDISPATCH ObjOrCxnOcc, LPCTSTR sErrorText)

Void Отображает тест ошибки в открытом окне моделирования для каждого указанного представления объекта или связи. Перед вызовом данного метода модель должна быть открыта с помощью OpenModel.

ClearError(const VARIANT FAR& ObjOrCxnOcc)

Void Убирает весь текст, отображенный ShowError, или, если представлений не указано, весь отображенный текст. Перед вызовом данного метода модель должна быть открыта с помощью OpenModel.

Page 96: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 96

ApplyTemplate() Void Применяет шаблон, который назначен модели, для всех объектов и связей модели. Если шаблон не назначался, применяются настройки по умолчанию.

ChangeGroup(Group newGroup) BOOL Перемещает модель в другую группу

CreateCxnOcc(ObjOcc ScrObjOcc, ObjOcc TrgObjOcc, long CxnBaseType, long() PointList, Bool bDiagonal, Bool bCreateNewDef)

CxnOcc Создает связь (определение и экземпляр) между указанными экземплярами объектов.

CreateObjOcc(long SymbolNum, ObjDef ObjDef, long X, long Y, Bool bCreateAttrPlacements)

ObjOcc Создает экземпляр объекта

CreateTextOcc(long X, long Y, String sText, TextDef TextDef)

TextOcc Создает экземпляр текстового комментария

SaveOpenModel() Сохраняет открытую модель

Flags() long Возвращает текущие значения флагов для модели

SetFlags(long nFlags) BOOL Задает значения флагов для модели

Класс “ModelList” Класс является списком объектов класса Model. В дополнение к собственным методам, доступны методы класса ItemList.

11.16. Класс “ObjDef”

Класс для обращения к свойствам определения экземпляра объекта (модели) ARIS. В дополнение к собственным методам, доступны методы класса Item.

Таблица 19. Методы класса ObjDef

Наименование Тип Описание

Type() BSTR Возвращает наименование типа объекта.

TypeNum() long Возвращает номер типа объекта.

Identifier(long localeId) BSTR Возвращает идентификатор объекта.

Attribute(const ATTR_TYPE, long localeid) LDISPATCH Возвращает объект типа ATTR, содержащий соответствующий заданному типу атрибут.

Group() LDISPATCH Возвращает группу, которой принадлежит объект.

OccList() LDISPATCH Возвращает список ObjOccList всех представлений объекта.

OccListInModel(LPDISPATCH Model) LDISPATCH Возвращает список ObjOccList всех представлений объекта в указанной модели.

Page 97: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 97

CxnList(const VARIANT FAR& nCxnKind, const VARIANT FAR& modelFilter)

LDISPATCH Возвращает список CxnList всех добавочных связей и связей детализации. В качестве необязательного параметра modelFilter может быть указан список моделей. В этом случае будут учитываться только связи детализации указанных моделей:

NCxnKind – номер класса связи; ModelFilter – список моделей.

AssignedModels() LDISPATCH Возвращает список ModelList детализирующих моделей.

CxnListFilter(const VARIANT FAR& nCxnKind, const VARIANT FAR& value, const VARIANT FAR& localeId, const VARIANT FAR& typeNum, const VARIANT FAR& attrTypeNum)

LDISPATCH Возвращает список CxnList всех связей объекта, удовлетворяющих указанным критериям:

NCxnKind – номер класса связи; Value – Тип связи, или текст имени, или значение

атрибута; Localeid –язык; TypeNum – номер типа связи; AttrTypeNum – тип атрибута, для которого

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

последнего. При этом: 1) Если указаны все параметры, то value –

требуемое значение атрибута указанного типа; 2) Если AttrTypeNum отброшен, то value –

требуемое имя типа связи; 3) Если AttrTypeNum и TypeNum отброшены, то

value – требуемое имя связи в заданном языке; 4) Если отброшены параметры AttrTypeNum

TypeNum, localeid, то value – требуемый номер типа связи.

Если ни один параметр, кроме NcxnKind не указан, возвращаются все связи указанного класса в объекте.

IsVariant() BOOL Возвращает TRUE, если объект является вариантом.

Master() LDISPATCH Возвращает мастер-объект, если объект является вариантом.

Variants() LDISPATCH Возвращает варианты объекта в списке ObjDefList.

ChangeGroup(Group newGroup) BOOL Перемещает определение объекта в другую группу

Consolidate(ObjDefList oObjDefsToConsolidate, Bool bDeleteSlaves, Bool bAttrMerge, Bool bMultipleCxnConsolidate)

BOOL Консолидирует объект с перечнем объектов

CreateAssignment(Model model) BOOL Создает новую связь детализации

CreateCxnDef(ObjDef toObjDef, Long cxnBaseTypeNum)

LDISPATCH Создает новую связь заданного типа к заданному объекту

DeleteAssignment(Model model) BOOL Удаляет связь детализации

LinkVariant(ObjDef VariantObj) BOOL Определяет заданное определение объекта как вариант объекта.

UnlinkVariant(ObjDef VariantObj) BOOL Удаляет вариантную связь между объектами

Page 98: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 98

Класс “ObjDefList” Класс является списком объектов класса ObjDef. В дополнение к собственным методам, доступны методы класса BaseList и ItemList.

11.17. Класс “ObjOcc”

Класс для обращения к свойствам представления экземпляра объекта (модели) ARIS. В дополнение к собственным методам, доступны методы класса Occ.

Таблица 20. Методы класса ObjOcc

Наименование Тип Описание

DefaultProperties BOOL Стандартный цвет представления.

Color long Цвет представления.

ObjDef() LDISPATCH Возвращает определение(ObjDef) представления.

Attribute(const ATTR_TYPE, long localeid)

LDISPATCH Возвращает объект типа ATTR, содержащий соответствующий заданному типу атрибут.

Symbol() long Возвращает или задает номер символа представления

SymbolNum() long Возвращает номер символа представления.

OrgSymbolNum() long Возвращает номер символа представления или ссылочный номер символа представления, если символ определен пользователем.

SymbolName() BSTR Возвращает имя символа представления.

CxnOccList LDISPATCH Возвращает все добавочные представления связи для представления в списке CxnOccList.

OutEdges(short nStructure) LDISPATCH Возвращает исходящие представления связи в списке CxnOccList.

OutDegree(short nStructure) long Возвращает число исходящих представлений связи.

InEdges(short nStructure) LDISPATCH Возвращает входящие представления связи в списке CxnOccList.

InDegree(short nStructure) long Возвращает число входящих представлений связи.

Height() long Возвращает высоту представления в 1/10 мм.

Width() long Возвращает ширину представления в 1/10 мм.

X() long Возвращает х-позицию представления в 1/10 мм.

Y() long Возвращает y-позицию представления в 1/10 мм.

Cxns([optional] VARIANT nInOut, [optional] VARIANT nStructure)

LDISPATCH Возвращает указанные связи представления.

Класс “ObjOccList” Класс является списком объектов класса ObjOcc. В дополнение к собственным методам, доступны методы класса BaseList.

11.18. Класс “Output”

Класс для сборки (формирования) отчета и его конвертирования в выбранный формат выходного файла (вывод отчета).

В объекте этого класса собирается вся информация отчета и затем записывается в файл указанного формата.

Таблица 21. Методы класса Output

Наименование Тип Описание

PrintScaling long Масштаб печати в %.

PageWidth long Ширина страницы в мм.

Page 99: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 99

PageHeight long Высота страницы в мм.

LeftMargin long Левый отступ в мм.

RightMargin long Правый отступ в мм.

TopMargin long Верхний отступ в мм.

BottomMargin long Нижний отступ в мм.

DistHeader Double Отступы Верхнего колонтитула в мм.

DistFooter Double Отступы Нижнего колонтитула в мм.

Init(long nOutputType, VARIANT localeID) long Инициализирует процесс вывода, устанавливает формат и localeID для вывода.

WriteReport(LPCTSTR strPath, LPCTSTR strFileName, VARIANT bNoHTMLHeader)

bool Записывает созданный отчет в указанный файл в указанном каталоге.

DefineF(LPCTSTR sStyleSheetName, LPCTSTR sFontName, long nFontSize, long fontColor, long bkColor, long nFormat, long mm_indLeft, long mm_indRight, long mm_distTop, long mm_distBottom, long mm_indFirstLine, double dLineSpacing)

void Определяет стиль для дальнейшего использования в отчете:

SStyleSheetName – имя стиля; SFontName – имя шрифта; NFontSize – размер шрифта; FontColor – цвет шрифта; BkColor – цвет фона; NFormat – формат (Bold, Italic и т.д.); mm_indLeft – левый отступ в мм; mm_indRight – правый отступ в мм; mm_distTop – отступ перед абзацем в мм; mm_distBottom – отступ после абзаца в мм; mm_indFirstLine – отступ перед первой

линией в мм; dLineSpacing – множитель для

межстрочного расстояния.

OutputLnF(VARIANT strText, LPCTSTR styleSheetName)

void Выводит указанный текст с применением указанного стиля.

Output(VARIANT strText, LPCTSTR fontName, long fontSize, long fontColor, long bkColor, long format, long mmIndent)

void Выводит указанный текст с указанными параметрами форматирования:

StrText – выводимый текст; SFontName – имя шрифта; NFontSize – размер шрифта; FontColor – цвет шрифта; BkColor – цвет фона; NFormat – формат (Bold, Italic и т.д.); mm_indLeft – левый отступ в мм.

OutputLn(VARIANT strText, LPCTSTR fontName, long fontSize, long fontColor, long bkColor, long format, long mmIndent)

void Выводит указанный текст с указанными параметрами форматирования и добавляет жесткий перевод строки:

StrText – выводимый текст; SFontName – имя шрифта; NFontSize – размер шрифта; FontColor – цвет шрифта; BkColor – цвет фона; NFormat – формат (Bold, Italic и т.д.); mm_indLeft – левый отступ в мм;

OutputField(long fieldIdentifier, LPCTSTR fontName, long fontSize, long fontColor, long bkColor, long format)

void Выводит текстовое поле (номер страницы, дату и т.п.):

fieldIdentifier – идентификатор поля; SFontName – имя шрифта; NFontSize – размер шрифта;

Page 100: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 100

FontColor – цвет шрифта; BkColor – цвет фона; NFormat – формат (Bold, Italic и т.д.); mm_indLeft – левый отступ в мм.

BeginTable(long widthPercent, long borderColor, long bkColor, long format, long mmIndent)

void Команда для создания таблицы.

TableRow() void Определяет начало новой строки. Первая строка в таблице тоже должна быть явно определена.

TableCell(VARIANT sText, long widthPercent, LPCTSTR fontName, long fontSize, long fontColor, long bkColor, long nShading, long format, long mmIndent)

void Определяет новую ячейку в строке таблицы:

StrText – выводимый текст; WidthPercent – ширина ячейки в процентах

от ширины таблицы; SFontName – имя шрифта; NFontSize – размер шрифта; FontColor – цвет шрифта; BkColor – цвет фона; NShading – затемнение фона в %; NFormat – формат (Bold, Italic и т.д.); mm_indLeft – левый отступ в мм.

TableCellF(VARIANT sText, long nWidthPercent, LPCTSTR sStyleSheetName)

void Определяет новую ячейку в строке таблицы, используя указанный стиль.

EndTable(VARIANT strFootText, long widthPercent, LPCTSTR fontName, long fontSize, long fontColor, long bkColor, long nShading, long format, long mmIndent)

void Завершает формирование таблицы: StrFootText – выводимый текст в нижний

колонтитул таблицы; WidthPercent – ширина ячейки в процентах

от ширины таблицы; SFontName – имя шрифта; NFontSize – размер шрифта; FontColor – цвет шрифта; BkColor – цвет фона; NShading – затемнение фона в %; NFormat – формат (Bold, Italic и т.д.); mm_indLeft – левый отступ в мм.

OutGraphic(LPDISPATCH picture, float fZoom, long picWidthMM, long picHeightMM)

void Выводит картинку: Picture – указатель на объект картинки; FZoom – фактор увеличения/уменьшения

картинки в %; PicWidthMM – максимальная ширина

картинки в мм; PicHeightMM – максимальная высота

картинки в мм.

BeginHeader() void Определяет начало верхнего колонтитула.

EndHeader() void Определяет конец верхнего колонтитула.

BeginFooter() void Определяет начало нижнего колонтитула.

EndFooter() void Определяет конец нижнего колонтитула.

BgSound(LPCTSTR sFile, long nRepeat) void Определяет фоновую мелодию (только для HTML).

BgPicture(LPCTSTR sFile, long bgColor, BOOL bWatermark)

void Определяет фоновую картинку и цвет (только для HTML).

Page 101: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 101

SetFrameStyle(long idFrame, VARIANT nTwThickness, VARIANT nStyle)

void Меняет стиль указанной рамки: IdFrame – идентификатор рамки; NtwThickness – толщина рамки в пикселах; NStyle – тип линии рамки.

ResetFrameStyle() void Устанавливает параметры рамок в их значения по умолчанию.

OutputTxt(LPCTSTR sText) void Выводит указанный текст "как есть".

OutputLink(LPCTSTR sOutputText, LPCTSTR slinkTarget)

void Выводит гиперссылку в HTML-, RTF-, или Word-Документ.

11.19. Класс “Picture”

Класс для обращения к свойствам графической вставки, вставляемой в отчет (в целях оформления или иллюстрирования отчета).

Таблица 22. Методы класса Picture

Наименование Тип Описание

Create(LPCTSTR strFilePath) void Создает картинку из WMF, BMP или JPG файла.

Save(LPCTSTR strFilePath) void Записывает картинку в WMF, BMP или JPG файл.

Event(long nShape, Array listCoords, LPCTSTR sUniqueID, LPCTSTR sTextBox, LPCTSTR sClickHRef)

BOOL Определяет чувствительную область в картинке(только для HTML-документов):

NShape – определяет тип области, задаваемой в массиве listCoords;

ListCoords – массив, содержащий координаты для чувствительной области;

SUniqueID – символьный идентификатор для области, уникальный в рамках данного HTML-документа;

STextBox – содержимое всплывающего текста на предметной области;

SClickHRef – ссылка, ассоциируемая с областью.

SetBkColor(long nColor) long Устанавливает цвет фона.

SetBkMode(long nBkMode) long Устанавливает фоновый режим.

SetTextColor(long nColor) long Устанавливает цвет выводимого текста.

SelectPen(long nPenStyle, long nWidth, long nColor)

void Устанавливает перо для рисования линий и рамок.

SelectBrush(long nColor) void Устанавливает кисть для заливок.

SelectFont(long nPointSize, LPCTSTR sFaceName, long nFormat)

void Устанавливает шрифт.

MoveTo(long x, long y) void Устанавливает новую позицию для вывода.

LineTo(long x, long y) void Рисует линию от текущей позиции к указанной.

Arc(short x1, short y1, short x2, short y2, short x3, short y3, short x4, short y4)

BOOL Рисует дугу.

FillRect(long x1, long y1, long x2, long y2, long nColor)

BOOL Заполняет прямоугольник указанным цветом.

FrameRect(long x1, long y1, long x2, long y2, long nColor)

BOOL Рисует рамку указанного цвета вокруг указанного прямоугольника.

InvertRect(long x1, long y1, long x2, long y2) BOOL Инвертирует указанный прямоугольник.

Page 102: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 102

Draw3dRect(long x, long y, long cx, long cy, long colorTopLeft, long colorBottomRight)

BOOL Рисует параллелепипед. Недоступно.

DrawEdge(long x1, long y1, long x2, long y2, long nEdge, long nFlags)

BOOL Рисует одну или несколько связей прямоугольника.

Ellipse(long x1, long y1, long x2, long y2) BOOL Рисует заполненный эллипс в указанном прямоугольнике.

Pie(long x1, long y1, long x2, long y2, long ptStartX, long ptStartY, long ptEndX, long ptEndY)

BOOL Рисует сегмент круга.

Polygon(const VARIANT FAR& pointList) BOOL Рисует замкнутый полигон, заполненный текущим цветом.

Polyline(const VARIANT FAR& pointList) BOOL Рисует полигон.

Rectangle(long x1, long y1, long x2, long y2) BOOL Рисует прямоугольник текущим пером и заполняет его текущим цветом.

RoundRect(long x1, long y1, long x2, long y2, long x3, long y3)

BOOL Рисует прямоугольник со скругленными углами текущим пером и заполняет его текущим цветом.

FloodFill(long x, long y, long nColor, long nFillType)

BOOL Заполняет область текущей заливкой.

DrawText(LPCTSTR sText, long FAR* x1, long FAR* y1, long FAR* x2, long FAR* y2, long nFormat)

BOOL Выводит указанный текст с указанным форматом внутри указанного прямоугольника.

SetTextAlign(long nFlags) BOOL Устанавливает выключку текста.

Insert(LPDISPATCH picture, long x1, long y1, long x2, long y2)

BOOL Вставляет картинку(ARIS Picture) в определенную область.

GetOutputTextExtent(LPCTSTR sText, long FAR* cx, long FAR* cy)

long Возвращает ширину текста.

GetSize(long FAR* cxMM10, long FAR* cyMM10)

Long Возвращает ширину картинки в 1/10 мм.

11.20. Класс “Table”

Класс для обращения к свойствам таблицы, вставляемой в отчет. В дополнение к собственным методам, доступны методы класса Item.

Таблица 23. Методы класса Table

Наименование Тип Описание

Group() LDISPATCH Возвращает группу, к которой принадлежит таблица.

Класс “TableList” Класс является списком объектов класса Table. В дополнение к собственным методам, доступны методы класса BaseList и ItemList.

11.21. Класс “User”

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

Таблица 24. Методы класса User

Наименование Тип Описание

UserGroups() LDISPATCH Возвращает пользовательские группы пользователя.

AccessRights(LPDISPATCH inGroup) LDISPATCH Возвращает права доступа пользователя в

Page 103: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 103

указанной группе.

FunctionRights() VARIANT Возвращает список функциональных привилегий.

Класс “UserList” Класс является списком объектов класса User.

11.22. Класс “UserGroup”

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

В дополнение к собственным методам, доступны методы класса Item.

Таблица 25. Методы класса UserGroup

Наименование Тип Описание

UserList() LDISPATCH Возвращает список пользователей.

AccessRights(LPDISPATCH inGroup) LDISPATCH Возвращает права доступа группы пользователей в указанной группе.

FunctionRights() VARIANT Возвращает список функциональных привилегий.

Класс “UserGroupList” Класс является списком объектов класса UserGroup.

Page 104: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 104

12. Введение в ARIS API

12.1. Описание ARIS API

Встроенный в ARIS язык программирования SAX BASIC позволяет решать большинство возникающих

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

ARIS-Repository-API является интерфейсом между архивом данных ARIS и пользовательским приложением. Библиотека ARIS-API содержит необходимые описания функций интерфейса, делающее возможным их использование в языках программирования Си, С++.

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

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

При помощи библиотеки ARIS-Repository-API могут быть решены следующие задачи: перенос из/в архив результатов моделирования в системе ARIS (в рамках этой задачи могут быть

решены подзадачи стыковки системы ARIS с отечественными системами класса Workflow, архивации и восстановления архива ARIS);

создание собственных надстроек к системе ARIS (в рамках этой задачи могут быть решены подзадачи перевода моделей аналогичного класса между собой, а также более жесткая интеграция моделей);

интеграция информации различных АРМ в едином стандарте ARIS (при помощи ARIS может быть разработана концепция интеграции различных АРМ, и реализована в приложении с API).

Вообще говоря, сфера применения библиотеки API может быть ограничена только воображением и

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

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

Библиотека API функций была разработана как «С» DLL (динамически подключаемая библиотека), чтобы быть независимой от специфики конкретного компилятора языка программирования, так что разработчик может использовать удобную для себя программную среду.

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

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

Page 105: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 105

12.2. Краткое описание возможностей ARIS API

Функции для работы с группами Информация в базе данных ARIS структурирована наподобие файловой

системы: модели и объекты хранятся в группах, напоминающих папки (каталоги) в среде Windows. Рассматриваемые ниже функции предназначены для работы с такими каталогами (группами) среды ARIS.

С помощью этих функций можно:

создавать новые группы;

просмотреть атрибуты нужной группы;

узнать количество подгрупп группы;

количество групп в указанной пользователем базе данных;

удалить группу из памяти с высвобождением всех ресурсов с ней связанных;

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

(рабочие языки базы данных) для представления моделей, объектов и их атрибутов на нескольких языках. Каждый язык описывается своим именем, типом, и названием языка.

Эта группа функций позволяет:

установить язык для всей дальнейшей работы;

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

Функции для работы с моделями ARIS позволяет пользователю работать с различными типами моделей. Эти

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

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

создавать новые модели;

просматривать атрибуты модели;

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

Функции для работы с объектами, которые хранятся в базе данных (определение объекта) В ARIS можно работать как с объектами (определениями объекта), которые

хранятся в базе данных, так и с их образами в моделях. В базе данных ARIS хранится запись об объекте, содержащая атрибуты объекта. Объект храниться в той группе, в которой был первоначально создан, хотя и может быть перемещен при помощи ARIS Explorer или функций API. Определение объекта в базе данных носит имя, которое отображается в ARIS Explorer’e (далее определение объекта будем называть просто объектом).

Эти функции позволяют:

создавать новый объект;

просмотреть атрибуты объекта;

узнать длину содержания атрибута;

получить количество объектов в группе;

удалять объекты из памяти и из базы данных ARIS. Функции для работы с отображениями объектов

ArisGroup

ArisLanguage

ArisModel

ArisObjDef

Page 106: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 106

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

Эти функции позволяют:

перемещать объект по модели;

изменять его цвет. Функции для работы с элементом “пользователь” Пользователи создаются в каждой базе данных ARIS отдельно. Имеется

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

С помощью этой группы функций ARIS-API можно:

создать нового пользователя;

просмотреть атрибуты пользователя;

узнать количество возможных пользователей конкретной базы данных;

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

получить идентификаторы пользователей из конкретной базы данных;

удалить пользователя и т.д.

ArisObjOcc

ArisUser

Page 107: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 107

13. Основные алгоритмические приемы при работе с базой ARIS

13.1. Пример на использование Occurrence и Definition объекта

Создадим с помощью Script Wizard скрипт для моделей, выдающий перечень Occurrence и Definition

объектов на модели. Данный пример наглядно показывает тактику использования Occurrence и Definition объектов и разницу в данных понятиях.

Первоначально мы выводим отфильтрованные Occurrence объектов-функций (тип Function) выбранной модели, отсортированные по расстоянию от левого верхнего угла модели.

Далее выводятся отфильтрованные Definition объектов-функций (тип Function) выбранной модели для демонстрации разности понятий.

После этого выводятся отфильтрованные Occurrence объектов-документов (тип Information Carrier) с указанием номера символьного обозначения объекта на модели.

Далее выводятся отфильтрованные Definition объектов-документов (тип Information Carrier) выбранной модели для демонстрации разности понятий.

В заключение выводится графическое представление модели для ознакомления.

Рисунок 44. Окно Script Wizard

Page 108: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 108

Приведем выжимку из получившейся программы Dim oSelectedModels1 As Object Dim oSelectedModels1Obj As Object Set oSelectedModels1 = SelectedModels For i1 = 0 To oSelectedModels1.Count()-1 Set oSelectedModels1Obj = oSelectedModels1.Get(i1) В данном блоке мы осуществили выборку Occurrence определенного типа 'iterate through oObjOccListFilter1 g_oOutFile.OutputLn("Object occurrences (filtered):", "Times New Roman",12,C_BLACK,COLOR_TRANSPARENT,FMT_BOLD Or FMT_LEFT,10) Dim oObjOccListFilter1 As Object Dim oObjOccListFilter1Obj As Object Set oObjOccListFilter1 = oSelectedModels1Obj.ObjOccListFilter("", g_nLoc, OT_FUNC, AT_NAME) oObjOccListFilter1.Sort(SORT_GEOMETRIC, SORT_NONE, SORT_NONE, g_nLoc) For i2 = 0 To oObjOccListFilter1.Count()-1 Set oObjOccListFilter1Obj = oObjOccListFilter1.Get(i2) g_oOutFile.OutputLn("Object:", "Times New Roman",12,C_BLACK,COLOR_TRANSPARENT,FMT_BOLD Or FMT_LEFT,20) g_oOutFile.OutputLn("Name: "+oObjOccListFilter1Obj.ObjDef.Name(g_nLoc), "Times New

Roman",12,C_BLACK,COLOR_TRANSPARENT,FMT_LEFT,30) g_oOutFile.OutputLn("", "Times New Roman",12,C_BLACK,COLOR_TRANSPARENT,FMT_BOLD Or FMT_LEFT,10) Set oObjOccListFilter1Obj = Nothing Next i2 Set oObjOccListFilter1 = Nothing В данном блоке мы осуществили выборку Definition определенного типа 'iterate through oObjDefListFilter1 g_oOutFile.OutputLn("Objects (filtered):", "Times New Roman",12,C_BLACK,COLOR_TRANSPARENT,FMT_BOLD Or FMT_LEFT,10) Dim oObjDefListFilter1 As Object Dim oObjDefListFilter1Obj As Object Set oObjDefListFilter1 = oSelectedModels1Obj.ObjDefListFilter("", g_nLoc, OT_FUNC, AT_NAME) oObjDefListFilter1.Sort(AT_NAME, SORT_NONE, SORT_NONE, g_nLoc) For i3 = 0 To oObjDefListFilter1.Count()-1 Set oObjDefListFilter1Obj = oObjDefListFilter1.Get(i3) g_oOutFile.OutputLn("Name: "+oObjDefListFilter1Obj.Name(g_nLoc), "Times New

Roman",12,C_BLACK,COLOR_TRANSPARENT,FMT_LEFT,20)

Page 109: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 109

g_oOutFile.OutputLn("", "Times New Roman",12,C_BLACK,COLOR_TRANSPARENT,FMT_BOLD Or FMT_LEFT,10) Set oObjDefListFilter1Obj = Nothing Next i3 Set oObjDefListFilter1 = Nothing В данном блоке мы осуществили выборку Occurrence определенного типа и вывод номера графического представления символа 'iterate through oObjOccListFilter2 g_oOutFile.OutputLn("Object occurrences (filtered):", "Times New Roman",12,C_BLACK,COLOR_TRANSPARENT,FMT_BOLD Or FMT_LEFT,10) Dim oObjOccListFilter2 As Object Dim oObjOccListFilter2Obj As Object Set oObjOccListFilter2 = oSelectedModels1Obj.ObjOccListFilter("", g_nLoc, OT_INFO_CARR, AT_NAME) oObjOccListFilter2.Sort(SORT_GEOMETRIC, SORT_NONE, SORT_NONE, g_nLoc) For i4 = 0 To oObjOccListFilter2.Count()-1 Set oObjOccListFilter2Obj = oObjOccListFilter2.Get(i4) g_oOutFile.OutputLn("Object:", "Times New Roman",12,C_BLACK,COLOR_TRANSPARENT,FMT_BOLD Or FMT_LEFT,20) g_oOutFile.OutputLn("Name: "+oObjOccListFilter2Obj.ObjDef.Name(g_nLoc), "Times New

Roman",12,C_BLACK,COLOR_TRANSPARENT,FMT_LEFT,30) g_oOutFile.OutputLn("Original symbol number: "+Str(oObjOccListFilter2Obj.OrgSymbolNum), "Times New

Roman",12,C_BLACK,COLOR_TRANSPARENT,FMT_LEFT,20) g_oOutFile.OutputLn("", "Times New Roman",12,C_BLACK,COLOR_TRANSPARENT,FMT_BOLD Or FMT_LEFT,10) Set oObjOccListFilter2Obj = Nothing Next i4 Set oObjOccListFilter2 = Nothing В данном блоке мы осуществили выборку Definition определенного типа 'iterate through oObjDefListFilter2 g_oOutFile.OutputLn("Objects (filtered):", "Times New Roman",12,C_BLACK,COLOR_TRANSPARENT,FMT_BOLD Or FMT_LEFT,10) Dim oObjDefListFilter2 As Object Dim oObjDefListFilter2Obj As Object Set oObjDefListFilter2 = oSelectedModels1Obj.ObjDefListFilter("", g_nLoc, OT_INFO_CARR, AT_NAME) For i5 = 0 To oObjDefListFilter2.Count()-1 Set oObjDefListFilter2Obj = oObjDefListFilter2.Get(i5) g_oOutFile.OutputLn("Name: "+oObjDefListFilter2Obj.Name(g_nLoc), "Times New

Roman",12,C_BLACK,COLOR_TRANSPARENT,FMT_LEFT,20) g_oOutFile.OutputLn("", "Times New Roman",12,C_BLACK,COLOR_TRANSPARENT,FMT_BOLD Or FMT_LEFT,10) Set oObjDefListFilter2Obj = Nothing

Page 110: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 110

Next i5 Set oObjDefListFilter2 = Nothing Здесь мы выводим графику модели g_oOutFile.OutputLn("Graphic:", "Times New Roman",12,C_BLACK,COLOR_TRANSPARENT,FMT_BOLD Or FMT_LEFT,10) 'no object method specified: ... writing default g_oOutFile.OutGraphic(oSelectedModels1Obj.Graphic(TRUE, TRUE, g_nLoc),-1, g_oOutFile.PageWidth-g_oOutFile.LeftMargin-g_oOutFile.RightMargin,g_oOutFile.PageHeight-g_oOutFile.TopMargin-g_oOutFile.BottomMargin-15) g_oOutFile.OutputLn("", "Times New Roman",12,C_BLACK,COLOR_TRANSPARENT,FMT_BOLD Or FMT_LEFT,0) Set oSelectedModels1Obj = Nothing Next i1 Set oSelectedModels1 = Nothing

Page 111: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 111

13.2. Пример создания своих списков объектов и их сортировки

При программировании скриптов в ARIS Sax Basic очень часто возникает необходимость использовать списки объектов. В данные списки собираются объекты, найденные при обходе моделей или базы ARIS. На данном примере мы рассмотрим процесс создания списков и их сортировки.

Создадим, с помощью Script Wizard скрипт для моделей типа eEPC, выдающий перечень информационных входов функций.

Рисунок 45. Создание скрипта в окне Script Wizard Отфильтруем только функции:

Рисунок 46. Задание фильтра в окне Script Wizard

Page 112: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 112

Основная часть сгенерированного Script Wizard’ом скрипта: 'iterate through oSelectedModels1 g_oOutFile.OutputLn("Selected models:", "Times New Roman",12,C_BLACK,COLOR_TRANSPARENT,FMT_BOLD Or FMT_LEFT,0) Dim oSelectedModels1 As Object Dim oSelectedModels1Obj As Object Set oSelectedModels1 = SelectedModels For i1 = 0 To oSelectedModels1.Count()-1 Set oSelectedModels1Obj = oSelectedModels1.Get(i1) g_oOutFile.OutputLn("Name: "+oSelectedModels1Obj.Name(g_nLoc), "Times New Roman",12,C_BLACK,COLOR_TRANSPARENT,FMT_LEFT,10) 'iterate through oObjOccListFilter1 g_oOutFile.OutputLn("Object occurrences (filtered):", "Times New Roman",12,C_BLACK,COLOR_TRANSPARENT,FMT_BOLD Or FMT_LEFT,10) Dim oObjOccListFilter1 As Object Dim oObjOccListFilter1Obj As Object Set oObjOccListFilter1 = oSelectedModels1Obj.ObjOccListFilter("", g_nLoc, OT_FUNC, AT_NAME) For i2 = 0 To oObjOccListFilter1.Count()-1 Set oObjOccListFilter1Obj = oObjOccListFilter1.Get(i2) 'iterate through oInEdges1 g_oOutFile.OutputLn("Incoming relationships:", "Times New Roman",12,C_BLACK,COLOR_TRANSPARENT,FMT_BOLD Or FMT_LEFT,20) Dim oInEdges1 As Object Dim oInEdges1Obj As Object Set oInEdges1 = oObjOccListFilter1Obj.InEdges(EDGES_ALL) For i3 = 0 To oInEdges1.Count()-1 Set oInEdges1Obj = oInEdges1.Get(i3) g_oOutFile.OutputLn("Relationship:", "Times New Roman",12,C_BLACK,COLOR_TRANSPARENT,FMT_BOLD Or FMT_LEFT,30) g_oOutFile.OutputLn("Type number: "+Str(oInEdges1Obj.CxnDef.TypeNum), "Times New

Roman",12,C_BLACK,COLOR_TRANSPARENT,FMT_LEFT,40) g_oOutFile.OutputLn("Source object:", "Times New Roman",12,C_BLACK,COLOR_TRANSPARENT,FMT_BOLD Or FMT_LEFT,40) 'no object method specified: ... writing default g_oOutFile.OutputLn(oInEdges1Obj.CxnDef.SourceObjDef.Name(g_nLoc), "Times New

Roman",12,C_BLACK,COLOR_TRANSPARENT,FMT_LEFT,50) g_oOutFile.OutputLn("", "Times New Roman",12,C_BLACK,COLOR_TRANSPARENT,FMT_BOLD Or FMT_LEFT,20) Set oInEdges1Obj = Nothing Next i3 Set oInEdges1 = Nothing

Page 113: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 113

g_oOutFile.OutputLn("", "Times New Roman",12,C_BLACK,COLOR_TRANSPARENT,FMT_BOLD Or FMT_LEFT,10) Set oObjOccListFilter1Obj = Nothing Next i2 Set oObjOccListFilter1 = Nothing g_oOutFile.OutputLn("", "Times New Roman",12,C_BLACK,COLOR_TRANSPARENT,FMT_BOLD Or FMT_LEFT,0) Set oSelectedModels1Obj = Nothing Next i1 Set oSelectedModels1 = Nothing g_oOutFile.WriteReport(SelectedPath, SelectedFile) End Sub

Page 114: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 114

Для связей, присутствующих на выделенной модели, нет фильтрации по типу связи (которая возможна только для CxnDef). Требуется отобрать связи типов «provides input for» и «is input for». Добавляем в Script Editor’е (выделено жирным шрифтом): Dim oInput As Object Dim nType As Long … For i1 = 0 To oSelectedModels1.Count()-1 Set oInput = CreateObject("ARIS.ObjDefList.6.1") For i3 = 0 To oInEdges1.Count()-1 Set oInEdges1Obj = oInEdges1.Get(i3) ' g_oOutFile.OutputLn("Type number: "+Str(oInEdges1Obj.CxnDef.TypeNum), "Times New Roman",12,C_BLACK,COLOR_TRANSPARENT,FMT_LEFT,40) nType = oInEdges1Obj.CxnDef.TypeNum WriteOutput(CStr(i2+1)+"/"+CStr(oObjOccListFilter1.Count())+","+CStr(i3+1)+"/" _ +CStr(oInEdges1.Count())+" ("+CStr(oInEdges1Obj.CxnDef.TypeNum)+") "+oInEdges1Obj.CxnDef.ActiveType) If nType = CT_PROV_INP_FOR Or nType = CT_IS_INP_FOR Then ' g_oOutFile.OutputLn(oInEdges1Obj.CxnDef.SourceObjDef.Name(g_nLoc), "Times New ' Roman",12,C_BLACK,COLOR_TRANSPARENT,FMT_LEFT,50) oInput.Add(oInEdges1Obj.CxnDef.SourceObjDef) End If Set oInEdges1Obj = Nothing Next i3 Set oInEdges1 = Nothing Set oObjOccListFilter1Obj = Nothing Next i2 Set oObjOccListFilter1 = Nothing oInput.Unique() oInput.Sort(AT_NAME,SORT_NONE,SORT_NONE,g_nLoc) For j = 0 To oInput.Count()-1

g_oOutFile.OutputLn(oInput.Get(j).Name(g_nLoc),"Times New Roman",12,C_BLACK,COLOR_TRANSPARENT,FMT_LEFT,0) Next j Set oInput = Nothing

Page 115: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 115

13.3. Пример рекурсивной программы

Создадим скрипт для моделей типа Function tree, выдающий иерархический перечень функций,

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

от количества уровней.

Рисунок 47. Создание скрипта в окне Script Wizard

Фильтруем связи по типу:

Рисунок 48. Задание фильтра в окне Script Wizard

Page 116: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 116

и по направлению:

Рисунок 49. Задание фильтра в окне Script Wizard

Page 117: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 117

Основная часть сгенерированного ScriptWizard’ом скрипта: Set oSelectedObjDefs1Obj = oSelectedObjDefs1.Get(i1) g_oOutFile.OutputLn("Name: "+oSelectedObjDefs1Obj.Name(g_nLoc), "Times New Roman",12,C_BLACK,COLOR_TRANSPARENT,FMT_LEFT,10) 'iterate through oCxnListFilter1 g_oOutFile.OutputLn("Relationships (filtered):", "Times New Roman",12,C_BLACK,COLOR_TRANSPARENT,FMT_BOLD Or FMT_LEFT,10) Dim oCxnListFilter1 As Object Dim oCxnListFilter1Obj As Object Set oCxnListFilter1 = oSelectedObjDefs1Obj.CxnListFilter(EDGES_OUT, "", g_nLoc, CT_IS_PRCS_ORNT_SUPER, AT_NAME) For i2 = 0 To oCxnListFilter1.Count()-1 Set oCxnListFilter1Obj = oCxnListFilter1.Get(i2) g_oOutFile.OutputLn("Target object:", "Times New Roman",12,C_BLACK,COLOR_TRANSPARENT,FMT_BOLD Or FMT_LEFT,20) 'no object method specified: ... writing default g_oOutFile.OutputLn(oCxnListFilter1Obj.TargetObjDef.Name(g_nLoc), "Times New

Roman",12,C_BLACK,COLOR_TRANSPARENT,FMT_LEFT,30) g_oOutFile.OutputLn("", "Times New Roman",12,C_BLACK,COLOR_TRANSPARENT,FMT_BOLD Or FMT_LEFT,10) Set oCxnListFilter1Obj = Nothing Next i2 Set oCxnListFilter1 = Nothing g_oOutFile.OutputLn("", "Times New Roman",12,C_BLACK,COLOR_TRANSPARENT,FMT_BOLD Or FMT_LEFT,0) Set oSelectedObjDefs1Obj = Nothing Next i1 Set oSelectedObjDefs1 = Nothing Отмеченная жирным шрифтом часть должна повторяться для всех функций промежуточных уровней, рассматриваемых как вершины поддеревьев. Выделим ее

как подпрограмму с названием Tree и двумя аргументами: oRoot – корневая функция, nLevel – номер уровня. Вместо удаленного фрагмента напишем вызов первого уровня подпрограммы: Tree oSelectedObjDefs1Obj, 1 В подпрограмме добавим вычисляемый отступ по номеру уровня, заменим oSelectedObjDefs1Obj на oRoot и добавим рекурсивный вызов подпрограммы:

Tree oCxnListFilter1Obj.TargetObjDef, nLevel+1 Законченный скрипт (основная часть и подпрограмма): For i1 = 0 To oSelectedObjDefs1.Count()-1 Set oSelectedObjDefs1Obj = oSelectedObjDefs1.Get(i1) Tree oSelectedObjDefs1Obj, 1

Page 118: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 118

g_oOutFile.OutputLn("", "Times New Roman",12,C_BLACK,COLOR_TRANSPARENT,FMT_BOLD Or FMT_LEFT,0) Set oSelectedObjDefs1Obj = Nothing Next i1 Set oSelectedObjDefs1 = Nothing g_oOutFile.WriteReport(SelectedPath, SelectedFile) End Sub Sub Tree(oRoot As Object, nLevel As Integer) ' g_oOutFile.OutputLn("Name: "+oSelectedObjDefs1Obj.Name(g_nLoc), "Times New Roman",12,C_BLACK,COLOR_TRANSPARENT,FMT_LEFT,10) g_oOutFile.OutputLn(oRoot.Name(g_nLoc), "Times New Roman",12,C_BLACK,COLOR_TRANSPARENT,FMT_LEFT,10*nLevel) 'iterate through oCxnListFilter1 ' g_oOutFile.OutputLn("Relationships (filtered):", "Times New Roman",12,C_BLACK,COLOR_TRANSPARENT,FMT_BOLD Or FMT_LEFT,10) Dim oCxnListFilter1 As Object Dim oCxnListFilter1Obj As Object Set oCxnListFilter1 = oRoot.CxnListFilter(EDGES_OUT, "", g_nLoc, CT_IS_PRCS_ORNT_SUPER, AT_NAME) For i2 = 0 To oCxnListFilter1.Count()-1 Set oCxnListFilter1Obj = oCxnListFilter1.Get(i2) ' g_oOutFile.OutputLn("Target object:", "Times New Roman",12,C_BLACK,COLOR_TRANSPARENT,FMT_BOLD Or FMT_LEFT,20) 'no object method specified: ... writing default ' g_oOutFile.OutputLn(oCxnListFilter1Obj.TargetObjDef.Name(g_nLoc),"Times New Roman",12,C_BLACK,COLOR_TRANSPARENT,FMT_LEFT,30) Tree oCxnListFilter1Obj.TargetObjDef, nLevel+1 ' g_oOutFile.OutputLn("", "Times New Roman",12,C_BLACK,COLOR_TRANSPARENT,FMT_BOLD Or FMT_LEFT,10) Set oCxnListFilter1Obj = Nothing Next i2 Set oCxnListFilter1 = Nothing End Sub

Page 119: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 119

13.4. Пример анализа топологии (геометрии) модели

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

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

представлений функций, потом отсортируем его геометрически. Наконец, в новом цикле рекурсивно вызываем подпрограмму с элементами этого списка. Set oSelectedObjDefs1 = SelectedObjOccs … Sub Tree(oRoot As Object, nLevel As Integer) ' g_oOutFile.OutputLn("Name: "+oSelectedObjDefs1Obj.Name(g_nLoc), "Times New Roman",12,C_BLACK,COLOR_TRANSPARENT,FMT_LEFT,10) g_oOutFile.OutputLn(oRoot.ObjDef.Name(g_nLoc), "Times New Roman",12,C_BLACK,COLOR_TRANSPARENT,FMT_LEFT,10*nLevel) … 'Set oCxnListFilter1 = oRoot.CxnListFilter(EDGES_OUT, "", g_nLoc, CT_IS_PRCS_ORNT_SUPER, AT_NAME) Set oCxnListFilter1 = oRoot.OutEdges(EDGES_ALL) Dim oOccList2 As Object Set oOccList2 = CreateObject("ARIS.OBJOCCLIST.6.1") For i2 = 0 To oCxnListFilter1.Count()-1 Set oCxnListFilter1Obj = oCxnListFilter1.Get(i2) oOccList2.Add(oCxnListFilter1Obj.TargetObjOcc) Set oCxnListFilter1Obj = Nothing Next i2 Set oCxnListFilter1 = Nothing oOccList2.Sort(SORT_GEOMETRIC, SORT_NONE, SORT_NONE, g_nLoc) For i4 = 0 To oOccList2.Count()-1 Tree oOccList2.Get(i4), nLevel+1 Next i4 Set oOccList2 = Nothing End Sub

Page 120: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся
Page 121: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 121

13.5. Пример применения теории графов для анализа модели с помощью ARIS Script

В рамках анализа моделей процесса в ARIS, с помощью скриптов, существует возможность

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

строгая иерархия - деревья функций, продуктов, структурная модель;

строгая иерархия с окружением - модель технических терминов, диаграмма событий;

иерархия с перекрестными соединениями - диаграмма целей;

центральный объект - диаграмма окружения функции;

приоритетный тип основного объекта - диаграмма окружения атрибутов ERM модели;

направленный граф с окружением - диаграмма событийной цепочки процесса;

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

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

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

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

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

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

ARIS Script позволяет представить модель в виде графа и пользуясь стандартными методами класса “Model” осуществлять анализ и обход представления модели в виде графа.

Это подход позволяет понять логику процесса на программном уровне и написать такие скрипты, как «Регламентные карты процесса».

Теория графов довольно обширна и в ARIS реализована только необходимая часть ее математического аппарата.

Понятия теории графов необходимые для работы в ARIS. При построении графа в ARIS есть возможность выбора объема объектов и связей включаемых в граф: включать в граф только объекты, которые являются значимыми для структуры модели (это

наиболее часто используемый прием, который позволяет анализировать только структуру модели, поскольку анализ графа состоящего из всех объектов модели довольно громоздок);

включать в граф все объекты на модели (этот прием, как правило, редко используется).

Стартовые объекты – объекты, имеющие только исходящие связи. Конечные объекты – объекты, имеющие только входящие связи. Цикл в графе – в графе существует хоть один объект, передвигаясь с которого по связям и объектам

графа, возможно вернуться к нему самому (то есть замкнутая цепочка). Граф-дерево – построение объектов и связей так, что у объекта присутствует лишь одна входящая и

несколько / одна исходящая связь. Связанность графа – возможность из корня или стартового объекта достичь любого объекта графа. Связанность объектов графа – показывает возможность перемещения по связи от одного объекта к

другому. Корень – специально выделенная по тем или иным причинам вершина графа-дерева. Связи в графе – идентичны понятию связи в ARIS. Глубина в графе определяется уровнем нахождения объекта относительно стартового объекта. Ширина в графе определяется количеством исходящих связей из одного объекта. В примере, приведенном ниже, рассматриваются методы класса “Model” для работы с графом.

Page 122: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 122

Перед использованием методов работы с графом его необходимо создать методом BuildGraph. С помощью методов StartNodeList и EndNodeList можно получить списки стартовых и конечных

объектов. С помощью метода GetSuccNodes возможно получить потомков указанного представления объекта, а с помощью метода GetPredNodes возможно получить предков указанного представления объектов. Эти методы используется для передвижения по графу.

С помощью методов CountNodes и CountEdges возможно получить количество представлений объектов в графе модели и количество представлений связей в графе модели.

Для получения справочной информации о графе возможно воспользоваться следующими методами:

HasCycle - возвращает информацию имеет ли граф цикл;

IsTree - возвращает информацию имеет ли граф древовидную структуру;

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

посещен данный объект. Так же мы можем отметить объект как посещенный или не посещенный с помощью метода MarkVisited.

Сбросить метки посещения для всех объектов графа возможно методом ResetNodes. Глубину выбранного представления в графе модели мы можем определить с помощью метода Depth. С помощью методов DFSGetFirstNode, DFSNextNode, BFSGetFirstNode, BFSNextNode возможно

организовать обход графа в глубину или в ширину.

Page 123: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 123

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

Global g_nLoc As Long Global g_oOutFile As Object Sub Main Set g_oOutFile = CreateObject("ARIS.Output.6.1") g_nLoc = SelectedLanguage g_oOutFile.Init(SelectedFormat, g_nLoc) g_oOutFile.DefineF("REPORT1","Arial",12,C_BLACK,COLOR_TRANSPARENT,FMT_BOLD Or FMT_LEFT,0,21,0,0,0,1) g_oOutFile.DefineF("REPORT2","Arial",10,C_BLACK,COLOR_TRANSPARENT,FMT_LEFT,0,21,0,0,0,1) g_oOutFile.OutputLnF("Выбранная модель:","REPORT1") Dim oSelectedModels1 As Object Set oSelectedModels1 = SelectedModels For i1 = 0 To oSelectedModels1.Count()-1 g_oOutFile.OutputLnF(oSelectedModels1.Get(i1).Name(g_nLoc),"REPORT2") Dim model1 As Object Set model1=oSelectedModels1.Get(i1) ' Построим граф по выбранной модели model1.BuildGraph(True) Dim start_node_list As Object Set start_node_list =model1.StartNodeList For i11=0 To start_node_list.Count-1 g_oOutFile.OutputLnF("стартовый объект - "+start_node_list.Get(i11).ObjDef.Name(1049),"REPORT1") Dim succ_node As Object Set succ_node= model1.GetSuccNodes(start_node_list.Get(0)) g_oOutFile.OutputLnF("потомки стартового объекта","REPORT1") model1.IsConnected(start_node_list.Get(0), succ_node.Get(0)) Out(succ_node) Set succ_node=Nothing Dim DFS As Object Set DFS = model1.DFSGetFirstNode(start_node_list.Get(0)) g_oOutFile.OutputLnF("пройдемся по графу в глубину","REPORT1") Do g_oOutFile.OutputLnF(DFS.ObjDef.Name(1049),"REPORT2") Set DFS= model1.DFSNextNode Loop Until DFS.ObjDef.Name(1049)="" Dim bFS As Object Set bFS = model1.BFSGetFirstNode(start_node_list.Get(0)) g_oOutFile.OutputLnF("пройдемся по графу в ширину","REPORT1") Do g_oOutFile.OutputLnF(bFS.ObjDef.Name(1049),"REPORT2") Set bFS= model1.BFSNextNode Loop Until bFS.ObjDef.Name(1049)="" Next i11 Dim end_node_list As Object Set end_node_list =model1.EndNodeList For i12=0 To end_node_list.Count-1 g_oOutFile.OutputLnF("конечный объект - "+end_node_list.Get(i12).ObjDef.Name(1049),"REPORT1") Dim Pred_node As Object Set Pred_node= model1.GetPredNodes(end_node_list.Get(i12)) g_oOutFile.OutputLnF("предки конечного объекта","REPORT1") Out (Pred_node) Set Pred_node= Nothing Next i12

Page 124: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 124

g_oOutFile.OutputLnF("Рассмотрим посещенные объекты и их глубину","REPORT1") Dim Spis_occ As Object Set Spis_occ=model1.ObjOccList For i13=0 To Spis_occ.Count-1 If model1.GetVisited(spis_occ.Get(i13))=True Then g_oOutFile.OutputLnF("Объект "+spis_occ.Get(i13).ObjDef.Name(1049)+ " посещен","REPORT2") g_oOutFile.OutputLnF("Глубина "+model1.Depth(spis_occ.Get(i13)),"REPORT2") End If Next i13 Set Spis_occ=Nothing g_oOutFile.OutputLnF("Число представлений объектов в графе "+model1.CountNodes,"REPORT1") g_oOutFile.OutputLnF("Число представлений связей в графе "+model1.CountEdges,"REPORT1") g_oOutFile.OutputLnF("Циклы есть? "+model1.HasCycle,"REPORT1") g_oOutFile.OutputLnF("Граф - дерево? "+model1.IsTree,"REPORT1") g_oOutFile.OutputLnF("Граф - связанный? "+model1.IsConnectedGraph,"REPORT1") Set end_node_list =Nothing Set start_node_list =Nothing Set model1=Nothing Next i1 Set oSelectedModels1 = Nothing g_oOutFile.WriteReport(SelectedPath, SelectedFile) End Sub Function Out(spis) For i=0 To spis.Count-1 g_oOutFile.OutputLnF(spis.Get(i).ObjDef.Name(g_nLoc),"REPORT2") Next i Set spis=Nothing End Function

Page 125: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 125

14. Основные приемы коллективной работы над скриптами

Коллективная работа над скриптом – написание и отладка скрипта – формирует определенные

требования к стилю именования переменных, к форматированию строк кода, к стилю и объему комментирования кода скрипта.

Ниже приведены эти требования.

14.1. Форматирование текста программы – соглашения об отступах, переносы

Cтроки Sub и End Sub соответствующие друг другу должны начинаться с равного количества пробелов и

символов табуляции: Sub … End Sub Cтроки Function и End Function соответствующие друг другу должны начинаться с равного количества

пробелов и символов табуляции: Function … End Function Cтроки If …Then, End If , Else, формирующие одну конструкцию условного ветвления, должны

начинаться с равного количества пробелов и символов табуляции: If … Then … Else … End If Cтроки For и Next, формирующие один цикл, должны начинаться с равного количества пробелов и

символов табуляции: For … … Next … Строки, заключенные между строками “Sub” и “End Sub”, “Function” и “End Function”, “If” и “End If”, “For” и

“Next”, должны начинаться с дополнительного символа табуляции по отношению к количеству символов табуляции, имеющемуся в начале вышеуказанных строк (“Sub” и “End Sub”, “Function” и “End Function”, “If” и “End If”, “For” и “Next”).

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

Например, строка Set oSelectedModels1 = SelectedModels может быть разбита на три строки: Set _ oSelectedModels1 _ = SelectedModels

Page 126: Руководство пользователяbps.org.ua/pub/rukovodstvo_polzovatelya_ARIS_Script_(BPS).pdfПомимо простого вывода информации, содержащейся

Руководство пользователя ARIS SCRIPT. Версия 6.1 126

14.2. Соглашения об именах переменных и функций

Имена переменных и функций, определяемых пользователем, должны быть достаточно информативны,

не должны совпадать с зарезервированными именами встроенных функций, классов и констант. Рекомендуется переменным, объявленные глобально (объявленные с помощью оператора Global)

выбирать имена, начинающиеся с комбинации букв “g_”.

14.3. Отказ от свободного преобразования типа

Свободное преобразование типа переменных – особенность языка программирования Sax Basic. В

одной и той же переменной можно по ходу выполнения программы размещать данные, различающиеся по типу (например, строки и массивы целых чисел). Однако, при достаточно большом размере кода скрипта, свободное преобразование переменных затрудняет отладку скрипта. Настоятельно рекомендуется использовать функции явного преобразования типа переменных CStr(…), CBool(…), CByte(…), CCur(…), Cdate(…), Cdec(…), CDbl(…), Cint(…), CLng(…), CSng(…), Cvar(…), CVDate(…), CVErr(…), Val(…), Array(…).

14.4. Объявление и комментирование переменных

Синтаксис языка Sax Basic позволяет не объявлять переменные заранее. Правилом «хорошего тона»

считается предварительное объявление всех переменных операторами “Dim … As” и “Global … As” и присутствие в начале блока объявления глобальных переменных оператора “Option Explicit”, исключающего возможность использования переменной без ее предварительного объявления.

Каждой строке, содержащей объявление какой-либо переменной, должна предшествовать строка с комментарием о назначении этой переменной.

14.5. Комментирование операторов ветвления

Операторы ветвления позволяют сделать алгоритм скрипта нелинейным. В зависимости от некоторого

условия могут выполняться несколько различных последовательностей операторов. Смысл выполнения или невыполнения вышеупомянутого условия ветвления необходимо пояснять с помощью строки комментария, помещенной непосредственно перед оператором ветвления (If…Then, Select…Case).

14.6. Комментирование процедур и функций

Процедуры и функции обязательно должны содержать строку (несколько строк, идущих подряд) с

комментарием о назначении этой процедуры или функции, действия, которые она производит, какие процедуры или функции вызывает, какие глобальные переменные изменяет, какие параметры или значение возвращает. Эту строку (строки) рекомендуется помещать сразу после строки “Sub …” или “Function …” Локальные переменные, объявленные внутри процедуры или функции, должны быть описаны и закомментированы обычным порядком.

Требования о комментировании процедур и функций также распространяется на главную процедуру программы Sub Main.