UML活动图-软件需求分析与设计

UML之活动图

基本概念:是UML中一种重要的用于表达系统动态特性的图

  活动图的作用是描述一系列具体动态过程的执行逻辑,展现活动和活动之间转移的控制流,并且它采用一种着重逻辑过程的方式来叙述。

  在对软件密集系统建模的时候,有时需要详细地模拟系统在运作时的业务流程。面对这种需要,我们可以分析对象间发生的活动和触发条件,选用活动图对这些动态方面进行建模。

  活动图的主要组成元素包括动作、活动、动作流、分支与合并、分叉与汇合、泳道和对象流等。

 

活动图组成元素:动作和活动节点、开始和终止、控制流、判断节点、合并节点、泳道。

UML活动图-软件需求分析与设计

 

开始和终止

  活动图中的开始和终止是两个标记符号,分别标记了业务流程的起始位置和结束位置。

  活动图中必须有且仅有一个开始标记,一般至少有一个结束标记。(存在一些特殊的无穷过程不存在终止标记。)

 

UML活动图-软件需求分析与设计

 

 

判断节点

  判断节点是活动图中进行逻辑判断、并创造分支的一种方法。

  判断节点具有一个进入控制流和至少两个导出控制流。

  判断节点具有多个导出流,对于每条导出流而言,应当在表示该控制流的箭头上附加控制条件。

 

UML活动图-软件需求分析与设计

 

合并节点

  合并节点将多个控制流进行合并,并统一导出到同一个离开控制流。

  合并节点仅有逻辑意义而没有时间和数据上的意义:几个动作都指向同一个合并节点也并不意味着这些动作要在进入之后互相等待或进行同步数据之类的操作。

UML活动图-软件需求分析与设计

 

 

工时审批流程

      员工填写工时,项目工时报项目经理审批后再报部门经理审批、非项目工时直接报部门经理审批。

UML活动图-软件需求分析与设计

 

 

例子:学生选课的活动图

学生选上课后需要上课、复习、考试、查询成绩,查询成绩后可以申请复核、查询复核结果、成绩如果及格庆祝、未通过补考或重修。

      

UML活动图-软件需求分析与设计

 

对象流

  对象流是UML为填补活动图与面向对象思想之间的疏离而出现的。如果需要在活动图中表现对象流,则首先需要绘制出泳道,且对象应该作为泳道的负责对象出现。

 

UML活动图-软件需求分析与设计

UML活动图-软件需求分析与设计

 

 

 

 

活动图建模技术

对业务流程建模

  选择一个将要描述的重要过程,过程中尽量涉及数量少但是关键的对象或参与者,将无关或关联很小的对象排除在外,为每一个对象或参与者绘制泳道。

  在总体业务流程中提取关键的动作或活动节点,并且将他们与对象或参与者相对应;若发现有些动作无法对应,则考虑动作是否在这个流程中起关键作用,或者是否遗漏了某些对象或参与者。

  规定初始状态;确定过程可能的结束位置,为活动图添加开始和结束节点。

  从业务流程的开始节点开始,把过程中发生的动作按事件顺序排列,依次把这些动作添加到活动图中。

  把局部的过于复杂的动作序列加以总结,绘制成一个活动节点;如果需要,把这个动作序列使用另外的活动图进行建模。

  找出连接这些动作和活动节点的控制流,并且准确找到过程中的分支、分叉、合并与结合节点。

  如果业务流程中有一些关键对象的值或状态需要加以描述,使用对象流添加这些对象在某些动作或活动节点前后的状态描述。

对用例交互建模

  选择概念用例——即从系统对客户提供的各种服务中确定出一个关键业务,这个关键业务可能是在多个相同或不同的情况下反复出现,或者是系统需要提供的一个关键服务或进行的关键操作。

  对于当前选择的用例,通过事件流进行顺序叙述,并找出所有的参与者主动动作,把这些动作整理成动作或活动节点。

  把参与者和系统划分为两个泳道,如果有除了主参与者以外的其它参与者,也为它们分别划分泳道。

  把活动节点纵向按照事件发生顺序、横向按照参与者角色和系统角色对应填入活动图中。

 

绘制活动图

  “活动图” 比较直观易懂;与传统的流程图十分的相近,只要能够读懂活动图,就不难画出活动图

  绘制时首先决定是否采用泳道:主要根据活动图中是否要体现出活动的不同实施者

  然后尽量使用分支、分岔和汇合等基本的建模元素来描述活动控制流程

  如果需要,加入对象流以及对象的状态变化,利用一些高级的建模元素(如辅助活动图、汇合描述、发送信号与接收信号、引脚、扩展区)来表示更多的信息

  活动图的建模关键是表示出控制流,其它的建模元素都是围绕这一宗旨所进行的补充

 

 

 

例子(1)上班活动图

  早上起来,心里斗争是否去上班。如果决定睡懒觉,就打电话请假,继续睡觉。如果决定上班,洗漱后出门上班。上班时要决定吃不吃早餐,吃就买早餐在途中食用,不吃就回公司再做打算。

UML活动图-软件需求分析与设计

 

 

例子(3)客户下单

  用户下单后,生成送货清单时让客户选择支付方式。若支付成功后,将收款清单和送货地址交到供货商,供货商修改订单状态,如果送货完成则订单完成否则返回供货商。若支付超时、或支付失败,则结束。

UML活动图-软件需求分析与设计
UML活动图-软件需求分析与设计

来源:kafka同学

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年5月12日
下一篇 2020年5月13日

相关推荐