[发明专利]一种基于需求簇构建软件产品特征树模型的方法无效
申请号: | 201310019524.0 | 申请日: | 2013-01-18 |
公开(公告)号: | CN103092960A | 公开(公告)日: | 2013-05-08 |
发明(设计)人: | 俞东进;袁友伟;殷昱煜;李万清;穆海伦;邵建伟;耿鹏 | 申请(专利权)人: | 杭州电子科技大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F9/44 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 杜军 |
地址: | 310018 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 需求 构建 软件产品 特征 模型 方法 | ||
技术领域
本发明属于软件产品线工程领域,具体涉及到一种基于需求簇构建软件产品特征树模型的方法。
背景技术
特征是一个软件产品的特性,开发人员通过它来描述和区分软件产品线中的不同产品。特征表达的是高内聚的需求特性在逻辑上的模块化。特征模型通过记录领域内具有的一组相对稳定的特征以及特征之间的关系反映整个领域的软件需求,是描述领域中产品线共性特征和可变性特征以及特征之间关系的模型。传统的特征模型通常用分层的树状结构来表示,树状结构中有且仅有一个根节点,表示一个系统。树结构中的一个节点表示一个特征,通过特征名称来标识,叶子节点为原子特征,非叶子节点为组合特征。
通过构建软件产品的特征树模型识别领域需求中的共性和可变性,对于领域工程来讲至关重要。由于共性特征是领域内所有成员共有的特征,往往对应着可复用的设计和实现,是可复用资产库的来源,因而识别共性特征可以大大节约基于软件产品线的开发成本。
目前已经有多个方法用于构建特征模型。但是这些方法都存在一些不足。因为在特征建模时特征被看作是一系列关系紧密的需求组成,所以特征和对应的需求之间存在着联系,而现有的各种构建特征模型的方法都没有考虑这种联系,所以很难准确定义某个特征在具体应用中的职责范围。另一方面,传统的解决软件产品演化过程中出现不一致的方法首先比较复杂,其次大多是通过调整特征模型中变更特征与其它特征之间的关系来维护一致性,而没有考虑特征的变更同时对相应的需求的影响,所以难以确定如果需求发生变更会对哪些特征造成影响。
发明内容
本发明针对现有技术的不足,提出了一种基于需求簇构建软件产品特征树模型的方法。
本发明方法的具体步骤是:
步骤(1) 输入一个表示应用软件所有需求项以及需求项与需求项之间依赖关系的有向需求关系图,其中有向需求关系图的每个顶点表示一个需求项,边表示需求项与需求项的依赖关系,每种依赖关系按依赖强度从强到弱赋予从大到小的不同权值,按从小到大的顺序保存所有N种依赖关系权值至数组中,同时置空特征树;
步骤(2) 对应有向需求关系图中每个需求项创建一个新特征节点,置其于特征树的最底层,同时保存新特征节点和对应的需求项之间的特征-需求项映射关系;
步骤(3) 循环N次,每次在数组中从尾到头取一个权值作为阈值,将有向需求关系图中的每条边的权值和这个阈值进行比较,合并那些存在边连接并且边的权值大于等于这个阈值的需求项集合至一个需求簇,对应每个需求簇创建一个新特征节点,加入到已有特征树的上一层,同时保存新特征节点和对应的需求簇中的所有需求项之间的特征-需求项映射关系;
步骤(4) 从低层到高层遍历已有特征树所有层的特征节点,依次进行①分解判断、②相似判断和③排斥判断;
操作①具体为:如果多个特征节点所对应的需求项之间存在分解关系,即某个特征节点f对应的需求项可精化为其他若干个特征节点对应的需求项,则将这些特征节点组成一个“与特征组”,其中特征节点f作为这个“与特征组”的父特征节点;
操作②具体为:如果多个特征节点对应的需求项之间存在相似关系,那么为这些特征节点创建一个父特征节点,并将该父特征节点和对应的这些特征节点(称为子特征节点)组成一个“或特征组”,同时保存父特征节点和子特征节点对应的需求项之间的特征-需求项映射关系;
操作③具体为:如果多个特征节点对应的需求项之间存在排斥关系,那么为这些特征节点创建一个父特征节点,并将该父特征节点和对应的这些特征节点(称为子特征节点)组成一个“多选一特征组”,同时保存父特征节点和子特征节点对应的需求项之间的特征-需求项映射关系;
步骤(5) 重复步骤(4),直至没有新的“与特征组”、“或特征组”和“多选一特征组”生成;
步骤(6) 在特征树中增加一个代表软件产品整体特征的根节点,以该根节点为父特征节点,连接特征树中的各个顶端特征节点组成一个“与特征组”;
步骤(7) 输出最终的特征树,其即为表示软件产品的特征树模型。
本发明所提供的基于需求簇构建软件产品特征树模型的方法由一组功能模块组成,它们包括:软件产品有向需求关系图输入模块、原始特征模型树生成模块、特征模型树完善模块和特征模型树输出模块。
软件产品有向需求关系图输入模块读入软件产品需求项的组成信息,生成软件产品有向需求关系图,同时设置表征需求项之间的依赖强度的关系权值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州电子科技大学,未经杭州电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310019524.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种污泥破碎热解资源化利用的装置
- 下一篇:一种生活垃圾处理气体再利用系统