软件工程(第3版)第8章 人民邮电出版社

软件工程(第3版)第8章 人民邮电出版社

ID:40263244

大小:599.00 KB

页数:130页

时间:2019-07-29

软件工程(第3版)第8章 人民邮电出版社_第1页
软件工程(第3版)第8章 人民邮电出版社_第2页
软件工程(第3版)第8章 人民邮电出版社_第3页
软件工程(第3版)第8章 人民邮电出版社_第4页
软件工程(第3版)第8章 人民邮电出版社_第5页
资源描述:

《软件工程(第3版)第8章 人民邮电出版社》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第8章面向对象设计从面向对象分析到面向对象设计(通常缩写为OOD),是一个逐渐扩充模型的过程。或者说,面向对象设计就是用面向对象观点建立求解域模型的过程。尽管分析和设计的定义有明显区别,但是在实际的软件开发过程中二者的界限是模糊的。许多分析结果可以直接映射成设计结果,而在设计过程中又往往会加深和补充对系统需求的理解,从而进一步完善分析结果。因此,分析和设计活动是一个多次反复迭代的过程。8.1面向对象设计的准则所谓优秀设计,就是权衡了各种因素,从而使得系统在其整个生命周期中的总开销最小的设计。面向对象设计的准则8.1启发规则8.2设计人_机交互子系统8.5设计问题域子系统8

2、.4系统分解8.3设计任务管理子系统8.6小结8.12设计优化8.10面向对象分析与设计实例8.11设计关联8.9设计类中的服务8.8设计数据管理子系统8.78.1.1模块化对象就是模块。它是把数据结构和操作这些数据的方法紧密地结合在一起所构成的模块。8.1.2抽象面向对象方法不仅支持过程抽象,而且支持数据抽象。类实际上是一种抽象数据类型,某些面向对象的程序设计语言还支持参数化抽象。8.1.3信息隐藏在面向对象方法中,信息隐藏通过对象的封装性实现:8.1.4弱耦合耦合主要指不同对象之间相互关联的紧密程度。一般来说,对象之间的耦合可分为两大类,下面分别讨论这两类耦合。1

3、.交互耦合如果对象之间的耦合通过消息连接来实现,则这种耦合就是交互耦合。为使交互耦合尽可能松散,应该遵守下述准则。·尽量降低消息连接的复杂程度。·减少对象发送(或接收)的消息数。2.继承耦合与交互耦合相反,应该提高继承耦合程度。为获得紧密的继承耦合,特殊类应该确实是对它的一般化类的一种具体化,8.1.5强内聚1.服务内聚一个服务应该完成一个且仅完成一个功能。2.类内聚设计类的原则是,一个类应该只有一个用途,它的属性和服务应该是高内聚的。3.一般—特殊内聚设计出的一般—特殊结构,应该符合多数人的概念,更准确地说,这种结构应该是对相应的领域知识的正确抽取。

4、8.1.6可重用一是尽量使用已有的类(包括开发环境提供的类库,及以往开发类似系统时创建的类),二是如果确实需要创建新类,则在设计这些新类的协议时,应该考虑将来的可重复使用性。8.2启发规则8.2.1设计结果应该清晰易懂使设计结果清晰、易读、易懂,是提高软件可维护性和可重用性的重要措施。显然,人们不会重用那些他们不理解的设计。保证设计结果清晰易懂的主要因素如下。1.用词一致2.使用已有的协议3.减少消息模式的数目4.避免模糊的定义8.2.2一般—特殊结构的深度应适当应该使类等级中包含的层次数适当。8.2.3设计简单的类应该尽量设计小而简单的类,以便于开发和管理。1

5、.避免包含过多的属性2.有明确的定义3.尽量简化对象之间的合作关系4.不要提供太多服务8.2.4使用简单的协议一般来说,消息中的参数不要超过3个。8.2.5使用简单的服务面向对象设计出来的类中的服务通常都很小,一般只有3~5行源程序语句,可以用仅含一个动词和一个宾语的简单句子描述它的功能。8.2.6把设计变动减至最小通常,设计的质量越高,设计结果保持不变的时间也越长。图8.1理想的设计变动情况8.3系统分解大多数系统的面向对象设计模型,在逻辑上都由四大部分组成。这四大部分对应于组成目标系统的四个子系统,它们分别是问题域子系统,人-机交互子系统、任务管理子系统和数据

6、管理子系统。当然,在不同的软件系统中,这四个子系统的重要程度和规模可能相差很大,规模过大的在设计过程中应该进一步划分成更小的子系统,规模过小的可合并在其他子系统中。某些领域的应用系统在逻辑上可能仅由3个(甚至少于3个)子系统组成。图8.2典型的面向对象设计模型8.3.1子系统之间的两种交互方式在软件系统中,子系统之间的交互有两种可能的方式,分别是客户—供应商(Client_supplier)关系和平等伙伴(peer_to_peer)关系。1.客户—供应商关系2.平等伙伴关系总的说来,单向交互比双向交互更容易理解,也更容易设计和修改,因此应该尽量使用客户—供应商关系。

7、8.3.2组织系统的两种方案把子系统组织成完整的系统时,有水平层次组织和垂直块组织两种方案可供选择。1.层次组织这种组织方案把软件系统组织成一个层次系统,每层是一个子系统。上层在下层的基础上建立,下层为实现上层功能而提供必要的服务。每一层内所包含的对象,彼此间相互独立,而处于不同层次上的对象,彼此间往往有关联。实际上,在上、下层之间存在客户—供应商关系。低层子系统提供服务,相当于供应商,上层子系统使用下层提供的服务,相当于客户。2.块状组织这种组织方案把软件系统垂直地分解成若干个相对独立的、弱耦合的子系统,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。