好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

基于新信息技术的软件工程与UML教程课件:动态建模.pptx

113页
  • 卖家[上传人]:第***
  • 文档编号:614580320
  • 上传时间:2025-09-08
  • 文档格式:PPTX
  • 文档大小:5.71MB
  • / 113 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 单击此处编辑母版标题样式,动态建模,动态建模,任务一 认识动态建,模任,务二 认识状态,图,任,务三 认识活动图,任,务四 认识顺序图,任,务五 认识协作图,习,题,项目引,导,本,项目主要介绍应用,UML,进行软件系统动态建模的基本内容动态模型描述的是参与者如何通过交互实现系统中的用例动态建模主要包括状态图、活动图、时序图和协作图知识目标,(,1),认识动态建模的作用2),掌握动态建模过程中的各种交互图能力目标,使,用,Rational Rose,建模工具绘制状态图、活动图、时序图和协作图任务一 认识动态建模,动态建模描述的是参与者如何通过交互实现系统中的用例系统中对象的交互是通过时序图、协作图或者活动图来描述的,同时,用例模型中用例实现所使用的类会在状态图中得以描述前面通过类图和对象图介绍了系统的静态结构建模,本项目将介绍系统的动态结构模型UML,提供了状态图、活动图、时序图和协作图来描述系统的结构和行为,它们适合于描述系统中的对象在执行期间不同的时间点是如何动态交互的一组对象为了实现一些功能而进行通信称之为交互,可以通过状态图、活动图、时序图和协作图来描述系统的动态行为通过对软件系统的静态结构和动态行为的描述,开发团队和用户易于理解目标系统的功能及执行结果。

      任务二 认识状态图,一、状态图概述,状,态图,(Statechart Diagram),是描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的事件做出反应通常创建一个,UML,状态图是为了以下的研究目的:研究类、角色、子系统或组件的复杂行为状态图主要用来描述对象、子系统、系统的生命周期状态图适合描述跨越多个用例的对象在其生命周期中的各种状态及其状态之间的转换这些对象可以是类、接口、构件或者节点状态图常用于对反应型对象建模,反应型对象在接收到一个时间之前通常处于空闲状态,当这个对象对当前事件作出反应后又处于空闲状态等待下一个事件状态图能帮助分析员、设计员和开发人员理解系统中对象的行为类图和对应的对象图只展示出系统的静态方面它们展示的是系统静态层次和关联,并能告诉用户系统的行为是什么但它们不能说明这些行为的动态细节开发人员尤其要知道对象是如何表现自己的行为的,因为他们要用软件实施这些行为仅仅实施对象是不够的,开发人员还必须让对象做该做的事情状态图可以确保开发人员能够清楚地了解对象应该做什么,而不用自己去猜测它如果有了一幅展示对象行为的清晰图景,那么开发小组构造出的系统满足需求的可能性就会大大增加。

      二、状态图的组成,状,态图是由表示状态的节点和表示状态之间转换的带箭头的直线组成若干个状态由一条或者多条转换箭头连接,状态的转换由事件触发,如图,11-1,所示图,11-1,状态图,1,起点和终点,起,点代表状态图的一个初始状态,此状态代表状态图的起始位置起点只能作为转换的源,而不能作为转换的目标起点在一个状态图中只允许有一个终,点代表状态图的最后状态,此状态代表状态图的终止位置终点只能作为转换的目标,而不能作为转换的源终点在一个状态图中可以有一个或多个,表示一个活动图的最后和终结状态状,态图的起点与终点如图,11-2,所示图,11-2,状态图的起点与终点,2,状态,(State),状,态是指对象在其生命周期中,满足某些条件、执行某些活动或等待某些事件时的一个状况状态指的是对象的状态,用圆角的矩形框表示状态,如图,11-3,所示例如:,发票,(,对象,),被支付,(,状态,),;,小车,(,对象,),正在停着,(,状态,),;,发动机,(,对象,),正在工作,(,状态,),;,电灯,(,对象,),开着,(,状态,),图,11-3,登录提示状态,1),状态的特征,通,常一个状态由名称、进入,/,退出动作、内部转换、子状态和延迟事件等五个部分组成,如表,11-1,所示。

      如图,11-4,所示,常常使用三种标准事件:,entry(,进入,),,,do(,做,),和,exit(,退出,),进入”用来指定进入一个状态的动作;“退出”用来指定退出一个状态的动作;“做”事件用来指定在该状态下的动作,(,如发送一条消息,),图,11-4,初始状态、原子状态和结束状态,“动作”是对象类中一个操作的执行,动作具有原子和不可中断特性事件”指的是发生且引起某些动作执行的事情,即事件表示在某一特定的时间或空间出现的能够引发状态改变的运动变化事件有很多,大致可以分为入口事件、出口事件、动作事件、信号事件、调用事件、修改事件、时间事件和延迟事件等,如表,11-2,所示2),状态的类型,状,态的类型有:初始状态、原子状态和结束状态,如图,11-4,所示组合状态和子状态,并发状态,历史状态等组,合状态和子状态如图,11-5,所示子状态是指被嵌套在另外一个状态中的状态组合状态是指含有子状态的状态组合状态也可以有初态和终态图,11-5,组合状态与子状态,并发状态指一个对象在同一时刻可以处在多种状态,如图,11-6,所示图,11-6,并发状态,历史状态代表上次离开组成状态时的最后一个活动子状态,它用一个包含字母“,H,”的小圆圈表示。

      每当转换到组成状态的历史状态时,对象便恢复到上次离开该组成状态时的最后一个活动子状态,并执行入口动作,如图,11-7,所示图,11-7,历史状态,3,转换,转,换表示当一个特定事件发生或者某些条件满足时,一个源状态下的对象完成一定的动作后将发生状态转变,转向另一个称为目标状态的状态当发生转换时,转换进入的状态为活动状态,转换离开的状态变为非活动状态转换用箭头表示,如果没有标注事件,则本转移为自动转移转,换通常分为外部转换、内部转换、完成转换和复合转换四种一个转换一般包括五部分信息:源状态、目标状态、触发事件、监护条件和动作转换的特征如表,11-3,所示三、使用,Rational Rose,绘制状态图,状,态图显示了对象的动作行为、对象可能存在的各种状态、对象创建时的状态、对象删除时的状态、对象如何从一种状态转移到另一种状态以及对象在不同状态中干什么1,创建状态图,(,1),在浏览器中右击类2),选择“,New,”“,Statechart Diagram,”,对该类创建一个状态图,并命名该图,如图,11-8,所示图,11-8,创建状态图,2,在图中增加状态,初始和终止状态,(,1),选择工具栏的,【State】,按钮,单击框图增加一个状态,双击状态命名。

      2),选择工具栏的“,Start State,”和“,End State,”,单击框图增加初始状态和终止状态,如图,11-9,所示初始状态是对象首次实例化时的状态,状态图中只有一个初始状态终止状态表示对象在内存中被删除之前的状态,状态图中有,0,个、,1,个或多个终止状态图,11-9,增加状态,3,状态之间增加交接,(,1),选择,【State Transition】,工具栏按钮2),从一种状态拖到另一种状态3),双击“交接”弹出对话框,可以在“,General,”中增加事件,(Event),,在“,Detail,”中增加保证条件,(Guard Condition),等交接的细节,如图,11-10,、图,11-11,所示事件用来在交接中从一个对象发送给另一个对象,保证条件放在中括号里,控制是否发生交接图,11-10,增加事件,图,11-11,增加保证条件,4,在状态中增加活动,(,1),右击状态并选择“,Open Specification,”2),选择,【Action】,标签,右击空白处并选择“,Insert,”3),双击新活动,(,清单中有“,Entry/,”,),打开活动规范,在“,Name,”中输入活动细节,如图,11-12,所示。

      图,11-12,在状态中增加活动,任务三 认识活动图,一、活动图概述,活,动图,(Activity Diagram,,动态图,),阐明了业务用例实现的工作流程业务工作流程说明了业务为向所服务的业务主角提供其所需的价值而必须完成的工作业务用例由一系列活动组成,它们共同为业务主角生成某些工件工作流程通常包括一个基本工作流程和一个或多个备选工作流程工作流程的结构使用活动图来进行说明活动图与常用的程序流程图相似,它们的主要区别在于程序流程图一般用来表示串行过程,而活动图则可以用来表示并行过程,如图,11-13,所示图,11-13,活动图,使用活动图主要目的是:,(,1),描述一个操作执行过程中,(,操作实现的实例化,),所完成的工作,(,动作,),2),描述对象内部的工作3),显示如何执行一组相关的动作,以及这些动作如何影响它们周围的对象4),显示用例的实例是如何执行动作以及如何改变对象状态的5),说明一次商务活动中的参与者、工作流、组织和对象是如何工作的二、活动图的组成,1,动作状态,动,作状态是原子性的动作或操作的执行状态,它不能被外部事件的转换中断动作状态的原子性决定了动作状态要么不执行,要么就完成执行,不能中断。

      如发送一个信号、设置某个属性值等动作状态没有子结构、内部转换或内部活动,它不能包括事件触发的转换动作状态有如下特点:,(1),动作状态是原子的,它是构造活动图的最小单位,无法分解为更小的部分2),动作状态是不可中断的,它一旦运行就不能中断,一直运行到结束3),动作状态是瞬时的行为,它所占用的处理时间极短,有时甚至可以忽略4),动作状态有入转换,入转换可以是动作流,也可以是对象流动作状态至少有一条出转换,这条转换以内部动作的完成为起点,与外部事件无关5),动作状态与状态图中的状态不同,它不能有入口动作和出口动作,也不能有内部转移6),动作状态允许多处出现在同一活动图中2,活动状态,活,动状态是非原子性的,用来表示一个具有子结构的纯粹计算的执行活动状态可以分解成其他子活动或动作状态,可以使转换离开状态的事件从外部中断活动状态可以有内部转换、入口动作和出口动作活动状态至少具有一个输出完成转换,当状态中的活动完成时该转换激发活动状态用两边为弧的条形框表示,中间填活动名活动分为简单活动和组合活动简单活动是指不能再分解的活动;组合活动是指可以再分解的复杂活动活动状态有如下特点:,(1),活动状态可以分解成其他子活动或动作状态,由于它是一组不可中断的动作或操作的组合,所以可以被中断。

      2),活动状态的内部活动可以用另一个活动图来表示3),活动状态可以有入口动作和出口动作,也可以有内部转移4),动作状态是活动状态的一个特例,如果某一个活动状态只包括一个动作,那么它就是一个动作状态动,作状态与活动状态如图,11-14,所示图,11-14,动作状态与活动状态,3,组合活动,组,合活动也叫复合活动在,UML,的活动图中,一个大的活动可以分为若干个动作或子活动,这些动作或子活动本身又可以组成一个活动图,如图,11-15,所示图,11-15,组合活动与简单活动,4,分叉与结合,并,发指的是在同一时间间隔内有两个或者两个以上的活动执行对于一些复杂的大型系统而言,对象在运行时往往不只存在一个控制流,而是存在两个或者多个并发运行的控制流为了对并发的控制流建模,在,UML,中引入了分叉和结合的概念分叉用于表示将一个控制流分成两个或者多个并发运行的分支,结合用来表示并行分支在此得到同步分叉用粗黑线表示分叉具有一个输入转换、两个或者多个输出转换,每个转换都可以是独立的控制流结合与分叉相反,结合具有两个或者多个输入转换、一个输出转换,先完成的控制流需要在此等待,只有当所有的控制流都到达结合点时,控制才能继续向下进行,如图,11-16,所示。

      图,11-16,分叉与结合,5,分支与合并,分,支在活动图中。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.