- 1、本文档共99页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十二讲 面向对象方法学(续) 面向对象的概念 面向对象的开发过程 面向对象分析与模型化 面向对象设计 面向对象程序的实现与测试 面向对象设计(OOD) 面向对象设计继续做面向对象分析阶段的工作,建立软件的结构。 主要工作分为两个阶段: 高层设计 类设计 高层设计 高层设计阶段开发系统的结构,即构造应用软件的总体模型。 高层设计阶段标识在计算机环境中进行问题解决工作所需要的概念,并增加了一批需要的类。 这些类包括那些可使应用软件与系统的外部世界交互的类。 此阶段的输出是适合应用软件要求的类、类间的关系、应用的子系统视图规格说明。 高层设计模型 高层设计的特点 高层设计可以表征为标识和定义模块的过程。 模块可以是一个单个的类,也可以是由一些类组合成的子系统。 类接口的协议如同“合同” :需方提出的请求必须列在协议表中,供方则必须提供所有协议的服务。 高层设计应遵循的原则 应使得在子系统的各个高层部件之间的通信量达到最小; 子系统应当把那些成组的类打包,形成高度的内聚; 逻辑功能分组,提供一个一个单元,识别并定位问题事件; 类设计 类与具有概念封装的子系统十分类似。 每个子系统都可以被当做一个类来实现,这个类聚集它的部件,提供了一组操作。 类和子系统的结构是正交的,一个单个类的实例可能是不止一个子系统的一部分。 高层设计和类设计这两个阶段是相对封闭的。 应用软件中的每一个事物都是一个对象,包括应用软件自身在内! 两个阶段是连接的。 Coad 与 Yourdon 高层设计方法 Coad 与 Yourdon 在设计阶段中继续采用分析阶段中提到的五个层次。 在设计阶段中,这五个层次用于建立系统的四个组成成份。 问题论域部分 人机交互部分 任务管理部分 数据管理部分 问题论域部分 问题论域部分包括与应用问题直接有关的所有类和对象。 识别和定义这些类和对象的工作在OOA中已经开始,在OOA阶段得到的有关应用的概念模型描述了我们要解决的问题。 在OOD阶段,应当继续OOA阶段的工作,对在OOA中得到的结果进行改进和增补。 问题论域部分的设计 在OOA阶段得到的概念模型描述了要解决的问题 在OOD阶段,继续OOA阶段的工作,对在OOA中得到的结果进行改进和增补。 对OOA模型中的某些类与对象、结构、属性、操作进行组合与分解。 要考虑对时间与空间的折衷、内存管理、开发人员的变更、以及类的调整等。 1.复用设计 根据问题解决的需要,把从类库或其它来源得到的既存类增加到问题解决方案中去。 标明既存类中不需要的属性和操作, 增加从既存类到应用类之间的一般化-特殊化的关系。 把应用类中因继承既存类而成为多余的属性和操作标出。 修改应用类的结构和连接。 2.把问题论域相关的类关联起来 在设计时,从类库中引进一个根类,做为包容类,把所有与问题论域有关的类关联到一起,建立类的层次。 把同一问题论域的一些类集合起来,存于类库中。 3. 加入一般化类以建立类间协议 有时,某些特殊类要求一组类似的服务。 此时,应加入一个一般化的类,定义为所有这些特殊类共用的一组服务名,这些服务都是虚函数。 在特殊类中定义其实现。 4. 调整继承支持级别 在OOA阶段建立的对象模型中可能包括有多继承关系,但实现时使用的程序设计语言可能只有单继承,甚至没有继承机制,这样就需对分析的结果进行修改。 多继承模式有两种: 狭义的菱形 广义的菱形 针对单继承语言的调整 把特殊类的对象看做是一个一般类对象所扮演的角色,通过实例连接把多继承的层次结构转换为单继承的层次结构。 把多继承的层次结构平铺,成为单继承的层次结构。在这种情况下,有些属性或操作在同层的特殊类中会重复出现。 针对无继承语言的调整 当使用无继承的程序设计语言时,必须把具有继承关系的类层次结构平铺开来,成为一组类和对象。 一般可利用命名惯例,把这些类或对象关联起来。 5. 改进性能 提高执行效率和速度是系统设计的主要指标之一。有时,必须改变问题论域的结构以提高效率。 如果类之间经常需要传送大量消息,可合并相关的类以减少消息传递引起的速度损失。 增加某些属性到原来的类中,或增加低层的类,以保存暂时结果,避免每次都要重复计算造成速度损失。 6. 加入较低层的构件 在做面向对象分析时,分析员往往专注于较高层的类和对象,避免考虑太多较低层的实现细节。 在做面向对象设计时,设计师在找出高层的类和对象时,必须考虑到底需要用到哪些较低层的类和对象。 用户界面部分的设计 在 OOA 阶段给出了所需的属性和操作, 在设计阶段必须根据需求把交互细节加入到用户界面设计中,包括人机交互所必需的实际显示和输入。 用户界面部分设计主要由以下几个方面组成。 1. 用户分类 按技能层次分类: 外行/初学者/熟练者/专家 按组
您可能关注的文档
- 物联网课件 14.pdf
- 建处理3 万吨硅片切割砂浆循环利用项目.docx
- 中山论文网职称论文发表网-串行通讯通讯协议MODBUS端口论文选题题目详解.docx
- 计算机基础第二节试题.docx
- 2015专技人员公需科目多选题.docx
- 妇科电话咨询技巧剖析.doc
- HP LaserJet 1020 打印机.doc
- 右击查看源文件,与其他一些前端性能测试技巧.docx
- 海西医学教育建筑工程职称论文发表网企业会计内部控制有效对策论文选题题目.docx
- 连锁零售业,怎样补上配送的短板.doc
- 七章货物的保险.pptx
- 三章国际间接投资.pptx
- 人性假设理论.pptx
- 外研高一英语必修三ModuleIntroduction汇总市公开课获奖课件省名师示范课获奖课件.pptx
- 月相成因优质获奖课件.pptx
- 小学二年级语文课件《狐假虎威》省名师优质课赛课获奖课件市赛课一等奖课件.pptx
- 养羊业概况专题知识讲座.pptx
- 微生物的实验室培养市公开课获奖课件省名师示范课获奖课件.pptx
- 人教版六年级下册式与方程整理与复习市公开课获奖课件省名师示范课获奖课件.pptx
- 必威体育精装版高中精品语文教学:第二单元-第7课-诗三首:涉江采芙蓉、-短歌行、归园田居市公开课获奖课件省名师.pptx
文档评论(0)