您好,欢迎访问三七文档
LOGO《UML建模》活动图目录5.2活动图的基本组成元素5.1活动图的概述5.3活动图的建模3活动图的概述•活动图是一种描述系统行为的图,它用于展现参与行为的类所进行的各种活动的顺序关系。活动图中从一个活动到另一个活动,相当于状态图从一个状态到另一个状态。•活动图与状态图都是状态机的表现形式。•活动图与状态图的区别:①活动图着重表现从一个活动到另一个活动的控制流,是内部处理驱动的流程。②状态图着重描述从一个状态到另一个状态的流程,主要有外部事件的参与。活动图的概述5活动图在本质上是一种流程图。但与流程图又有区别。活动图与流程图的区别:流程图着重描述处理过程,它的主要控制结构是顺序、分支和循环,各个处理之间有严格的顺序和时间关系;而活动图描述的则是对象活动的顺序关系所遵循的规则,它着重表现的是系统的行为,而非系统的处理过程。活动图能够表示并发活动的情形活动图是面向对象的,而流程图是面向过程的。活动图的概述活动图的主要元素•活动图的主要元素:①对象流,由一个结点产生的数据,由其他结点使用②控制流,表示结点间执行的序列③控制结点,用于构建控制流和对象流。包括表示流的开始和终止结点,判断和合并,以及分叉和汇合等④对象结点,对象结点注入和流出被调用的行为,表示对象或者数据⑤结合化的控制流结构,像循环和分支等⑥分区和泳道⑦可中断区间和异常•活动是某件事情正在进行的动作。•活动在状态机中表现为一个由一系列动作组成的非原子的执行过程。•它既可以是现实生活中正在进行的某一项工作(写文章、维修机器等)•也可以是软件系统中正在运行的某个类对象的一个操作。活动的概念•一个活动图中,一组活动结点用一系列活动连接起来。活动结点包含如下:•动作结点,可执行的算术计算,调用操作,管理对象内部数据等•控制结点,包含开始和终止结点,判断与合并等•对象结点,表示活动中所处理的一个或一组对象•控制流,连接可执行结点和控制结点的边,简称控制流•对象流,连接对象结点的边,简称对象边活动的概念•一个活动可以分为若干个动作或子活动,这些动作和子活动本身可以组成一个活动图。•一个包含子活动的活动和嵌套了子状态的组合状态类似,概念上也相对统一。•一个不含内嵌活动或动作的活动称之为简单活动;一个嵌套了若干活动或动作的活动称之为组合活动,组合活动有自己的名字和相应的子活动图。活动的概念活动的概念•一个活动中可以包含各种不同种类的动作,常见的动作分类如下:•基本功能,像算术运算等•行为调用,像调用另一个活动或者操作•通信动作,像发送一个信号,或者等待接收某一个信号•对象处理,像对属性值或者关联值的读写动作的概念目录5.2活动图的基本组成元素5.1活动图的概述5.3活动图的建模•动作状态•活动状态•转移•判定•开始和结束状态•分支与合并•分叉与汇合•泳道•对象流5.2活动图的基本组成元素活动状态•活动状态用于表达状态机中的非原子的运行。•活动状态的表示图标和动作状态相同,都是平滑的圆角矩形。•稍有不同的是活动状态可以在图标中给出入口动作和出口动作等信息。5.2活动图的基本组成元素•活动状态的特点如下:•⑴活动状态可以分解成其他子活动或动作状态,由于它是一组不可中断的动作或操作的组合,所以可以被中断。•⑵活动状态的内部活动可以用另一个活动图来表示。•⑶和动作状态不同,活动状态可以有入口动作和出口动作,也可以有内部转移。•⑷动作状态是活动状态的一个特例,如果某个活动状态只包括一个动作,那么它就是一个动作状态5.2活动图的基本组成元素•活动状态用一个平滑的圆角矩形表示.活动状态的名称写在平滑的圆角矩形内部。活动状态的名称可以用表达式描述也可以用消息描述活动节点。•状态用圆角矩形描述活动节点的表示活动节点5.2活动图的基本组成元素State动作状态•动作状态是指执行原子的、不可中断的动作,并在此动作完成后通过完成转换转向另一个状态。•在UML中动作状态使用平滑的圆角矩形表示,动作状态所表示的动作写在圆角矩形内部,与活动状态表示方法一致5.2活动图的基本组成元素•动作状态有如下特点:•⑴动作状态是原子的,它是构造活动图的最小单位,已经无法分解为更小的部分。•⑵动作状态是不可中断的,它一旦开始运行就不能中断,一直运行到结束。•⑶动作状态是瞬时的行为,它所占用的处理时间极短,有时其至可以忽略。•⑷动作状态可以有入转换,入转换既可以是动作流,也可以是对象流。动作状态至少有一条出转换,这条转换以内部动作的完成为起点,与外部事件无关。5.2活动图的基本组成元素•动作状态有如下特点:•⑸动作状态和状态图中的状态不同,它不能有入口动作和出口动作,更不能有内部转移。•⑹在一张活动图中,动作状态允许多处出现。5.2活动图的基本组成元素•转移•当一个活动状态或动作状态结束时,活动控制流就会马上传递给下一个活动状态或动作状态,在活动图中称之为“转移”,用一条带箭头的直线来表示转换。5.2活动图的基本组成元素•判定•如果一个活动可能引发两个以上不同的路径,并且这些路径是互斥的,此时就需要使用判定来实现。•在UML中判定有两种表示方式:•一种是从一个活动直接引出可能的多条路径•另一种将活动转称引到一个菱形图标,然后从这个菱形图标中再引出可能的路径5.2活动图的基本组成元素•开始和结束状态•开始状态表示活动的起点;结束状态表示活动的终结点.用一个实心圆表示开始状态,用一个圆圈内加一个实心圆来表示结束状态.在活动图中,可能包含多个结束状态。•开始状态结束状态5.2活动图的基本组成元素•分支一般用于表示对象类所具有的条件行为。•条件行为用分支和合并表达。•在活动图中分支与合并用空心小菱形表示。•一个分支有一个入转换和两个或两个以上带条件的出转换,出转换的条件应当是互斥的,这样可以保证只有一条出转换能够被触发。•一个合并有两个或两个以上带条件的入转换和一个出转换,合并表示从对应的分支开始的条件行为的结束。5.2活动图的基本组成元素5.2活动图的基本组成元素•分叉与汇合•在实际应用中,如果一些活动是并发执行的,使用分叉和汇合来表示并发活动。分叉线和汇合线都使用加粗的水平线或垂直线段表示。5.2活动图的基本组成元素26•分叉用于将动作流分为两个或者多个并发运行的分支,而汇合则用于同步这些并发分支,以达到共同完成一项事务的目的。•分叉可以用来描述并发线程,每个分叉可以有一个输入转换和两个或多个输出转换,每个转换都可以是独立的控制流。•汇合代表两个或多个并发控制流同步发生,当所有的控制流都达到汇合点后,控制才能继续往下进行。每个汇合可以有两个或多个输入转换和一个输出转换。•分叉和汇合都使用加粗的水平线段表示。5.2活动图的基本组成元素•泳道•泳道将活动图中的活动化分为若干组,并把每一组指定给负责这组活动的业务组织即对象。•泳道区分了负责活动的对象,明确地表示了哪些活动是由哪些对象进行的。•每个活动只能明确地属于一个泳道。•泳道用垂直实线绘出,垂直线分隔的区域就是泳道。在泳道上方可以给出泳道的名字或对象(对象类)的名字,该对象(对象类)负责泳道内的全部活动。•泳道没有顺序,不同泳道中的活动既可以顺序进行也可以并发进行,动作流和对象流允许穿越分隔线。5.2活动图的基本组成元素•例如,活动的执行者包括窗口和打印机,因此可以将其分成二个泳道。左边泳道中的所有活动的执行者是窗口;右边泳道中的所有活动的执行者是打印机。从图中可以看出,每个活动节点,分支必须只属于一个泳道,而转换,分岔与汇合是可以跨泳道的。通过泳道,不仅体现了整个活动控制流,还体现出了每个活动的实施者。标识泳道的活动图获取打印机数据设置打印页面传送打印数据打印文件初始化打印机保存页面参数数据接收并保存打印数据执行打印命令:窗口:打印机5.2活动图的基本组成元素•对象流•对象流是动作状态或者活动状态与对象之间的依赖关系,表示动作使用对象或者动作对对象的影响。•对象流中的对象特点:①一个对象可以由多个动作操纵。②一个动作输出的对象可以作为另一个动作输入的对象。③在活动图中,同一个对象可以多次出现,它的每一次出现表明该对象正处于对象生存期的不同时间点。5.2活动图的基本组成元素•对象流用带有箭头的虚线表示。如果箭头从动作状态出发指向对象,则表示动作对对象施加了一定的影响。如果箭头从对象指向动作状态,则表示该动作使用对象流所指向的对象。5.2活动图的基本组成元素活动图中的对象表示法•(1)当“用户下订单”时,将创建一个Order类的实例,用来存放订单的信息,该Order类还包含着相应的OrderItem(针对每个产品一条)•(2)当“生成送货单”时,将根据Order类的实例创建多个DeliverOrder(送货单)的实例。•(3)当“修改订单项状态”之后,DeliverOrder对象的状态将变成finished。5.2活动图的基本组成元素目录5.2活动图的基本组成元素5.1活动图的概述5.3活动图的建模活动图建模①识别要对其工作流描述的类或对象。②确定工作流的初始状态和终止状态,明确工作流的边界。③对动作状态或活动状态建模。④对转移建模。⑤对对象流建模。⑥对建立的模型进行精化和细化。•销售合同从签订到履约的过程•销售合同签订后,要进行核对。如果发现错误,则终止履约;如果没有错误,则要核对货物清单确定是否有货,还要核对付款单确定对方是否已经付款,只有这两项都完成,才可以发货。如果无货或对方尚未付款,则终止履约。案例135“记录预约”用例的事件流:1.接待员输入要预约的日期2.系统显示该日的预约3.有一张合适的餐桌可以使用,接待员输入顾客的姓名和电话号码、预约的时间、用餐人数和餐桌号3a没有合适的餐桌可以使用3a1用例终止4.系统记录并显示该预约4a输入的预约人数多于餐桌能容纳的人数4a1系统发出一个警告信息,询问用户是否要继续预约4a1a如回答“否”,用例将不进行预约而终止4a1b如回答“是”,预约将被输入,并附有一个警告标志案例236建模扩展事件流37划分游泳道后的活动图案例31.确定需求用例•对于“教师查看并修改学生信息”来说,他的参与者是教师,教师在查看修改学生信息的活动中,有3个用例:(1)登录:要进入系统,首先要登录。(2)查询学生信息:进入系统后可以选择查询不同学生的信息。(3)修改学生信息:需要修改某些学生的部分信息,比如考试过后需要修改学生的成绩信息。用Rose创建活动图的案例3.绘制完整的活动图本章小结•活动图中包括的建模元素有哪些?•动作状态和活动状态的区别?•活动图与状态图的区别?活动图与流程图的区别?•活动图的建模?
本文标题:活动图
链接地址:https://www.777doc.com/doc-6444781 .html