Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
StarUML.pdf
Скачиваний:
97
Добавлен:
26.03.2015
Размер:
7.31 Mб
Скачать

StarUML. Руководство разработчика. Глава 4. Использование API

13 / 139

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

Только пакет, подсистема, или модель могут быть оформлены в виде секции. Любой из этих элементов может быть сохранен в файле секции (.UNT).

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

Фрагмент модели

Фрагмент модели – часть данных проекта, скопированная в отдельный файл. Только модель, подсистема, или пакет могут быть выведены в качестве фрагмента в файл с расширением ".MFG". Фрагмент модели можно только добавить к любому другому проекту. Фрагменты модели существенно отличаются от секций, поскольку могут быть только подгружены в проект8.

Работа с объектом документа

Концепция документа

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

7В оригинале используется термин «unit», который традиционно переводится как «модуль». Однако термин «модуль» уже используется в данном тексте, как перевод термина «module», являющегося синонимом термина

«аддин».

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

StarUML. Руководство разработчика. Глава 4. Использование API

14 / 139

частями проекта типа «.UML» или «.UNT», как с единым объектом. Хотя фрагмент модели (.MFG) также представляет собой отдельный файл, он не может интерпретироваться как документ, поскольку используется исключительно для импорта/экспорта и отдельно не обрабатывается приложением StarUML™. Следующая диаграмма иллюстрирует иерархическую структуру интерфейсов документа.

IDocument: Общий родительский интерфейс для документов.

IUMLDocument: интерфейс верхнего уровня для документов, связанных с UML-моделями.

IUMLUnitDocument: интерфейс для документов, обрабатываемых как секции (.UNT) в

StarUML™.

IUMLProjectDocument: интерфейс для документов, обрабатываемых как проекты (.UML) в

StarUML™. Так как проектный документ рассматривается как частный случай документа секции, он наследует свойства интерфейса документа секции.

Доступ к документарным объектам

Чтобы обратиться к проекту или секции, необходимо иметь ссылку на объект IProjectManager. Он позволяет осуществлять прямой доступ к документам проекта и секций.

var app = new ActiveXObject("StarUML.StarUMLApplication"); var prjmgr = app.ProjectManager;

// Get project document object.

var prj_doc = prjmgr.ProjectDocument; // Get unit document objects.

for (var i = 0; i < prjmgr.GetUnitDocumentCount(); i++) { var unit_doc = prjmgr.GetUnitDocumentAt(i);}

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]