软件工程 第4版 教学课件 作者 张海藩 吕云翔 编著 08第八章:面向对象设计.ppt

软件工程 第4版 教学课件 作者 张海藩 吕云翔 编著 08第八章:面向对象设计.ppt

ID:50077718

大小:887.00 KB

页数:118页

时间:2020-03-08

软件工程 第4版 教学课件 作者 张海藩 吕云翔 编著 08第八章:面向对象设计.ppt_第1页
软件工程 第4版 教学课件 作者 张海藩 吕云翔 编著 08第八章:面向对象设计.ppt_第2页
软件工程 第4版 教学课件 作者 张海藩 吕云翔 编著 08第八章:面向对象设计.ppt_第3页
软件工程 第4版 教学课件 作者 张海藩 吕云翔 编著 08第八章:面向对象设计.ppt_第4页
软件工程 第4版 教学课件 作者 张海藩 吕云翔 编著 08第八章:面向对象设计.ppt_第5页
资源描述:

《软件工程 第4版 教学课件 作者 张海藩 吕云翔 编著 08第八章:面向对象设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、分析是提取和整理用户需求,并建立问题域精确模型的过程。设计则是把分析阶段得到的需求转变成符合成本和质量要求的、抽象的系统实现方案的过程。从面向对象分析到面向对象设计(通常缩写为OOD),是一个逐渐扩充模型的过程。尽管分析和设计的定义有明显区别,但是在实际的软件开发过程中二者的界限是模糊的。许多分析结果可以直接映射成设计结果,而在设计过程中又往往会加深和补充对系统需求的理解,从而进一步完善分析结果。第八章:面向对象设计8.1面向随想设计的准则8.2启发规则8.3系统分解8.4设计问题域子系统8.5设计人——机

2、交互子系统8.6设计任务管理子系统8.7设计数据管理子系统8.8设计类中的服务8.9设计关联8.10设计优化8.11面向对象分析与设计实例第八章:面向对象设计1.模块化面向对象软件开发模式,很自然地支持了把系统分解成模块的设计原理:对象就是模块。它是把数据结构和操作这些数据的方法紧密地结合在一起所构成的模块。2.抽象面向对象方法不仅支持过程抽象,而且支持数据抽象。类实际上是一种抽象数据类型,它对外开放的公共接口构成了类的规格说明(即协议),这种接口规定了外界可以使用的合法操作符,利用这些操作符可以对类实例中

3、包含的数据进行操作。3.信息隐藏在面向对象方法中,信息隐藏通过对象的封装性实现:类结构分离了接口与实现,从而支持了信息隐藏。对于类的用户来说,属性的表示方法和操作的实现算法都应该是隐藏的。4.弱耦合耦合指一个软件结构内不同模块之间互连的紧密程度。在面向对象方法中,对象是最基本的模块,因此,耦合主要指不同对象之间相互关联的紧密程度。弱耦合是优秀设计的一个重要标准,因为这有助于使得系统中某一部分的变化对其他部分的影响降到最低程度。一般来说,对象之间的耦合可分为两大类:(1)交互耦合如果对象之间的耦合通过消息连接

4、来实现,则这种耦合就是交互耦合。为使交互耦合尽可能松散,应该遵守下述准则。◇尽量降低消息连接的复杂程度。应该尽量减少消息中包含的参数个数,降低参数的复杂程度。◇减少对象发送(或接收)的消息数。(2)继承耦合与交互耦合相反,继承耦合应该提高继承耦合程度。继承是一般化类与特殊类之间耦合的一种形式。从本质上看,通过继承关系结合起来的基类和派生类,构成了系统中粒度更大的模块,因此,它们彼此之间应该结合得越紧密越好。为获得紧密的继承耦合,特殊类应该确实是对它的一般化类的一种具体化,也就是说,它们之间在逻辑上应该存在“

5、isa”的关系。5.强内聚内聚衡量一个模块内各个元素彼此结合的紧密程度。也可以把内聚定义为:设计中使用的一个构件内的各个元素,对完成一个定义明确的目的所做出的贡献程度。在设计时应该力求做到高内聚。在面向对象设计中存在下述3种内聚。(1)服务内聚一个服务应该完成一个且仅完成一个功能。(2)类内聚设计类的原则是,一个类应该只有一个用途,它的属性和服务应该是高内聚的。类的属性和服务应该全都是完成该类对象的任务所必需的,其中不包含无用的属性或服务。(3)一般/特殊内聚设计出的一般/特殊结构,应该符合多数人的概念,更

6、准确地说,这种结构应该是对相应的领域知识的正确抽取。6.可重用软件重用是提高软件开发生产率和目标系统质量的重要途径,重用基本上从设计阶段开始。重用有两方面的含义:一是尽量使用已有的类(包括开发环境提供的类库,及以往开发类似系统时创建的类),二是如果确实需要创建新类,则在设计这些新类的协议时,应该考虑将来的可重复使用性。8.1面向随想设计的准则8.2启发规则8.3系统分解8.4设计问题域子系统8.5设计人——机交互子系统8.6设计任务管理子系统8.7设计数据管理子系统8.8设计类中的服务8.9设计关联8.10

7、设计优化8.11面向对象分析与设计实例第八章:面向对象设计1.设计结果应该清晰易懂使设计结果清晰、易读、易懂,是提高软件可维护性和可重用性的重要措施。(1)用词一致应该使名字与它所代表的事物一致,而且应该尽量使用人们习惯的名字。不同类中相似服务的名字应该相同(2)使用已有的协议如果开发同一软件的其他设计人员已经建立了类的协议,或者在所使用的类库中已有相应的协议,则应该使用这些已有的协议。(3)减少消息模式的数目如果已有标准的消息协议,设计人员应该遵守这些协议。如果确需自己建立消息协议,则应该尽量减少消息模式

8、的数目。只要可能,就使消息具有一致的模式,以利于读者理解。(4)避免模糊的定义一个类的用途应该是有限的,而且通过类名应该可以较容易地推想出它的用途。2.一般/特殊结构的深度应适当应该使类等级中包含的层次数适当。一般来说,在一个中等规模(大约包含100个类)的系统中,类等级层次数应保持为7±2。不应该仅仅从方便编码的角度出发随意创建派生类,应该使一般/特殊结构与领域知识或常识保持一致。3.设计简单的类应该尽量设计小

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

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

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