论文部分内容阅读
随着计算机硬件水平的快速发展,计算机软件的应用范围不断增加,软件项目的规模也越来越大,“软件危机”随之爆发,“软件工程”的概念被提出来。随着软件工程的不断发展,作为软件生命周期第一阶段的“需求分析”的重要性越来越得到人们的认可,后“需求工程”作为软件工程的子领域被单独提出。在实践中,需求涉及的各行业的领域知识往往不尽相同,这需要需求分析人员与相关领域专家共同确定,如何准确、有效地给出需求的定义面临巨大挑战。与此同时,需求自身固有的不确定性,也加大了需求的定义与管理成本,因此一个有效的需求描述方法及相应的需求验证策略对于软件项目的成败至关重要。本文由此提出一种基于本体和逻辑双重表示的需求描述方法,并提出相应的需求不一致检测及处理方法,最后设计实现了相应的支持工具,并将其应用于一个电梯控制系统实例,说明了本文方法的有效性与支持工具的实用性。主要有以下工作:针对本体的知识表示与共享能力,提出采用本体描述领域中实体层次关系、实例关联关系相关的静态知识,便于需求分析人员与用户之间就需求快速达成基本共识,从而快速开发产品原型;针对逻辑的状态变迁、条件触发表示能力,提出采用逻辑来描述领域中的状态、条件相关的动态知识,便于在本体的基础上扩展本文描述方法的描述能力。两者互为补充,共同完成需求描述。给出相应的需求不一致检测与处理算法,算法通过对需求逻辑进行优先级等价类划分,并计算各需求、需求等价类的解释集,以优先满足高优先级等价类为准则,找出低优先级等价类中引发不一致的需求。针对不一致检测过程中算法的执行场景,总结出三种不一致情形,并根据各情形的特点给出了相应的处理方法。在此基础上设计并实现了相应的支持工具。使用Protégé本体编辑器可以将编辑完成的本体导出为OWL文档,通过Jena本体API对OWL文档进行程序操作,从而实现对本体需求中不一致的检测。本文逻辑工具实现了需求项目原始需求文本、需求标号、需求逻辑等价类等信息的保存,便于需求项目的修改与移植;实现了本文不一致检测算法,通过对用户所输入的三个优先级等价类需求逻辑的分析与计算,可以在检测结果中说明所属不一致情形以及相应的处理方案供需求分析人员参考。最后将本文支持工具应用于一个电梯控制系统实例,通过人工计算对支持工具的检测结果进行了验证,说明了本文方法的有效性与支持工具的实用性。