


单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,UML活动图教案,1.描述工作流,订货处理活动图,2.描述工程组织过程,建筑工程过程活动图,3.描述算法流程,2 活动图的图形表示,在UML中,活动表示成圆角矩形如果一个活动引发下一个活动,两个活动的图标之间用带箭头的直线连接活动图也有起点和终点活动图中还包括分支与合并、分叉与汇合等模型元素分支与合并的图标和状态图中的判定的图标相同,而分叉与汇合则用一条加粗的线段表示。
活动起点,活动,分叉,汇合,活动终点,分支,合并,活动图的图形表示,3 活动图的组成元素,组成UML的图形元素:,动作状态(,Action State,),活动状态(,Activity State,),动作流(,Action Flow,),分支(,Branch,),与合并(,Merge,),分叉(,Fork,),与汇合(,Join,),泳道(,Swimlane,),对象流(,Object Flow,),动作状态,动作状态是指执行原子的、不可中断的动作,并在此动作完成后通过完成转换转向另一个状态的状态动作状态使用平滑的圆角矩形表示,动作状态所表示的动作写在圆角矩形内部活动状态,活动状态用于表达状态机中的一个非原子的运行,活动状态可以分解成其他子活动或动作状态.,活动状态的表示图标也是平滑的圆角矩形,并可以在图标中给出入口动作和出口动作等信息活动状态的内部活动可以用另一个活动图来表示和动作状态不同,活动状态可以有入口动作和出口动作,也可以有内部转移动作状态是活动状态的一个特例,如果某个活动状态只包括一个动作,那么它就是一个动作状态动作流,所有动作状态之间的转换流称之为动作流活动图的转换也用带箭头的直线表示,箭头的方向指向转入的方向。
活动流,分支与合并,分支一般用于表示对象类所具有的条件行为条件行为用分支和合并表达在活动图中分支与合并用空心小菱形表示一个分支有一个入转换和两个带条件的出转换,出转换的条件应当是互斥的,这样可以保证只有一条出转换能够被触发一个合并有两个带条件的入转换和一个出转换,合并表示从对应的分支开始的条件行为的结束分支与合并,分叉与汇合,分叉用于将动作流分为两个或者多个并发运行的分支,而汇合则用于同步这些并发分支,以达到共同完成一项事务的目的分叉可以用来描述并发线程,每个分叉可以有一个输入转换和两个或多个输出转换,每个转换都可以是独立的控制流汇合代表两个或多个并发控制流同步发生,当所有的控制流都达到汇合点后,控制才能继续往下进行每个汇合可以有两个或多个输入转换和一个输出转换分叉和汇合都使用加粗的水平线段表示分叉与汇合:用来对并发的控制流建模分叉用于将活动流分为两个或多个并发运行的分支分叉,汇合,分叉,泳道,泳道将活动图中的活动化分为若干组,并把每一组指定给负责这组活动的业务组织即对象泳道区分了负责活动的对象,明确地表示了哪些活动是由哪些对象进行的每个活动只能明确地属于一个泳道泳道用垂直实线绘出,垂直线分隔的区域就是泳道。
在泳道上方可以给出泳道的名字或对象(对象类)的名字,该对象(对象类)负责泳道内的全部活动泳道没有顺序,不同泳道中的活动既可以顺序进行也可以并发进行,动作流和对象流允许穿越分隔线对象流,对象流是动作状态或者活动状态与对象之间的依赖关系,表示动作使用对象或者动作对对象的影响对象流中的对象特点:,一个对象可以由多个动作操纵一个动作输出的对象可以作为另一个动作输入的对象在活动图中,同一个对象可以多次出现,它的每一次出现表明该对象正处于对象生存期的不同时间点对象流用带有箭头的虚线表示如果箭头从动作状态出发指向对象,则表示动作对对象施加了一定的影响如果箭头从对象指向动作状态,则表示该动作使用对象流所指向的对象对象流:反映活动与对象之间的依赖关系,表示对象对活动的作用或活动对对象的影响,用依赖关系表示对象流,1)如果箭头从活动指向对象,表示活动对对象的创建、修改或撤销等的影响;,2)如果箭头从对象指向活动,表示该活动将使用所指向的对象对象下的方括号表示对象的状态,4 活动图建模技术,识别要对其工作流描述的,类或对象,确定工作流的初始状态和终止状态,明确工作流的边界对,动作状态或活动状态,建模对,动作流,建模。
对,对象流,建模对建立的模型进行,精化和细化,用例图,用例的事件流描述,1 “Deposit fund”(存款),1.1 简单描述,本用例允许客户借助Clerk存款到账户中1.2 前置条件(Pre-Conditions),在本用例开始前,Clerk必须登录到系统中1.3 后置条件(Post-Conditions),如果用例成功,则客户CustomerActor账户中存款的金额发生变化否则,系统状态不变1.4 扩充点(Extension Points),无1.5 事件流,1.5.1 基流(Basic Flow),当CustomerActor想存钱到自己的账户时,要向Clerk提交存款单和现金,用例启动1)系统提示Clerk输入用户姓名、用户的id号、账号和所存款项的金额2)Clerk输入相关信息后提交,系统确认账户是否存在并有效(当用户名、用户id与账户的户主信息一致,且账户处于非冻结状态时,账户有效)(E-1)3)系统建立存款事件记录,并更新账户的相关信息1.5.2 替代流(Alternative Flow),E-1:账户不存在或无效,显示提示信息,用户可以重新输入或终止该用例用例的事件流描述,2 “Withdraw fund”(取款),2.1 简单描述,本用例允许Clerk按照客户的要求从客户的账户中取款。
2.2 前置条件(Pre-Conditions),在本用例开始前,用户必须登录到系统中2.3 后置条件(Post-Conditions),如果用例成功,则客户CustomerActor账户中存款的金额发生变化否则,系统状态不变2.4 扩充点(Extension Points),无2.5 事件流,2.5.1 基流(Basic Flow),当Customer想从自己的账户中取钱时,要向Clerk提交取款单,用例启动1)系统提示Clerk输入用户姓名、用户的id号、账号和取款金额2)Clerk输入相关信息后提交,系统确认账户是否存在并有效(当用户名、用户id与账户的户主信息一致,且账户处于非冻结状态时,账户有效)(E-1),账户中的存款金额是否足够支付所取款项(E-2)3)系统建立取款事件记录,并更新账户的相关信息2.5.2 替代流(Alternative Flow),E-1:若账户不存在或无效,显示提示信息,用户可以重新输入或终止该用例E-2:账户中的存款金额不足,显示提示信息,用户可以重新输入金额或终止该用例用例的事件流描述,3 “Transfer fund”(转账),3.1 简单描述,本用例允许Clerk按照客户的要求将资金从一个账户转到另一个账户。
3.2 前置条件(Pre-Conditions),在本用例开始前,用户必须登录到系统中3.3 后置条件(Post-Conditions),如果用例成功,则客户CustomerActor账户中存款的金额发生变化否则,系统状态不变3.4 扩充点(Extension Points),无3.5 事件流,3.5.1 基流(Basic Flow),当Customer要求转账时,用例启动,(1)系统提示Clerk输入用户姓名、用户的id号、账户号码和转账金额2)Clerk输入相关信息后提交资金转入账户所在的银行只能在所提供的银行列表中选择)3)系统确认资金转出账户是否存在并有效(当用户名、用户id与账户的户主信息一致,且账户处于非冻结状态时,账户有效)(E-1),资金转出账户中的金额是否足够支付所转款项(E-2)4)更新资金转出账户的相关信息5)为资金转出账户建立转账记录6)存储转账记录7)判断资金转入账户是否属于同一银行,,如果资金转入账户与资金转出账户属于同一银行,则执行分支流S-1:在同一银行的账户间转账如果资金转入账户与资金转出账户属于不同银行,则执行分支流S-2:在不同银行的账户间转账用例的事件流描述,3.5.2 分支流(Subflows),S-1:在同一银行的账户间转账,(1)系统确认资金转入账户是否存在并有效(当账户处于非冻结状态时,账户有效)(E-1)。
2)更新资金转入账户的相关信息3)为资金转入账户建立转账记录4)存储转账记录S-2:在不同银行的账户间转账,(1)发送转账通知给另一个银行3.4.3 替代流(Alternative Flow),E-1:账户不存在或无效,显示提示信息,用户可以重新输入或终止该用例E-2:账户中的存款金额不足,显示提示信息,用户可以修改所转款项的金额或终止该用例使用ROSE创建活动图,要创建活动图,首先展开“Logic View”菜单项,然后在“Logic View”图标上单击鼠标右键,在弹出的菜单中选择“New”下的“Activity Diagram”选项建立新的活动图在状态图建立以后,双击状态图图标,会出现状态图绘制区域,活动图工具条,选择工具,文本,注释,状态,初始状态,终止状态,状态转换,反身转换,活动,水平同步条,垂直同步条,判断,泳道,活动图中增加模型元素,活动图也有初始和终止状态初始状态在活动图中用实心圆表示,终止状态在活动图中用含有实心圆的空心圆表示鼠标左键点击活动图工具栏中初始状态图标,然后在绘制区域要绘制的地方单击鼠标左键就可以创建初始状态终止状态的创建方法和初始状态相同创建初始和终止状态,要创建动作状态,首先点击活动图工具栏中的“Activity”图标,然后在绘制区域要绘制动作状态的地方单击鼠标左键。
创建动作状态,修改动作状态的属性信息首先双击动作状态图标,在弹出的对话框“General”选项卡里进行如名称“Name”和文档说明“Documentation”等属性的设置活动规范,显示动作类型和动作表达式,要增加操作,右击选择Insert,自动添加类型为Entry的操作,双击此处,打开动作规范窗口,动作规范窗口,选择动作执行的时机,添加对象与对象流,(1)将对象与对象流按纽显示在绘图工作栏中,右击绘图工具栏空白处,选择“Customize”,弹出,如下窗口,将这两项添加到绘图工具栏2)添加与设置对象,a.使用此按纽添加对象,结果为:,双击添加的对象,弹出右侧窗口,在name输入对象名,在state处选择,弹出如下窗口,在name处输入状态名后返回,注意:,在同一步活动图中,同名的对象只能通过复制来创建,活动图的应用,为工作流建模,为操作建模,The End,谢谢您的聆听!,期待您的指正!,。