UML活动图教案_第1页
UML活动图教案_第2页
UML活动图教案_第3页
UML活动图教案_第4页
UML活动图教案_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1 活动图概述 l活动图(activity diagram)和交互图是UML中对 系统动态建模的两种主要形式。 l交互图(顺序图和协作图)强调的是对象到对 象的控制流,而活动图则强调的是从活动到活 动的控制流 。 l活动图用来描述事物或对象的活动变化流程, 是一种表述业务过程、工作流的技术。它可以 用来对业务过程、工作流建模、工程组织过程、 算法流程,也可以对用例实现建模。 1. 描述工作流 订货处理活动图订货处理活动图 2. 描述工程组织过程 建筑工程过程活动图建筑工程过程活动图 3. 描述算法流程 2 活动图的图形表示活动图的图形表示 l在在UML中,活动表示成中,活动表示成圆角矩形圆角矩

2、形。 l如果一个活动引发下一个活动,两个活动的图如果一个活动引发下一个活动,两个活动的图 标之间用标之间用带箭头的直线带箭头的直线连接。连接。 l活动图也有活动图也有起点和终点起点和终点。 l活动图中还包括活动图中还包括分支与合并分支与合并、分叉与汇合分叉与汇合等模等模 型元素。分支与合并的图标和状态图中的判定型元素。分支与合并的图标和状态图中的判定 的图标相同,而分叉与汇合则用一条加粗的线的图标相同,而分叉与汇合则用一条加粗的线 段表示。段表示。 Activity1 Activity2Activity3 Activity4Activity5Activity6 Activity7 活动起点活动

3、起点 活动活动 分叉分叉 汇合汇合 活动终点活动终点 分支分支 合并合并 2021/3/106讲解:XX 活动图的图形表示活动图的图形表示 3 活动图的组成元素活动图的组成元素 l组成组成UML的图形元素:的图形元素: 动作状态(动作状态(Action State) 活动状态(活动状态(Activity State) 动作流(动作流(Action Flow) 分支(分支(Branch)与合并()与合并(Merge) 分叉(分叉(Fork)与汇合()与汇合(Join) 泳道(泳道(Swimlane) 对象流(对象流(Object Flow) 动作状态动作状态 l动作状态是指执行动作状态是指执行原

4、子的原子的、不可中断不可中断的动作,的动作, 并在此动作完成后通过完成转换转向另一个状并在此动作完成后通过完成转换转向另一个状 态的状态。态的状态。 l动作状态使用平滑的圆角矩形表示,动作状态动作状态使用平滑的圆角矩形表示,动作状态 所表示的动作写在圆角矩形内部。所表示的动作写在圆角矩形内部。 Click Mouse 活动状态活动状态 l活动状态用于表达状态机中的一个活动状态用于表达状态机中的一个非原子非原子的运行的运行,活 动状态可以分解成其他子活动或动作状态. l活动状态的表示图标也是平滑的圆角矩形,并活动状态的表示图标也是平滑的圆角矩形,并可以在可以在 图标中给出入口动作和出口动作等信息

5、图标中给出入口动作和出口动作等信息。 活动状态的内部活动可以用另一个活动图来表示。 和动作状态不同,活动状态可以有入口动作和出 口动作,也可以有内部转移。 动作状态是活动状态的一个特例,如果某个活动 状态只包括一个动作,那么它就是一个动作状态。 动作流动作流 l所有所有动作状态之间的转换动作状态之间的转换流称之为动作流。流称之为动作流。 l活动图的转换也用带箭头的直线表示,箭头的活动图的转换也用带箭头的直线表示,箭头的 方向指向转入的方向。方向指向转入的方向。 活动流活动流 分支与合并分支与合并 l分支一般用于表示对象类所具有的条件行为。分支一般用于表示对象类所具有的条件行为。 l条件行为用分

6、支和合并表达条件行为用分支和合并表达。 l在活动图中分支与合并用空心小菱形表示。在活动图中分支与合并用空心小菱形表示。 l一个分支有一个入转换和两个带条件的出转换,一个分支有一个入转换和两个带条件的出转换, 出转换的条件应当是互斥的,这样可以保证只有出转换的条件应当是互斥的,这样可以保证只有 一条出转换能够被触发。一条出转换能够被触发。 l一个合并有一个合并有两个带条件的入转换两个带条件的入转换和和一个出转换一个出转换, 合并表示从对应的分支开始的条件行为的结束。合并表示从对应的分支开始的条件行为的结束。 分支与合并分支与合并 分叉与汇合分叉与汇合 l分叉分叉用于将动作流分为两个或者多个用于将

7、动作流分为两个或者多个并发运行的分支并发运行的分支,而,而 汇合汇合则用于则用于同步这些并发分支同步这些并发分支,以达到共同完成一项事务,以达到共同完成一项事务 的目的。的目的。 l分叉可以用来描述并发线程,每个分叉可以有一个输入转分叉可以用来描述并发线程,每个分叉可以有一个输入转 换和两个或多个输出转换,每个转换都可以是换和两个或多个输出转换,每个转换都可以是独立独立的控制的控制 流。流。 l汇合代表两个或多个并发控制流同步发生,汇合代表两个或多个并发控制流同步发生,当所有的控制当所有的控制 流都达到汇合点后,控制才能继续往下进行流都达到汇合点后,控制才能继续往下进行。每个汇合可。每个汇合可

8、 以有两个或多个输入转换和一个输出转换。以有两个或多个输入转换和一个输出转换。 l分叉和汇合都使用加粗的水平线段表示。分叉和汇合都使用加粗的水平线段表示。 分叉与汇合: 用来对并发的控制流建模。 分叉用于将活动流分为两个或多个并发运行的分支。 分叉分叉 汇合汇合 分叉分叉 泳道泳道 l泳道将活动图中的活动化分为若干组泳道将活动图中的活动化分为若干组,并把每一组指定,并把每一组指定 给负责这组活动的业务组织即对象。给负责这组活动的业务组织即对象。 l泳道区分了负责活动的对象泳道区分了负责活动的对象,明确地表示了哪些活动是,明确地表示了哪些活动是 由哪些对象进行的。由哪些对象进行的。 l每个活动只

9、能明确地属于一个泳道每个活动只能明确地属于一个泳道。 l泳道用垂直实线绘出,垂直线分隔的区域就是泳道。在泳道用垂直实线绘出,垂直线分隔的区域就是泳道。在 泳道上方可以给出泳道的名字或对象(对象类)的名字,泳道上方可以给出泳道的名字或对象(对象类)的名字, 该对象(对象类)负责泳道内的全部活动。该对象(对象类)负责泳道内的全部活动。 l泳道没有顺序泳道没有顺序,不同泳道中的活动既可以顺序进行也可,不同泳道中的活动既可以顺序进行也可 以并发进行,动作流和对象流允许穿越分隔线。以并发进行,动作流和对象流允许穿越分隔线。 user Lift Press button enter Lift move t

10、o the current floor Press desired floor button leave Open the door Close the door Go to the floor The door open The door close Lift is on the current floor else 2021/3/1019讲解:XX 对象流对象流 l对象流是动作状态或者活动状态与对象之间的依赖关对象流是动作状态或者活动状态与对象之间的依赖关 系,表示动作使用对象或者动作对对象的影响系,表示动作使用对象或者动作对对象的影响。 l对象流中的对象特点:对象流中的对象特点: 一个对

11、象可以由多个动作操纵。一个对象可以由多个动作操纵。 一个动作输出的对象可以作为另一个动作输入的对象。一个动作输出的对象可以作为另一个动作输入的对象。 在在活动图中,同一个对象可以多次出现活动图中,同一个对象可以多次出现,它的每一次,它的每一次 出现表明该对象正处于对象生存期的不同时间点。出现表明该对象正处于对象生存期的不同时间点。 l对象流用带有箭头的虚线表示对象流用带有箭头的虚线表示。如果箭头从动如果箭头从动 作状态出发指向对象,则表示动作对对象施加作状态出发指向对象,则表示动作对对象施加 了一定的影响了一定的影响。如果箭头从对象指向动作状态,如果箭头从对象指向动作状态, 则表示该动作使用对

12、象流所指向的对象则表示该动作使用对象流所指向的对象。 对象流: 反映活动与对象之间的依赖关系,表示对象对活动的 作用或活动对对象的影响,用依赖关系表示。 对象流对象流 1)如果箭头从活动指向对象,表示活动对对象的创建、修改或撤销等的影响;)如果箭头从活动指向对象,表示活动对对象的创建、修改或撤销等的影响; 2)如果箭头从对象指向活动,表示该活动将使用所指向的对象。)如果箭头从对象指向活动,表示该活动将使用所指向的对象。 对象下的方括号对象下的方括号 表示对象的状态表示对象的状态 4 活动图建模技术活动图建模技术 识别要对其工作流描述的识别要对其工作流描述的类或对象类或对象。 确定工作流的初始状

13、态和终止状态,明确工确定工作流的初始状态和终止状态,明确工 作流的边界。作流的边界。 对对动作状态或活动状态动作状态或活动状态建模。建模。 对对动作流动作流建模。建模。 对对对象流对象流建模。建模。 对建立的模型进行对建立的模型进行精化和细化精化和细化。 用例图 CustomerActor Maintain Account Login Clerk Transfer fund within a bank Deposit fund Withdraw fund Transfer fund Clerk BankActor Transfer fund between banks 2021/3/1025讲

14、解:XX 用例的事件流描述 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)系统提示C

15、lerk输入用户姓名、用户的id号、账号和所存款项的金额。 (2)Clerk输入相关信息后提交,系统确认账户是否存在并有效(当用户名、用户id与账户的 户主信息一致,且账户处于非冻结状态时,账户有效)(E-1)。 (3)系统建立存款事件记录,并更新账户的相关信息。 1.5.2 替代流(Alternative Flow) E-1:账户不存在或无效,显示提示信息,用户可以重新输入或终止该用例。 2021/3/1026讲解:XX input information submit pop up information dialog the account exists and valid? creat

16、e transaction record yes display error message no save record into DB update account system clerk 2021/3/1027讲解:XX 用例的事件流描述 2 “Withdraw fund”(取款) 2.1 简单描述 本用例允许Clerk按照客户的要求从客户的账户中取款。 2.2 前置条件(Pre-Conditions) 在本用例开始前,用户必须登录到系统中。 2.3 后置条件(Post-Conditions) 如果用例成功,则客户CustomerActor账户中存款的金额发生变化。否则,系统状态不变。

17、 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:若账户不存在或

18、无效,显示提示信息,用户可以重新输入或终止该用例。 E-2:账户中的存款金额不足,显示提示信息,用户可以重新输入金额或终止该用例。 2021/3/1028讲解:XX input information submit account exists & valid? pop up information dialog display error message no money enough? yes create transaction record update account save record into DB no yes system clerk 2021/3/1029讲解:XX 用

19、例的事件流描述 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号、账户号码和

20、转账金额。 (2)Clerk输入相关信息后提交。(资金转入账户所在的银行只能在所提供的银行列表中选择)。 (3)系统确认资金转出账户是否存在并有效(当用户名、用户id与账户的户主信息一致,且账户处于非冻 结状态时,账户有效)(E-1),资金转出账户中的金额是否足够支付所转款项(E-2)。 (4)更新资金转出账户的相关信息。 (5)为资金转出账户建立转账记录。 (6)存储转账记录。 (7)判断资金转入账户是否属于同一银行, 如果资金转入账户与资金转出账户属于同一银行,则执行分支流S-1:在同一银行的账户间转账。 如果资金转入账户与资金转出账户属于不同银行,则执行分支流S-2:在不同银行的账户间转

21、账。 2021/3/1030讲解:XX 用例的事件流描述 3.5.2 分支流(Subflows) S-1:在同一银行的账户间转账 (1)系统确认资金转入账户是否存在并有效(当账户处于非 冻结状态时,账户有效)(E-1)。 (2)更新资金转入账户的相关信息。 (3)为资金转入账户建立转账记录。 (4)存储转账记录。 S-2:在不同银行的账户间转账 (1)发送转账通知给另一个银行。 3.4.3 替代流(Alternative Flow) E-1:账户不存在或无效,显示提示信息,用户可以重新输入 或终止该用例。 E-2:账户中的存款金额不足,显示提示信息,用户可以修改 所转款项的金额或终止该用例。

22、2021/3/1031讲解:XX input information submit s_account exists & valid? money enough in s_account? yes pop up information dialog display error message no create s_transfer record update s_account save s_transfer record in DB transfer within a bank? notify another bank d_accout exists & valid? update d_a

23、ccount create d_transfer record save d_transfer record in DB no yes yes no no yes system clerk 2021/3/1032讲解:XX 要创建活动图,首先展开“Logic View”菜单项,然后在“Logic View”图标上单击鼠标右键,在弹出的菜单中选择“New”下的 “Activity Diagram”选项建立新的活动图。 在状态图建立以后,双击状态图图标,会出现状态图绘制区域 活动图工具条活动图工具条 选择工具 文本 注释 状态 初始状态 终止状态 状态转换 反身转换 活动 水平同步条 垂直同步条 判断 泳道 活动图中增加模型元素活动图中增加模型元素 活动图也有初始和终止状态。初始状态在活动图中用实心圆表示, 终止状态在活动图中用含有实心圆的空心圆表示。鼠标左键点击活动图 工具栏中初始状态图标,然后在绘制区域要绘制的地方单击鼠标左键就 可以创建初始状态。终止状态的创建方法和初始

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论