【技术实现步骤摘要】
本专利技术涉及计算机
,特别涉及到一种在软件工程中检测需求冲突关系的方法。
技术介绍
软件工程是计算机
中非常重要的内容。在大型软件的开发中,软件工程的应用几乎无处不在。大型软件的开发成本极高,在开发软件系统之前,对其进行需求分析 是极其的重要。在需求分析阶段后做出的任何调整都可能会带来极高的成本。检测需求之间是否存在冲突是一项重要内容。所谓存在冲突是指需要之间的各种关系存在违反客观规律或者用户约束的矛盾,如描述系统组成的需求间存在层次分解关系,描述系统功能的需求间存在层次分解关系,描述功能到系统组成需求的分配关系,分配关系可能造成一个系统组成模块完成一项子功能而该模块的子模块完成该子功能的父功能,这种情况与一般客观规律或常识不相符。现有技术中检测和处理需求中的冲突的解决方法中,具有代表性的有4类。第I类采用经典逻辑或准经典逻辑作为需求表示形式,并利用定理证明技术解决需求冲突问题。第I类方法首先将需求描述为逻辑断言,描述细到能够刻画对象属性,然后采用定理证明技术进行需求冲突的检测,但是其实现要借助于定理证明器,检测过程可以自动进行,难点在于如何将需求转换为逻辑断言,不足之处是定理证明器效率一般较低。第2类采用状态变迁作为需求建模原则,并利用模型检验技术处理需求冲突。第2类方法将需求表示为状态变迁系统,通过检测系统状态变迁之间是否存在冲突,判断需求冲突问题,难点在于如何将需求无失真地转换为系统状态变迁,因此这种方法的效率也不闻。第3类以系统目标作为需求建模原则,并利用目标的语义模式和关于目标的启发式规则处理需求冲突。第3类方法将需求表示为系统的目标分解 ...
【技术保护点】
一种检测需求冲突关系的方法,其包括:建立需求数据库和需求关系数据库;根据冲突的类型,建立冲突关系矩阵;以及遍历所述冲突关系矩阵,检测需求冲突。
【技术特征摘要】
1.一种检测需求冲突关系的方法,其包括 建立需求数据库和需求关系数据库; 根据冲突的类型,建立冲突关系矩阵;以及 遍历所述冲突关系矩阵,检测需求冲突。2.根据权利要求I所述的方法,其中,所述建立需求数据库和需求关系数据库的步骤包括 将自然语言描述的需求规约文档转换为规则化描述的XML文档,将所述XML文档对应的数据存储到所述需求数据库和需求关系数据库中。3.根据权利要求2所述的方法,进一步包括针对所述规则化描述的XML文档,根据需求类型定义保留词{RequirementTypeDef}中提取信息,存入需求类型数据表RequirementType 中; 根据需求保留词{Requirement}提取文档中的所有该类型需求信息,并写入需求数据表 Requirement 中; 根据需求关系定义保留词{RequirementRelationDef}提取需求关系类型及相关数据,存入需求关系类型数据表RequirementRelationType中; 根据需求关系保留词{RequirementRelation}提取需求关系,并根据需求类型和需求关系类型将数据存入需求关系数据表RequirementRelation中; 根据需求映射关系保留词{RequirementMappingDef}提取需求映射类型及相关数据,存入需求映射类型数据表RequirementMappingType中;以及 根据需求映射保留词{RequirementMapping}提取需求映射信息,并根据需求映射及相关需求类型信息,将需求映射数据存入需求映射数据表RequirementMapping中。4.根据权利要求I所述的方法,其特征在于,所述的冲突关系矩阵采用二维数据链表。5.根据权利要求I所述的方法,其中,根据冲突的类型建立冲突关系矩阵,以及遍历所述冲突关系矩阵检测需求冲突的步骤包括 若所述需求类型中的两项需求之间存在双向相同的逻辑关系,则存在简单需求冲突;遍历所述存储器中所有的需求类型,进行简单需求冲突的检测;其中所述简单需求冲突包括直接简单需求冲突和间接简单需求冲突。6.根据权利要求5所述的方法,其中,针对直接简单需求冲突的检测和去除,具体的步骤包括 O调取数据库中的任务对象,任意选取一种类型的需求A,创建需求数据集合Table (A) J^Table(A)中的需求进行编号,记为 Table (A) = {&i | i=l,2,...,nA},其中 nA 为 A类型需求的数目; 2)从数据库中任意选择一种需求关系r,遍历需求类型A,建立Table(A, r);以及 3)根据Table(A, r)建立nAXnA的二维数据链表D (A, r),若Si到a」存在关系r,那么D(A, r)的第i行第j列的元素取值为1,否则取值为O ;ED(A,r)元素取值对应的矩阵为!) = (<1.(丨、Jl,:. ,根据 D (A, r)建立 nA X nA 的二维数据链表 DD (A, r),DD (A, r)的第 i 行第 j列的元素取值为ddr(i,j) = dr(i, j)Xdr(j, i),DD(A, r)即为所述冲突关系矩阵; 其中,遍历所述冲突关系矩阵,检测需求冲突的步骤包括 如果ddji,j) = 1,那么需求%和a]间存在关于关系r的直接简单需求冲突。7.根据权利要求5所述的方法,其中,针对间接简单需求冲突的检测和去除的步骤包括 O调取数据库中的任务对象,任意选取一种类型的需求A,创建需求数据集合Table (A),对 Table (A)中的需求进行编...
【专利技术属性】
技术研发人员:刘俊先,陈洪辉,罗爱民,罗雪山,
申请(专利权)人:中国人民解放军国防科学技术大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。