类图、时序图、状态图-ATM系统.pptVIP

  1. 1、本文档共55页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
类图、时序图、状态图-ATM系统

10.3 建立对象模型 建立对象模型典型的步骤: 确定对象类和关联,对于大型复杂问题还要进一步划分出若干个主题; 给类和关联增添属性,以进一步描述它们; 利用适当的继承关系进一步合并和组织类。 * * * * * * * * * * * * * * * * * “脚本” 原指“表演戏曲、话剧,拍摄电影、电视剧等所依据的本子,里面记载台词、故事情节等”。 * * * * * * 21 * * 对于仅存储静态数据的系统(例如数据库)来说, 动态模型并没有什么意义。 但是若开发交互式系统时,动态模型却起着很重要的作用。 例如: 收集输入信息是目标系统的主要工作 10.4 建立动态模型的方法 建立动态模型的三步: 编写典型交互行为的脚本, 不遗漏常见的交互行为。 从脚本中提取出事件,确定触发每个事件的动作对象以及接受事件的目标对象。 排列事件发生的次序,确定每个对象可能有的状态及状态间的转换关系,并用状态图描绘它们。 最后,比较各个对象的状态图,检查它们之间的一致性,确保事件之间的匹配。 脚本: 是指系统在某一执行期间内出现的一系列事件。 脚本功能: 描述用户(或其他外部设备)与目标系统之间的一个或多个典型的交互过程。 编写脚本的目的: 是保证不遗漏重要的交互步骤,有助于确保整个交互过程的正确性的和清晰性。 编写脚本内容: 描写既可以包括系统中发生的全部事件,也可以只包括由某些特定对象触发的事件。 对于每个事件,都应该指明触发该事件的动作对象(系统、用户或其他事物)、接受事件的目标对象以及该事件的参数。 编写步骤: 编写正常情况的脚本。 考虑特殊情况,例如输入或输出的数据为最大值(或最小值)。 考虑出错情况,例如,输入的值为非法值或响应失败。 10.4.1 编写脚本 ATM系统正常 和异常脚本 交互行为可以分为应用逻辑和用户界面两部分。 不同界面(例如,命令行或图形用户界面),可以实现同样的应用逻辑。应用逻辑是内在的、本质的内容,用户界面是外在的表现形式。 动态模型着重表示应用系统的控制逻辑。 分析阶段不能忽略用户界面。应确定界面的轮廓. 可以考虑其他方式, 如语音. 目的是确保能够完成全部必要的信息交换。 10.4.2 设想用户界面 事件跟踪图有助于画状态图。 它把事件序列以及事件与对象的关系,形象、清晰地表示出来。事件跟踪图实质上是扩充的脚本,是简化的UML顺序图。 在事件跟踪图中,一条竖线代表一个对象,每个事件用一条水平的箭头线表示,箭头方向从事件的发送对象指向接受对象。时间从上向下递增。 下图是ATM系统正常情况下的事件跟踪图。 10.4.3 画事件跟踪图 如何确定事件 通过分析脚本,可从中提取出所有外部事件。 事件包括系统与用户交互的所有信号、输入、输出、中断、动作等等。 例如,储户插入现金兑换卡。 不能遗漏了异常事件和出错。 某些事件可以按类组合在一起。 例如,“吐出现金”是一个事件类,吐出的具体的现金数 额用参数/属性值表达。 区分出每类事件的发送对象和接受对象。 ATM系统正常情况下的事件跟踪图 时间 对象 事件/消息 顺序图(Sequence Diagram) 顺序图也称为序列图,它按时间顺序显示对象之间的交互。 registration manager math 101 : Student registration form math 101 section 1 1: fill in info 2: submit 3: add course(joe, math 101) 4: are you open? 5: are you open? 6: add (joe) 7: add (joe) 一张状态图描绘一类对象的行为,它确定了由事件序列引出的状态序列。 从一张事件跟踪图出发画状态图时,仅考虑影响对象的一类事件。 两个事件之间的间隔就是一个状态(也可能不变)。 从竖线射出的箭头线,常是对象达到某个状态时所做的行为(也常是引起另一类对象状态转换的事件)。 要把从不同脚本或事件跟踪图得到的同一类的状态图合并。 10.4.4 画状态图 考虑完正常事件之后再考虑边界情况和特殊情况. 如,用户要求取消该当前事务, “超时”, 停电/机。 不能省略对用户出错情况的处理。 一张覆盖了脚本中某类对象的全部事件的状态图仍可能会一些遗漏的情况。 设想各种可能出现的情况,多问几个“如果……,则……”的问题是一种测试完整性的方法. 尽量给每个状态取个有意义的名字。 10.4.4 画状态图 以ATM系统为例: “ATM”、“柜员终端”、“总

文档评论(0)

pengyou2017 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档