论文部分内容阅读
软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。通过对问题及其环境的理解与分析,为问题涉及的信息、功能及系统行为建立模型,将用户需求精确化、完全化,最终形成需求规格说明,这一系列的活动即构成软件开发生命周期的需求分析阶段。需求工程是指应用已证实有效的技术、方法进行需求分析,确定客户需求,帮助分析人员理解问题并定义目标系统的所有外部特征的一门学科。它通过合适的工具和记号系统地描述待开发系统及其行为特征和相关约束,形成需求文档,并对用户不断变化的需求演进给予支持。软件需求工程是一门分析并记录软件需求的学科,它把系统需求分解成一些主要的子系统和任务,把这些子系统或任务分配给软件,并通过一系列重复的分析、设计、比较研究、原型开发过程把这些系统需求转换成软件的需求描述和一些性能参数。随着软件系统的发展,需求分析在软件设计中的地位变得越来越重要了。如何获取正确完整的需求规约是目前各种需求分析方法的重点。目前,现代软件工程中新兴出两种重要的需求分析方法:面向目标的需求工程方法和面向场景的需求工程方法,这两种方法都具有一些优点,同时也存在一些的缺点需要改进。面向目标的需求分析方法中目标的描述基于线性时序逻辑,广泛的将形式化方法应用于需求一致性和完整性的保证方面,具有严密性强的特点。但是面向目标的需求分析方法存在一个重要的难题就是很难正确的获取系统的初始目标。面向场景的需求分析方法主要采用时序图的方式对需求进行规约,时序图的描述方法使得需求分析人员很容易从片断行为把握系统,有利于系统初始目标的获取,但是由于时序图描述的是片断信息,因此需求的完整性和一致性通常很难保证。本文在总结面向目标的需求分析方法和面向场景的需求分析方法的优缺点的基础上,对两种方法进行整合,形成目标和场景相结合的需求分析方法,这个方法在总结、借鉴相关工作结果的基础上,克服了单纯的面向场景和面向目标方法中的一系列缺点,充分利用了它们的优点,保证了需求分析的完整性和一致性,同时提供了需求检查可视化的方法。本文的主要在以下方面进行了研究:场景描述工具时序图向操作目标的转换;时序图和目标集合等价的判定;目标求精方法上的研究;系统目标完整性的判定;目标分歧探测工作的简化;代理层次的划分;操作目标规则集;基于规则的层次式有穷状态自动机;需求分析的结果可视化;将目标障碍探索方法和冲突检测机制整合到目标和场景相结合的需求分析方法中,从而保证目标的完整性和一致性(目标的一致性和完整性得到保证,则场景的一致性和完整性也得到保证)。本文的研究结果如下:1.时序图向操作目标的推导算法以及时序图和操作目标集等价的定义和判定等价的判定定理。本文提出了一个时序图向操作目标的推导算法。算法从时序图中的操作出发,将时序图转化成描述操作和操作时序的目标集合,同时为了保证推导的正确性算法,本文从语义的角度出发,提出了时序图和目标集合等价的定义,以及在实践中可用来判定等价的判定定理,从而保证了时序图向操作目标的推导算法的正确性;2.谓词驱动的目标求精算法。本文在形式化求精的基础上,建立了谓词驱动的目标求精算法,使得由下至上的目标求精过程有可能借助计算机自动完成,稍作改进就可以用计算机来实现求精的自动化;同时根据对系统目标中可监控谓词集合的谓词分类,提出了一个保证系统目标完整性的判断方法;3.降低分歧探测工作的定理。本文将目标冲突的检测和处理机制引入到目标和场景相结合的需求工程方法中,使得需求的一致性得到了保证。同时,为了降低目标分歧探测工作的复杂度,在保证分歧探测工作正确性的基础上,本文提出了两个定理,来降低分歧检测算法的输入数据量,从而减轻了分歧探测工作的工作量;4.操作目标集合的模拟执行。本文分别为操作目标、代理、软件系统建立了规则集,并且为代理层次的划分,提供了理论依据,这样就使得目标描述的系统和基于规则的层次式有穷状态机结合起来,为需求分析结果的模拟执行打下基础;通过对规则的解释执行,实现了模拟执行的需求检查方法,该方法即可以检验需求的正确性,也为系统的分析和测试打下了基础。最后,本文以安全计算机为实例,依次对时序图向操作目标的转换过程、基于谓词的目标求精、目标的障碍分析以及目标的一致性分析等过程进行了讨论,得出了完整的、一致的系统目标规约,以此展示了本文所提出方法的有效性和可行性。