- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第11章 面向对象设计 11.1 面向对象设计的准则 11.2 启发规则 11.3 软件重用 11.4 系统分解 11.5 设计问题域子系统 11.6 设计人机交互子系统 11.7 设计任务管理子系统 11.8 设计数据管理子系统 11.9 设计类中的服务 11.10 设计关联 11.11 设计优化 11.1 面向对象设计的准则 优秀软件设计的一个重要特点是容易维护 回顾:SD准则包括 ? 模块化 ? 抽象 ? 信息隐藏 ? 模块独立 对于 OOD有类似的准则: 1、模块化:Module = Object 2、抽象Abstraction:抽出事物的本质特性, 暂不考虑其细节,使设计从具体实现方法中超脱。 3、信息隐藏Information hiding = 对象封装Encapsulation of object 4、耦合Coupling: ? 交互耦合(interactive coupling):通过传递message发生;要求降低参数个数和参数复杂性 ? 继承耦合(inheritance coupling): 要求 Parent class IS_A child class ? as high as possible 11.2 启发规则 1、设计结果清晰易懂,应做到: ① 用词一致 —— 按习惯用法命名。不同classes中相似的methods最好取同一名字。 ② 使用已有的protocol。 ③ 尽量减少message模式的数目。 ④ 避免模糊定义。 2、一般-特殊结构的深度应适当 (约100个classes,则设计7±2层) 3、设计简单的class(定义不超过一页纸或两屏)。应注意: ① 避免过多attributes; ② 能用简单的语句描述一个class的任务; ③ objects之间合作关系要简单; ④避免过多methods(? 7个)。 问题:设计出大量的classes,使结构复杂度增加。 解决:划分主题,提高可理解性。 4、使用简单的protocol,减少message 中传递的 parameters 5、使用简单的method(CASE 可考虑用 inheritance替代)。 6、把设计变动减至最小。 OOD模型分解 (1)问题论域部分,设计构造一组为底层应用建立模型的类和对象,细化分析结果; (2)人机交互部分,设计一组有关类接口视图的用户模型的类和对象,设计用户界面; (2)任务管理部分,确定系统资源的分配,设计用于系统中类的行为控制的对象/类; (4)数据管理部分,确定持久对象的存储,将对象转换成数据库记录或表格; 11.5 设计问题域子系统 可能对面向对象分析所得出的问题域模型做的补充或修改 1. 调整需求 有两种情况会导致修改通过面向对象分析所确定的系统需求:一是用户需求或外部环境发生了变化;二是分析员对问题域理解不透彻或缺乏领域专家帮助,以致面向对象分析模型不能完整、准确地反映用户的真实需求。 2. 重用已有的类 3. 把问题域类组合在一起 通过引入一个根类而把问题域类组合在一起。 4. 增添一般化类以建立协议 一些具体类需要有一个公共的协议,即一组类似的服务。在这种情况下可以引入一个附加类(例如,根类),以便建立这个协议(即命名公共服务集合,这些服务在具体类中仔细定义)。 5. 调整继承层次 (1) 使用多重继承机制 (2) 使用单继承机制 6. ATM系统实例 11.6 设计人机交互子系统 人机交互部分的设计结果,将对用户情绪和工作效率产生重要影响。人机界面设计得好,则会使系统对用户产生吸引力,用户在使用系统的过程中会感到兴奋,能够激发用户的创造力,提高工作效率;相反,人机界面设计得不好,用户在使用过程中就会感到不方便、不习惯,甚至会产生厌烦和恼怒的情绪。 一些设计人机交互子系统的策略 3. 设计命令层次 研究现有的人机交互含义和准则 确定初始的命令层次 精化命令层次 4. 设计人机交互类 人机交互类与所使用的操作系统及编程语言密切相关。例如,在Windows环境下运行的Visual C++语言提供了MFC类库,设计人机交互类时,往往仅需从MFC类库中选出一些适用的类,然后从这些类派生出符合自己需要的类就可以了。 11.7 设计任务管理子系统 1. 分析
您可能关注的文档
最近下载
- 国家基层肥胖症综合管理技术指南(2025).docx
- 基于《人教版小学英语三年级起》教材的农村小学英语课堂教学生活化研究-来源:校园英语(第2020032期)-河北阅读传媒有限责任公司.pdf VIP
- 第4课 日本明治维新 课件(15张PPT).pptx VIP
- 骨痛愈巴布剂的研制.pdf VIP
- 人工智能基础与应用—(AIGC实战):AIGC文本生成与辅助写作PPT教学课件.pptx VIP
- 重症肺炎护理查房.pptx VIP
- 2025年高考语文真题(全国二卷).pdf VIP
- 2025年小学美术新课程标准考试模拟试题及部分答案(共五套).pdf VIP
- 2013款别克昂科拉用户使用手册.pdf VIP
- 主流BI竞品分析报告.docx VIP
文档评论(0)