软件需求复用,对于一个组织来说,具有莫大的好处。要开发一个新的软件项目,如果能够复用软件的需求,并且紧随其后地复用软件的设计、编码和测试,那么开发的工作就要简单许多。
可是说起来简单,做起来并不容易。
当你面临一个新的软件开发需求,怎么找到可重用的需求,就是一个问题。即便组织已经把历史项目的数据保留的很完整,但是,面对一个浩如烟海的过程数据库,你也不可能通过翻阅一篇又一篇的需求文档,来找到可重用的需求。
要解决这个问题,我们是不是应该建立一个需求复用库?
在这个需求复用库中,每项需求不仅和他所对应的软件项目、软件配置项、软件需求文档相关联,而且还要进行更细化的分类,以支持分类搜索。比如把需求划分为功能需求,性能需求,接口需求……;对于接口需求,我们把它再次细分成串口接口需求、 络接口需求、文件接口需求……,对于 络接口需求再细分成,支持某某协议的 络接口需求。
这样我们如果要查找一个可复用的需求时,就可以通过先定位软件项目和软件配置项,再定位需求一级分类(功能需求或接口需求),再定位需求的二级分类、三级分类,逐步精确定位到可复用的需求。
对于需求复用库的搜索功能,既可以支持按软件需求类别的搜索,也可以支持需求关键字的搜索。
这样我们就能够解决需求复用的第一个问题——找到可复用的需求。但这只是我们进行需求复用的第一步,接下来要看这些可复用的需求能够给我们带来什么样的帮助:是能够无需任何更改的全部复用,还是需要少量更改的复用,还是需要推翻原有的需求描述重新编写。
这取决于需求复用库中的可复用的需求是否通过组织的评审,满足组织的需求分析规范,需求描述准确、清楚、无歧义。这就要求纳入需求复用库的可复用需求都是经过专家评审认可的。这样的可复用需求才能给我们最大帮助,我们获取到可复用需求之后基本不需要修改就可以直接使用。反之,如果进入需求复用库的可复用需求定义不清楚,那么在需求复用库里找到它也不能给我们什么帮助。
接下来我们希望获取到的可复用需求可以给我们更多的帮助——进一步获取这个可复用需求的详细设计、实现的代码、测试用例,以及是否有可复用的构件等等内容。
而要获取到这些内容首先就需要组织有一个强大的过程数据库。这样,我们就可以通过可复用的需求,通过需求跟踪矩阵,来获取这项可复用需求的设计、实现、测试的有关内容,进而实现设计复用、代码复用、构件复用、测试复用。而且更好的方式,是不是可以在需求复用库中建立对这些内容的链接关系,找到了可复用需求的同时也就找到了这些内容,那样我们就可以在需求复用库中来解决这个问题。
总之,以软件需求复用为牵引,带动整个软件的设计复用、代码复用、构件复用和测试用例复用等活动,使得整个软件工程的复用实践有机地串联在一起,这对于提高软件的开发效率和软件的质量,都会大有帮助。
微信赞赏专用通道
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!