- 1、本文档共123页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
确定属性过于细化在分析阶段应该忽略那些对大多数操作都没有影响的属性。存在不一致的属性类应该是简单而且一致的。如果得出一些看起来与其他属性毫不相关的属性,则应该考虑把该类分解成两个不同的类。经过筛选之后,得到ATM系统中各个类的属性5.识别继承关系可以使用两种方式建立继承(即归纳)关系:自底向上:抽象出现有类的共同性质泛化出父类。例如,在ATM系统中,“远程事务”和“柜员事务”是类似的,可以泛化出父类“事务”;自顶向下:把现有类细化成更具体的子类;但是,分析阶段应该避免过度细化。确定属性6.反复修改仅仅经过一次建模过程很难得到完全正确的对象模型。事实上,软件开发过程就是一个多次反复修改、逐步完善的过程。在建模的任何一个步骤中,如果发现了模型的缺陷,都必须返回到前期阶段进行修改5.4.3建立对象摸型(续)下面以ATM系统为例,讨论可能做的修改:分解“现金兑换卡”类把“现金兑换卡”类分解为“卡权限”和“现金兑换卡’两个类,将使每个类的功能更单一;“事务”由“更新”组成 “更新”虽然代表一个动作,但是它有自己的属性(类型、金额等),应该独立存在,因此应该把它作为类与对象把“分行”与“分行计算机”合并应该合并“分行”与“分行计算机”,“总行”和“中央计算机”。反复修改5.4.4建立动态模型对于仅存储静态数据的系统(例如数据库)来说,动态模型并没有什么意义。然而在开发交互式系统时,动态模型却起着很重要的作用。如果收集输入信息是目标系统的一项主要工作,则在开发这类应用系统时建立正确的动态模型是至关重要的。建立动态模型的步骤:编写典型交互行为的脚本。从脚本中提取出事件,确定触发每个事件的动作对象以及接受事件的目标对象排列事件发生的次序,确定每个对象可能有的状态及状态间的转换关系,并用状态图描绘它们。比较各个对象的状态图,检查它们之间的一致性,确保事件之间的匹配。5.4.4建立动态模型(续)1.编写脚本在建立动态模型的过程中,脚本是指系统在某一执行期间内出现的一系列事件。编写脚本的目的,是保证不遗漏重要的交互步骤,它有助于确保整个交互过程的正确性的和清晰性。脚本描写的范围并不是固定的,既可以包括系统中发生的全部事件,也可以只包括由某些特定对象触发的事件。脚本描写的范围主要由编写脚本的具体目的决定。5.4.4建立动态模型(续)编写脚本时,首先编写正常情况的脚本。然后,考虑特殊情况,最后,考虑出错情况。对于每个事件,都应该指明触发该事件的动作对象(例如,系统、用户或其他外部事物)、接受事件的目标对象以及该事件的参数。编写脚本表ATM系统的正常情况脚本表ATM系统的异常情况脚本2.设想用户界面大多数交互行为都可以分为应用逻辑和用户界面两部分。动态模型着重表示应用系统的控制逻辑。但是,用户对系统的“第一印象”往往从界面得来,因此,在分析阶段也不能完全忽略用户界面。5.4.4建立动态模型(续)图ATM系统的界面格式3.画事件跟踪图进一步明确事件及事件与对象的关系。 确定事件应该仔细分析每个脚本,以便从中提取出所有外部事件。事件包括系统与用户(或外部设备)交互的所有信号、输入、输出、中断、动作等等。传递信息的对象的动作也是事件。例如,储户插入现金兑换卡、储户输入密码、ATM吐出现金等都是事件。大多数对象到对象的交互行为都对应着事件。应该把对控制流产生相同效果的那些事件组合在一起作为一类事件,并给它们取一个唯一的名字。例如,“吐出现金”是一个事件类。5.4.4建立动态模型(续)画出事件跟踪图可以用事件跟踪图把事件序列以及事件与对象的关系,形象、清晰地表示出来。事件跟踪图实质上是扩充的脚本。在事件跟踪图中,一条竖线代表一个类与对象,每个事件用一条水平的箭头线表示,箭头方向从事件的发送对象指向接受对象。时间从上向下递增。画事件跟踪图4.画状态图状态图描绘事件与对象状态的关系。当对象接受了一个事件以后,它的下个状态取决于当前状态及所接受的事件。由事件引起的状态改变称为“转换”。如果一个事件并不引起当前状态发生转换,则可忽略这个事件。5.4.4建立动态模型(续)5.4.4建立动态模型(续)通常,用一张状态图描绘一类对象的行为,它确定了由事件序列引出的状态序列。考虑完正常事件之后再考虑边界情况和特殊情况,其中包括在不适当时候发生的事件(例如,系统正在处理某个事务时,用户要求取消该事务)。图ATM类的状态图图总行类的状态图图分行类的状态图5.审查动态模型各个类的状态图通过共享事件合并起来,构成了系统的动态模型。在完成了每个具有重要交互行为的类的状态图之后,应该
文档评论(0)