个人可以建网站,咨询公司简介,建网站外包公司,电子商务网站建设 期末考试试卷以及答案版权声明
本文原创作者#xff1a;谷哥的小弟作者博客地址#xff1a;http://blog.csdn.net/lfdfhl本文参考资料#xff1a;《UML面向对象分析、建模与设计#xff08;第2版#xff09;》吕云翔#xff0c;赵天宇 著 活动图概述
活动图(activity diagram)是 UML中一种重…
版权声明
本文原创作者谷哥的小弟作者博客地址http://blog.csdn.net/lfdfhl本文参考资料《UML面向对象分析、建模与设计第2版》吕云翔赵天宇 著 活动图概述
活动图(activity diagram)是 UML中一种重要的用于表达系统动态特性的图。活动图的作用是描述一系列具体动态过程的执行逻辑展现活动和活动之间转移的控制流并且它采用一种着重逻辑过程的方式来叙述。
具体地说活动图的表达能力包括了逻辑判断、分支甚至并发。所以活动图的表达能力要远高于流程图。流程图仅仅展示一个固定的过程而活动图可以展示并发和控制分支并且可以对活动与活动之间信息的流动进行建模。
活动图的组成元素
请务必熟悉并掌握以下核心知识点。
动作和活动节点
动作代表一个原子操作操作可能是任何合法的行为。在活动图中动作使用一个左右两端为圆弧的矩形框来表示在这个图形内部加人该动作的描述。 活动节点是一系列动作主要用于实现动作序列的简化和动作图的嵌套。活动节点在图中的表达方式和动作相同它们之间的区分需要依靠编辑工具或附加说明来完成。
活动节点本身可以代表一个复杂过程它的控制流由其他的活动节点和动作组成如需要可以另附其他的活动图来表达活动节点的控制流。
开始和终止
活动图中的开始和终止是两个标记符号。开始标记注明了业务流程的起始位置使用一个实心黑色圆点表示。终止标记注明了业务流程的可能结束位置使用一个与开始标记等大的、内有一个黑色实心小圆点的空心圆圈来表示。 控制流
控制流是活动图中用于标示控制路径的一种符号。它负责当一个动作或活动节点执行完毕后将执行主体从当前已完毕的节点转移到过程的下一个动作或动作节点。控制流从活动图的开始标记开始运行经过顺序、分支等结构引导着各个动作的连续执行。
在 UMI中控制流使用一条从前一个动作(或活动节点)出发指向下一个动作(或活动节点)的简单箭头表示。 判断节点
判断节点是活动图中进行逻辑判断、并创造分支的一种方法。判断节点具有一个进入控制流和至少两个导出控制流(从当前节点出发指向其他动作或节点的流称为导出流或离开流)判断节点的前一个动作应当是判断型动作。
在活动图中判断节点用一个菱形来表示。并且作为判断节点这个菱形有且仅有一个指向它的箭头有至少两个由它出发指向其他动作或活动节点的箭头。 合并节点
合并节点将多个控制流进行合并并统一导出到同一个离开控制流。在活动图中合并节点也同样使用一个菱形来表示。作为合并节点这个菱形应该至少有两个指向它的箭头有且仅有一个由它出发指向其他动作或活动节点的箭头。 泳道
活动图中的元素可以使用泳道来分组。泳道是将活动中的具体活动按照负责进行该活动的对象进行分区一条泳道中的所有活动由同一个对象来执行。在业务模型中每个泳道的负责对象可能是一个单位或一个部门。例如在一次考试的全过程中有如下过程
(1)老师出卷(2) 学生作答(3) 老师批卷(4)老师打印成绩单(5)学生领取成绩单
在这个过程中可以发现每个过程的主语都是该动作的执行者那么在这个简单的过程中可以分“老师”和“学生”两个泳道把动作与负责执行它的对象用这种形如二维表的方式进行关联。 分叉节点与结合节点
在活动图中我们使用分叉节点和结合节点来表示并发。
分叉节点是从线性流程进入并发过程的过渡节点它拥有一个进入控制流和多个离开控制流。
结合节点是将多个并发控制流收束回同一流程的节点标记。 航空购票系统活动图
在此以航空购票系统的购买机票用例为例绘制活动图图示如下 确定泳道
开始创建活动图时,需要首先确定参与的对象即确定活动图有几个泳道。泳道说明了活动是由该对象执行的。在该案例中我们将其粗粒度地分为用户和系统两个泳道。
与创建用例图类似请在Model中创建活动图图示如下 点击确定后图示如下 选中活动图右键单击选择添加图再选择UML Behavioral和Activity图示如下 单击确定后图示如下 首先将工具箱中的泳道Partition拖拽至绘图区添加用户泳道图示如下 点击确定图示如下 调整泳道方向图示如下 调整泳道方向和长度图示如下 类似地添加系统泳道并将其与用户泳道对齐图示如下 按照逻辑顺序完成活动图
在添加完泳道后需要梳理整个控制流的过程用户首先选择购票的航班此时如果该航班已无余票则系统提示该航班已无票用户重新选择航班如果航班有余票则系统请求用户确认购票信息此时用户可以取消购票也可以确认购票并支付支付完成后系统修。
首先将Initial拖动至用户泳道作为起点图示如下 点击确定后图示如下 将Activity拖动至用户泳道作为选择航班的活动图示如下 点击确定后可以调整活动框大小图示如下 将Decision拖动至系统泳道作为判断节点图示如下 单击确定后图示如下 类似地在系统泳道添加两个活动即提示航班无余票和确认机票信息图示如下 将Decision拖动至用户泳道作为判断节点图示如下 将Final拖动至系统泳道作为第一个终止图示如下 单击确定图示如下 将Activity拖动至用户泳道作为支付活动图示如下 将工具箱中的Fork/Join拖动至系统泳道作为分叉节点图示如下 单击确定后调整分叉节点长度图示如下 类似地在系统泳道中的分叉节点添加修改机票状态活动和生成订票记录活动图示如下 类似地将工具箱中的Fork/Join拖动至系统泳道作为结合节点图示如下 最后将Final拖动至系统泳道作为第二个终止图示如下 接下来我们依据流程使用工具箱中Activity Relationships中的Control Flow连线图示如下 在目前的活动图中还缺乏判断节点的说明图示如下 请双击连线添加说明文本图示如下
单击确定后并调整文本位置图示如下 类似地添加有余票的文本说明图示如下