论文基于模型检验需求不一致讨论与消解基于模型检验的需求不一致与冲突消解的讨论摘要随着软件规模的增大,软件需求分析也变的越来越重要,使用目前的一些建模和分析方法有一定的效果,但在理论和实践方面还存在着描述的需求不一致、变更困难等问题,本文针对这些问题进行了以下讨论: 为了发现需求描述中的不一致问题,首先使用自然语言对需求描述进行相似度计算,为模型检验提供定位策略。然后,通过对自然语言的分解提取,形成自动机模型,自动机模型和属性规约同时交由模型检验工具进行验证,最后,由模型检验工具得出与属性规约一致或者不一致的地方。为了对发现的需求冲突进行消解,首先对不同的需求进行分类,分成功能性需求和非功能性需求,对用功能性需求采纳需求关联度的方法进行消解,对于非功能性需求采纳代价权衡策略进行冲突消解。最后通过一个样例说明了提出方法的可靠性,因此,本文在提高软件需求质量方面有一定的理论意义和应用价值。人们对软件质量的要求越来越高,需求工程这一软件工程的一个重要分支便应运而生。需求工程着重于讨论利用有效的技术,工程化的方法进行描述分析,需求工程的最终目的是通过一系列的科学有效的方法猎取高质量的软件需求[2],一般意义上的软件工程包含需求开发和需求管理两个部分。其中,需求开发又包含需求猎取、需求分析与建模、编写软件规格说明、需求验证。需求管理包含需求跟踪和需求变更控制等。在整个软件开发的生命周期中,软件需求的猎取和分析是十分重要的部分也是首要解决的问题。软件需求是指用户解决问题或达到目标所需条件或权能,是反应系统或系统部件要满足的合同、标准、规模或其他正式规定文档所需具有的条件或权能的文档说明。它一般包括功能性需求及非功能性需求[3]。综上,软件需求应是以一种清楚、简明、一致且无二义性的方式对一个待开发系统中的各个方面进行描述的集合。在软件开发中,尽管软件设计和实现过程的错误会导致软件项目的失败,但当软件需求与分析存在缺陷时,则无论设计和实现过程如何,软件都必定存在错误,只有当猎取分析并形成正确无二义性的需求时,才更有可能使得软件项目成功。在软件需求分析阶段,由于涉众复杂,需求变更频繁,系统复杂度不断提高,导致需求分析变的越来越困难。其中,需求的不一致的存在会导致软件系统的混乱甚至是错误。在许多复杂的软件系统中都会大概率地出现需求不一致。一般来说出现需求不一致的原因可以归纳为两点:一是在需...