文档介绍:第12章面向对象实现
程序设计语言
程序设计风格
测试策略
设计测试用例
面向对象实现主要包括两项工作:
把面向对象设计结果翻译成用某种程序语言书写的面向对象程序;
测试并调试面向对象的程序。
面向对象测试的目标,也是用尽可能低的测试成本发现尽可能多的软件错误。
面向对象程序中特有的封装、继承和多态等机制,也给面向对象测试带来一些新特点,增加了测试和调试的难度。
必须在实践中努力探索适合于面向对象软件的更有效的测试方法。
面向对象设计的结果既可以用面向对象语言、也可以用非面向对象语言实现。
程序设计语言 面向对象语言的优点
选择编程语言的关键因素,是语言的一致的表达能力、可重用性及可维护性。
从面向对象观点看来,能够更完整、更准确地表达问题域语义的面向对象语言的语法是非常重要的,因为这会带来下述几个重要优点:
1. 一致的表示方法
面向对象开发基于不随时间变化的、一致的表示方法。
表示方法应该从问题域到OOA,从OOA到OOD,最后从OOD到面向对象编程(OOP),始终稳定不变。
一致的表示方法既有利于在软件开发过程中始终使用统一的概念,也有利于维护人员理解软件的各种配置成分。
2. 可重用性
为了能带来可观的商业利益,必须在更广泛的范围中运用重用机制,而不是仅仅在程序设计这个层次上进行重用。
在OOA,OOD直到OOP中都显式地表示问题域语义,其意义是十分深远的。
随着时间的推移,软件开发组织既可能重用它在某个问题域内的OOA结果,也可能重用相应的OOD和OOP结果。
3. 可维护性
尽管人们反复强调保持文档与源程序一致的必要性,但是,在实际工作中很难做到交付两类不同的文档,并使它们保持彼此完全一致。
特别是考虑到进度、预算、能力和人员等限制因素时,做到两类文档完全一致几乎是不可能的。因此,维护人员最终面对的往往只有源程序本身。
两大类面向对象语言。
一类是纯面向对象语言,如Smalltalk和Eiffel等语言,着重支持面向对象方法研究和快速原型的实现.
另一类是混合型面向对象语言,也就是在过程语言的基础上增加面向对象机制,如C++等语言,着重提高运行速度和使传统程序员容易接受面向对象思想。
面向对象语言的技术特点
1. 支持类与对象概念的机制
允许用户动态创建对象,并且可以用指针引用动态创建的对象。
系统必须处理内存管理问题,如果不及时释放不再需要的对象所占用的内存,动态存储分配就有可能耗尽内存。
选择面向对象语言时应该着重考察的一些技术特点: