1.2 问题的定义

问题定义阶段必须解决的问题是:你要解决的问题是什么?

如果不知道问题是什么就试图解决这个问题,显然是盲目的,最终得出的结果很可能是毫无意义的。尽管确切地定义问题的必要性是十分明显的,但是在实践中它却可能是最容易被忽视的一个步骤。

通过问题定义阶段的工作,软件开发者应该提出关于问题的背景、性质、开发现状、项目的目标及规模的书面报告。通过对系统的实际用户和使用部门负责人的访问调查,软件开发者扼要地写出他对问题的理解,并和最终用户及使用部门负责人认真讨论这份书面报告,澄清含糊不清的地方,改正理解不正确的地方,最后得出一份双方都满意的文档。

问题定义阶段是软件生存周期中最简短的阶段,一般只需要一天甚至更少的时间。