欢迎来到天天文库
浏览记录
ID:11247597
大小:399.00 KB
页数:112页
时间:2018-07-11
《面向对象设计方法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第六章面向对象设计方法面向对象设计概述系统设计对象设计领域对象设计面向对象设计概述与传统的结构化设计相比:相同点:将需求分析模型转变为软件设计模型不同点:OOA和OOD之间没有明显界限OOA和OOD都是迭代过程开发过程模型瀑布式分析设计编程开发过程模型螺旋式分析,原型开发,风险管理设计,原型开发,风险管理编程,原型开发,风险管理开发过程模型增量式少量的分析少量的设计重复面向对象设计的步骤面向对象设计过程的步骤1.系统设计系统整体结构的设计2.对象设计对OOA模型中类/对象模型的具体化和细化3.消息设计从对象——关系模
2、型,设计出消息模型4.设计模型复审结构化方法中软件设计的基本原理在进行面向对象设计时仍然成立,但是增加了一些与面向对象方法密切相关的新特点,从而具体化为面向对象设计准则。OOD遵循的原则OOD遵循的原则(一)模块化对象就是模块,把数据和方法结合在一起(二)抽象过程抽象数据抽象参数化抽象(某些PDL)OOD遵循的原则(一)模块化对象就是模块,把数据和方法结合在一起(二)抽象过程抽象数据抽象参数化抽象(某些PDL)OOD遵循的原则(三)信息隐藏通过对象的封装性实现(四)弱耦合降低交互耦合提高继承耦合信息隐藏的实例信息隐藏
3、的实例OOD遵循的原则(五)强内聚服务内聚类内聚一般-特殊内聚(六)可重用尽量使用已有的类创建新类时,考虑将来的可重用性(一)模块化面向对象软件开发模式,很自然地支持了把系统分解成模块的设计原理:类就是模块。它是把数据结构和对数据的操作紧密地结合在一起所构成的模块。面向对象设计的的原则详解(二)抽象面向对象方法不仅支持过程抽象,而且支持数据抽象。类实际上是一种抽象数据类型,它对外开放的公共接口构成了类的规格说明(即协议),这种接口规定了外界可以使用的合法操作符,利用这些操作符可以对类实例中包含的数据进行操作。使用者无
4、须知道这些操作符的实现算法和类中数据元素的具体表示方法,就可以通过这些操作符使用类中定义的数据。通常把这类抽象称为规格说明抽象。(三)信息隐藏在面向对象方法中,信息隐藏通过对象的封装来实现。对于用户来说,类中的属性的表示方法和操作的实现算法都应该是隐藏的。(四)弱耦合结构化方法中耦合是指在系统中的各个模块之间的相互连接或相互依赖的强度。在面向对象方法中,耦合主要指不同对象之间通过消息相互关联的紧密程度。应该遵守下列准则使这种耦合尽量松散:1.尽量降低消息连接的复杂程度。应该尽量减少消息中包含的参数个数,降低参数的复杂
5、程度。2.减少对象发送(或接收)的消息数。(五)强内聚内聚用于描述系统内组成部分中各元素彼此结合的紧密程度,应尽量避免低内聚。在面向对象设计中,从三个层次来考察内聚性。1.单个方法的内聚性:方法是指操作的实现过程,一个操作由一个或多个方法实现。对方法的内聚性的评价与结构化设计中的相同,具有高内聚的方法应当只执行一个功能。2.类的内聚性:设计类的原则是,一个类应该只有一个用途,类中的属性和操作应该全都是完成该类的任务所必需的,其中不包括无用的属性和操作。如果某个类有多个用途,通常应该把它分解成多个专用的类。3.层次结构
6、的内聚性:对象之间通过继承关系而构成的层次结构,特殊类应该确实是对它的一般化类的一种具体化。如果一个派生类摒弃了它基类的许多属性和服务,那就是一个低内聚的。(六)可重用软件重用是提高软件开发生产率和目标系统质量的重要途径。重用基本上从设计开始。重用有两方面的含义:一是尽量使用已有的类(包括开发环境提供的类库,以及以往开发类似系统是创建的类);二是如果确实需要创建新类,则在设计这些新类的协议时,应该考虑将来的可重复使用性。用例对象-关系模型CRC索引卡片属性、子系统设计类及对象设计消息设计责任设计分析模型设计模型操作、
7、协作者对象-行为模型将OO分析模型转换为OO设计模型OOD的四个层次:子系统层:包含每个子系统的表示类和对象层:包含类层次和每个对象的设计表示消息层:包含使得每个对象能够和其协作者通信的细节,建立系统的外部和内部接口责任层:包含针对每个对象的所有属性和操作的数据结构和算法的设计用例图类图交互图状态图方法描述:ifAthenCalculateSalesTaxCalculateTotalAmountEndif设计带方法的类图由OO分析模型转换到OO设计模型包图系统内部保险单包图示例客户保险单填写界面数据库界面(abstr
8、act)Oracle界面Sybase界面客户支持系统客户维护子系统包图示例库存管理子系统订单输入子系统目录维护子系统订单执行子系统客户支持系统包括设计类的包图示例客户维护子系统订单输入子系统目录维护子系统订单执行子系统客户目录包订单条目订单交易订单退货条目发运人运输Fichman和Kemerer提出的10种设计建模成分模块层次的表示数据定义规约
此文档下载收益归作者所有