1
面向对象软件工程实践指南
1.2.2.3 2.3 面向对象软件开发流程
2.3 面向对象软件开发流程

面向对象软件开发过程可以划分为阶段(stages)。每个阶段又包含许多任务(tasks),每一个任务可以进一步分解为子任务(sub-tasks)。图2-1说明了面向对象软件开发过程的组织模式。

图2-1 面向对象软件开发流程的组织模式

面向对象软件开发过程通常包含以下阶段:

(1)计划阶段,也称为可行性与计划研究阶段,是软件开发的第一个阶段。在此阶段内,需要确定项目的总体目标和范围,进行可行性分析、制订开发计划、考虑风险,并完成相应文件的编制。

(2)需求定义阶段。此阶段的任务就是获取正确的需求,并通过规范的方式进行需求的表达。在面向对象方法学中,该阶段除了获取需求外,也应该获取领域概念,作为对象识别的依据。

(3)分析阶段。通过分析阶段,开发者对需求有了自己的理解,一方面对需求的正确性、全面性、可行性进行检验,另一方面,建立需求与软件设计之间的桥梁,从而使得后续阶段中软件开发工作能够顺利开展。因此,分析阶段依旧是围绕需求展开的,并不涉及软件设计的细节。

(4)设计阶段。在设计阶段,运用面向对象方法,对类的定义进行细化,并将类组织成组件、子系统。

(5)构造阶段。在设计完成后,构造阶段是根据设计模型“生产”软件系统的过程。在这个阶段,关注的重点是如何高效、高质量地把软件代码编写完成。我们需要确定开发环境、制订编码规范,并按照计划协调各个团队开展工作。

(6)测试阶段。在实际软件开发项目中,软件测试是一个不可缺少的环节,它通过将实际输出与预期输出进行审核或者比较,来揭示软件中存在的缺陷,以便开发者进行改进。由于不可能执行所有的情况,因此通过设计一些测试用例希望它们能够尽可能多地揭露软件中存在的缺陷。同时,由于测试的时间和费用有限,我们也需要认真规划测试过程,使测试达到的效果最好。

(7)交付阶段。经过努力开发完成软件后,整个项目并非结束了。开发出来的软件必须使得用户满意才意味着项目的成功。因此,交付阶段就是使用户能够满意地应用上软件的过程。

(8)总结阶段。在一个软件成功交付后,除了按照约定提供维护服务外,还需要对这个软件项目进行总结,以分析此软件项目过程中成功的经验、失败的教训,这样才可以不断提高软件开发项目的实施水平。