- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[理学]软件工程第09章
第9章面向对象设计
第9章面向对象设计
9.1 面向对象的设计准则
9.2 问题域子系统设计
9.3 人机交互子系统设计
9.4 任务管理子系统设计
9.5 数据管理子系统设计
9.6 服务与关联的设计
9.7 面向对象设计的优化
第9章面向对象设计
9.1 面向对象的设计准则
9.1.1 设计准则
1. 模块化
模块化是软件设计的重要准则。在面向对象开发方法中,
将对象定义为模块。对象把数据结构和作用在数据上的操作封
装起来构成模块。对象是组成系统的基本模块。
第9章面向对象设计
2. 抽象
类是一种抽象数据类型,在该数据类型之上,可以创建对
象(类的成员)。类包含相似对象的共同属性和服务,它对外定
义了公共接口,构成了类的规格说明(即协议),供外界合法访
问。通过这种接口访问类实例中的数据。通常把这类抽象称为
规格说明抽象。
3. 信息隐藏
在面向对象方法中,对象是属性和服务的封装体,这就实
现了信息隐藏。类结构分离了接口与实现,类的属性的表示方
法和操作的实现算法,对于类的用户来说,都应该是隐藏的,
用户只能通过公共接口访问类中的属性。
第9章面向对象设计
4. 弱耦合
所谓耦合,是指一个软件结构内不同模块之间互连的依赖关
系。依赖关系越多耦合度越强,依赖关系越少耦合度越弱。在面
向对象方法中,对象是最基本的模块,不同对象之间相互关联的
依赖关系表示了耦合度。衡量设计优良的一个重要标准就是弱耦
合,弱耦合的设计中某个对象的改变不会或很少影响到其他对
象。这样给理解、测试或修改带来很大的方便。反之,强耦合会
给理解、测试或修改带来很大的难度,并且还降低了该类的可重
用性和可移植性。
不同对象之间耦合是不可避免的。两个对象必须相互联系相
互依赖时,应该通过类的协议(即公共接口)实现两个对象相互依
赖(耦合),而不是通过类的具体实现细节来描述。
第9章面向对象设计
5. 强内聚
所谓内聚,是一个模块内各个元素彼此结合的紧密程度。
结合得越紧密内聚越强,结合得越不紧密内聚越弱。强内聚也
是衡量设计优良的一个重要标准。在面向对象设计中,内聚可
分为下述三类:
(1) 服务内聚。一个服务应该是单一的,即只完成一个任
务。
(2) 类内聚。类内聚要求类的属性和服务应该是高内聚
的,而且它们应该是系统任务所必需的。一个类应该只有一个
功能,如果某个类有多个功能,通常应该把它分解成多个专用
的类。
第9章面向对象设计
(3) 一般 - 特殊内聚。一般 - 特殊内聚表示:一般 -
特殊结构符合领域知识的表示形式,也就是说,特殊类应该
尽量地继承一般类的属性和服务。这样的一般 - 特殊结构是
高内聚的。
例如,虽然表面看来飞机与汽车有相似的地方(都用发动
机驱动,都有轮子,……),但是,如果把飞机和汽车都作为
“机动车”类的子类,则不符合领域知识的表示形式,这样的
一般 - 特殊结构是低内聚的。高内聚的一般 - 特殊结构应
该是,设置一个抽象类“交通工具” ,把飞机和机动车作为交
通工具类的子类,而汽车又是机动车类的子类。
第9章面向对象设计
6. 可重用
在面向对象设计中,一个类的设计应该具有通用性,为开
发相似的系统提供软件重用可能。软件重用可以提高软件开发
生产率,确保目标系统质量。可重用是面向对象开发方法的一
个重要特性,也就是说,用面向对象的概念和方法比较容易实
现重用。因此,在软件开发过程中,为了实现重用,既要尽量
重用已有的类,又要创建可重用的新类。
第9章面向对象设计
9.1.2 设计策略
在使用面向对象方法学开发软件的实践中,得出了下面一些
基于经验的启发规则,这些规则往往能帮助软件开发人员设计出
好的方案来,以保证软件的
文档评论(0)