软工导论第10章 OOA.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * * * * * * * * * * * “脚本” 原指“表演戏曲、话剧,拍摄电影、电视剧等所依据的本子,里面记载台词、故事情节等”。 * * * * * * * * * Imp comments: 没有查帐事务, 退卡,请求继续 不在需求中;请求继续=询问, 加入停机,考虑断电后电池弱时停机 * IMP:合并为一,加等待ATM请求, ONLY ONE INIT STATE 若1个类有2个无共态的状态图,可能应为2个类。 +1 way to communicate with ATM: a/synchronic, different efficiencies and securities, but it is more a design issue. * * * * * * * * * * 面向对象方法学比较自然地模拟了人类认识客观世界的思维方式,它所追求的目标和遵循的基本原则,就是使描述问题的问题空间和在计算机中解决问题的解空间,在结构上尽可能一致。 * * 事件跟踪图有助于画状态图。 它把事件序列以及事件与对象的关系,形象、清晰地表示出来。事件跟踪图实质上是扩充的脚本,是简化的UML顺序图。 在事件跟踪图中,一条竖线代表一个对象,每个事件用一条水平的箭头线表示,箭头方向从事件的发送对象指向接受对象。时间从上向下递增。 下图是ATM系统正常情况下的事件跟踪图。 2.画出事件跟踪图 ATM系统正常情况下的事件跟踪图 时间 对象 事件/消息 一张状态图描绘一类对象的行为,它确定了由事件序列引出的状态序列。 从一张事件跟踪图出发画状态图时,仅考虑影响对象的一类事件。 两个事件之间的间隔就是一个状态(也可能不变)。 从竖线射出的箭头线,常是对象达到某个状态时所做的行为(也常是引起另一类对象状态转换的事件)。 要把从不同脚本或事件跟踪图得到的同一类的状态图合并。 10.4.4 画状态图 考虑完正常事件之后再考虑边界情况和特殊情况. 如,用户要求取消该当前事务, “超时”, 停电/机。 不能省略对用户出错情况的处理。 一张覆盖了脚本中某类对象的全部事件的状态图仍可能会一些遗漏的情况。 设想各种可能出现的情况,多问几个“如果……,则……”的问题是一种测试完整性的方法. 尽量给每个状态取个有意义的名字。 10.4.4 画状态图 以ATM系统为例: “ATM”、“柜员终端”、“总行”和“分行”都是主动对象,它们相互发送事件; “现金兑换卡”、“事务”和“账户”是被动对象,并不发送事件。 “储户”和“柜员”虽然也是动作对象,但是,它们都是系统外部的因素,无须在系统内实现它们。 ATM的状态图 图10.10 总行类的状态图 各个类的状态图通过共享事件联系(合并)起来,构成了系统的动态模型。 应该检查系统级的完整性和一致性。 对于没有前驱或没有后继的状态应该着重审查,如果这个状态既不是交互序列的起点也不是终点,则发现了一个错误。 10.4.5 审查动态模型 应该审查每个事件,跟踪它对系统中各个对象所产生的效果,以保证它们与每个脚本都匹配。 例: ATM系统 在总行类的状态图中,事件“无效代码”, 是由总行发出的,但是在ATM类的状态图中并没有一个状态接受这个事件。因此,在ATM类的状态图中应该再补充一个状态“do/显示分行代码错信息”,它接受由前驱状态“do/验证账户”发出的事件“无效代码”,它的后续状态是“退卡”。 10.4.5 审查动态模型 10.5 建立功能模型 功能模型 含义 功能模型描述的是系统内值的变化,以及通过值的变化表现出来的系统功能、映射、约束、功能依赖的条件。 内容 确定输入值和输出值 画出数据流图 (DFD) 以表示功能之间的依赖关系 描述各功能 确定约束 详细说明优化标准 功能模型 (续) 基本概念和图形表示 处理 数据流 数据流的克隆 vs. 数据流的分离 数据存储 数据存储是被动对象 数据存储不产生操作 动作者 动作者是主动对象 动作者位于数据流的源点或终点 (即终止符) 动作者产生的操作不包括在 DFD 中而应属于动态模型 10.5 建立功能模型 图10.12ATM系统的基本系统模型 图10.13ATM系统的功能级数据流图 功能模型 (续) 功能模型、对象模型、动态模型等之间的关系 就功能模型而言,对象模型表示了功能模型中的动作者、数据流、数据存储的结构;动态模型则表示了功能模型中处理的执行次序。 就对象模型而言,功能模型表示了

文档评论(0)

187****5045 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档