动 态 建 模(电子信息).pptxVIP

  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文档。上传文档
查看更多
动 态 建 模 软 件 工 程 2 动态建模 类框图表示的是类和对象之间的静态关系, 而在系统运行过程中,组成系统的对象是相互配合,协同完成每一个用例的功能的。 当系统与用户(也可能是其他系统)交互或系统内部各对象交互的时候,组成系统的对象为了适应交互要经历必要的变化。 因此,需在模型中反映对象在系统中的变化 3 1.1动态用例分析 事件流和活动图对每个用例情景进行了描述,了解了用例的详细流程。如下: 4 1.1动态用例分析 不足:无法显式地表示出每个用例涉及到哪些对象,更不能表示出哪个对象执行哪个活动以及对象之间的消息工作方式。 改进:可以为每个活动标记上负责的对象,但那不会使对象之间的交互变得清晰。 更好的方法:在为一个过程建模的时期,先使用事件流和活动图帮助你获得对整个过程的理解,然后用交互图可以将活动分配到各个类中。 5 1.1动态用例分析 通常创建交互图的步骤如下: 1)从事件流中寻找角色。 2)从事件流中寻找对象。 3)把活动图中的每个活动分配到对象中。 4)将对象的服务转换为消息,并查找每个消息的发送对象和接收对象。 5)根据事件流中消息发送的顺序将其中加入框图中。 6 “借书”用例的交互图 下面我们还是以“借书”用例为例,介绍如何使用交互图对用例进行分析,为用例中对象之间的交互建立模型。 以下介绍: 窗体类和业务类的依赖关系 借书(无预定)的步骤序列,时序图,协作图 7 “借书”用例的交互图 首先,交互图表现的是角色与系统以及系统内部对象之间的交互,角色与系统的交互是通过界面元素完成的,我们必须提供窗体和对话框作为人机交互的界面。 因此在进行用例动态分析之前,还需要考虑系统中必需的界面对象。 借书窗体(Lend Window) 还书窗体(Return Window) 预订窗体(Reservation Window) 系统维护窗体(Maintenance Window) 8 “借书”用例的交互图 我们将以上这些对象与原来的业务对象分为两组:所有的窗体类组织在一起放在GUI Package包中(界面包),所有的业务类组织在一起放在Business Package包中(业务包)。界面包和业务包的依赖关系如下: 9 借书者没有预订图书的用例 该用例由图书馆管理员启动,涉及到的类有Lend Window、Title、Borrower Information、Loan、Book。 用例的步骤序列(事件流)如下: 1)  图书馆管理员打开借书窗体界面。 2)  输入标题信息,查找该标题。 3)  查找该标题下的有效书目。 4)  输入借书者信息,查找该借书者。 5)  创建一个新的借阅。 10 时序图的工作原理 图书馆管理员角色向Lend Window对象发出查找标题、查找书目和查找借书者的请求, 由Lend Window对象分别向Title、Book、Borrower Information和Loan对象发送查找、创建等消息, Title等对象收到消息后执行相应的操作。 时序图可以表示用例的一个情景,也可以使用脚本在框图中加入一些条件逻辑,从而综合表示用例的多个情景。 11 用例“借书”的时序图 book 12 在协作图中更容易地看出对象之间的通信 book 13 1.2 对象状态分析 对象状态分析的另一个工具是状态图。与交互图一样,状态图也可以帮助分析员、设计员和开发人员理解系统中对象的行为, 交互图通过一个用例的完整事件流程分析多个对象之间的交互来了解每个对象的行为, 状态图只是针对单个对象建模,通过分析单个对象的内部状态转换来了解一个对象的行为。 14 1.2 对象状态分析 如果一个类有一些重要的状态行为,则它具有多种状态,据此可以创建状态框图。 要确定一个类是否有重要的状态行为,可以通过以下两种方法: l检查类的属性:考虑一个类的实例在属性值不同时如何表现,因为如果对象的行为表现不同,则其状态也不同。 l检查类的关联:看看关联重数中带0的关联,0表示这个关联是可选的。关联存在和不存在时类的实例是否表现相同?如果不同,则可能有多种状态。 15 Title对象有两种状态:预订状态和非预订状态。 Title的状态图 如下: 16 分析Title的状态图 在Title状态图中,显示了标题的不同状态以及状态之间的转换情况。 一个标题对象的初始状态为非预订状态。 在非预订状态下,如果借书者预订标题的话,则标题转入预订状态。预订标题是一个事件,事件导致标题从一个状态过渡到另一个状态。 在预订状态下,如果发生标题预订事件,则标题的状态不变;如果发生取消预订事件,这时候状态的转换情况则要视预订数目而定(预订数目是否为1是状态转换的保证条件)。 同时,在事件发生的同时,将导致相应的活动,预订标题会将标题

文档评论(0)

151****7975 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档