论文部分内容阅读
为了克服自然语言和程序设计语言描述规格说明产生的缺陷,人们提出了一种新的软件开发范型,其基本思想是对系统建立一个数学模型,研究和提供一种基于数学的或形式语义学的规格说明语言,用这种语言严格的描述所开发的软件功能,并由自动程序设计的加工模型来得到可执行的代码。在软件开发系统开发过程中,系统需求分析和规格说明非常重要。该阶段形成的过程说明文档既是软件开发人员和用户之间的规约,又是软件开发的起点。本课题以Z规格说明的自动求精为目的,提出了用STL中的不同容器表示Z规格说明数据类型的思想。结合C++语言的模板、重载技术和STL模板库对数据结构和通用算法的强大支持功能,提供了相应的函数模板。以Z规格说明中的序列和包为研究对象,利用C++及STL技术设计了序列和包各种操作的求精规则(这里采用STL中的deque容器表示Z规格说明中的序列,map容器表示Z规格说明中的包),并产生目标程序,即把Z规格说明转换为C++代码。主要工作是设计了Z规格说明的自动扫描器、解释器,定义了Z规格说明中的关键字和符号表,给出了对应规则,实现了序列和包的自动求精;给出了Z规格说明的正确性验证方式,提供了错误处理的手段,并举例说明规格说明的写法以及实现。最后提供了程序的实验结果。Z规格说明可以贯穿软件开发的整个过程,而在软件开发过程中都会先应用于需求分析阶段,本课题讨论的也就是这个阶段。由于求精过程不采用手工操作,避免了人工的误操作或演算错误导致的求精前后不一致,保证了系统的一致性和完整性。加快了程序软件开发的自动化和智能化的进程。