论文部分内容阅读
本文选题结合国家教委博士点基金项目“人工智能基础理论研究”(98069923)。 软件开发中最困难的阶段是确定软件系统的目标。软件工程中传统的需求分析是依靠软件开发者对用户需求的理解和自身拥有的环境知识,得到一个确定的不可变化的需求规格。然而由于用户需求往往具有很强的环境依赖性和不确定性,确定的需求规格虽然有利于随后的分析设计,但不能真实地反映用户的实际需求和发展过程中需求的动态变化。为此人们提出了“需求工程”的概念,希望用系统的、工程化的方法来解决需求中的各种不确定性问题。可以看出,需求工程领域既是连接用户和软件工程师的桥梁,又是形式化方法与非形式化方法的有效结合。 将柔性逻辑和人工智能方法引入需求工程研究是非常必要和有现实意义的。其目的是当用户提出非形式化需求时,如何从实际情况出发,针对具体问题用工程化思想和形式化方法逐步归纳出问题的模型和规范,使其能包容各种主要不确定性。这是当前软件工程研究中的前沿课题和难点所在。 需求工程中的不确定性问题,实际上是讨论如何将用户需求合理地转化为系统目标的问题。需求工程中的不确定性主要有不精确性和不一致性,后者又分为静态不一致和动态不一致两种。传统的模糊逻辑和缺省逻辑不能动态地、完全地描述用户提出的各种不确定性需求。泛逻辑学是一种全方位的、柔性的和开放的逻辑学,可以为这两种不确定性提供更好的形式化基础。本文以泛逻辑学为理论基础,从广义模糊逻辑运算模型和变化的缺省理论两方面对需求工程中的不确定性进行了研究,建立了一套基于柔性的推理机制。围绕需求规格的生成和维护,还进行了缺省规则和领域映射等方面的讨论。主要研究成果和创新内容如下: 1、以泛逻辑学为理论基础处理不精确需求,建立了基于广义相关性的柔性框架,以此来描述不精确需求之间的关系: ① 用连续变化的运算模型簇来刻划不同情形下的与、或、非、蕴涵和等价等运算关系; ② 对需求规格的修正至少有两点不同于传统的信念修正,一是不一致需求之间可以相互妥协,用连续变化的平均算子簇来实现不同需求关系下的不同妥协;二是需求之间应当存在差别,即主体需求部分可作为知识(事实),另一部分可作为信念,根据领域经验知识设置阈值来完成两部分之间的动态转化。 2、提出变化驱动的需求原则。认为不一致需求是不可消除的,只能在不一致的、演化的环境下推理。本文将适应变化的缺省理论应用于需求工程领域,引入部分需求规格(需求模型),有助于避免平凡解,可得出局部有效但不一定必然正确的结论,这和人类用常识处理非全知世界所采用的方法很相近。 3、鉴于这类形式方法最大的难点是如何使不精确的需求假设空间更加合理,本文给出了一种利用环境映射知识确定背景知识的方法,不仅可以提供为人接受博士学位论文:需求工程中的不确定性研究 摘要 作者:王拥军的、符合常识的形式规格,而且实现了领域间的需求重用。 4、不完全知识的获取是适应非全息环境变化的关键。本文使用广义相似关系进行缺省知识挖掘,可以为缺省理论的表示和推理提供基本合乎当前“正常”情形的缺省规则。 5、针对面向对象的软件工程方法在大型软件开发中取得的巨大成功,本文给出一种考虑模糊性的对象表示,以具体完成需求模型的描述和推理,进行与流行00设计方法接口的尝试。 我们认为,在需求工程中存在不确定性不应看作是需求的缺陷。相反模糊性的存在为对立统一和矛盾转化提供了解释;不一致性可以提高团队开发中的共识,指出需求获取的方向及辅助验证系统的有效性。