结构推理 试述面向对象方法的开发过程是怎样的?
【正确答案】面向对象开发方法包括以下几个过程:
   (1)面向对象的分析。面向对象分析的目的是对客观世界的系统建立对象模型、动态模型、功能模型。在建立模型之前,设计者必须了解需求以及问题所处的环境,必须调查所有需求,分析所有需求的实质含义。在理解系统需求的基础上,按照上述建立模型的过程进行建模工作。建立模型的工作不是一次就可建好的,复杂问题的模型需要反复构造,先构造模型的子集,然后扩展到整个模型。
   (2)面向对象的设计。面向对象的设计是把分析阶段得到的分析模型,经过逐步扩充和完善,转变为设计模型。将分析模型的问题域的概念转变为设计模型的实现概念上来。
   面向对象的设计也可以细分为系统设计和对象设计。系统设计确定实现系统的策略和目标系统的高层结构,如人机界面的设计。数据管理的设计、软件控制的实现、系统的体系结构等。对象设计确定实现用到的类、关联的完整定义、接口形式及实现操作方法的算法,可以增加实现所必须的内部对象,对数据结构和算法进行优化。
   面向对象的设计所遵循的基本原理和启发规则与结构化设计方法类似,但是增加了一些面向对象的新特点。
   尽管面向对象分析和面向对象设计是两个阶段,但是在实际的软件开发中二者的界限是很模糊的,许多分析结果可以映射为设计结果,而在设计过程中又往往会加深和补充对系统需求的理解,从而进一步完善分析结果。因此,分析和设计是一个多次反复迭代的过程。
   (3)面向对象的实现。面向对象的实现包含两方面的工作,把面向对象的设计结果翻译成用某种程序设计语言书写的面向对象程序,然后进行测试并调试面向对象的程序。
   面向对象程序设计的质量基本上由面向对象的设计的质量决定。但是与程序设计语言的特点和程序设计风格有关系。
   软件测试仍然是保证软件可靠性的主要措施,但是面向对象的软件也给测试带来了一些新的特点和新问题,如继承性就给测试带来了困难,面向对象程序的执行与面向过程的程序的执行也大不相同,它是事件驱动的,对象彼此之间通过消息传递启动相应操作,但是对象并没有明显的规定用什么次序启动它的操作才是合法的。因此传统的测试方法也不再完全适用了。
【答案解析】