版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
状态图和活动图内容状态图概述状态图的基本概念绘制状态图状态图应用说明活动图概述活动图中的基本概念活动图与状态图、流程图的区别活动图的用途分解活动绘制活动图小结状态图概述状态机可以对一个对象的生命周期建模,是展示状态与状态转换的图。状态图用于显示状态机,重点在于描述状态之间的控制流。状态图(Statechartdiagram)用于描述一个对象在其生存周期间的动态行为,表现一个对象所经历的状态序列,引起状态转移的事件(event),以及因状态转移而伴随的动作(action).实例:订单对象的状态图状态图概述如:类SellableItem中有2个属性:salePrice和status,其中:salePrice类型为Money,取值范围为正实数;status类型为枚举(Received,InInspection,Accepted,Rejected)则应根据属性status建立状态图.状态图描述的对象往往有多个属性,应该在具有如下特性的属性上建模:属性拥有较少的可能取值属性在这些值之间的转移有一定的限制状态图的基本概念状态,state:圆角矩形表示(初态和终态例外)转移,transition:状态之间包含一些文字描述的有向箭头线最核心的元素状态状态是在对象的生命期中的某外条件或状况,在此期间对象将满足某些条件、执行某些活动或等待某些事件.状态的组成部分状态名名称唯一允许匿名放在状态图标的顶部进入/退出动作入口动作和出口动作表示进入或退出这个状态所要立即执行的动作。入口动作用“entry/要执行的动作”表达,而出口动作用“exit/要执行的动作”表达。状态的组成部分内部转移一个状态在响应一个事件时,如果只执行一个动作,不产生任何状态转移,则应在状态内用“event事件名/动作名”格式及文字说明进行描述。活动状态内可以带有活动,其格式为:do/活动名延迟事件延迟事件是一种特殊的事件,它是指该事件不会触发状态的转换,当对象处于该状态时事件不会丢失,但会被延迟执行。状态的组成部分状态名进入动作,进入该状态时执行该动作.活动,处于该状态时执行的活动.内部转移,该状态中出现特定事件时执行的动作.退出动作,当离开该状态时执行该动作.延迟事件,在该状态出现该事件时,不在本状态响应,而是延迟到其他状态响应.状态的类型初态:只允许有一个终态:可以有多个或没有中间状态状态的类型组合状态子状态子状态也可以有初态和终态组合状态:包含子状态的状态子状态:嵌套在另一个状态中的状态状态的类型子状态之间的or关系,任意时刻只能到达一个子状态.状态的类型子状态之间的and关系,一个对象的状态是每个并发段中各取一个状态的组合.状态的类型浅(shallow)历史状态,只记住最外层组合状态的历史.深(deep)历史状态,可以记住任意深度的组合状态的历史.历史状态:伪状态,其目的是记住从组合状态中退出时所处的子状态,当再次进入组合状态时,可以直接进入这个子状态,而不是再从组合状态的初态开始.状态的类型当从状态“结账”和“显示购物车”返回子状态“显示索引信息”时,将进入的是离开时的历史状态。转移转移表示对象将在第一个状态执行一定的动作,并在某个特定事件发生且满足某个特定的警戒条件时进入第二个状态.转移的格式:event-name[‘(‘parameters’)’][‘[’guard-condition’]’][’/’action]实例:订单对象的状态图没有标明引发转移的事件:状态中的活动一旦完成,转移立即发生没有标明警戒条件:事件一旦发生,转移必将发生转移对于一个给定的状态,最终只能产生一个转移,因此从一个状态出发的几个转移之间应该是互斥的,包括:事件不同;事件相同但警戒条件互斥.实例:订单对象的状态图转移中的事件调用事件,表示对操作的调用.问题:调用谁的操作?事件是对一个在时间和空间上占有一定位置的有意义的事情的详细说明.涉及涉及两个以上的对象。既可以为同步调用,也可以为异步调用。转移中的事件(2)变化事件,事件依靠特定属性值的布尔表达式所表示的条件的满足来触发状态的转换警戒条件与变化事件的区别:警戒条件只是在引起转换的事件触发时和事件接收者对事件进行处理时被赋值一次。变化事件则可以被多次赋值直到条件为真,多次赋值满足条件后转换也会被激发。转移中的事件(3)时间事件,表示满足某一时间表达式,引起的事件.绝对时间相对时间转移中的事件(4)信号事件,表示对象接收到某信号的事件.
信号是对象之间异步发送/接收的,它们之间可以形成泛化关系.
信号事件与调用事件类似,是异步和同步的区别.在信号事件中,发送者和接受者可以是同一个对象。状态转换的动作执行顺序一次状态转换的动作执行顺序为离开动作转移动作进入动作状态内的活动绘制状态图绘制状态图的步骤:寻找对象主要的状态确定引起状态转换的事件确定转换进行时对象执行的相应动作细化状态内的活动与转换,用复合状态来展开细节思考:航班机票预订系统的状态图寻找寻找对象主要的状态:
--在刚确定飞机计划时,显然是没有任何预订的,并且在有人预订机票之前都将处于这种“无预订”状态
--对订座而言显然有“部分预订”和“预订完”两种状态
--而当航班快要起飞时,显然要“预订关闭”
总结一下,主要有四种状态:无预订、部分预订、预订完以及预订关闭思考:航班机票预订系统的状态图确定引起状态转换的事件源目标无预订部分预订预订完预订关闭无预订预订()不直接转换关闭()部分预订退订(),使预订人=0预订(),无空座关闭()预订完不直接转换退订()关闭()预订关闭无转换无转换无转换思考:航班机票预订系统的状态图确定转换进行时对象执行的相应动作思考:航班机票预订系统的状态图使用复合状态状态图应用说明对对象生命周期建模:主要描述对象能够响应的事件对反应型对象建模:这个对象可能处于的稳定状态、从一个状态到另一个状态之间的转换所需的触发事件,以及每个状态改变时发生的动作活动图概述活动图是对系统动态方面建模的主要形式之一,描述需要做的活动以及执行这些活动的顺序活动图是一种表述过程基理、业务过程以及工作流的技术。它可以用来对业务过程、工作流建模,也可以对用例实现甚至是程序实现来建模UML2.0而言,去除了“活动图是状态图的一种特例”这一规定实例:活动图活动图中的基本概念初始节点和活动终点:用一个实心圆表示初始节点,用一个圆圈内加一个实心圆来表示活动终点并不一定要定义活动终点。活动终点表示所有被触发的活动都执行完毕,没有待执行的活动。活动图中的基本概念活动节点:是活动图中最主要的元素之一,它用来表示一个活动动作状态:执行原子的、不可中断的动作;不能有入口动作和出口动作,更不能有内部转移。活动状态:可以分解、被中断;可以有入口动作和出口动作,也可以有内部转移。活动图中的基本概念转换:当一个活动结束时,控制流就会马上传递给下一个活动节点,在活动图中称之为“转换”,用一条带箭头的直线来表示分支与警戒条件:分支用菱形表示,它有一个进入转换,一个或多个离开转换,每个离开转换上都会有一个警戒条件,用来表示满足什么条件的时候执行该转换。合并条件:合并用菱形表示,它有多个入转换和一个出转换,只走一条控制路径,无需同步。活动图中的基本概念实例:活动图分叉:用于将控制流分为两个或者多个并发运行的分支,每个分叉可以有一个输入转换和两个或多个输出转换。汇合:用于同步这些并发分支,以达到共同完成一项事务的目的。每个汇合可以有两个或多个输入转换和一个输出转换。分叉和汇合都使用加粗的水平线段表示。活动图中的基本概念实例:活动图泳道:将活动用虚线分成一些纵向的区域。每个区域代表特定类、人或部门的一个责任区。泳道区分了负责活动的对象,明确地表示了哪些活动是由哪些对象进行的。每个活动只能明确地属于一个泳道。泳道和类并不是一一对应的关系。活动图中的基本概念在程序设计中,活动图无法描述出每个活动是由哪个类来完成的。在领域建模中,活动图无法描述每个活动由哪个人或部门负责。在每个活动旁边标记负责完成它的类或责任者?zhufei@带有泳道和对象并发的活动图带泳道的活动图实现活动图时,最终要将活动分配给类来实现对象流:动作状态或者活动状态与对象之间的依赖关系,表示动作使用对象或者动作对对象的影响。对象流中的对象特点:一个对象可以由多个动作操纵。一个动作输出的对象可以作为另一个动作输入的对象。在活动图中,同一个对象可以多次出现,它的每一次出现表明该对象正处于对象生存期的不同时间点。活动图中的基本概念带对象流的活动图活动图与状态图的区别:活动图着重表现从一个活动到另一个活动的控制流。状态图着重描述从对象的一个状态到另一个状态的流程。活动图与流程图的区别:活动图能够表示并发活动的情形,而流程图一般用来表示串行过程。活动图与状态图、流程图的区别活动图的用途活动图可用于描述具体的工作流程或计算过程用例分析时,涉及多个用例的流程描述活动图功能包含了流程图多个用例活动图的组合组合的活动图可以显示跨越多个用例的行为,可以显示相互联系的行为的整体。组合的活动图可以有多个起点,表示订货系统可以对多个外部事件做出不同的反应。多个用例活动图的组合一个活动可以分为若干个子活动,这些子活动本身可以组成一个活动图。一个不含内嵌活动的活动称之为简单活动;一个嵌套了若干活动的活动称之为组合活动,组合活动有自己的名字和相应的子活动图。子活动图中必须提供一个起始点,同时,当高层活动输出很多触发事件时,应该画同样个数的结束点。分解活动绘制活动图“活动图”比较直观易懂;与传统的流程图十分的相近,只要能够读懂活动图,就不难画出活动图绘制时首先决定是否采用泳道:主要根据活动图中是否要体现出活动的不同实施者然后尽量使用分支、分岔和汇合等基本的建模元素来描述活动控制流程如果需要,加入对象流以及对象的状态变化活动图的建模关键是表示出控制流,其它的建模元素都是围绕这一宗旨所进行的补充对于以下情况可以使用活动图对用例进行分析分析多个用例的工作流处理多线程对于下列情况一般不使用活动图显示对象间的合作显示对象在其生命周期内的运转情况小结“检查合同”、“核对付款单”并“发放出库单”的活动图图总结(1)活动图和状态图非常类似。它有与状态图相同的开始点和结束点,活动图中的状态称为动作状态,由上下两条平行线段和两侧圆弧构成的图框表示。框内标示动作状态名和描述动作的语句,动作状态之间的迁移用箭头表示,迁移上可以附加条件、发送子句和动作表达式。活动图是状态图的变形,它根据对象状态的变化捕获动作(所完成的工作和活动)和它们的结果,表示各个动作及其之间的关系。图总结(2)与状态图不同的是,活动图中动作状态之间的迁移不是靠事件触发,当动作状态中的活动完成时迁移就被触发。在活动图中,事件只能附加到开始点到第一个动作之间的迁移。在活动图中,还可画条件判定符号(菱形符号)。条件判定符号可以有两个或两个以上携带条件的输出迁移,当其中的某个条件为真时,该迁移被触发。此外,活动图中还使用了“泳道”的概念。动态建模中四种图的运用(1)不要对系统中的每个类都画状态图。尽管这样做很完美,但太浪费精力其实你可能只关心某些类的行为。正确的做法是:为帮助理解类而画它的状态图。状态图描述跨越多个用例的单个对象的行为,而不适合描述多个对象间的行为合作。为此,常将状态图与其它
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农产品采摘合同协议标准范本
- 某建筑物工程拆除方案
- 项目管理月度进度及风险报告
- 《建筑电气设计节能技术应用与建筑能耗监测系统研究》教学研究课题报告
- 电商仓储管理岗位职责及效率提升方案
- 焊接车间除尘与排烟技术创新方案
- 小学四年级信息技术教学活动方案
- 水利工程土建合同条款范本
- 慢性疾病管理临床路径方案
- 2026年人力资源专家之路招聘专员的面试技巧与答案解析
- 福建省福州市四校联盟2025-2026学年高三上学期期中联考历史试题
- 新疆维吾尔自治区阿克苏地区阿克苏市2024-2025学年九年级上学期1月期末英语试题
- 2025年谷胱甘肽及酵母提取物合作协议书
- 农业机械安全培训课件
- 2026广西融资担保集团校园招聘补充参考笔试题库及答案解析
- 2026贵州安创数智科技有限公司社会公开招聘119人参考笔试题库及答案解析
- 韩家园林业局工勤岗位工作人员招聘40人备考题库新版
- 2025年云南省人民检察院聘用制书记员招聘(22人)参考笔试题库及答案解析
- 维修班组长设备故障应急处理流程
- 2026年湖南司法警官职业学院单招职业技能测试题库及完整答案详解1套
- 雨课堂在线学堂《医学实验技术与方法新进展》单元考核测试答案
评论
0/150
提交评论