论文部分内容阅读
在软件工程中,一致的系统需求集合是软件项目成功的基础。需求改变是当今软件项目的常态,需求改变可能引起需求集合的定义模糊、集合元素冗余、集合不完整及集合含有不一致等问题,成为影响需求质量及软件质量的主要因素。一旦需求规格说明书建立,新的需求请求将可能会导致系统中出现需求不一致问题。通常来讲,融合新旧需求集合以完善系统的问题及消除需求合集中不一致的问题重要且亟需。将博弈论的理论思想移植到软件工程中,则软件需求变化引起的不一致冲突可以看作是请求需求改变者与原本需求制定者之间的利益冲突:双方都希望将自己的需求集合作为系统的需求合集,并希望需求的变化不产生不一致问题。因此,使用博弈论的策略及思想可以处理需求变化的不一致,得到一致的谈判结果。基于上述想法,本文的主要工作有:1、利用基于博弈论思想的分析方法,对软件工程中需求客户的实际需求和博弈论思想体系进行符号语言形式化,在形式化后的符号语言体系下,采用矩阵博弈的谈判规则,对纯策略的纳什均衡、混合策略的纳什均衡和选取谈判策略等过程进行计算,控制需求变化引起的谈判获得满意并最优的谈判结果。2、根据妥协退让思想,建立妥协退让算法,针对谈判双方可能出现的不一致,使用合理的退让规则逐步缩小问题域,通过消除每次退让中产生的不一致,达到消除谈判双方的不一致的结果。3、根据矩阵博弈谈判结果和妥协退让算法中的内容,建立一个基于博弈论思想的循环妥协谈判架构,该架构经过循环谈判将会消除系统中存在的不一致,得到一致的需求规格说明书。4、在一个实际的软件工程案例的基础上(居民小区门禁系统),首先给出其自然语言的需求规格说明书,其次将其转化为逻辑语言的需求规格说明书,再次使用本文提出的矩阵博弈谈判规则及妥协退让谈判算法处理需求间可能出现的不一致,最后将处理结果还原为自然语言的需求规格说明书。以此案例证明了本架构的可行性。5、设计并实现一个消除需求不一致的应用系统。首先将给定几组需求客户的需求作为基本数据输入到系统中;其次通过本文提出的架构进行运算,给出矩阵博弈谈判的结果及最后系统的输出结果;最后设计了实验将本文提出的架构与已经存在的两个典型架构进行了对比,分析了本文提出架构的有效性及优越性。本文通过对现有的管理需求变化的方法和常用的管理规则进行介绍,针对目前需求规格说明书中出现的需求不一致问题进行分析和讨论,提出了一个基于博弈论的循环妥协谈判架构。该架构引入了博弈论的相关谈判技术作为选择策略的规则及妥协退让思想作为消除不一致的基本算法,可以弥补传统选择策略在灵活性及正确性等问题上的不足,完善的消除系统中的需求不一致。最后通过对一个软件工程的实例运行结果进行相关的对比分析,证明了本架构的正确性及可行性。