面向对象题库.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
确定了类中应该定义的属性之后,就可以利用继承机制共享公共性质,并对系统中众多的类加以组织。 两种方式建立继承关系: 自底向上:抽象出现有类的共同性质泛化出父类,这个过程实质上模拟了人类归纳思维过程。 自顶向下:把现有类细化成更具体的子类,这模拟了人类的演绎思维过程。 10.3.5 识别继承关系 仅仅经过一次建模过程很难得到完全正确的对象模型。 软件开发过程就是一个多次反复修改、逐步完善的过程。 面向对象的概念和符号在整个开发过程中都是一致的,更易实现反复修改、逐步完善。 ATM系统可能做的修改: 分解“现金兑换卡”类 “事务”由“更新”组成 把“分行”与“分行计算机”合并 10.3.6 反复修改 第一步,是编写典型交互行为的脚本。 第二步,从脚本中提取出事件,确定触发每个事件的动作对象以及接受事件的目标对象。 第三步,排列事件发生的次序,确定每个对象可能有的状态及状态间的转换关系,并用状态图描绘它们。 最后,比较各个对象的状态图,检查它们之间的一致性,确保事件之间的匹配。 10.4 建立动态模型 脚本是指系统在某一执行期间内出现的一系列事件。脚本描述用户与目标系统之间的一个或多个典型的交互过程。 编写脚本的目的,是保证不遗漏重要的交互步骤,它有助于确保整个交互过程的正确性的和清晰性。 编写脚本的过程,实质上就是分析用户对系统交互行为的要求的过程。 编写脚本时,首先编写正常情况的脚本,然后考虑特殊情况,最后考虑出错情况。 10.4.1 编写脚本 例:ATM系统的正常、异常情况脚本 ATM系统的正常情况脚本 ATM请储户插卡;储户插入一张现金兑换卡。 ATM接受该卡并读它上面的分行代码和卡号。 ATM要求储户输入密码;储户输入自己的密码“1234”等数字。 ATM请求总行验证卡号和密码;总行要求“39”号分行核对储户密码, 然后通知ATM说这张卡有效。 ATM要求储户选择事务类型(取款、转帐、查询等);储户选择“取款”。 ATM要求储户输入取款额;储户输入“880”。 ATM确认取款额在预先规定的限额内,然后要求总行处理这个事务;总行 把请求转给分行,该分行成功地处理完这项事务并返回该帐户的新余额。 ATM吐出现金并请储户拿走这些现金;储户拿走现金。 ATM问储户是否继续这项事务;储户回答“不”。 ATM打印帐单,退出现金兑换卡,请储户拿走它们;储户取走帐单和卡。 ATM请储户插卡 ATM系统的异常情况脚本 ATM请储户插卡;储户插入一张现金兑换卡。 ATM接受该卡并读它上面的分行代码和卡号。 ATM要求储户输入密码;储户误输入 “8888”。 ATM请求总行验证卡号和密码;总行要求“39”号分行核对储户密码, 然后通知ATM拒绝这张卡。 ATM显示“密码错”,并请储户重新输入密码;储户输入“1234”; ATM请总行验证后知此次输入的密码正确。 ATM要求储户选择事务类型(取款、转帐、查询等);储户选择“取款”。 ATM要求储户输入取款额;储户改变主意不想取款了,敲“取消”键。 ATM退出现金兑换卡,请储户拿走它;储户取走他的卡。 ATM请储户插卡 大多数交互行为都可以分为应用逻辑和用户界面两部分。应用逻辑是内在的、本质的内容,用户界面是外在的表现形式。 用户界面的美观程度、方便程度、易学程度以及效率等等,是用户使用系统时最先感受到的,用户界面的好坏往往对用户是否喜欢、是否接受一个系统起很重要的作用。 软件开发人员往往快速地建立起用户界面的原型,供用户试用与评价。 10.4.2 设想用户界面 10.4.3 画事件跟踪图 用自然语言书写的脚本往往不够简明,而且有时在阅读时会有二义性。 为了有助于建立动态模型,通常在画状态图之前先画出事件跟踪图。 为此首先需要进一步明确事件及事件与对象的关系。 1. 确定事件 应该仔细分析每个脚本,以便从中提取出所有外部事件。事件包括系统与用户交互的所有信号、输入、输出、中断、动作等等。 传递信息的对象的动作也是事件。大多数对象到对象的交互行为都对应着事件。 把对控制流产生相同效果的那些事件组合在一起作为一类事件,并给它们取一个惟一的名字。 把对控制流有不同影响的那些事件区分开来,不要误把它们组合在一起。 区分出每类事件的发送对象和接受对象。 2. 画出事件跟踪图 用事件跟踪图把事件序列以及事件与对象的关系,形象、清晰地表示出来。 一条竖线代表一个对象,每个事件用一条水平的箭头线表示,箭头方向从事件的发送对象指向接受对象。 时间从上向下递增。 箭头线之间的间距并没有具体含义。 10.4.4 画状态图 状态图描绘事件与对象状态的关系。 通常,用一张状态图描绘一类对象的行为。 考虑完正常事件之后再考虑边界情况和特殊情况

文档评论(0)

4477769 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档