《软件工程-第11章第3节-2.pptx

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

11.3.4建立动态模型动态分析从寻找外部可见的模拟和响应事件开始,确定各对象的可能事件的顺序。在分析阶段不考虑算法的执行,它是实现模型的一部分。建立动态模型的步骤如下:第一步,准备典型的对话脚本;第二步,从脚本中抽取事件,把它与其目标对象联系起来;第三步,组织事件的顺序和状态,用状态图来表现;第四步,是比较各个不同对象的状态图,确保事件之间的匹配。

11.3.4建立动态模型1.准备脚本考虑用户和系统之间的一个或多个典型对话,对目标系统的行为有个认识,脚本中应表现重要的交互行为,通过脚本来逼近动态模型。有时问题陈述中描述了完整的交互过程,但还要构思交互的形式。银行网络系统的问题陈述表明了需从用户处获得事务的数据,但确切需要什么参数,动作顺序是如何等还是模糊的。

11.3.4建立动态模型首先为“正常”情况准备脚本,然后考虑“特殊”情况,最后考虑用户出错情况。还必须考虑各种建立在基本交互行为之上的交互,如帮助要求及状态查询等。脚本是事件序列,每当系统中的对象与外部用户发生互换信息时,就产生一个事件,所互换的信息值就是该事件的参数。对于各事件,应确定触发事件的动作对象和该事件的参数。屏幕布局和输出格式一般不影响交互行为的逻辑或所互换的信息值,对初始动态模型不必考虑其输出格式。对银行网络系统的示例,有正常的脚本和例外的脚本。

11.3.4建立动态模型1)正常的脚本正常的脚本步骤如下所示:(1)自动出纳机要求用户插入卡片;用户插入现金卡。(2)自动出纳机接受卡片并读出它的安全号。(3)自动出纳机要求密码,用户键入密码“4011”。(4)自动出纳机与分行确认安全号和密码;分理处检查它并通知承兑的自动出纳机。(5)自动出纳机要求用户选择事务类型(取款、存款、转让、查询),用户选择取款。

11.3.4建立动态模型(6)自动出纳机要求现金数量;用户输入$100。(7)自动出纳机要求分行处理事务;分行把要求传给分理处,确认事务成功。(8)自动出纳机分发现金并且要求用户取现金;用户取现金。(9)自动出纳机询问用户是否想继续;用户指出不继续。(10)自动出纳机打印数据,退出卡,并请求用户取出它们;用户拿走收据和卡。(11)自动出纳机请求用户插入。

11.3.4建立动态模型2)例外的脚本例外的脚本步骤如下所示:(1)自动出纳机请求用户插入卡;用户插入现金卡。(2)自动出纳机接受卡并读它的安全号。(3)自动出纳机要求键入密码;用户键入“9999”。(4)自动出纳机与分行确认安全号和密码,在咨询分理处后拒绝它。(5)自动出纳机指示密码错并请求再键入;用户键入“4011”,分行确认成功。

11.3.4建立动态模型(6)自动出纳机请求用户选择事务类型;用户选择取款。(7)自动出纳机请求键入现金数量;用户改变选择并键入“CANCEL”(取消)。(8)自动出纳机退出卡并且请求用户拿走卡;用户取出卡。(9)自动出纳机请求用户插入卡。

11.3.4建立动态模型2.确定事件检查所有脚本以确定所有外部事件,事件包括所有来自或发往用户的信息、外部设备的信号、输入、策略、中断、转换和动作,使用脚本可以发现正常事件,但不要遗漏条件和异常事件。将各种类型的事件放入发送它和接收它的对象中,事件对发送者是输出事件,但对接收者则是输入事件。有时对象把事件发送给自身。这种情况下事件既是输出事件也是输入事件。

11.3.4建立动态模型3.准备事件跟踪表把脚本表示成一个事件跟踪表,即不同对象间的事件排序表,对象为表中的列,若同一类中的多个对象存在于这个脚本中,则给每一个对象分配一个独立的列。图11.28给出了银行网络系统脚本的事件跟踪表。图11.29给出了银行网络系统的事件图,它给出类之间的所有事件。事件图是对象图的一个动态对照,对象图中路径反映了可能的信息流,而事件图反映了可能的控制流。

11.3.4建立动态模型图11.28银行网络系统脚本的事件跟踪表

11.3.4建立动态模型图11.29银行网络系统的事件图

11.3.4建立动态模型4.构造状态图对各对象类建立状态图,反映对象接收和发送的事件,每个脚本或事件跟踪都对应于状态图中的一条路径。1)从影响建模的类的事件跟踪图入手选择一条路径,该路径描述了一种典型的交互并且只考虑那些影响单个对象的事件,把这些事件放入一条路径,路径的弧用跟踪图上某列的输入/输出事件来标识,两个事件之间的间隔就是一个状态,给每个状态起名字,名字是有意义的,这张初始图就是事件和状态的一个序列。

11.3.4建立动态模型2)从图中找循环如果事件序列无限地重复,则构成一个循环。可能使用有限的事件序列取代循环。3)把其他脚本合并到状态图中在各脚本中先找到一点

文档评论(0)

酱酱 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档