第6章活动图.ppt

上传人:p** 文档编号:571916 上传时间:2023-11-07 格式:PPT 页数:29 大小:1.13MB
下载 相关 举报
第6章活动图.ppt_第1页
第1页 / 共29页
第6章活动图.ppt_第2页
第2页 / 共29页
第6章活动图.ppt_第3页
第3页 / 共29页
第6章活动图.ppt_第4页
第4页 / 共29页
第6章活动图.ppt_第5页
第5页 / 共29页
第6章活动图.ppt_第6页
第6页 / 共29页
第6章活动图.ppt_第7页
第7页 / 共29页
第6章活动图.ppt_第8页
第8页 / 共29页
第6章活动图.ppt_第9页
第9页 / 共29页
第6章活动图.ppt_第10页
第10页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第6章活动图.ppt》由会员分享,可在线阅读,更多相关《第6章活动图.ppt(29页珍藏版)》请在第壹文秘上搜索。

1、活动图中的基本概念活动(activity)转移(transition)泳道(swimlane)分支(branch)分叉和汇合(fork and join)对象流(object flow)1活动(activity)活动是对行为的说明,它描述了计算过程顺序和并发的步骤。活动关注计算的过程而不是执行计算的对象或涉及的数据值,尽管这些可以表示为活动的一部分。活动表示某流程中的任务的执行,可以表示某算法过程中语句的执行活动的解释依赖于作图的目的和抽象层次,在概念层描述中,活动表示要完成的一些任务;在说明层和实现层中,活动表示类中的方法。区分动作状态和活动状态动作状态:原子的,不能分解,没有内部转移,没有

2、内部活动,工作时间可忽略活动状态:不是原子的,可分解的,工作需要一定的时间2活动的表示活动节点用圆角框表示,标注活动名,用来表示一个活动活动节点用圆角框表示,标注活动名,用来表示一个活动3初始节点和活动终点初态终态转移(transition)当一个活动结束时,控制流就会马上传递给下一个活动节点,称之为转移。转移描述活动之间的关系,描述由于隐含事件引起的活动变迁,即转移可以连接各活动及特殊活动(初态、终态、判断、同步线)。转移用带箭头的直线表示,可标注执行该转移的条件,无标注表示顺序执行。4选择商品下订单分支(branch)对同一个触发事件,可根据不同警戒条件转向不同的活动,每个可能的转移是一个

3、分支表示分支的两种方法:5方法1方法2分叉和汇合(fork和join)表示系统或对象的并发行为分叉(fork):一个控制流被两个或多个控制流代替并发汇合(join):两个或多个控制流被一个控制流代替6说明:利用fork和join可以表示系统中或对象中的并发行为。例:fork和join的例子。7泳道(Swimlane)泳道进一步描述完成活动的对象,并聚合一组活动。活动图是另一种描述交互的方式,描述采取何种动作,做什么(对象状态改变),何时发生(动作序列),以及在何处发生(泳道)。泳道也是一种分组机制。活动图中的区域划分,根据活动职责划分每个泳道代表一个责任区泳道和类不是一一对应泳道关心的是其所代

4、表的职责一个泳道可能由1或n个类实现每个泳道都必须有一个唯一的名称。每个活动节点、分支必须只属于一个泳道。转换、分叉与汇合可以跨泳道。8例:使用泳道的例子。9例:使用泳道的例子1011例:用活动图描述Java中使用多线程的过程。对象节点(Object Node)活动主要是对动作之间的控制流和控制结构进行建模。它也可以对动作之间的值流进行建模。对象节点一种活动节点,表示存在一个对象,它由活动的一个动作产生,并被其他动作使用。对象节点代表了一个对象值,它存在于计算过程中的某个时刻。对象可以是一个活动节点的输出,并作为其他活动节点的输入。12对象流(Object Flow)对象流是连接两个活动节点的

5、活动边。这两个活动节点通常是一个可执行节点和一个对象节点。对象可以作为活动的输入或输出,,用虚箭头表示。活动图的对象流表示活动和对象之间的关系如一个活动创建对象或使用对象13对象流的例子。14对象流的例子。15“活动图”比较直观易懂;与传统的流程图十分的相近,只要能够读懂活动图,就不难画出活动图绘制时首先决定是否采用泳道:主要根据活动图中是否要体现出活动的不同实施者然后尽量使用分支、分叉和汇合等基本的建模元素来描述活动控制流程如果需要,加入对象流以及对象的状态变化。活动图的建模关键是表示出控制流,其它的建模元素都是围绕这一宗旨所进行的补充16活动图的用途为什么要在UML中引入活动图?在OMT,

6、Booch,OOSE方法中没有活动图的概念。活动图对表示并发行为很有用。活动图的应用非常广泛,包括:1.对系统的工作流(workflow)建模,即对系统的业务过程建模。(Use Case分析)2.对具体的操作建模,描述计算过程的细节。1718对工作流建模:用于业务建模的时候,每一条泳道表示一个职责单位,该图能够有效地体现出所有职责单位之间的工作职责,业务范围及之间的交互关系、信息流程 建模时应遵循以下策略:-为工作流建立一个焦点,除非你所涉及的系统很小,否则不可能在一张图中显示出系统中所有的控制流-选择对全部工作流中的一部分有高层职责的业务对象,并为每个重要的业务对象创建一条泳道-识别工作流初

7、始节点的前置条件和活动终点的后置条件,这可有效地实现对工作流的边界进行建模。19-从该工作流的初始节点开始,说明随时间发生的动作和活动,并在活动图中把它们表示成活动节点-将复杂的活动或多次出现的活动集合归到一个活动节点,并通过辅助活动图或子活动图来表示它们-找出连接这些活动节点的转换,首先从工作流的顺序开始,然后考虑分支,接着再考虑分岔和汇合-如果工作流中涉及重要的对象,则也可以将它们加入到活动图中20对操作建模:每一个对象占据一个泳道,而活动则是该对象的成员方法 建模时应遵循以下策略:-收集操作所涉及的抽象概念,包括操作的参数、返回类型、所属类的属性以及某些邻近的类-识别该操作的初始节点的前

8、置条件和活动终点的后置条件。也要识别在操作执行过程中必须保持的信息-从该操作的初始节点开始,说明随着时间发生的活动,并在活动图中将它们表示为活动节点-如果需要,使用分支来说明条件语句及循环语句-仅当这个操作属于一个主动类时,才在必要时用分岔和汇合来说明并行的控制流程21例1:用活动图对工作流程建模的例子。(1):产品制造和发货的use case图。22(2).用活动图来说明具体的工作流程。23例2:用活动图对操作建模的例子:用活动图描述类Line的操作intersection的算法。例3:课程注册系统中的活动图例子2425分析用例 Register for Courses的活动图:活动图的工具

9、支持正向工程:利用活动图产生代码,特别是对具体操作建模的活动图。例:根据例2活动图生成的代码:26Point Line:intersection(l:Line)if(slope=l.slope)return Point(0,0);int x=(l.delta-delta)/(slope-l.slope);int y=(slope*x)+delta;return Point(x,y);逆向工程:通过代码产生活动图,特别是对类的一个操作的逆向工程。27活动图与状态图比较1.活动图和状态图描述的重点不同:活动图描述的是从activity到activity的控制流,而状态图描述的是对象的状态及状态之间的转移。状态图关注的是执行或经历一次计算的单个对象的状态,而活动图关注的是计算本身的状态,它可能跨越多个对象,别且显示地对活动节点之间的控制流和信息流建模。2.活动图和状态图使用的场合不同:对于以下几种情况可以使用活动图:分析用例理解涉及多个用例的工作流理解涉及多个用例的工作流处理多线程应用对于下面的情况要使用状态图:显示一个对象在其生命周期内的行为。28说明:如果要显示多个对象之间的交互情况,可用顺序图或协作图。总结状态图及其基本概念:状态,组合状态,子状态,历史状态,转移,事件,动作 活动图及其基本概念:活动,转移,泳道,分支,分叉和汇合,对象流29

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > PPT模板素材

copyright@ 2008-2023 1wenmi网站版权所有

经营许可证编号:宁ICP备2022001189号-1

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