第12章 面向对象实现

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第12章面向对象实现

面向对象实现主要包括两项工作:(1)把面向对象设计结果翻译成用某种程序语言书写的面向对象程序;(2)测试并调试面向对象的程序。

[注]良好的支持面向对象软件开发的程序语言、数据库、开发工具和环境,以及强大的类库(包容类、关联类、接口类、GUI类等)是极其重要的基础设施。也许它们将从根本上改变“软件工程”的未来!

[注]GUI(Graphical User Interface,简称 GUI,图形用户界面,又称图形用户接口,是指采用图形方式显示的计算机操作用户界面。

12.1程序设计语言

12.1.1面向对象语言的优点

1. 一致的表示方法

2. 可重用性

3. 可维护性

2

软件工程导论(第五版) 12.1.2面向对象语言的技术特点

1. 支持类与对象概念的机制

2. 实现整体部分(即聚集)结构的机制

3. 实现一般特殊(即泛化)结构的机制

4. 实现性和服务的机制

5. 类型检查

6. 类库

7. 效率

8. 持久保存对象

9. 参数化类

10. 开发环境

12.1.3选择面向对象语言

1. 将来能否占主导地位

2. 可重用性

3. 类库和开发环境

4. 其他因素

软件工程导论(第五版) 3 12.2程序设计风格

12.2.1提高可重用性

1. 提高方法的内聚

2. 减小方法的规模

3. 保持方法的一致性

4. 把策略与实现分开

5. 全面覆盖

6. 尽量不使用全局信息

7. 利用继承机制

图12.1通过调用公用方法实现代码重用

图12.2通过因子分解实现代码重用

4

软件工程导论(第五版)

12.2.2提高可扩充性

1. 封装实现策略

2. 不要用一个方法遍历多条关联链

3. 避免使用多分支语句

4. 精心确定公有方法

12.2.3提高健壮性

健壮性是指在硬件故障、输入的数据无效或操作错误等意外环境下,系统能做出适当响应的程度。

1. 预防用户的操作错误

2. 检查参数的合法性

3. 不要预先确定限制条件

4. 先测试后优化

软件工程导论(第五版) 5 12.3测试策略

12.3.1面向对象的单元测试

12.3.2面向对象的集成测试

12.3.3面向对象的确认测试

12.4设计测试用例

目前,面向对象软件的“测试用例”的设计方法,还处于研究、发展阶段,一般来说面向对象测试关注的是“设计适当的操作序列”检查类的状态。

12.4.1测试类的方法

1. 随机测试

2. 划分测试

3. 基于故障的测试

6

软件工程导论(第五版)

12.4.2集成测试方法

图12.3银行系统的类协作图

1. 多类测试

2. 从动态模型导出测试用例

图12.4 account类的状态转换图

软件工程导论(第五版) 7 12.5小结

习题12

1. 面向对象实现应该选用哪种程序设计语言?为什么?

2. 面向对象程序设计语言主要有哪些技术特点?

3. 选择面向对象程序设计语言时主要应该考虑哪些因素?

4. 良好的面向对象程序设计风格主要有哪些准则?

5. 测试面向对象软件时,单元测试、集成测试和确认测试各有哪些新特点?

6. 测试面向对象软件时,主要有哪些设计单元测试用例的方法?

7. 测试面向对象软件时,主要有哪些设计集成测试用例的方法?

8. 测试面向对象软件时,主要有哪些设计确认测试用例的方法?

9. 试用C++语言实现(编程并测试)本书习题11第4题要求设计的定货系统。

相关文档
最新文档