软件需求与天女散花

    花恋花儿,花非花儿,钎云流转,花颠花儿花非花……,许多年轻的朋友也许对这首《天女散花》的歌曲不陌生,但有谁把它与软件开发中的需求规格联系起来呢?在多年以前,我遇到这样一件事,当时我给学习软件测试的学生讲授怎样研读软件需求规格说明书,以及怎样从软件需求规格说明书中提取测试需求时,有位女生向我提出这样一个问题,“老师,软件的需求是否象天女散花一样散布在整个软件需求规格说明书中”,很显然,学生理解了我讲授的研读需求规格说明书首先是要通读全文,其次是需要把散布在软件需求规格说明书中的功能点联系起来,这样才能看出整个系统的脉络,才能知道用户要的是一个怎样的软件,通过验证什么才能知道用户的这个需求是否实现了。
    花恋花儿:说明软件功能点之间存在依赖、继承关系,就像花季的朋友有自己的恋人、父母一样;花非花儿:对于一个软件功能点来讲,在合同需求、业务需求、用户需求、功能需求、性能需求中描述都不相同,从不同的抽象层次和不同的方位来看,它们的长相是不一样,但都是描述这个功能点的需求。年轻的朋友不妨对自己意中人做个不同层次的抽象或不同方位的观察,就会有一个惊人的发现,原来明星、教授、伟人就在你身边;钎云流转:软件的这些功能点与开发平台、运行环境有很大的关系,所以软件规格说明书需要对这方面问题加以约束,就像人会随着时间的推移和环境的变化发生改变一样;花颠花儿花非花:环境变了,语境变了,上下文变了,软件的功能点就会发生变化,变得面目全非,变得让你不认识。
    现在,软件的需求越来越复杂,据说制造一架飞机的需求打印出来有一米高,需求功能点之间的联系非常紧密,一颗螺丝钉的质量与整个飞机系统的安全有关,在这种情况下,要想通读需求规格说明书是非常困难的,进一步再从需求规格说明书中凭记忆找到该功能点所涉及的方方面面依赖关系,几乎是一件不可能完成的任务。有没有解决这个问题的好办法呢?
    回答是肯定的,哪就是结构化需求管理工具,就象我们做mis开发用数据库管理业务信息一样管理需求。有以文档为中心的工具,有以数据库为中心工具,也有两者都兼顾的工具,IBM的doors系统为这类国外产品的典型代表,它主要为航天、国防等超大型企业使用,价格非常昂贵,国内软件开发以中小型企业居多,项目也以中小型项目为主,很难有大把的银子购买适应于超大型企业开发的产品,寻找一款适合国内中小型企业,价格便宜的需求管理工具,便是情理之中的事情。
    西安楚凡科技公司在去年推出的一款叫bacon的软件,能够满足这方面的要求,该公司原来是做uml建模工具的,本次推出的bacon软件可以和UML需求分析工具紧密结合,使需求分析建模和需求管理实现高度统一,有好东西不要忘了告诉大家一声,下图是笔者在使用时的一个截图,在需求方面和我有同样困惑的同仁不妨试试。

posted on 2011-08-04 16:14  trufun1006  阅读(139)  评论(0编辑  收藏  举报