第6章面向对象的系统设计课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第6章面向对象的系统设计课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 系统 设计 课件
- 资源描述:
-
1、1/296.1 6.1 从面向对象分析到面向对象设计从面向对象分析到面向对象设计6.2 6.2 面向对象设计的准则面向对象设计的准则 6.3 6.3 启发式规则启发式规则 6.4 6.4 软件重用软件重用6.5 6.5 系统分解系统分解6.6 6.6 典型的面向对象设计典型的面向对象设计6.7 6.7 类中服务的设计类中服务的设计6.8 6.8 关联设计关联设计6.9 6.9 设计优化设计优化目录目录2/296.1从面向对象分析到面向对象设计从面向对象分析到面向对象设计6.1.1 6.1.1 从面向对象分析到面向对象设计从面向对象分析到面向对象设计 面向对象的系统设计(OOD) 就是在系统分析
2、模型的基础上运用面向对象的方法,来设计产生一个符合具体实现条件的面向对象设计(OOD)模型。 对于面向对象设计方法,尽管分析和设计的定义有明显区别,但是在实际的软件开发过程中二者的界限是模糊的。分析过程的结果可以直接映射成设计的结果,初期的分析初期的分析过程主要是提取与系统相关的主要类和业务流程,而在设过程主要是提取与系统相关的主要类和业务流程,而在设计阶段将所有的类和流程细化,加深和补充对系统需求的计阶段将所有的类和流程细化,加深和补充对系统需求的理解,从而进一步完善分析结果。理解,从而进一步完善分析结果。 3/29 OOA与与OOD关系关系u它们采用了相同的符号表示,因此相互之间没有明显的
3、分界线,往往是反复重叠地进行。 u系统分析主要考虑的是做什么,因此它识别和定义的类/对象,是一些直接反映问题域和系统任务的;而系统设计主要解决系统如何做,所以它识别和定义的类/对象是附加的,反映了需求的一种实现(对话层、任务管理层、数据管理层)。u系统分析是在较高的抽象层次上进行,而系统设计则在较低的抽象层次上进行。系统分析是独立于程序设计语言的,初步的系统设计在很大程度上与语言无关,但详细的系统设计则都会依赖于程序设计语言。6.1从面向对象分析到面向对象设计从面向对象分析到面向对象设计6.1.1 6.1.1 从面向对象分析到面向对象设计从面向对象分析到面向对象设计4/29 面向对象系统设计的
4、主要工作包括以下几个方面的内容: (1) 设计对象与类。包括分析对象模型,设计对象与类的属性,设计对象与类的实现结构,以及设计消息与事件的内容和格式。 (2) 设计系统结构。设计系统结构阶段的主要任务是设计组件与子系统以及它们之间的静态和动态关系。对于人机界面、数据管理、任务管理等问题,在面向对象分析阶段一般不提及,而是等到面向对象设计阶段再进行分析。 6.1从面向对象分析到面向对象设计从面向对象分析到面向对象设计6.1.1 6.1.1 从面向对象分析到面向对象设计从面向对象分析到面向对象设计5/29 面向对象系统设计的主要工作包括以下几个方面的内容: (3) 设计人机交互子系统。此阶段的主要
5、任务是设计用户界面,设计人机交互操作命令和操作顺序,设计详细交互过程,设计工作的内容包括用户分类,设计人机交互类等。 (4) 设计数据管理子系统。此阶段主要是确定数据管理方法,设计数据 库与数据文件的逻辑结构和物理结构。面向对象的分析设计方法注重的是问题涉及的对象以及对象的相互关系和相互作用,并在此基础上构造这些问题的模型,以期将要解决的实质问题模型化。6.1从面向对象分析到面向对象设计从面向对象分析到面向对象设计6.1.1 6.1.1 从面向对象分析到面向对象设计从面向对象分析到面向对象设计6/29 简单与复杂简单与复杂 (1) 小规模和小团队开发的系统在整体框架选择和层次结构上应尽量简单,
6、而大规模的系统,要考虑到众多模块的合理配置,需要构建更多的层次,选用成熟的框架体系。 (2) 在系统资源有限的硬件平台上运行的系统,例如嵌入式系统,在设计时应尽量简单,以提高运行效率;而在PC机以及服务器上运行的系统,可以采用复杂设计,已获得更好的扩展性。 (3) 对于运行性能要求高的系统,例如需要提供并发服务的服务器系统,则在访问频繁的模块设计上应遵循简单的原则。6.2 面向对象系统设计的准则面向对象系统设计的准则6.2.16.2.1面向对象系统设计准则面向对象系统设计准则7/29 简单与复杂简单与复杂 (4) 对于开发水平参差不齐的团队,在开发方案的选择上注意选取简单的方案,减少内部培训和
7、交流的代价。而成熟的开发团队,则可以根据设计目标灵活地选择设计方案。 (5) 在一个系统的设计中,简单和复杂的原则可能是交替作用的,在整体结构复杂的系统中,可能在关键性能模块的设计上追求简单。而在整体结构简单的系统中,对于某些通用性较强的模块可能采用复杂设计。 (6) 即使确定了简单和复杂的原则,也需要考虑到“度”,过度设计只会使得某些超前的设计方案被废弃。6.2 面向对象系统设计的准则面向对象系统设计的准则6.2.16.2.1面向对象系统设计准则面向对象系统设计准则8/29 模块化模块化u模块化是软件设计方法不断演变所追求的目标之一,软件的模块化使得软件的各个功能在设计时相对独立,能够降低软
8、件设计的复杂度。u面向对象软件开发方法,对象就是模块。它是把数据结构和操作这些数据的方法紧密地结合在一起所构成的模块。u对象与单元的区别在于:对象是数据与操作紧密结合的,在软件运行中有一定生命周期的实体。而单元只是一组函数功能的集合。6.2 面向对象系统设计的准则面向对象系统设计的准则6.2.16.2.1面向对象系统设计准则面向对象系统设计准则9/29 抽象化抽象化u面向对象方法不仅支持过程抽象,而且支持数据抽象。u在类的设计中要考虑各种类的关系,需要从具体类中抽象出具有共同特性的父类或者接口,子类继承父类的方法,并可以重构不同的实现。类实际上是一种抽象数据类型,它对外开放的公共接口(inte
9、rface)构成了类的规格说明,这种接口规定了外界可以使用的合法操作符,利用这些操作符可以对类实例中包含的数据进行操作。 6.2 面向对象系统设计的准则面向对象系统设计的准则6.2.16.2.1面向对象系统设计准则面向对象系统设计准则10/29 弱耦合与信息隐藏弱耦合与信息隐藏u对象间的耦合可分为两大类: (1)交互耦合。如果对象间的耦合是通过消息连接来实现,则这种耦合属于交互耦合。交互耦合应该尽可能松散。 (2)继承耦合。继承是一般化类与特殊类间耦合的一种形式,从本质来看,是一种通过继承关系结合起来的基类和派生类,构成了系统中粒度更大的模块。它们之间是结合得越紧密越好。6.2 面向对象系统设
10、计的准则面向对象系统设计的准则6.2.16.2.1面向对象系统设计准则面向对象系统设计准则11/29 信息隐藏 实现弱耦合的重要手段,在面向对象方法中,信息隐藏通过对象的封装性实现. 对象的封装有两种形式: 源代码级的封装; 二进制代码级的封装。 6.2 面向对象系统设计的准则面向对象系统设计的准则6.2.16.2.1面向对象系统设计准则面向对象系统设计准则12/29 可重用可重用u软件重用是提供高软件开发生产率和目标系统质量的重要途径。派生和继承是代码重用的基础。u重用有两方面的含义:一是尽量使用已有的类(包括开发环境提供的类库,及以往开发类似系统时创建的类),二是如果确实需要创建新类,则在
11、设计这些新类的协议时,应该考虑将来的可重复使用性。6.2 面向对象系统设计的准则面向对象系统设计的准则6.2.16.2.1面向对象系统设计准则面向对象系统设计准则13/29 设计结果应该清晰易懂设计结果应该清晰易懂 (1) 用词一致(2) 使用已有的协议(3) 减少消息模式的数目(4) 避免模糊的定义 使类等级中包含的层次数适当使类等级中包含的层次数适当 应该使类等级中包含的层次数适当 ,一般来说,在一个中等规模(大约包含100个类)的系统中,类等级层次数应保持为72。 6.3 启发规则启发规则14/29 设计简单的类设计简单的类(1)(1)避免包含过多的属性;避免包含过多的属性;(2)(2)
展开阅读全文