版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
状态图和活动图第1页,课件共67页,创作于2023年2月第8章状态图和活动图因为对象参与系统的行为,所以他们会受到系统行为的影响。例如,每天驾车上班的时候状态的变化影响车的性能,当轮胎老化时,车子的制动和转弯不再像以前那么灵活,而油箱空的时候,汽车不能继续正常运转。车胎磨损油箱的油减少行驶里程增加汽车状态发生变化第2页,课件共67页,创作于2023年2月8.1什么是状态图状态图主要用于描述一个对象在其生存期间的动态行为,表现一个对象所经历的状态序列,引起状态转移的事件,以及因状态转移而伴随的动作。例如,手机第3页,课件共67页,创作于2023年2月8.1什么是状态图判别对象是否需要状态图来描述大多数对象都不需要建立状态图,因为他们只是被简单的创建、使用和析构,其状态和状态变化并不多也不复杂。有些对象出现在很多顺序图中,在每个顺序图中都有很多的箭头(消息)指向它,每条消息都是对该对象发出的命令,这些命令可以引起对象的变化,即出现在很多交互中并且是交互的目标的对象应该用状态图来表示例如,剧院的showSheat对象,用于显示剧院的座位列表,该对象被创建的时机各种各样,如演出被安排的时候、被客户选中的时候、用户取消座位时等。每个时机创建该对象的规则都不同。第4页,课件共67页,创作于2023年2月8.1什么是状态图对象的任何一个属性都是一个状态,全部状态构成一个庞大的状态空间。对象的哪个属性应该作为建模的依据明显影响对象行为的属性属性拥有较少的可能取值属性在这些值之间的转移有一定的限制例1,剧院的座位,有两个属性:一个为颜色,一个为状态(选中,未选中,预定,退订)例2,飞机,有属性:型号、使用状况、性能状况、累计飞行公里数和剩余使用年限。对飞机影响较大的是使用状况。可以建立“飞行”、“着陆”、“机场停放”、“维修”、“报废”状态。第5页,课件共67页,创作于2023年2月8.2状态图中的基本概念状态图的组成:状态(State)转移(Transition)事件(Event)动作(Action)第6页,课件共67页,创作于2023年2月8.2状态图中的基本概念示意图:第7页,课件共67页,创作于2023年2月8.2.1状态状态指在对象的生命期中的某个条件或状况,在此期间对象将满足某些条件、执行某些活动或等待某些事件。对象在其生命周期内满足特定条件的存在,在此条件下,对象能执行特定的动作或等待事件的放生。状态是指对象当前的情形,通过对象的属性值反映出来状态图标最多可分三部分:名称内部转移状态变量名称进入动作退出动作内部活动第8页,课件共67页,创作于2023年2月8.2.1状态状态分类初态终态中间状态组合状态历史状态第9页,课件共67页,创作于2023年2月初态初态标志出对象的创建状态,它是一个伪状态,因为它不具备真实状态所具有的特征,但它使得状态图更加清晰初始状态代表状态图的起始位置,只能作为转换的源,而不能作为转换的目标。初始状态在一个状态图中只允许有一个。第10页,课件共67页,创作于2023年2月终态表示对象生命周期的终点。在该点对象的状态不再发生迁移。终止状态是模型元素的最后状态,是一个状态图的终止点。终止状态只能作为转换的目标,而不能作为转换的源。终止状态在一个状态图中可以有多个。第11页,课件共67页,创作于2023年2月初态和终态一个状态图只能有一个初态,但可以有多个终态或没有终态第12页,课件共67页,创作于2023年2月8.2.2组合状态和子状态组合状态(超状态)是可以包含一些嵌套的子状态的状态。被包含的状态称为子状态。组合状态可以使用“与”关系分解为并发子状态,或者通过“或”关系分解为互斥子状态。第13页,课件共67页,创作于2023年2月1.互斥子状态如果一个组合状态的子状态对应的对象在其生命期内的任何时刻都只能处于一个子状态,即多个子状态之间是互斥的,不能同时存在,这种子状态称为互斥子状态。第14页,课件共67页,创作于2023年2月2.并发子状态有时组合状态有两个或者多个并发执行的子状态,此时称组成状态的子状态为并发子状态。第15页,课件共67页,创作于2023年2月8.2.3历史状态历史状态代表上次离开组合状态时的最后一个活动子状态,它用一个包含字母“H”的小圆圈表示。当转换到历史状态时,对象便恢复到上次离开该组合状态时的最后一个活动子状态。第16页,课件共67页,创作于2023年2月8.2.3历史状态当组合状态存在多层嵌套时的子状态时的分类:浅历史状态
指的是对象返回最外层的子状态即可深历史状态
意味着对象必须返回确切的子状态,而不管子状态处于什么层次(内层或外层)第17页,课件共67页,创作于2023年2月8.2.4转换转换表示当一个特定事件发生或者某些条件得到满足时,一个源状态下的对象在完成一定的动作后将发生状态转变,转向另一个称之为目标状态的状态。第18页,课件共67页,创作于2023年2月8.2.4转换描述转移的格式:event-signature[guard-condition]/action
事件特征标记警戒条件动作事件特征标记的格式:event-name(comma-separated-parameter-list)
事件名事件参数列表第19页,课件共67页,创作于2023年2月8.2.4转换警戒条件警戒条件是触发转换必须满足的条件,它是一个布尔表达式。从一个状态引出的多个转换可以有同样的触发器事件,但每个转换必须有不同的警戒条件。第20页,课件共67页,创作于2023年2月8.2.4转换转换组成:源状态目标状态触发事件警戒条件动作转换种类:外部转换内部转换完成转换复合转换第21页,课件共67页,创作于2023年2月1外部转换是一种改变对象状态的转换用从源状态到目标状态的箭头表示。第22页,课件共67页,创作于2023年2月2内部转换转换后的状态仍旧是它本身,不改变状态,不需要执行入口和出口动作。例如,某个聊天状态的入口动作是验证密码,出口动作是清空聊天记录。如果用户在聊天状态下只想改变除密码以外的个人信息,就可以使用内部转换第23页,课件共67页,创作于2023年2月3完成转换完成转换又称为自转换。完成转换没有标明触发器事件,是由状态中的活动的完成引起的转换。完成转换可以带一个监护条件,这个监护条件在状态中的活动完成时被赋值,而非活动完成后被赋值。第24页,课件共67页,创作于2023年2月内部转换和自转换内部转换和自转换(完成转换)不同:自转换是离开本状态后重新进入该状态,它会激发状态的入口动作和出口动作的执行。内部转换自始至终都不离开本状态,所以没有出口或入口事件,也就不执行入口和出口动作。第25页,课件共67页,创作于2023年2月4复合转换复合转换由简单转换组成,这些简单转换通过分支判定、分叉或接合组合在一起。除了两个分支的判定,还有多条件的分支判定。多条件的分支判定有分为链式的和非链式的分支。第26页,课件共67页,创作于2023年2月4复合转换链式分支:非链式分支:NewStateNewState2NewState3NewState4NewState5Event1[Condition1]/Action1[Condition2]/Action2[Condition3]/Action3[Condition4]/Action4[Condition5]/Action5[Condition6]/Action6第27页,课件共67页,创作于2023年2月8.2.5事件事件是对一个在时间和空间上占有一定位置的有意义的事情的详细说明。它能够引起状态转换。事件产生的原因有发送信号、调用、时间段、满足条件的状态的出现、到达时间点等。第28页,课件共67页,创作于2023年2月8.2.5事件事件种类:调用事件变化事件时间事件信号事件延迟事件入口事件出口事件动作事件第29页,课件共67页,创作于2023年2月1调用事件调用事件是一个对象对调用的接收。调用事件的格式:event-name(com-separated-parameter-list)
事件名事件参数列表第30页,课件共67页,创作于2023年2月2变化事件变化事件依靠特定属性值的布尔表达式所表示的条件的满足来触发状态的转换。变化事件表示了一种具有时间持续性的并且可能是涉及全局的计算过程。变化事件用关键字when表示。whentime=11:59,whenaltitude<1000第31页,课件共67页,创作于2023年2月2变化事件警戒条件与变化事件的区别:警戒条件只是在引起转换的触发器事件触发时和事件接收者对事件进行处理时被赋值一次。变化事件则可以被多次赋值直到条件为真,多次赋值满足条件后转换也会被激发。第32页,课件共67页,创作于2023年2月3时间事件时间事件代表时间的流逝。既可以被指定为绝对形式(天数),也可以被指定为相对形式(从某一指定事件发生开始所经历的时间)。时间事件可以描述一个通知信息,自进入状态以来某个时间期限已到,时间事件就会激发状态的转换时间事件用关键字after和when表示第33页,课件共67页,创作于2023年2月8.2.6动作动作是一组可执行语句或者计算处理过程动作可以包括发送消息给另一个对象、操作调用、设置返回值、创建和销毁对象等。动作是原子的,不可中断的,动作或动作序列的执行不会被同时发生的其他动作影响或终止。第34页,课件共67页,创作于2023年2月8.2.6动作动作分类:入口动作表示进入这个状态所要执行的动作。格式:
entry/要执行的动作出口动作表示退出这个状态所要执行的动作。格式:
exit/要执行的动作活动表示在一个状态内执行的处理过程。格式:
do/要执行的动作第35页,课件共67页,创作于2023年2月第36页,课件共67页,创作于2023年2月8.3状态图建模技术建模步骤:找出适合用模型描述其行为的类。确定对象可能存在的状态。确定引起状态转换的事件。确定转换进行时对象执行的相应动作。对建模的结果进行相应的精化和细化。第37页,课件共67页,创作于2023年2月活动图8.5活动图中的基本概念8.6活动图的用途8.7活动图的工具支持8.8状态图和活动图的比较第38页,课件共67页,创作于2023年2月活动图活动图用于描述系统的工作流程和并发行为。活动图被设计用于简化描述一个过程或操作的工作步骤。例如,可以用活动图对一个软件的开发过程建模;还可以对诸如求Fibnacci数列第n个数的数值之类的操作进行建模。活动图可看作状态图的特殊形式。特殊性在于活动图中的一个活动结束后将立即进入下一个活动而不需要事件触发活动的转移。第39页,课件共67页,创作于2023年2月8.5活动图的基本概念活动图的组成元素:活动(Activity)动作流(ActionFlow)分支(Branch)与合并(Merge)分叉(Fork)和汇合(Join)泳道(Swimlane)对象流(ObjectFlow)第40页,课件共67页,创作于2023年2月8.5.1活动活动(activity)表示的是某流程中的任务的执行,它可以表示某算法过程中语句的执行。活动在活动图中表现为一个由一系列动作组成的非原子的执行过程。动作状态(ActionState)活动状态(ActivityState)第41页,课件共67页,创作于2023年2月1动作状态动作状态是指执行原子的、不可中断的动作,并在此动作完成后通过完成转换转向另一个状态的状态。动作状态使用平滑的圆角矩形表示,动作状态所表示的动作写在圆角矩形内部。第42页,课件共67页,创作于2023年2月2活动状态活动状态是可分解的,不是原子的,其工作的完成需要一定的时间。可把动作状态看作活动状态的特例。活动状态的表示图标也是平滑的圆角矩形,并可以在图标中给出入口动作和出口动作等信息。第43页,课件共67页,创作于2023年2月8.5.2动作流所有动作状态之间的转换流称之为动作流。活动图的转换不需要特定事件的激发,一个动作状态执行完后自动转换到另外一个状态。活动图的转换用带箭头的直线表示。可用条件限制转换。第44页,课件共67页,创作于2023年2月8.5.3分支与合并分支一般用于表示对象类所具有的条件行为。条件行为用分支和合并表达。一个分支有一个入转换和两个带条件的出转换,出转换的条件应当是互斥的。一个合并有两个带条件的入转换和一个出转换,合并表示从对应的分支开始的条件行为的结束。例,第45页,课件共67页,创作于2023年2月8.5.3分支与合并第46页,课件共67页,创作于2023年2月8.5.3分支与合并第47页,课件共67页,创作于2023年2月8.5.4分叉与汇合分叉用于将动作流分为两个或者多个并发运行的分支,而汇合则用于同步这些并发分支,以达到共同完成一项事务的目的。分叉可以用来描述并发线程。汇合代表两个或多个并发控制流同步发生,当所有的控制流都达到汇合点后,控制才能继续往下进行。例,第48页,课件共67页,创作于2023年2月8.5.4分叉与汇合第49页,课件共67页,创作于2023年2月8.5.5泳道泳道将活动图中的活动化分为若干组,并把每一组指定给负责这组活动的业务组织,通常为对象。泳道区分了负责活动的对象,明确地表示了哪些活动是由哪些对象进行的。每个活动只能明确地属于一个泳道。泳道用垂直实线绘出,垂直线分隔的区域就是泳道。在泳道上方可以给出泳道的名字或对象(对象类)的名字,该对象(对象类)负责泳道内的全部活动。泳道没有顺序,不同泳道中的活动既可以顺序进行也可以并发进行,动作流和对象流允许穿越分隔线。第50页,课件共67页,创作于2023年2月8.5.5泳道第51页,课件共67页,创作于2023年2月8.6活动的分解一个活动可以分为若干个动作或子活动,这些动作和子活动本身可以组成一个活动图。一个包含子活动的活动和嵌套了子状态的组合状态类似,概念上也相对统一。一个不含内嵌活动或
动作的活动称之为简
单活动;一个嵌套了
若干活动或动作的活
动称之为组合活动,
组合活动有自己的名
字和相应的子活动图。
第52页,课件共67页,创作于2023年2月8.6活动的分解第53页,课件共67页,创作于2023年2月8.7活动图的用途对系统工作流程建模
工作流:是一个良好定义的动作序列,执行时将产生一个可观察的值,或者产生一个个体或实体的对象。对具体操作建模第54页,课件共67页,创作于2023年2月1.对系统工作流程建模第55页,课件共67页,创作于2023年2月2.对具体操作建模第56页,课件共67页,创作于2023年2月8.8活动图与状态图的比较活动图与状态图的相同点:都是对系统的动态行为建模活动图与状态图的区别:两者描述的重点不同。活动图着重表现从一个活动到另一个活动的控制流,是内部处理
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 肺部患者雾化吸入的护理
- 房产抵押借款合同
- 2024-2025学年度执法资格过关检测试卷附参考答案详解(精练)
- 2024-2025学年度火电电力职业鉴定模拟题库附参考答案详解【综合题】
- 血透患者的疼痛管理策略
- 宠物饲养指南狗狗猫咪日常护理训练与疾病预防大全分享
- 2026AI营销行业白皮书
- 血小板减少的孕期护理
- 优化服务品质公开承诺书5篇
- 2024-2025学年度湖南中医药高等专科学校单招《英语》复习提分资料附答案详解
- 中电建商业保理有限公司校园招聘考试题库附答案
- 2024年抚州职业技术学院单招职业技能考试题库附答案解析
- GB/T 46639.1-2025铸造机械术语第1部分:基础
- 执法用语课件
- 共享充电宝加盟合同模板(3篇)
- 石头拼画课件
- GB/T 46469-2025皮革物理和机械试验抗张强度和伸长率的测定
- 压铸模具脱模剂使用培训
- 小学奥数之圆与扇形求解【含答案】
- 2025年版数学课程标准新课标考试题库及答案
- 部编版小学语文四年级下册第三单元作业设计
评论
0/150
提交评论