一般动作
登录
Wiki:
BROPEN
▼
:
Document Index
»
Space:
TechDocReproduced
▼
:
Document Index
»
Page:
UML序列图总结
搜索
zh
页面动作
导出
▼
:
以PDF格式导出
以RTF格式导出
以HTML格式导出
更多动作
▼
:
打印预览
察看源码
欢迎进入Wiki
»
TechDocReproduced
»
UML序列图总结
Wiki源代码
UML序列图总结
在2015-06-28 13:50上被
李小翔
修改
内容
·
评论
(0)
·
附件
(9)
·
记录
·
信息
隐藏行号
1: 转自:[[http:~~/~~/kb.cnblogs.com/page/129493/>>url:http://kb.cnblogs.com/page/129493/||rel="__blank"]] 2: 3: 作者: [[tianhai110>>url:htt://blog.csdn.net/tianhai110]] 发布时间: 2012-01-30 15:57 [[原文链接>>url:http://blog.csdn.net/tianhai110/article/details/6361338]] 4: 5: 6: **序列图主要用于展示对象之间交互的顺序。** 7: 8: 序列图将交互关系表示为一个二维图。纵向是时间轴,时间沿竖线向下延伸。横向轴代表了在协作中各独立对象的类元角色。类元角色用生命线表示。当对象存在时,角色用一条虚线表示,当对象的过程处于激活状态时,生命线是一个双道线。 9: 10: 消息用从一个对象的生命线到另一个对象生命线的箭头表示。箭头以时间顺序在图中从上到下排列。 11: 12: 序列图中涉及的元素: 13: 14: **~1. 生命线:** 15: 16: 生命线名称可带下划线。当使用下划线时,意味着序列图中的生命线代表一个类的特定实例。 17: 18: [[image:2012013015384562.png]] 19: 20: **2. 同步消息** 21: 22: 发送人在它继续之前,将等待同步消息响应。 23: 24: [[image:2012013015395188.png]] 25: 26: **3. 异步消息** 27: 28: 在发送方继续之前,无需等待响应的消息。 29: 30: [[image:2012013015401689.png]] 31: 32: **4. 注释** 33: 34: **[[image:2012013015404857.png]]** 35: 36: **5. 约束** 37: 38: 约束的符号很简单;格式是: [Boolean Test] 39: 40: [[image:2012013015413776.png]] 41: 42: **6. 组合片段** 43: 44: **组合片段用来解决交互执行的条件及方式**。它允许在序列图中直接表示逻辑组件,用于通过指定条件或子进程的应用区域,为任何生命线的任何部分定义特殊条件和子进程。 45: 46: 常用的组合片段有: 47: 48: **抉择(Alt)** 49: 50: 抉择用来指明在两个或更多的消息序列之间的互斥的选择,相当于经典的if..else..。 51: 52: 抉择在任何场合下只发生一个序列。 可以在每个片段中设置一个临界来指示该片段可以运行的条件。**else** 的临界指示其他任何临界都不为 True 时应运行的片段。如果所有临界都为 False 并且没有 **else**,则不执行任何片段。 53: 54: [[image:2012013015543491.png]] 55: 56: **选项(Opt)** 57: 58: 包含一个可能发生或不发生的序列 59: 60: [[image:2012013015551193.png]] 61: 62: **循环(Loop)** 63: 64: 片段重复一定次数。 可以在临界中指示片段重复的条件。 65: 66: **~ [[image:2012013015553457.png]]** 67: 68: **并行(Par)** 69: 70: [[image:2012013015555581.png]] 71: 72: **下表列出了常用的组合片段:** 73: 74: |片段类型|名称|说明 75: |**Opt**|选项|包含一个可能发生或可能不发生的序列。 可以在临界中指定序列发生的条件。 76: |**Alt**|抉择|((( 77: 包含一个片段列表,这些片段包含备选消息序列。 在任何场合下只发生一个序列。 78: 79: 可以在每个片段中设置一个临界来指示该片段可以运行的条件。 **else** 的临界指示其他任何临界都不为 True 时应运行的片段。 如果所有临界都为 False 并且没有 **else**,则不执行任何片段。 80: ))) 81: |**Loop**|循环|((( 82: 片段重复一定次数。 可以在临界中指示片段重复的条件。 83: 84: Loop 组合片段具有**“Min”**和**“Max”**属性,它们指示片段可以重复的最小和最大次数。 默认值是无限制。 85: ))) 86: |**Break**|中断|如果执行此片段,则放弃序列的其余部分。 可以使用临界来指示发生中断的条件。 87: |**Par**|并行|并行处理。 片段中的事件可以交错。 88: |**Critical**|关键|用在 Par 或 Seq 片段中。 指示此片段中的消息不得与其他消息交错。 89: |**Seq**|弱顺序|有两个或更多操作数片段。 涉及同一生命线的消息必须以片段的顺序发生。 如果消息涉及的生命线不同,来自不同片段的消息可能会并行交错。 90: |**Strict**|强顺序|有两个或更多操作数片段。 这些片段必须按给定顺序发生。 91: 92: **有关如何解释序列的片段** 93: 94: 默认情况下,序列图表明可能发生的一系列消息。 在运行的系统中,可能会出现您未选择显示在关系图上的其他消息。 95: 96: 以下片段类型可用于更改此释义: 97: 98: |片段类型|名称|说明 99: |**Consider**|考虑|((( 100: 指定此片段描述的消息列表。 其他消息可发生在运行的系统中,但对此描述来说意义不大。 101: 102: 在**“Messages”**属性中键入该列表。 103: ))) 104: |**Ignore**|忽略|((( 105: 此片段未描述的消息列表。 这些消息可发生在运行的系统中,但对此描述来说意义不大。 106: 107: 在**“Messages”**属性中键入该列表。 108: ))) 109: |**Assert**|断言|操作数片段指定唯一有效的序列。 通常用在 Consider 或 Ignore 片段中。 110: |**Neg**|否定|此片段中显示的序列不得发生。 通常用在 Consider 或 Ignore 片段中。
快速链接
首页
新闻动态
FAQ