美文网首页mac软件mac软件收集
如何使用StarUML for Mac创建和修改元素

如何使用StarUML for Mac创建和修改元素

作者: 红苹果016 | 来源:发表于2019-05-10 16:59 被阅读0次

StarUML for MacUML是应用于MacOS平台的一款软件建模器,专用于uml建模操作的mac版图形可视化绘制工具,它不仅能够用于类图、用例图、序列图、活动图以及通信图等强大的绘制操作,StarUML for Mac还提供了一个可视化的用户界面,所有图表,文本和图标都非常清晰。如何使用StarUML for Mac创建和修改元素

如何使用StarUML for Mac创建和修改元素

在本章中,我们将学习如何创建和修改元素。最重要的是,您不应直接创建或修改元素,因为所有更改都应通过undo和redo支持的操作完成。var class1 = new UMLClass()class1.name = "New Name"

创建元素

创建模型元素

您可以调用函数来创建带有选项对象的模型元素。createModelapp.factory

选项对象可能包含以下字段:

id:用于创建元素的工厂函数的ID。要查看完整的ID列表,请执行。app.factory.getModelIds()

parent :要包含的已创建元素的父元素。

field(可选):父元素的字段名称(默认为)。ownedElements

modelInitializer (可选):初始化创建的模型元素的函数。

//获取对顶级项目的引用

var project = app 。存储库。选择(“@ Project” )[ 0 ]

//创建一个UMLModel元素作为项目的子项

var model1 = app 。工厂。createModel ({ id :“UMLModel” ,parent :project } )

//创建UMLClass元素作为模型的子元素

var class1 = app 。工厂。createModel ({ id :“UMLClass” ,parent :model1 } )

//创建一个UMLAttribute元素并添加到该类的字段'attributes'

var attr1 = app 。工厂。createModel ({ id :“UMLAttribute” ,parent :class1 ,field :“attributes” } )

//使用选项创建UMLClass

var options = {

id :“UMLClass” ,

parent :model1 ,

modelInitializer :function (elem ){

ELEM 。name = “MyClass” ;

ELEM 。isAbstract = true ;

}

}

var class2 = app 。工厂。createModel (options );

您可以在模型资源管理器中看到创建的元素,并且每次创建都可以使用撤消和重做。

创建图表

调用函数来创建带有选项对象的图表:createDiagramapp.factory

选项对象可能包含以下字段:

id:用于创建图表的Factory函数的ID。要查看完整的ID列表,请执行。app.factory.getDiagramIds()

parent :包含要包含的已创建图表的父元素。

options (可选):包含以下选项的对象。

diagramInitializer (可选):初始化创建的图表的函数。

//获取对顶级项目的引用

var project = app 。存储库。选择(“@ Project” )[ 0 ]

//创建一个UMLModel元素作为项目的子项

var model1 = app 。工厂。createModel ({ id :“UMLModel” ,parent :project } )

//创建UMLClassDiagram作为模型的子项

var diagram1 = app 。工厂。createDiagram ({ id :“UMLClassDiagram” ,parent :model1 } )

//使用选项创建UMLClassDiagram

var options = {

id :“UMLClassDiagram” ,

parent :model1 ,

diagramInitializer :function (dgm ){

dgm 。name = “MyDiagram” ;

dgm 。defaultDiagram = true ;

}

}

var diagram2 = app 。工厂。createDiagram (选项)

一次创建模型元素和视图元素

调用函数以使用选项对象一次创建模型元素和视图元素。createModelAndViewapp.factory

选项对象可能包含以下字段:

id:工厂功能的ID。要查看完整的ID列表,请执行。Factory.getModelAndViewIds()

parent :要包含的已创建模型元素的父元素。

diagram :要包含的已创建视图元素的图元素。

modelInitializer (可选):初始化创建的模型元素的函数。

viewInitializer (可选):初始化创建的视图元素的函数。

x1,,,(可选):矩形坐标初始化创建的视图元件的位置和大小。y1x2y2

tailView,(可选):如果您尝试创建关系(例如),则创建的视图元素将连接这两个视图元素和。headViewUMLAssociationtailViewheadView

tailModel和(可选):如果您尝试创建关系,则创建的模型元素将连接这两个模型元素和。headModeltailModelheadModel

containerView (可选):要包含的已创建视图元素的视图元素。

该函数返回创建的视图元素,因此您需要通过访问字段来获取create model元素。(例如)。下面的代码将创建两个类和一个连接这两个类的关联。createModelAndViewmodelclassView1.model

//创建UMLClass和UMLClassView

var options1 = {

id :“UMLClass” ,

parent :diagram1 。_parent ,

图:图1 ,

x1 :100 ,

y1 :100 ,

x2 :200 ,

是2 :200

}

var classView1 = app 。工厂。createModelAndView (options1 )

//创建另一个UMLClass和UMLClassView

var options2 = {

id :“UMLClass” ,

parent :diagram1 。_parent ,

图:图1 ,

x1 :400 ,

y1 :100 ,

x2 :500 ,

是2 :200

}

var classView2 = app 。工厂。createModelAndView (options2 )

//创建连接两个类的关联

var options3 = {

id :“UMLAssociation” ,

parent :diagram1 。_parent ,

图:图1 ,

tailView :classView1 ,

headView :classView2 ,

tailModel :classView1 。模型,

headModel :classView2 。模型

}

var assoView = app 。工厂。createModelAndView (options3 )

创建现有模型元素的视图元素

调用函数以使用选项对象创建现有模型元素的视图元素。createViewOfapp.factory

选项对象可能包含以下字段:

model :由创建的视图元素引用的模型元素。

diagram :要包含的已创建视图元素的图元素。

viewInitializer (可选):初始化创建的视图元素的函数。

x,(可选):创建的视图元素的位置。y

containerView (可选):要包含的已创建视图元素的视图元素。

var options = {

model :classView1 。模型,

图:图1 ,

x :500 ,

y :500 ,

}

app 。工厂。createViewOf (选项)

向元素添加标签

如果要扩展带有附加标记的元素,可以通过调用带参数的函数来创建标记。Tag有五种:String,Number,Boolean,Reference和Hidden。隐藏标签未在图表中显示,但其他标签显示为属性。(选中格式>显示属性菜单)。以下代码将为所选元素创建一个字符串标记。createModelTagapp.factory

//获取所选元素

var selected = app 。选择。getSelected ()

//创建标记的选项

var options = {

id :“标签” ,

父母:选中,

字段:“标签” ,

modelInitializer :function (tag ){

标签。name = “Tag1” ;

标签。kind = 类型。标记。TK_STRING ; //或TK_BOOLEAN,TK_NUMBER,TK_REFERENCE,TK_HIDDEN

标签。value = “字符串值...” ;

// tag.checked = true; //对于TK_BOOLEAN

// tag.number = 100; //对于TK_NUMBER

// tag.reference = ...; //对于TK_REFERENCE

}

}

//为所选元素创建标记

var tag1 = app 。工厂。createModel (选项)

修改元素

更改属性值

您不应该直接修改元素的属性,因为所有更改都应该通过undo和redo支持的操作来完成。class1.name = "New Name"

要更改属性值,请使用以下函数:app.engine.setProperty()

//获取所选元素

var selected = app 。选择。getSelected ()

//更改属性值

app 。发动机。setProperty (已选中,'name' ,'New Name' )

例子

序列图

以下是创建包含两个Lifelines和Message的序列图的示例。

var project = app 。存储库。选择(“@ Project” )[ 0 ]

var model1 = app 。工厂。createModel ({ id :“UMLModel” ,parent :project } )

//创建一个序列图

var options = {

id :“UMLSequenceDiagram” ,

parent :model1 ,

diagramInitializer :function (dgm ){

dgm 。name = “MyDiagram” ;

}

}

var diagram1 = app 。工厂。createDiagram (选项)

//创建生命线

var options1 = {

id :“UMLLifeline” ,

parent :diagram1 。_parent ,

图:图1 ,

x1 :50 ,

Y1 :20 ,

x2 :50 ,

Y2 :20

}

var lifelineView1 = app 。工厂。createModelAndView (options1 )

//创建另一条生命线

var options2 = {

id :“UMLLifeline” ,

parent :diagram1 。_parent ,

图:图1 ,

x1 :150 ,

Y1 :20 ,

x2 :150 ,

Y2 :20

}

var lifelineView2 = app 。工厂。createModelAndView (options2 )

//创建连接上述两条生命线的消息

var options3 = {

id :“UMLMessage” ,

parent :diagram1 。_parent ,

图:图1 ,

x1 :50 ,

y1 :100 ,

x2 :150 ,

y2 :100 ,

tailView :lifelineView1 ,

headView :lifelineView2 ,

tailModel :lifelineView1 。模型,

headModel :lifelineView2 。模型

}

var messageView1 = app 。工厂。createModelAndView (options3 )

相关文章

网友评论

    本文标题:如何使用StarUML for Mac创建和修改元素

    本文链接:https://www.haomeiwen.com/subject/mfaaoqtx.html