概述系统设计过程度不同设计用例实现方案.pptVIP

概述系统设计过程度不同设计用例实现方案.ppt

  1. 1、本文档共51页,可阅读全部内容。
  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文档。上传文档
查看更多
概述系统设计过程度不同设计用例实现方案

2000年1月25日 北京理工大学 / 7.1 概述 面象对向的设计目标 设计分类 面向对象设计与分析 面向对象设计的基本原理 面向对象设计层次图 交互图的用例:订货系统 订货系统的顺序图 简单编号方案的合作图 小 结 状态语法和转移语法 状态的转移条件 实例:订单对象的状态图 转移条件的互斥性 状态图的基状态表示法 并发状态图 并发状态图(续) 活动图示例 活动的元模型 (1)订单提交窗口对象发送“prepare”消息给订单对象。 (2)订单对象发送“prepare”消息给订单上的每个订单项对象。 (3) 每个订单项检查其对应的仓库货物: 如果检查结果为真,则订单项对象从对应的仓库货物中减去所订购的数量; 否则,仓库要求一次新的进货。 [needsToRecorder=“true”] new 创建 交付货物 [check=“true”] new 返回 进货货物 [check=“false] remove() needsToRecorder() 回授 订单提交窗口 订单项 仓库货物 对象 check() 条件 订单 prepare() 消息 迭代 * prepare() 对象的生命线 2*:prepare() 对象 消息 3:check() 4:[check==false]remove() 7:[check==true]new 1:prepare() :订单提交窗口 :订单 :交付货物 电视栏目:订单项 5:needsToRecorder() 时序号 回授 :购进货物 6:new 电视库存:仓库货物 顺序图突出对象的执行时序,合作图能更清楚地表示对象之间的静态连接关系。 交互图擅长显示对象之间的合作关系,尽管它并不对这些对象的行为进行精确定义。如要描述一个用例中几个对象协同工作的行为时,交互图是一种有力的工具。 虽然交互图能清楚地显示消息机制,但当消息中有太多的条件或循环时,交互图就失去其简明性。交互图仅适用于条件判断和循环不太多的时序过程。 当行为比较简单时,交互图比较好;当行为比较复杂时,则应使用活动图。 如果想描述跨越多个用例的单个对象的行为,应当使用状态图。如果想描述跨越多个用例或多个线程的复杂行为,则应使用活动图。 最基本的选择原则是用哪种图更简明清楚则选用哪种图。“越简明,价值越大”。 对设计模型的精化需考虑如下任务: (1)以顶层架构图为基础,精华目标软件系统的体系结构; (2)精化类之间的关系; (3)精化类的属性和操作; (4)针对具有明显状态转换特征的类,设计状态图; (5)针对比较复杂的类方法,设计活动图。 精化设计:就是对已经完成的静态结构模型(顶层框架图、类图)和动态行为模型(交互图)进行分析和优化,以生成高质量的设计模型。 7.4 精华设计模型 状态图 状态图有多种形式,以基于 David Harel 的状态表方法在 OO 技术中最为流行。状态图描述系统对象的动态行为,一般描述一个特定对象在其生命周期中的所有可能状态以及由于各种事件的发生而引起的状态转移。 状态之间的转移可带有标注,由三部分组成(每一部分都可省略),其语法为: 事件名 [条件] / 动作名 状态图中的状态包含一个活动,由两部分组成 (每一部分也都可省略),其语法为: do / 活动名 动作与活动都是一种过程,都由订单对象中的方法来实现,但动作与转移关联,处理较快且不会被中断;活动与状态关联,处理时间较长且可以被事件中断。 转移中的事件表示输入条件:一个非真即假的逻辑判断。当且当条件为“真”时才发生转移。 当状态中的活动完成后,且当相应的输入事件发生时,转移才会发生;如转移上没有标明引发转移的事件,则表示状态中的活动一旦完成,转移立即发生。 在下例中,从检查状态出来三个转移,而且都标有条件。 [all items checked all items available] 收到货物 [all items available] 发货 活动 do/initiate delivery 发货状态 /get first item [all items checked some items not in stock] 取下一项 [not all items checked] 开始 do/check item 检查状态 收到货物 [some items not in stock] 转移 状态 回授 等待状态 已发货 状态 事件名[条件]/动作名 do/活动名 对于一个给定状态,只能产生一个转移。因此从相同状态出来的、事件相同的几个转移条件是互斥的。 图中列出了从检查状态引出的三个条件。 如没有检查完所有项,则取下一

文档评论(0)

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

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

1亿VIP精品文档

相关文档