http://blog.sina.com.cn/s/blog_617032070100eirt.html
本章详细描述创建与编辑图形元素的过程。包括用模型资源管理器组织模型结构。
标签: 杂谈 |
创建新图
StarUML支持11种类型的图。用户可根据需要自由地创建、管理这些不同的图。
创建新图的过程
- 从模型资源管理器或绘图区选择一个要包含新图的元素。
- 右键单击选择[AddDiagram(添加图)]菜单,选择了图的类型后新图就创建了出来。
可用图的类型
图类型 | 描述 | |
类图 (Class Diagram) | 类图是各种类相关的元素静态关系的可视表示。类图不仅包含类,而且还包含接口、枚举、包和各种关系、实例及其联系。 | |
用例图 (Use Case Diagram) | 用例图是特定系统或对象中用例及外部角色间关系的可视表示。用例表示系统功能以及系统如何同外部角色交互的。 | |
顺序图 (Sequence Diagram) | 顺序图表示实例的交互。它是InteractionInstanceSet的直接表示,CollaborationInstanceSet | |
顺序图(角色)(Sequence Diagram(Role)) | 顺序角色图表示角色概念尖的交互。顺序角色。它是交互的直接表示,是协作关系内ClassifierRoles的信息交互。同时顺序图是面向实例的交互,而顺序角色图是面向ClassifierRoles的交互。 | |
协作图 (Collaboration Diagram) | 协作图表示实例间的协作。它是CollaborationInstanceSet | |
协作图(角色)(Collaboration Diagram(Role) ) | 协作角色图表示角色概念间的协作。在协作图中,它是类元角色的协作模型的直接表示。协作图是面向实例的表示法,协作角色图是面向类元角色的表示法。 | |
状态图 (Statechart Diagram) | 状态图是通过状态及其转换表示的特定对象的静态行为。尽管一般地说状态图用于表示类的实例的行为,但它还可以用于表示其他元素的行为。 | |
活动图 (Activity Diagram) | 活动图是状态图的一种特殊形式,适合于表示动作执行流。活动图通常用于表示工作流,常用于象类、包和操作等对象。 | |
构件图 (Component Diagram) | 构件图表示软件构件之间的依赖。组成软件构件的那些元素和实现软件的那些元素都可以用构件图来表示。 | |
部署图 (Deployment Diagram) | 部署图表示表示物理计算机和设备硬件元素和及分配给它们的软件构件、过程对象。 | |
组合结构图(Composite StructureDiagram) | 组合结构图是一种表示类元内部结构的图。它包含在在系统于其他部分的交互点。 |
注
- 图的类型可能因一元素与另一元素不同而不同。
在图中创建元素
在图中创建元素
为了在图中创建新元素,图必须首先打开。不同类型的图,托盘(pallet)中包含不同的图的元素。每类图中可用的图元素彼此不同。
由托盘创建图的元素
- 从托盘选择要创建的元素类型。
- 在图中单击要创建元素的位置。(拖动能鼠标选择一区域确定新元素的大小。如果一个要创建的元素要和两个元素连接到一起,确保连接准确。)
一次创建多个元素的过程
- 从托盘选择要创建的元素类型。
- 在托盘中选择[Lock(锁)] 项,再次点击要创建的元素类型。
- 创建多个元素。
- 创建多个元素完成后,在托盘中选择 。
注
- 在图中创建元素实际上涉及创建模型元素及其视图元素。
在图中创建视图元素
除了在图中由托盘创建图的元素之外,对于已经存在的模型元素也可以创建视图元素。
创建新视图元素(拖拉方法)
- 从模型资源管理器选择要用新视图元素表现的模型。
- 拖动模型元素把它放置到要创建新视图元素的图形区中(在此情况下,所有相关元素的连接自动显示)。
注
- 这种拖曳方法在对于某种类型的图、模型元素可能不能用。
- 不存在视图元素也可以创建模型元素。关于创建模型元素的详细描述,参见“创建模型元素”。
在图中编辑元素
在图区域可以直接编辑元素。
编辑元素的过程
- 双击图区域中的视图元素。
- 在快捷对话框中,编辑元素名称、可视属性等,或者在所选择的元素下点击按钮创建元素。
- 回车或点击其他位置使改变生效
注
- 关于元素快捷对话框的详细描述,参见快捷对话框。
调整大小与移动
从图形区你可以调整图的大小和位置,用特殊+光标键你可以一点一点地调整大小和位置。
调整视图大小的过程
- 单击图中的视图。
- 选择了视图后在中间点拖动鼠标指针修正大小。
用键盘调整视图大小的过程
- 在图上点击视图。
- 用户可以用特定键+光标键来调整视图大小。Shift+光标键可以移动到指定单元格,用Shift+Alt一点一点移动调整位置。
移动视图的过程
- 单击鼠标在图中选择要移动的视图。如果有几个视图,Ctrl+单击选择,或者拖动选择一包含视图的区域。
单击+光标键移动视图到你想要移动到地方。单击+光标键移动到当前的单元格,你可以用单击+光标键移一点点地移动视图的位置。
通过快捷生成句法创建元素
通过快捷生成句法创建元素
通过快捷生成句法创建元素的过程
- 从图区选择视图。
- 运行快捷对话框选择后回车。
- 在快捷对话框输入一符号序列。
快捷方式符号序列
通过写一串简单的文本,用快捷生成句法可以生成一目标模型和关系。快捷生成句法的基本规则如下。
Diagram Type 图类型 | Notation符号 | Current Element 当前元素 | Description 描述 |
类图(Class Diagram) 部件图 部署图 组合结构图(Composite Structure Diagram) | <= | Classifier分类符 | 目标元素与当前元素联系到一起形成一个特殊化的链。 |
=> | Classifier分类符 | 目标元素与当前元素联系到一起形成一个一般化的链。 | |
-- | Classifier分类符 | 目标元素与当前元素联系到一起形成一个关联的链。 | |
| <- | Classifier分类符 | 从目标元素到当前元素形成可通航的关联关系。 |
| -> | Classifier分类符 | 与当前元素联系的目标元素形成一个可通航的关联的链。 |
| <>- | Classifier | 与当前元素联系的目标元素形成聚集的链。 |
| -<> | Classifier | 从目标元素到当前元素形成聚集关系。 |
| <*>- | Classifier | 从目标元素到当前元素形成组合的链。 |
| -<*> | Classifier | 从目标元素到当前元素形成组合关系。 |
| <-- | Classifier | 从目标元素到当前元素形成依赖关系。 |
| --> | Classifier | 与当前元素联系的目标元素形成依赖的链。 |
| )- | Classifier | 从目标元素到当前元素形成需求关系。 |
| -( | Classifier | 与当前元素联系的目标元素一起形成需求的链。 |
@- | Classifier | 从目标元素到当前元素形成实现关系。 | |
-@ | Classifier | 与当前元素联系的目标元素一起形成实现的链。 | |
用例图 (Usecase Diagram) | ()- | UseCase | 与当前元素联系的目标元素(参与者)一起形成通讯链。 |
-() | Actor | 与当前元素联系的目标元素(用例外)一起形成通讯链。 | |
<i- | UseCase | 从目标元素到当前元素形成包含关系。 | |
-i> | UseCase | 与当前元素联系的目标元素一起形成包含的链。 | |
| <e- | UseCase | 从目标元素到当前扩展形成包含关系。 |
| -e> | UseCase | 与当前元素联系的目标元素一起形成扩充的链。 |
顺序图 (Sequence Diagram) 顺序图(角色)(Seqeunce Diagram(Role)) | <- | Object, ClassifierRole | 与当前元素联系的目标元素一起形成反应(stimulus)的链。 |
-> | Object, ClassifierRole | 从目标元素到当前反应形成包含关系。 | |
| <-> | Object, ClassifierRole | 从目标元素到当前元素形成带返回(return)的反应。 |
| <- | Stimulus, Message | (从目标元素)在当前反应中形成子反应。 |
| -> | Stimulus, Message | (从目标元素)在当前反应中形成子反应。 |
| <-> | Stimulus, Message | (从目标元素)在当前反应中形成带返回的子反应。 |
| <~ | Stimulus, Message | Makes stimulus(comes from target element) in front of currentstimulus. |
| ~> | Stimulus, Message | (从目标元素)在当前反应前形成子反应。 |
| <_ | Stimulus, Message | (从目标元素)在当前反应后形成子反应。 |
| _> | Stimulus, Message | (从目标元素离开)在当前反应后形成子反应。 |
协作图 (Collaboration Diagram) 协作图(角色) | <- | Object, ClassifierRole | 与当前元素联系的目标元素一起形成反应链。 |
-> | Object, ClassifierRole | 从目标元素形成反应关系。 | |
| <-> | Object, ClassifierRole | 从目标元素到当前元素形成带返回关系的反应。 |
状态图 (Statechart Diagram) 活动图 | <- | State, ActionState | 从目标元素到当前元素形成转换关系。 |
-> | State, ActionState | 目标元素与当前元素联系一起形成转换的链。 | |
| -* | State, ActionState | 从目标元素(初始关系)到当前元素形成转换关系。 |
| -@ | State, ActionState | 目标元素(终止状态)与当前元素一起形成转换链。 |
| <-<> | State, ActionState | 从目标元素(判断)到当前元素形成转换关系。 |
| -><> | State, ActionState | 目标元素(判断)与当前元素一起形成转换链。 |
| -(H) -(h) | State, ActionState | 目标元素(历史)与当前元素联系一起形成转换链。 |
| -(H*) -(h*) | State, ActionState | 目标元素(深历史)与当前元素联系一起形成转换链。 |
| <-| | State, ActionState | 从目标元素到当前元素(结合)形成转换关系。 |
| |-> | State, ActionState | 目标元素(with Fork)与当前元素联系一起形成装换链。 |
拷贝与粘贴
拷贝与粘贴
为了粘贴而复制或剪切时,模型元素与视图元素有明显的区别。如果复制的是模型元素,它就不得不粘贴到模型元素下。在此情况下,所选元素包含的的子元素都被一起复制。视图可以复制到同一图内或不同的图内。被复制的视图元素只能复制到图内;它们不能复制到模型元素。复制与粘贴可能会因为视图或图的元素类型不同而有一定的限制。
复制与粘贴模型元素的过程
- 从模型资源管理器选择要复制的元素;
- 右键点击选择[Copy(复制)]菜单,模型元素被复制到剪贴板;
- 从模型资源管理器选择要被复制的模型元素要被粘贴到的元素;
- 右键点击选择[Paste(粘贴)]菜单。被复制的元素被从剪贴板调出粘贴到选择的元素。
被复制的模型元素只能粘贴到可以包含它们的元素。
复制与粘贴视图元素的过程
- 从图区选择要复制的视图元素(你可以用鼠标在图区拖拉选择多个元素)。按下[Shift]键点击视图元素把所点击的元素也加入到选择里。)
- 右键点击选择[Copy(复制)]菜单。视图被复制到剪贴板。
- 打开要复制到图。(从模型或图资源管理器双击视图元素,从图选项卡选择视图元素。)
- 右键点击选择[Paste(粘贴)]菜单。要复制的视图元素被复制到活动图中。
复制粘贴/不同类型的图
图类型Diagram Type | 复制/粘贴Copy/Paste |
类图(Class Diagram) | 元素可以在Class, UseCase, Component,CompositeStructure, 和 Deployment 图之间自由复制。 |
用例(UseCase Diagram) | 元素可以在Class, UseCase, Component,CompositeStructure, |
顺序图 (Sequence Diagrams) | 元素不能复制或粘贴。 |
协作图 (Collaboration Diagrams) | 元素不能复制或粘贴。 |
Statechart Diagram (状态图) | 元素只能在同一StateMachine图内复制。 |
活动图(Activity Diagram) | 元素只可以在相同的ActivityGraph内复制。 |
部件图 (Component Diagram) | 元素可以自由地在Class, UseCase, Component,CompositeStructure和Deployment图之间复制。 |
部署图 (Deployment Diagram) | 元素可以自由地在 Class, UseCase,Component, |
组合结构图(CompositeStructure Diagram) | 元素可以在Class, UseCase, Component,CompositeStructure 和 Deployment 图之间自由复制。 |
配置属性
配置属性
配置属性
模型元素包含各种属性。用户可以通过编辑这些属性,以各种方式改变模型。可用的属性如下:
属性类型
属性类型 | 描述 |
Name名称 | 表示模型元素名称。 |
Stereotype构造型 | 表示模型元素的构造型。 |
TypeExpression类型表达式 | 特殊类型的表达式。 |
String字符串 | 表示字符串。 |
Boolean布尔 | 表示真假值。 |
Enumeration枚举 | 在各字面值中选一。. |
Reference引用 | 表示特定元素。. |
Collection集合 | 表示多个元素(通过集合编辑器可编辑) |
编辑名称属性
在属性编辑器中“Name”项中输入元素名称。名称不能包含特殊字符":"。名称在名称空间内必须是唯一的。例如,类名在一个包内就必须是唯一的。如果名称与其他元素冲突,警告信息就会出现。
编辑构造型属性
在属性编辑器中的“Stereotype”(构造型)项输入构造型名称。构造型名称可以是UML轮廓中定义的构造型,也可以非预定的简单的名称。可以用下面的方法编辑构造型属性:
- 输入预定义的构造型: 输入包含在当前项目中的UML轮廓中预定义的构造型名称。该构造型是直接引用的。
- 输入非预定义的构造型: 输入的构造型未包含在当前项目包含的UML轮廓中。这个值只是简单的字符串值。
- 从构造型对话框选择: 打开构造型对话框,从预定义的构造型列表选择一个构造型。
编辑类型表达式(TypeExpression)属性。
类型表达式属性是包含在属性(Attribute)、参数等之中的。在属性编辑器中的“Type”项输入类型表达式。可以用下面的方法来编辑类型表达式:
- 输入预定义类型名称: 输入包含在当前元素的类元元素名称(类classes、接口interfaces、信号signals,、异常exceptions、组件components,、节点nodes、子系统subsystems,等等)。这些元素直接被引用。
- 输入预定义的类型路径名: 直接输入包含在当前项目中的类元元素的路径名称(如?::Logical View::Package1::Class1?)。
- 输入非预定义类型名: 输入一个与当前项目中包含的任何类元无关的名称。这个值只是个简单的字符串值。
- 从选择元素对话框选择: 打开选择元素对话框,直接选择一个预定义类型,或者选择一个在轮廓中预定义的数据类型。
模型元素文档
模型元素文档
各个模型元素可以撰写详细的描述文档。
为模型元素写文档的过程
- 从模型资源管理器或图区选择一个要包含描述文字的元素。
- 在主窗口的检查区选择选[Documentation(文档)]项卡。
- 在可编辑区输入描述文字
附加文件或URL
附加文件或URL
相关文件或Web URL(网址)可以附加到诸元素。附加的文件或web页可以很容易地通过相关的应用程序或web浏览器访问。
附加文件或URL的过程
- 从模型资源管理器或图区选择元素。
- 在主窗口的检查区,选择[Attachments(附加)]选项卡。
- 右键单击选择[Add(添加)]菜单,或点击工具条上的[Add(添加)]按钮。
- 在附加对话框输入要附加的文件的全路径和文件名或web页的URL(或点击右面的浏览器按钮选择浏览器窗口),点击[OK]按钮。
移除附加项的过程
- 模型资源管理器或图区选择元素。
- 在主窗口的检查区,选择[Attachments(附加)]选项卡。
- 从列表选择要删除的附加项,右键选择[Delete(删除)]菜单,或点击工具条上的删除按钮。
记录约束
记录约束
诸元素可以记录多重约束。约束是适用于元素的规则。它们可以用易于理解的范式语言来写。或者依据UML定义的OCL(Object Constraint Language(对象约束语言))语法来写。
添加约束的过程
- 选择一个要添加约束的元素。
- 右键单击,选择[ConstraintEditor(约束编辑器)…]菜单。
- 在约束编辑器,单击[Add(添加)]按钮。
- 在约束对话框,输入名称和内容,然后单击[OK]按钮
删除约束的过程
- 选择要为之删除约束的元素。
- 右键单击并选择[约束编辑器Constraint Editor(约束编辑器)…]菜单。
- 在约束编辑器,从列表选择要编辑的约束,然后点击[Edit(编辑)]按钮。
- 在约束对话框,编辑名称与内容,点击[OK]按钮。