《软件工程导论》PPT课件-第12章-面向对象的设计与实现.ppt
《《软件工程导论》PPT课件-第12章-面向对象的设计与实现.ppt》由会员分享,可在线阅读,更多相关《《软件工程导论》PPT课件-第12章-面向对象的设计与实现.ppt(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件工程导论 第12章 面向对象的设计与实现 12.1 面向对象设计准则 12.2 面向对象启发规则 12.3 面向对象的实现 12.4 面向对象的软件测试12.1 面向对象设计准则(1 1)模块化。)模块化。在面向对象软件开发模式中,对象就是把数据结构和操作这些数据的方法紧密地结合在一起所构成的模块。(2 2)抽象。)抽象。面向对象方法支持过程抽象及数据抽象,还支持参数化抽象。(3 3)信息隐藏。)信息隐藏。类结构分离了接口与实现,从而支持了信息隐藏。(4 4)弱耦合。)弱耦合。耦合主要指不同对象之间相互关联的紧密程度。一般来说,对象之间的耦合可分为两大类。交互耦合。对象之间的耦合通过消息连
2、接来实现。设计类接口时可尽量降低消息连接的复杂程度、减少对象发送的消息数都可以使交互耦合尽可能松散。继承耦合。通过集成关系结合起来的基类和派生类,构成了系统中粒度更大的模块,这种耦合程度越紧密越好。(5 5)强内聚。)强内聚。设计中使用的一个构件内的各个元素,对完成一个定义明确的目的所做出的贡献程度。在面向对象设计中存在下述3种内聚:服务内聚。一个服务仅完成一个功能。类内聚。一个类有一个用途,它的属性和服务是高内聚的,都是完成该类对象的任务所必需的。如果某个类有多个用途,通常应将其分解成多个专用的类。一般特殊内聚。设计一般特殊结构,这种结构是对相应领域知识的正确抽取。(6 6)可重用。)可重用
3、。重用有两方面的含义:一是尽量使用已有的类;二是如果确实需要创建新类,则在设计这些新类的协议时,应该考虑将来的可重复使用性。软件成分的重用类别有:代码重用;分析结果重用;设计结果重用。12.1 面向对象设计准则12.2 面向对象设计启发规则(1 1)设计结构应清晰易懂。)设计结构应清晰易懂。(2 2)一般)一般特殊结构的深度应适当。特殊结构的深度应适当。(3 3)设计简单的类。)设计简单的类。(4 4)使用简单的协议。)使用简单的协议。(5 5)使用简单的服务。)使用简单的服务。(6 6)把设计变动减至最小。)把设计变动减至最小。12.3 面向对象的实现12.3.1 12.3.1 面向对象语言
4、面向对象语言12.3.2 12.3.2 程序设计风格程序设计风格12.3.3 12.3.3 从设计产品到代码从设计产品到代码12.3.1 面向对象语言(1 1)面向对象语言的优点面向对象语言的优点 选择编程语言的关键因素,是语言的一致的表达能力、可重用性及可维护性。从面向对象观点看,能够更完整、更准确地表达问题域语义的面向对象语言的语法是非常重要的,因为这会带来下述几个优点:一致的表示方法。一致的表示方法。有利于在软件开发过程中始终使用统一的概念,也有利于维护人员理解软件的各种配置成分。可重用性。可重用性。在OOA、OOD和OOP中显式地表示问题域语义,利于其分析设计结果的重用。可维护性。可维
5、护性。使用面向对象的程序设计语言可以更好地表达问题域语义,进行软件维护时可助于维护人员对软件理解。12.3.1 面向对象语言(2 2)面向对象语言的技术特点面向对象语言的技术特点 -支持类与对象概念的机制。-实现整体-部分(即聚集或组合)结构的机制。-实现一般-特殊(即泛化)结构的机制。-实现属性和服务的机制。-类型检查。-提供实用的类库。-语言效率高。-持久保存对象。-提供参数化类的机制。-完善的开发环境。12.3.1 面向对象语言(3 3)面向对象语言的选择面向对象语言的选择 -将来能否占主导地位。-可重用性好。-类库和开发环境。-其他因素。如开发工具、开发平台、发行平台,以及对机器性能和
6、内存的需求,集成已有软件的容易程度等。良好的程序设计风格对保证程序质量的重要性,它对面向对象实现来说尤其重要,不仅能明显减少维护或扩充的开销,而且有助于在新项目中重用已有的程序代码。良好的面向对象程序设计风格,既包括传统的程序设计风格准则,也包括为适应面向对象方法所特有的概念而必须遵循的一些新准则。12.3.2 程序设计风格 1.1.提高可重用性提高可重用性 2.2.提高可扩充性提高可扩充性 提高方法的内聚;把接口与实现分离;减小方法的规模;避免使用多分支语句;保持方法的一致性;精心确定公有方法。全面覆盖输入条件;利用继承机制。3.3.提高健壮性提高健壮性 预防用户的错误操作;检查参数的合法性
7、;不要预先确定限制条件;先测试后优化12.3.2 程序设计风格 这个过程是由OOA、OOD阶段生成的成果向OOP转换的重要过程。12.3.3 从设计产品到代码 1.将类图映射为代码(1)单个类映射为代码12.3.3 从设计产品到代码 Class SampleClassprivate int privateAttribute;protected double protectedAttribute;private long packageAttribute;public Boolean publicAttribute;public Boolean publicMethod(int paramete
8、r1)private float privateMethod(byte parameter1,float parameter2)protected double protectedMethod()public void packageMethod(short parameter1)SampleClass(2)包映射为路径 包的名称是存放包中所含类的路径。要想使用包中的类,需要将包的父目录的路径添加到CLASSPATH(Java运行时的一个环境变量)中。12.3.3 从设计产品到代码(3)继承机制的映射类继承抽象类或具体类。类继承接口。12.3.3 从设计产品到代码(4)类间关联关系的映射实现一
9、对一关联关系。实现一对多关联关系。12.3.3 从设计产品到代码(4)类间关联关系的映射映射受限关联。实现一对多关联关系。-如果关联关系没有额外的属性,可以在每一方都使用向量或者散列表。-如果关联关系还有其他属性,那么对于关联关系的每个属性,关联对象之间的每条链接都有单独的值。需要单独的关联关系类来存放对象间的链接。关联关系类还可以用来存放关联关系的额外属性。12.3.3 从设计产品到代码(4)类间关联关系的映射 映射聚合和组合关系。应用“一对多”关联关系实现聚合关系和组合关系。12.3.3 从设计产品到代码 2.活动图映射为代码 将活动图元素转换成程序代码的一般规则:(1)活动状态。将它转换
10、成动作语句,如方法调用语句或计算性语句。(2)条件分支。将它转换成if-then-else语句。(3)并发分支。将每个控制流分配一个线程。(4)循环。将活动图中的循环转换成while循环语句。12.3.3 从设计产品到代码 3.状态图映射为代码非主动对象构成的状态图转换成代码的原则如下:(1)将状态图映射为一个类。(2)将消息映射为类的属性。(3)将事件映射为一个方法,并将状态转换的条件和动作都映射到该方法中。(4)对于具有顺序子状态的组合状态来说,有必要创建一个嵌套类用来实现这些顺序子状态。父状态机可以调用嵌套类的方法来处理嵌套状态图内部的状态转换。(5)对于具有并发子状态的组合状态来说,可
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程导论 软件工程 导论 PPT 课件 12 面向 对象 设计 实现
限制150内