- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章 面向对象设计; 尽管分析和设计的定义有明显区别,但是在实际的软件开发过程中二者的界限是模糊的。
许多分析结果可以直接映射成设计结果,而在设计过程中又往往会加深和补充对系统需求的理解,从而进一步完善分析结果。因此,分析和设计活动是一个多次反复迭代的过程。; 面向对象设计的准则;小 结;8.1 面向对象设计的准则; 8.1.1 模块化
对象就是模块。它是把数据结构和操作这些数据的方法紧密地结合在一起所构成的模块。
; 8.1.2 抽象
面向对象方法不仅支持过程抽象,而且支持数据抽象。类实际上是一种抽象数据类型。; 8.1.3 信息隐藏
在面向对象方法中,信息隐藏通过对象的封装性实现。; 8.1.4 弱耦合
耦合主要指不同对象之间相互关联的紧密程度。一般来说,对象之间的耦合可分为两大类,下面分别讨论这两类耦合。; 1.交互耦合
如果对象之间的耦合通过消息连接来实现,则这种耦合就是交互耦合。为使交互耦合尽可能松散,应该遵守下述准则。
· 尽量降低消息连接的复杂程度。
· 减少对象发送(或接收)的消息数。;;;;;;8.2 启发规则;; 8.2.2 一般—特殊结构的深度应适当
应该使类等级中包含的层次数适当。;;; 8.2.4 使用简单的协议
一般来说,消息中的参数不要超过3个。
;;;图8.1 理想的设计变动情况;8.3 系统分解;;图8.2 典型的面向对象设计模型; 8.3.1 子系统之间的两种交互方式 在软件系统中,子系统之间的交互有两种可能的方式,分别是客户—供应商关系和平等伙伴关系。
;; 8.3.2 组织系统的两种方案
把子系统组织成完整的系统时,有水平层次组织和垂直块组织两种方案可供选择。
;;;; 2. 块状组织
这种组织方案把软件系统垂直地分解成若干个相对独立的、弱耦合的子系统,一个子系统相当于一块,每块提供一种类型的服务。
;;8.4 设计问题域子系统;;; 对面向对象分析所得出的问题域模型作的补充或修改所涉及的问题如下:
;;;8.5 设计人-机交互子系统;; 2. 减少步骤
应使用户为做某件事情尽量减少操??步骤。
还应使得技术水平不同的用户,为获得有意义的结果所需使用的时间都减至最少。特别应该为熟练用户提供简捷的操作方法(例如,热键)。;; 4. 提供撤消命令
人在与系统交互的过程中难免会犯错误,因此,应该提供“撤消(undo)”命令,以便用户及时撤消错误动作,消除错误动作造成的后果。
;;; 6. 易学
人-机交互界面应该易学易用,应该提供联机参考资料,以便用户在遇到困难时可随时参阅。
;; 8.5.2 设计人-机交互子系统的策略
1. 分类用户
为了更好地了解用户的需要与爱好,以便设计出符合用户需要的界面,设计者首先应该把将来可能与系统交互的用户分类。通常从下列几个不同角度进行分类。
;; 2. 描述用户
应该仔细了解将来使用系统的每类用户的情况,把获得的下列各项信息记录下来。
; 3. 设计命令层次
设计命令层次的工作通常包含以下几项内容。
(1) 研究现有的人-机交互含义和准则
;; (3) 精化命令层次
为进一步修改完善初始的命令层次,应该考虑下列一些因素。
;;; · 宽度和深度:由于人的短期记忆能力有限,命令层次的宽度和深度都不应该过大。
· 操作步骤:应该用尽量少的单击、拖动和击键组合来表达命令,而且应该为高级用户提供简捷的操作方法。
;;8.6 设计任务管理子系统; 8.6.2 设计任务管理子系统
常见的任务有事件驱动型任务、时钟驱动型任务、优先任务、关键任务和协调任务等。设计任务管理子系统,包括确定各类任务并把任务分配给适当的硬件或软件去执行。
;;; 3. 确定优先任务
优先任务可以满足高优先级或低优先级的处理需求。
;;; 4. 确定关键任务
关键任务是有关系统成功或失败的关键处理,这类处理通常都有严格的可靠性要求。在设计过程中可能用额外的任务把这样的关键处理分离出来,以满足高可靠性处理的要求。对高可靠性处理应该精心设计和编码,并且应该严格测试
原创力文档


文档评论(0)