欢迎来到天天文库
浏览记录
ID:32015161
大小:649.50 KB
页数:54页
时间:2019-01-30
《华南理工大学uml—10.活动图》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、软件需求分析与建模-活动图主讲:苏锦钿(SuJD@scut.edu.cn)单位:计算机科学与工程学院时间:2021年7月23日1I引言状态机是UML为软件对象的动态行为进行建模的手段之一。它描述软件对象在处理外部发生的事件时产生的动作和由此导致的软件对象的状态的变化,并以此刻画软件对象的动态行为。软件对象的动作被附加在状态机的变迁或状态上,如果被建模的对象是反应型对象,那么此对象的动作的执行是由对象外部发生的事件触发的。对反应型对象的这种动态行为的建模,在UML里,是用状态机图来表达的。华南理工大学2软件需求分析与建模软件对象的动态行为并不
2、都是事件驱动的。例如,在使用特定的对象来实现特定的复杂算法时,此算法的动态行为既不是由多个对象的协同配合完成的,也不是由外部事件来驱动的。这类对象被称为是:非反应型对象当非反应型对象的动态行为被执行时,动态行为的一系列的动作按照特定的控制逻辑(算法)顺序执行。华南理工大学3软件需求分析与建模活动图概述/1活动图是一种特殊形式的状态机,用于对计算流程和工作流程建模.活动图中的状态表示计算过程中所处的各种状态,而不是普通对象的状态通常,活动图假定在整个计算处理过程中没有外部事件引起的中断.否则,普通的状态机更适于描述这种情况华南理工大学4软件需
3、求分析与建模活动图概述/2与交互图相比活动图着重表现活动的控制流,描述在对象之间传递的操作交互图着重表现的是对象到对象的控制流,描述在对象之间传递的消息华南理工大学5软件需求分析与建模华南理工大学6软件需求分析与建模活动图与程序流程图的差别传统的程序流程图描述的是处理的过程,主要控制结构有顺序、分支和循环,各个处理之间有严格的顺序和时间关系活动图描述的是对象(或模型元素)的活动的顺序关系所遵循的规则,它着重表现的是系统的行为,而不是系统的处理过程,在活动图中也没有通常的循环控制结构。活动图能够表现并发情形。TPSFAB华南理工大学7软件需求
4、分析与建模活动图在UML里,用来为非反应型对象建模的状态机被称为活动图(activitygraph)。从右边可以看出,活动状态机的动作是自动执行的状态机内不存在对外部事件的描述控制在动作之间的转换不由事件触发,而是由完成变迁自动触发。华南理工大学8软件需求分析与建模这也是活动图和状态机图的不同之处,状态机图强调的是在外部事件的驱动下,软件对象的控制在不同的状态之间的流动;而活动图强调的是在完成变迁引导下,对象的控制在活动之间的流动。活动状态迁移不需要事件触发,活动执行完毕可以直接进入下一个活动状态;活动置于责任区(泳道)中,责任区将活动按责
5、任目标和组织归属的原则分类。华南理工大学9软件需求分析与建模UML中另一个表现软件系统动态行为的模型图是交互图。活动图和交互图也有所不同。交互图强调的是软件对象之间外部职责的划分及合作;活动图虽然也存在着对象之间的合作,但它强调的是对象内部的控制逻辑和控制的流动。由此可见,状态机可以通过两种模型图表现:第一、状态机图:它强调的是控制在状态之间的流动。第二、活动图:它强调的是控制在不同活动之间的流动。它们表现的都是软件系统的动态行为。华南理工大学10软件需求分析与建模一个简单的出库单发放活动图检查合同、核对付款单并发放出库单的活动图华南理工大
6、学11软件需求分析与建模3、活动图的内容活动图用图形化的方式展现了一个为非反应型对象的动态行为建模的活动状态机活动状态机是状态机的一个特殊形式,其中的变迁是不带触发事件的无触发变迁,其中的状态只能是动作状态和活动状态。活动图主要包括三个方面的内容:动作状态活动状态无触发变迁华南理工大学12软件需求分析与建模(1)、动作状态软件对象的动态行为是由一个个的动作构成的。动作是状态机内原子的计算的执行。所谓原子,指的是构成动态行为的最小单位,动作的执行是不可打断的,动作的执行时间是可以忽略的。在活动状态机中,对动态行为的建模是通过附加在状态中的动作
7、实现的。华南理工大学13软件需求分析与建模UML使用专门的图形符号代表动作状态和活动状态,此图形符号是一个上下为平行直边,两侧用圆弧连接的图形框。对于动作状态,其动作就写在图形框内。UML对动作没有规定严格的语法,因此可以用一文本串描述动作,也可以用任何一种程序设计语言的语句的语法书写动作文本串。华南理工大学14软件需求分析与建模(2)、活动状态在UML里,活动是软件对象非原子的计算的执行。活动可以被进一步地分解为一系列的动作。在活动状态机里,如果全部用动作状态来描述对象的动态行为,那么产生的活动图将由许多十分细小的动作状态组成,使得活动图
8、过于繁杂。在大多数的情况下,软件对象的动态行为可以用一系列的子过程来表达,而不需要细化至每个原子的计算。华南理工大学15软件需求分析与建模(3)、无触发变迁无触发变迁又称为完成变
此文档下载收益归作者所有