软件工程-第11章第2节-2_第1页
软件工程-第11章第2节-2_第2页
软件工程-第11章第2节-2_第3页
软件工程-第11章第2节-2_第4页
软件工程-第11章第2节-2_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

11.2.2动态模型动态模型是与时间和变化有关的系统性质。该模型描述了系统的控制结构,它表示了瞬时的、行为化的系统控制性质,它关心的是系统的控制,操作的执行顺序;它从对象的事件和状态的角度出发,表现了对象的相互行为。该模型描述的系统属性是触发事件、事件序列、事件状态、事件与状态的组织。使用状态图作为描述工具,涉及到事件、状态及操作等重要概念。11.2.2动态模型1.事件1)事件的含义事件是指定时刻发生的事物,是某事物发生的信号,它没有持续时间,是一种相对性的快速事件。现实世界中,各对象之间相互触发,一个触发行为就称作一个事件。对事物的响应取决于接收该触发对象的状态,响应包括状态的改变或形成一个新的触发。事件可看成是信息从一个对象到另一个对象的单项传送,发送事件的对象可能期望对方的答复,但这种答复也是一个受第二个对象控制下的独立事件,第二个对象可以发送,也可以不发送这个答复事件。11.2.2动态模型2)事件类把各个独立事件的共同结构和行为抽象出来,组成事件类,给每个类命名,这种事件类的结构也是层次的,大多数事件类具有属性,用来表明传递的信息,但有的事件类仅仅是简单的信号。由事件传递的数据值是事件的属性,像对象属性一样。属性跟在事件类名后面,用括号括起来。事件发生的时间是所有事件的隐含属性。下面是一些事件类和相应的属性:①飞机航班(航线,机号,城市);②按鼠标键(键,定位);③键入字符串(正文)。11.2.2动态模型3)脚本脚本是指系统某一执行期间内出现的一系列事件。脚本范围可以是变化的,它可包括系统中的所有事件,也可以只包括被某些对象触发或产生的事件。脚本可以是执行系统的历史记录,也可以是执行系统的模块。下面给出使用电话的脚本,该脚本只包括影响电话线的事件:11.2.2动态模型呼叫拿起电话;

响拨号声;

呼叫者拨号(3);

拨号声停;

呼叫者拨号(2);

呼叫者拨号(6);

呼叫者拨号(8);

呼叫者拨号(8);

呼叫电话鸣响声;

11.2.2动态模型4)事件跟踪写下脚本后,要确定事件跟踪,各事件将信息从一个对象传到另一个对象中去,因此要确定各事件的发送对象和接收对象。可用事件跟踪图来表示事件、事件的接收对象和发送对象。接收和发送对象位于垂直线顶端。各事件用水平箭头线表示,箭头方向是从发送对象指向接收对象,时间从上到下递增。图11.13给出打电话的事件跟踪图。11.2.2动态模型图11.13打电话事件跟踪图11.2.2动态模型2.状态1)状态的含义对象所具有的属性值称为它的状态。状态是对象属性值的一种抽象,按照影响对象显著行为的性质将值集归并到一个状态中去。状态指明了对象对输入事件的响应。2)状态的性质状态具有如下性质:(1)时间性:状态与时间间隔有关,事件表示时刻,状态表示时间间隔,同一对象接收两个事件之间是一个状态。对象的状态依赖于接收的事件序列。11.2.2动态模型(2)持续性:状态有持续性,它占有一个时间间隔,状态常与连续的活动有关,状态与需要时间才能完成的活动有关。3)事件与状态的关系事件和状态是孪生的,一个事件分开两种状态,一个状态分开两个事件。4)状态的说明说明一个状态具有的内容:状态名,状态目的描述,产生该状态的事件序列,表示状态特征的事件,在状态中接收的条件。11.2.2动态模型3.状态图1)状态图的含义状态图是一个标准的计算机概念,它是有限自动机的图形表示,这里把状态图作为建立动态模型的图形工具。状态图文字上的含义有所不同,我们强调使用事件和状态来确定控制,而不是作为代数构造法。11.2.2动态模型状态图反映了状态与事件的关系,当接收一个事件时,下一状态就取决于当前状态的该事件,由该事件引起的状态变化称为转换。状态图确定了由事件序列引起的状态序列。状态图描述了对象中某个类的行为,由于类的所有实例有相同的行为,那么这些实例共享同一状态图,正如它们共享相同的类性质一样。但因为各对象有自己的属性值,因此各对象也有自己的状态,按自己的步调前进。11.2.2动态模型2)状态图的表示状态图是一种图表,用结点表示状态,结点用圆角框表示;圆角框内有状态名,用带箭头的连线(弧)表示状态的转换,上面标记事件名,箭头方向表示转换的方向。状态图的表示如图11.14所示。11.2.2动态模型图11.14状态图11.2.2动态模型3)单程图单程图是具有起始状态和最终状态的状态图。在创建对象时,进入初始状态,进入最终状态隐含着对象消失。初始状态用圆点来表示,可标注不同的起始条件;最终状态用圆圈中加圆点表示,可标注终止条件。图11.15给出了象棋比赛中的单程图。4)循环状态图在循环状态图中,没有初始状态和最终状态。循环状态图如图11.16所示。11.2.2动态模型11.2.2动态模型4.条件和操作1)条件

当一个状态遇到一个事件后,在转换到另一个状态时,有时需要满足某种条件才能完成转换。这时,条件可用作转换的保护,只有保护条件成立时,事件发生后才引发该转换。例如在图11.17中,在家时,不穿雨披(状态);上班骑车(事件)时,如果天下雨(条件)就穿雨披(下一状态)。11.2.2动态模型图11.17转换的保护条件10.3.3设计人机交互组元2)操作若状态图只用于描述事件模式,则用途不大,还应说明事件是如何触发操作的。对象处于某状态时,可以附有多种操作,对象的某种状态出现一个事件时,就要转换到另一状态,则附在状态或转换上的操作就要被执行。操作有动作和活动两种。11.2.2动态模型3)活动活动是一种有时间间隔的操作,它是依附于状态上的操作。活动包含一些连续的操作,如在屏幕上显示一张图。活动也包含一段时间内的序列操作,该序列由自身终止。在状态结点上,活动表示为“do:活动名”,进入该状态时,则执行该活动的操作,该活动由来自引起该状态的转换的事件终止。11.2.2动态模型4)动作

动作是一种即时操作,它是与事件有关的操作,动作名放在事件之后,用“/动作名”来表示。该操作与状态图的变化比较起来,其持续时间是无关紧要的。带有操作和条件的状态图的表示如图11.18所示。11.2.2动态模型图11.18带有操作和条件的状态图11.2.2动态模型5.动态模型的构造在构造动态模型时,应注意下列问题:(1)只构造那些有意义的动态行为的类的状态图,并不是所有类都需要状态图。(2)为保持整个动态模型的正确性,对共享事件中各个状态的一致性进行检测。(3)使用脚本以帮助构

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论