客户进行讨论,可以大大激发他们提供更为准确全面的需求。原来收集资料,描述业务,说明系统模型到了山穷水尽的时候,这种方法可以达到柳暗花明又一村的效果。在《微软项目:求生法则》的第8章“需求开发”中,从头到尾都是围绕着“使用者接口”(USER INTERFACE也可以翻译成“用户界面”)进行讨论,如“建立简单的使用者接口雏形”、“不断修订使用者接口雏型,直到使用者对软件感到兴趣盎然为止”、“完全扩展使用者接口”,同时还要“区分一份非使用者接口需求文件”,等等。因此,所谓需求就是“当你按下各种相关按钮(或输入各种相关命令)时系统做什么”,所谓设计就是“当你按下各种相关按钮(或输入各种相关命令)时系统怎么做”。虽然在英语中“接口”与“界面”实际是同一个单词,但“接口”的含义似乎比“界面”来得广泛,如功能之间的接口、与其他软件的接口、与其他硬件的接口等等。需求的最终目的实际上是完整准确地描述系统需要的各种接口或“界面”,及它们的相互关系或与外部环境的关系,如界面中的某个按钮按下去时,可能产生新的界面、新的按钮、或者调用其他软件硬件完成某些功能。自顶向下,把这些界面及涉及到的数据描述清楚,就是一份不错的需求。
4、与其他项目小组成员共同协作、持续完善系统需求
需求文档完成之后,并不是万事大吉,把它扔给后面的设计人员就了事了。作为项目干系人之内的项目组其他成员,对需求的有效性也起到某种程度的验证作用。虽然软件项目的生命周期按照各种开发模型有不同阶段的划分,但每个阶段的结束不是简单地把阶段工作成果塞给下一阶段的成员就可以了。特别是高科技的软件开发项目,上一阶段的工作成果往往要通过多次的沟通才能更为清晰地被下一阶段成员接受,其有效性、合理性也要被下一阶段的工作所检验,通过检验有时也有必要对上一阶段的工作结果进行相应的调整,需求更是如此。因此,无论是同一阶段不同人员之间,或是不同阶段人员之间都应根据需要相互协作,相互配合,共同完成软件开发任务。
参考文献:
《实用软件工程》第二版,郑人杰、殷人昆、陶永雷等著
《微软项目:求生法则》Steve McConnell著,余孟学译
《软件需求》Soren Lauesen著,刘晓晖译
《软件工程:实践者的研究方法》(第5版)Roger S.Pressman著
本文作者邮箱:luls@dragonsoft.com.cn,lulsnet@21cn.com
项目经理胜任力免费测评PMQ上线啦!快来测测你排多少名吧~
http://www.leadge.com/pmqhd/index.html