第十章 活动图-2012(1)

上传人:jw****77 文档编号:241823939 上传时间:2024-07-27 格式:PPT 页数:43 大小:537.51KB
返回 下载 相关 举报
第十章 活动图-2012(1)_第1页
第1页 / 共43页
第十章 活动图-2012(1)_第2页
第2页 / 共43页
第十章 活动图-2012(1)_第3页
第3页 / 共43页
点击查看更多>>
资源描述
第十章 活动图学习内容n什么是活动图n活动图的组成n使用Rose创建活动图n用Rose创建活动图的案例活动图概述活动图概述p 类似于传统意义上的流程图,描述系统的动态类似于传统意义上的流程图,描述系统的动态行为。行为。p 活动图是一个流图,描述了从活动到活动的活动图是一个流图,描述了从活动到活动的流。流。p活动图适合描述在没有外部事件触发的情况下活动图适合描述在没有外部事件触发的情况下的系统内部的逻辑执行过程的系统内部的逻辑执行过程什么是活动图1.1.活动图的基本概念活动图的基本概念活动图的基本概念活动图的基本概念n活动图是一种用于描述系统行为的模型视图,它可用来描述动作和动作导致对象状态改变的结果,而不用考虑引发状态改变的事件。n通常,活动图记录单个操作或方法的逻辑、单个用例或商业过程的逻辑流程。n在UML中,活动的起点用来描述活动图的开始状态,用黑的实心圆表示。活动的终止点描述活动图的终止状态,用一个含有实心圆的空心圆表示。活动图中的活动既可以是手动执行的任务,也可以是自动执行的任务,用圆角矩形表示。什么是活动图2.2.为什么要用活动图为什么要用活动图为什么要用活动图为什么要用活动图n活动图的作用主要体现在:(1)描述一个操作执行过程中所完成的工作。说明角色、工作流、组织和对象是如何工作的。(2)活动图对用例描述尤其有用,它可建模用例的工作流,显示用例内部和用例之间的路径。它可以说明用例的实例是如何执行动作以及如何改变对象状态。(3)显示如何执行一组相关的动作,以及这些动作如何影响它们周围的对象。(4)活动图对理解业务处理过程十分有用。活动图可以画出工作流用以描述业务,有利于与领域专家进行交流。通过活动图可以明确业务处理操作是如何进行的,以及可能产生的变化。(5)描述复杂过程的算法,在这种情况下使用的活动图和传统的程序流程图的功能是差不多的。活动图的组成1.动作状态动作状态n动作状态(action state)是原子性的动作或操作的执行状态,它不能被外部事件的转换中断,占用的处理时间极短。构造活动图的最小单位。构造活动图的最小单位。n动作由可执行的动作由可执行的原子计算原子计算组成,这些计算会导致系统组成,这些计算会导致系统状态的改变或者返回一个值。例如调用另一个操作、状态的改变或者返回一个值。例如调用另一个操作、发送一个信号、创建或破坏一个对象、或者是纯粹的发送一个信号、创建或破坏一个对象、或者是纯粹的计算(例如计算一个表达式的值)等都是动作。计算(例如计算一个表达式的值)等都是动作。n在UML中,动作状态使用平滑的圆角矩形表示,动作状态表示的动作写在矩形内部。单击鼠标活动图的组成2.2.活动状态活动状态活动状态活动状态n活动状态是非原子性的,用来表示一个具有子结构的纯粹计算的执行。活动状态可以分解成其他子活动或动作状态,可以被使转换离开状态的事件从外部中断。n活动状态是一个程序的执行过程的状态而不是一个普通对象的状态。离开一个活动状态的转换通常不包括事件触发器。n动作状态是一种特殊的活动状态。可以把动作状态理解为一种原子的活动状态,即它只有一个入口动作,并且它活动时不会被转换所中断。n活动状态和动作状态的表示图标相同,都是平滑的圆角矩形。两者不同的是活动状态可以在图标中给出入口动作和出口动作等信息。活动状态是指业务用例的一个执行步骤或一个操作活动状态是指业务用例的一个执行步骤或一个操作活动图的组成3.3.组合活动组合活动组合活动组合活动n组合活动是一种内嵌活动图的状态。一个组合活动在表面上看是一个状态,但其本质却是一组子活动的概括。一个组合活动可以分解为多个活动或者动作的组合。每个组合活动都有自己的名字和相应的子活动图。一旦进入组合活动,嵌套在其中的子活动图就开始执行,直到到达子活动图的最后一个状态,组合活动结束。n如果一些活动状态比较发杂,就会用到组合活动。比如,我们去购物,当选购完商品后就需要付款。虽然付款只是一个活动状态,但是付款却可以包括不同的情况。对于会员来说,一般是打折后付款,而一般的顾客就要全额付款了。这样,在付款这个活动状态中,就又内嵌了两个活动,所以付款活动状态就是一个组合活动。活动图的组成4.4.分叉与结合分叉与结合分叉与结合分叉与结合n并发(concurrency)指的是在同一时间间隔内,有两个或者两个以上的活动执行。对于一些复杂的大型系统而言,对象在运行时往往不止存在一个控制流,而是存在两个或者多个并发运行的控制流。为了对并发的控制流建模,在UML中引入了分叉和汇合的概念。n分叉用来表示将一个控制流分成两个或者多个并发运行的分支,结合用来表示并行分支在此得到同步。示例-分叉和结合(联结)活动图的组成5.5.分支与合并分支与合并分支与合并分支与合并n分支在活动图中很常见,它是转换的一部分,它将转换路径分成多个部分,每一部分都有单独的监护条件和不同的结果。当动作流遇到分支时,会根据监护条件(布尔值)的真假来判定动作的流向。分支的每个路径的监护条件应该是互斥的,这样可以保证只有一条路径的转换被激发。在活动图中,离开一个活动状态的分支通常是完成转换,它们是在状态内活动完成时隐含触发的。n合并指的是两个或者多个控制路径在此汇合的情况。合并是一种便利的表示法,省略它不会丢失信息。合并和分支常常成对的使用,合并表示从对应分支开始的条件行为的结束。n合并与结合的区别示例示例-分支分支示例-一般活动图 本活动图描述一个处本活动图描述一个处理订理订单的用例执行过程单的用例执行过程(1)执行执行setup order(2)根据根据order的类型是执的类型是执行不同的分支:行不同的分支:nsingle order:执行执行assign seat、charge credit cardnsubscription:同时执同时执行行assignseats和和 award bonus(3)最后最后mail packet。活动图的组成6.泳道泳道n为了对活动的职责进行组织而在活动图中将活动状态分为不同的组,称为泳道(swimlane)。每个泳道代表特定含义的状态职责的部分。在活动图中,每个活动只能明确的属于一个泳道,泳道明确的表示了哪些活动是由哪些对象进行的。n每个泳道都有一个与其他泳道不同的名称。n每个泳道可能由一个或者多个类实施,类所执行的动作或拥有的状态按照发生的事件顺序自上而下的排列在泳道内。示例-泳道活动图的组成7.7.对象流对象流对象流对象流n活动图中交互的简单元素是活动和对象,控制流(control flow)就是对活动和对象之间的关系的描述。详细的说控制流表示动作与其参与者和后继动作之间以及动作和其输入和输出对象之间的关系。而对象流就是一种特殊的控制流。n对象流(object flow)是将对象流状态作为输入或输出的控制流。在活动图中,对象流描述了动作状态或者活动状态与对象之间的关系,表示了动作使用对象以及动作对对象的影响。示例-泳道示例-泳道和对象流活动被按职责分配到不活动被按职责分配到不同区域同区域(泳道泳道):(1)顾客要求服务,顾客要求服务,Sales负责接收定负责接收定 单,并提交到单,并提交到Stockroom(2)Stockroom处理处理定单,与此同时,定单,与此同时,Customer付款,付款,并由并由Sales处处 Deliverorder至至Customer。对象的状态对象的状态在两个泳道交界处在两个泳道交界处说明两个泳道共同说明两个泳道共同负责负责汇总汇总-活动图活动图事物(元素)事物(元素)活动活动(ActionState)动作的执行动作的执行起点起点(InitialState)活动图的开始活动图的开始终点终点(FinalState)活动图的终点活动图的终点汇总汇总-活动图关系活动图关系迁移迁移(transition)活动的完成与新活动的开始(从一个活动的完成与新活动的开始(从一个活动或动作状态到下一个活动或动作活动或动作状态到下一个活动或动作状态的路径)状态的路径)分支分支(junction point)根据条件,控制执行方向根据条件,控制执行方向分叉分叉(fork)以下的活动可并发执行以下的活动可并发执行结合结合(join)/(联结)(联结)以上的并发活动再此结合以上的并发活动再此结合一个输入,两一个输入,两个或多个输出个或多个输出 布尔表达式布尔表达式(护卫条件、(护卫条件、监护条件)监护条件)同步条(水平同步条(水平线或垂直线)线或垂直线)多个并发控多个并发控制流(多个制流(多个输出)输出)一个输入一个输入一个输出一个输出多个并发输入多个并发输入汇总汇总-活动图活动图事物(元素)事物(元素)泳道泳道(SwimLane)活动的负责者活动的负责者对象流对象流(ObjectFlowState)活动之间的交换的信息(输入或输出对活动之间的交换的信息(输入或输出对象)象)对输出值而言,对输出值而言,虚线箭头从虚线箭头从活动指向对象流状态。活动指向对象流状态。对输对输入值而言,入值而言,虚线箭头从对象虚线箭头从对象流状态指向活动流状态指向活动练习题(1)对于“远程网络教学系统”,学生登录后可以下载课件。在登录时,系统需要验证用户的登录信息,如果验证通过系统会显示所有可选服务。如果验证失败,则登录失败。当用户看到系统显示的所有可选服务后,可以选择下载服务,然后下载需要的课件。下载完成后用户退出系统,系统则会注销相应的用户信息。请画出学生下载课件的活动图。修改练习题(2)在“远程网络教学系统”中,系统管理员登录后可以处理注册申请或者审核课件。在处理注册申请后,需要发送邮件通知用户处理结果;在审核完课件后,需要更新页面信息以保证用户能看到最新的课件,同时系统更新页面。当完成这些工作后,系统管理员退出系统,系统则注销系统管理员账号。请画出系统管理员的工作活动图。修改活动图的应用活动图的应用p 活动图可以用来为系统的动态方面建模,这些活动图可以用来为系统的动态方面建模,这些动态方面包括系统中任意一种抽象动态方面包括系统中任意一种抽象(包括类、包括类、接口、组件、节点接口、组件、节点)的活动,通常活动图的上的活动,通常活动图的上下文可以是系统、子系统、操作或类。活动图下文可以是系统、子系统、操作或类。活动图还可以用来描述用例脚本。还可以用来描述用例脚本。p 活动图的应用通常分为两种情况活动图的应用通常分为两种情况 n业务建模时:对工作流建模,用于详述业务用例,业务建模时:对工作流建模,用于详述业务用例,描述一项业务的执行过程描述一项业务的执行过程n设计时:对操作建模,描述操作的流程。设计时:对操作建模,描述操作的流程。使用Rose创建活动图1.1.创建活动图创建活动图创建活动图创建活动图n要创建活动图,首先展开“Logic View”菜单项,然后在“Logic View”图标上单击鼠标右键,在弹出的菜单中选择“New”下的“Activity Diagram”选项建立新的活动图。使用Rose创建活动图n选择之后,Rose在“Logic View”目录下创建“State/Activity Model”子目录,目录下是新建的活动图“New Diagram”,右键单击活动图图标,在弹出菜单中选择“Rename”来修改新创建的活动图名字。使用Rose创建活动图n在状态图建立以后,双击状态图图标,会出现状态图绘制区域使用Rose创建活动图2.2.创建初始和终止状态创建初始和终止状态创建初始和终止状态创建初始和终止状态n活动图也有初始和终止状态。初始状态在活动图中用实心圆表示,终止状态在活动图中用含有实心圆的空心圆表示。鼠标左键点击活动图工具栏中初始状态图标,然后在绘制区域要绘制的地方单击鼠标左键就可以创建初始状态。终止状态的创建方法和初始状态相同。使用Rose创建活动图3.创建动作状态创建动作状态n要创建动作状态,首先点击活动图工具栏中的“Activity”图标,然后在绘制区域要绘制动作状态的地方单击鼠标左键。修改动作状态的属性信息。首先双击动作状态图标,在弹出的对话框“General”选项卡里进行如名称“Name”和文档说明“Documentation”等属性的设置。使用Rose创建活动图4.4.创建活动状态创建活动状态创建活动状态创建活动状态 用鼠标左键双击活动图图标,在弹出的对话框中选择“Action”选项卡。然后在空白处单击鼠标右键,在弹出的右键菜单中选择“Insert”菜单项。使用Rose创建活动图接下来双击列表中出现的默认动作“Entry/”,在弹出的对话框的“When”选项下拉列表中有“ON entry”、“On Exit”、“Do”和“On Event”等动作选项。用户可以根据自己的需求来选择需要的动作,“Name”字段要求用户输入动作的名称。如果选择“On Event”,则要求在相应的字段中输入事件的名称“Event”、参数“Argumengts”和事件发生条件“Condition”等。如果选择的是其他3项,则这几个字段不可填写信息。使用Rose创建活动图5.创建转换创建转换要创建转换,首先点击工具栏中的“State Transition”图标,然后在两个要转换的动作状态之间拖动鼠标。使用Rose创建活动图6.6.创建分叉结合创建分叉结合创建分叉结合创建分叉结合创建分叉与结合,首先点击工具栏中的“Horizontal Synchronization”图标按钮,在绘制区域要创建分叉与结合的地方单击鼠标左键。使用Rose创建活动图n首先点击工具栏中的“Decision”图标按钮,然后在绘制区域要创建分支与合并的地方单击鼠标左键。使用Rose创建活动图7.7.创建泳道创建泳道创建泳道创建泳道n要创建泳道,首先点击工具栏中的“Swimlane”图标按钮,然后在绘制区域点击鼠标左键,就可以创建新的泳道。n接下来可以修改泳道的名字等属性。选中需要修改的泳道,单击鼠标右 键,在弹出的菜单中选择“Open Specification”。弹出的对话框中的“Name”字段可以修改泳道的名字。使用Rose创建活动图8.8.创建对象流状态与对象流创建对象流状态与对象流创建对象流状态与对象流创建对象流状态与对象流n首先点击工具栏中图标按钮“Object”,在绘制区域要绘制对象流状态的地方单击鼠标左键。n接下来左键双击对象,在弹出的对象框“General”选项卡中,可以设置对象的名称、标出对象的状态、增加对象的说明等。其中“Name”字段可以输入对象的名字。如果建立了相应的对象类,可以在“Class”对象的下拉列表中选择。如果建立了相应的状态,可以在“State”字段下拉列表中选择。如果没有状态或需要添加状态,则选择“New”,然后在弹出的对话框中输入名字点击“OK”按钮即可。n创建好对象流状态后,就可以开始创建对象流。首先点击工具栏中的图标按钮,然后在活动和对象流状态之间拖动鼠标创建对象流。用Rose创建活动图的案例 1.1.确定需求用例确定需求用例确定需求用例确定需求用例n n对于对于“教师查看修改教师查看修改学生信息学生信息”来说,他来说,他的参与者是教师,教的参与者是教师,教师在查看修改学生信师在查看修改学生信息的活动中,有息的活动中,有3 3个个用例:用例:(1)(1)登录:要进入系登录:要进入系统,首先要登录。统,首先要登录。(2)(2)查询学生信息:查询学生信息:进入系统后可以选择进入系统后可以选择查询不同学生的信息。查询不同学生的信息。(3)(3)修改学生信息:修改学生信息:需要修需要修 改某些学生改某些学生的部分信息,比如考的部分信息,比如考试过后需要修改学生试过后需要修改学生的成绩信息。的成绩信息。用Rose创建活动图的案例2.2.确定用例路径确定用例路径确定用例路径确定用例路径用Rose创建活动图的案例3.3.绘制完整的活动图绘制完整的活动图绘制完整的活动图绘制完整的活动图
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 生活常识


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!