CN1253343A - 将设计信息扩展到软件产品中的方法和装置 - Google Patents
将设计信息扩展到软件产品中的方法和装置 Download PDFInfo
- Publication number
- CN1253343A CN1253343A CN99123167.8A CN99123167A CN1253343A CN 1253343 A CN1253343 A CN 1253343A CN 99123167 A CN99123167 A CN 99123167A CN 1253343 A CN1253343 A CN 1253343A
- Authority
- CN
- China
- Prior art keywords
- information
- database
- design
- template
- sample
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 39
- 238000009434 installation Methods 0.000 title 1
- 238000013461 design Methods 0.000 claims abstract description 110
- 238000003860 storage Methods 0.000 claims description 22
- 230000008569 process Effects 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 14
- 230000033228 biological regulation Effects 0.000 claims description 7
- 230000008676 import Effects 0.000 claims description 7
- 238000012423 maintenance Methods 0.000 claims description 6
- 230000015572 biosynthetic process Effects 0.000 claims description 3
- 239000012634 fragment Substances 0.000 claims 3
- 238000010276 construction Methods 0.000 claims 1
- 230000003321 amplification Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 8
- 238000006386 neutralization reaction Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000003825 pressing Methods 0.000 description 3
- 238000011282 treatment Methods 0.000 description 3
- 230000001755 vocal effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 235000020965 cold beverage Nutrition 0.000 description 2
- 230000000875 corresponding effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000007639 printing Methods 0.000 description 2
- 238000007493 shaping process Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/10—Requirements analysis; Specification techniques
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99932—Access augmentation or optimizing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
- Control Of Amplification And Gain Control (AREA)
Abstract
该软件扩展系统方便地把存储在数据库中的设计信息转换成所需的软件产品。系统以控制文件规定的方式转换数据库。控制文件实质上是所需输出的参数化样本,并混杂着控制指令,这些控制指令如何操作设计数据以及如何创建所需对象。
Description
本发明涉及制作软件产品。本发明尤其涉及一种把已存储的设计信息转换成所需软件产品的系统。
许多软件程序整体或部分基于基础型的设计数据,如消息集、有限状态机(FSM)和基于规则的集合。这种设计数据常常不是正式规定的,而是在编程语言中人工硬编码的,其被编译到机器码中以由给定的处理机和操作系统执行。在系统需求、文档或已公布的标准中也规定设计数据或信息,然后再用人工把设计数据或信息翻译成特定应用中的源代码。在目前的实际工作中,要在不同的应用环境中重用信息必须通过困难及昂贵的处理写出适应于新环境的新源代码来实现。
可以将设计数据或信息定义成用来规定计算机系统环境的对象、其属性及相互联系的数据。对象的示例包括代码块、需求文档、万维网网页、包含着仅用于该对象之内的信息的设计要求、输入/输出界面、图形用户界面(GUI)页面、以及硬件和软件操作和维护过程(例如诊断和系统安装)。标准界面中所使用的软件对象可用于各种应用,这是因为这种对象不和特定的环境相关。从而使用标准界面的计算机在对设计信息的访问不与特定对象或环境有关下,可利用该设计信息开发各种对象或计算机产品。
设计信息可以在跨越当前环境和将来环境的许多年中一直保持其有用性。在其生命周期中可以以许多方式重用设计信息,并且可以跨越许多新产品和许多生产线。从而,它的生命周期会长于任何单一产品,因为它适应于技术改变及需求改变。重新使用设计信息有助于更快地交付高质量的软件,提供产品需求、文档和软件之间的实时同步,并且能够快速响应日益变化的环境。
已存储的设计信息易于适应各种使用。然而,重用数据的现有方法和技术损害了这些好处。现今中的必须要由昂贵的人工干预把设计信息翻译到软件产品中减缓了软件开发,损害了产品需求、文档和软件之间的同步,并且减慢了对环境改变的响应。
从而存在着提供一种自动系统的需求,该系统从设计信息数据库抽取已存储的设计信息,以在最少的人工干预下装配和形成对象以及软件产品。
本发明提供一种软件扩展器,其把已存储的设计信息转换成所需的格式,以产生所需的软件产品或对象,例如程序代码、源代码、文档、设计图、Web网页等。依据本发明的第一优选实施例,该软件扩展器从数据库接收设计信息作为第一输入,把模板信息和控制信息作为第二输入,并且把规则集作为第三输入。模板信息最好是所需对象格式的明文参数化样本并且存储在某控制文件中。和模板信息一起存储在控制文件中的控制信息用于指导从数据库中检索所需的设计信息并且根据控制信息中所包括的指令把设计信息整形成为输出。规则集处理该控制文件并且根据这些规则产生所需的对象或软件产品。
在本发明的第二优选实施例中,软件扩展器把来自数据库的设计信息接收成第一输入,并把控制文件作为第二输入。第二实施例中的控制文件是一个计算机程序,该程序包括以商用程序设计语言为格式的模板信息和控制信息。模板信息最好是所需对象格式的明文参数化样本,其中样本被转换成打印语句。控制信息用于指导从数据库中检索所需的设计信息并且根据控制信息中所包括的指令把设计信息整形成为输出,商用程序设计语言编译器执行控制文件以产生所需的对象或软件产品。
将参照下面的附图详细说明本发明,图中相同的数字代表相同的部件,附图是:
图1说明依据本发明的优选实施例的软件扩展系统;
图2是一个流程图,说明依据本发明的第一实施例的软件扩展系统的操作;
图3说明存储设计信息的数据库;
图4是依据本发明的一个带有模板信息的控制文件的示例,其用于引用需求文档;
图5是依据本发明的第一实施例包括着控制信息的图4的一个示例性的控制文件;
图6是基于图5和图8示出的控制文件的示例性需求文档对象;
图7是一个流程图,说明依据本发明的第二实施例的软件扩展系统的操作;以及
图8是依据本发明的第二实施例的包括着控制信息的示范性控制文件。
图1说明依据本发明的优选实施例的设计信息存储系统5。系统5包括计算机10,后者和输入部件30以及输出部件40连接。计算机10包括中央处理机(CPU)52,中央处理机52和随机存取存储器(RAM)54、只读存储器(ROM)56以及海量存储部件50连接。输入部件30实现人和计算机10的交互以及对计算机10的数据输入。因此,输入部件30包括各种输入部件,如键盘、鼠标、屏幕、扫描仪、磁盘驱动器以及其它周知的用于向计算机10输入数据的部件。输出部件40接收来自计算机的输出数据。输出部件40包括但不限于打印机和屏幕。作为一种替代,输入部件30和输出部件40两者可以是调制解调器、网络连接或脱机存储器,脱机存储器通过传播信号80和90与计算机10通信。
设计信息数据库60存储在海量存储部件50中,海量存储部件50可以是硬盘、软盘、光盘等。存储器50还存储计算机程序70,该程序在执行时控制计算机10执行依据本发明的软件扩展方法。换言之,不论是从存储器50还是从输入部件30装入到计算机10中,计算机程序70把计算机转变成实现本发明的专用机。更具体地,本发明方法的每个步骤至少把部分计算机10转换实施该步骤的专用计算机模块。
本发明的其它实施例包括固件实施例和硬件实施例,在其中本发明方法被编程到固件中(如EPROM、PROM或PLA)或者全部由硬件构件组成。对于使用周知技术的一般技术人员而言,创建本发明的这种固件和硬件实施例是一种例行工作。
此外,本文所公开的发明可采取制造品的形式,例如在其上带有计算机可读程序代码的计算机可用介质;其中该计算机可读程序代码使计算机10执行本发明的方法。
如熟练技术人员所理解,数据库60是关系型的或是面向对象型的,并存储所需的设计信息。根据输入的设计信息的类型或者根据期望使用的信息设计数据库60的结构。最好利用市场上可买到的数据库系统例如微软公司的Access创建数据库60。
数据库60把各种类型的诸如消息集、有限状态机(FSM)、根据输入结构解码的基于规则的集合的设计数据存储到用户定义的结构中,其中输入结构例如是设计图表、程序代码、数据库条目表或需求文档,而用户定义的结构可被访问以便编码成为至少一种的不同输出结构如设计图表、程序代码、数据库条目表或需求文档。设计图表是表示设计信息的图。设计图表的例子包括流程图、过程路径图、框图、业务图、网络图、设备管理图及工业过程图。需求文档说明系统或产品的设计及操作特性、协议、功能性和要求。可以根据相关的标题为“将数据作为流动信息存储的方法和装置”的申请号尚未知的申请把设计数据存储到数据库60中,此申请和本申请由同一发明人在同一日归档,在此全文引用作为参考。
图2说明依据本发明的第一实施例的软件扩展系统的操作。在步骤S202,用户选择存储器50中存储某特定类型的设计信息的数据库60。即,若设计信息以FSM为形式,则数据库60会具有一种专用于FSM的结构,并且包括例如当前状态、下一状态、事件和事件动作等字段。除存储在存储器50中之外,可以从输入部件30中的一种例如磁盘驱动器、调制解调器、网络连接或经传播信号80通信的脱机存储器上输入数据库60。
在步骤S204,用户选择一个空控制文件。控制文件定义如何由计算机10辨别数据库60中的设计信息,从而CPU 52知道应怎样和向何处应用数据库信息。按后面的说明那样在控制文件中存储样本信息和控制信息。从而控制文件中存储的信息取决于特定的对象结构以及设计数据的类型。例如,由于对象具有不同的输入结构,所以FSM流程图具有控制文件不同于需求文档的控制文件,甚至与FSM框图的控制文件也不同。即,例如用于FSM设计图表的流程图包括用于每种状态、事件和动作的几何形状,其中动作定义几何形状中列出的操作。然而,需求文档和框图通常不采用用于每种状态、事件和动作的各种形状。
在步骤S206,用户输入专门为数据库60以及所需的输出对象的类型配置的模板信息。模板信息最好是明文的,这种明文实质上是所需输出的参数化样本或模板。从而模板信息是重要的用于排列对象的专用格式信息。若所需的对象是需求文档,则模板信息包括字型、tab设置、间隙、页号、段号、分页以及正文。若对象是计算机程序,则模板信息是涉及注释、关键字、格式以及编码的专用语言特征的专用格式信息。若对象是设计图表,则模板信息是诸如框的标识和位置、连线的方向和长度、页号之类的专用格式信息。模板信息还包括和由控制信息提供的特定值相对应的模板变量名,后面会对此予以说明。
在步骤208,用户把控制信息输入到控制文件中。控制信息包括数据库查询,以得到和应用数据库60中存储的所需信息。具体而言,控制信息包括指令行,用于通知CPU 52如何操作数据库60中的设计信息。用户通常在其希望在此处执行指令行的模板信息中的控制文件中的位置上输入指令行。即,若用户需要把来自数据库60的特定信息输入到控制文件中包含的两行模板信息之间,则用户在这两条模板信息之间输入该可应用的数据库查询指令行。这些指令行包含周知的处理语言命令,例如:if then else语句、do until型循环命令、do while型循环命令、for all型循环命令、go to命令、begin和end命令、执行与存储命令、流操作命令以及数据操作命令,以用于一个或几个数据库。因此,用户可以根据需要开发个性化的输出。熟练技术人员容易理解,根据上述任何周知的计算机语言都适用于作为控制信息中的命令。
控制信息中的数据库查询例如采取周知的数据库查询语言的语句的格式,从而从数据库60检索适当的信息作为查询结果。查询字段名是一个指示符,用于从查询结果的当前记录中抽取包含在和该字段名对应的数据库字段中的特定设计信息。因此,当控制信息包括查询字段名时,在遇到该查询字段名时用从数据库60中抽取的特定信息填写该查询字段名。控制信息还可包括处理循环,以造成反复处理数据库60直至取尽查询字段。以这种方式,控制文件能够引导计算机10生成远大于控制信息的对象。
在步骤S210,用户输入为了处理控制文件和输出所需的对象而专门配置的规则集。CPU 52访问规则集以规定计算机10如何辨别控制文件中的模板信息和控制信息,从而CPU 52明白把什么输出成对象。规则集包括指导CPU 52如何识别并处理正文、模板变量、处理语言命令及查询字段名以便根据控制文件操作数据库中的设计信息。
在步骤S512,CPU 52把规则集应用到控制文件上,以操作数据库60并且按控制文件规定的格式产生输出。若行是一行正文,则按其的文本格式把该行输出到对象中。若正文包括模板变量,则计算机10查找规则文件中识别该模板变量的规则,并且把由该规则指示的对应正文代入到该模板变量中。若行是一个处理语言命令,则计算机10处理该命令。若行是一个查询字段名,则计算机10从查询结果的当前记录中抽取包含在和该字段名对应的数据库字段中的特定设计信息。用户可以为具体的控制文件创建规则集,或者可以存储规则集并由用户选择。若用户选择以前已存储的规则集,则用户可以根据具体的控制文件的要求编辑已存储的规则集。
现参照各优选实施例的具体例子详细说明本发明的操作。图3表示一个存储采用周知的有限状态机(FSM)符号表示法的设计信息的设计信息数据库60。从而,设计信息是用一系列的状态、事件及事件动作表达的。数据库60中存储的设计信息包括冷饮机操作设计的状态、事件及事件动作。
数据库60的各字段是“当前状态”、“事件”、“下一状态”以及“事件动作”。“当前状态”字段规定某给定实例处理过程中的状态位置。“下一状态”字段规定下一状态位置。“事件”字段规定从“当前状态”移动到“下一状态”所需的条件。从某特定状态发生某事件也可以触发由“事件动作”字段中规定的某动作。
如步骤S202中所示,用户选择数据库60,按照图3该数据库具有存储在其中的设计信息。如下面所示,在需求文档中输出数据库60中的设计信息。
如步骤S204和S206中所示,用户打开一个空的控制文件,并向其中输入模板信息以指示计算机10如何格式化所需的对象。用户也可以选择一个事先在其中存储着模板信息的控制文件。例如,用户可输入一个具有图4所示的模板信息的控制文件,该模板信息是用于说明冷饮机操作设计的需求文档的模板信息。该模板信息包括专用格式信息,其示出所需对象的段落、字体、tab设置及间隙。模板信息的格式是被显示的对象类型所特有的,但不是该对象中所使用的信息类型所特有的。即,需求文档模板不同于设计图模板,但可以为不同的设计信息类型,例如消息集、基于规则的集合或基于FSM符号表示法的设计数据,提供格式。
如步骤S208中所示,用户把控制信息输入到控制文件中。图5示出示范性控制文件,其带有图4所示的模板信息并且带有用户添加的用<control>关键字标识的控制指令。用户把控制信息输入到控制文件中用户希望执行控制信息的地方。即,用户混合控制信息和模板信息,从而一旦执行控制文件时,按访问顺序处理控制信息和模板信息。控制信息被存储在控制文件中以引导从数据库中检索所需的设计信息。在图5中,控制信息指示CPU 52选择数据库60的所有字段和记录,并且对所有的记录,输出正文“go from”、“to”、“upon”、及“and”与{}指示符中列出的数据库查询得到的设计信息。在该例中,控制信息位于模板信息之后的控制文件的尾部,从而在执行模板信息后才执行控制信息。但是,用户可以把控制信息输入到控制文件中用户希望执行控制指令的位置。
如步骤S210所示,用户输入规则集,以执行控制文件并且根据规则产生所需对象。例如,用户可输入下述规则,以执行图5中列出的控制文件来产生需求文档:
(规则1)对控制文件的每行应用规则2-11
(规则2)向输出部件或存储部件输出正文
(规则3)把{}中的数据识别成数据库字段
(规则4)把//中的数据识别成模板变量
(规则5)若{}中存在数据则把[]识别成要输出的正文
(规则6)把“select”识别成访问数据库的指定部分
(规则7)把“for all”识别成条件为真时的循环处理
(规则8)把“end for all”识别成循环的结束
(规则9)把“next record”识别成转向向数据库的下一记录
(规则10)把“/type of data”识别成“FSM符号表示法”
(规则11)把/list of fields/识别成“当前状态;下一状态;事件;事件动作”
(规则12)把<control>识别成控制指令行
如步骤S212中所示,CPU 52把上述规则集应用到图5的控制文件,以操作数据库60并且按控制文件所规定的格式产生对象。根据规则1和2,计算机10通过把控制文件中以“REQUIREMENT:”开始的第一行正文输出到输出部件40着手创建对象,如图6所示。根据规则1和2,计算机10把以“SUMMARY:”开始的下一行正文输出到输出部件40。根据规则1、2、4和10,计算机10用“FSM符号表示法”替代下一行正文中的/type of data/”,并将该行正文输出到输出设备40。根据规则1、2、4和11,计算机10插入正文“当前状态;下一状态;事件;事件动作”以代替/list of fields/,并且将该行正文输出到输出部件40。根据规则1和2,计算机10将正文“PROCESSING:”输出到对象中。
根据规则1、6和12,计算机10打开数据库60的所有字段和记录。根据规则1、2、3和7,计算机10通过(1)输出“go from”、(2)获得数据库60的“当现状态”字段中的第一或下一记录、(3)输出该记录、(4)输出“to”、(5)获得数据库60中和从“当前状态”字段中得到的记录相关的“下一状态”字段中的记录、(6)输出所得到的记录、(7)输出“upon”、(8)获得数据库60中和从“当前状态”字段中得到的记录相关的“事件”字段中的记录及(9)输出该记录处理“for all”循环中的各行并且输出对象的后续行。根据规则1、3、5,计算机10不输出正文“and”,因为事件动作数据字段中不存在数据。根据规则1、8、12,计算机10转向数据库60的下一记录,并且返回到“for all”控制指令行并继续处理各控制指令行。
以这种方式继续处理,最终到达数据库60的最后一个记录。根据规则1、2、3,通过(1)输出“go from”、(2)得到数据库60的“当前状态”字段中的最后一个记录、(3)输出该记录“Need 25”、(4)输出“to”、(5)得到数据库60的“下一状态”字段中的最后一个记录、(6)输出得到的记录“idle”、(7)输出“upon”、(8)得到数据库60的“事件”字段中的最后一个记录及(9)输出该记录“GotQuarter”,计算机10形成并输出对象的下一行,如图6所示。根据规则1、2、3、5,计算机10输出“and”,得到数据库60的“事件动作”字段中的最后一个记录,并输出该记录“Dispense Can”。根据规则1、8、9、12,计算机10退出该控制文件,因为不存在需要处理的数据库记录。
只需要为这种类型的设计信息和结构设计一次组成控制文件的模板信息和控制信息以及规则集。即,一旦生成图5的控制文件和上面讨论的规则集,计算机10就可以操作数据库60或任何其它结构相似的数据库,以根据数据库中存储的设计信息创建需求文档。这提供了通过设置带有和设计信息无关的新格式的数据库60装配和格式化对象的好处,从而允许用户在使用最少的人工干预下生成软件对象。
把来自数据库60的所需信息处理成为所创建的需求文档页面中的伪代码。容易理解,可以将来自数据库60的设计信息转换成程序设计语言如Pascal、Fortran、C/C++、Lisp、Basic等,例如简单地通过应用一个不同的由用户创建的控制文件。从而程序设计语言是另一种可通过本发明装配和产生的对象或软件产品。
现说明用于从数据库60产生对象的本发明的第二实施例。图7表示依据本发明的第二实施例的软件扩展系统的操作。步骤S702-S706和上面参照图2说明的本发明的第一实施例的步骤S202-S206相同。从而,在步骤S702,用户选择存储器50中某个存储特定类型的设计信息的数据库60。在步骤S704,用户选择一个空的控制文件,以定义如何由计算机10辨别数据库60中的设计信息,从而使CPU 52明白如何和向哪里应用数据库60中所存储的设计信息。在步骤S706,用户输入专门为数据库60以及所需的输出对象的类型配置的模板信息。
在步骤S708,用户把控制文件中存储的模板信息转换成程序设计代码格式。具体而言,通过在各行正文的前面插入打印命令,用户把明文转换成程序设计代码。将打印命令格式化为专用的程序设计格式,以便由商用语言编译器把它们识别成打印命令。
在步骤S710,用户对控制文件输入控制信息。控制信息包括数据库查询,用于按上面参照图2的步骤S208说明的第一实施例的控制信息的类似格式得到并应用数据库60中存储的所需信息。换言之,控制信息包括用于通知CPU 52如何操作数据库60中的设计信息的指令行。然而,和第一实施例中的控制信息不同,步骤S710中输入的控制信息是以商用程序设计语言的格式构造的。这使用户可以全面利用基础标准程序设计语言的能力。从而,控制信息的可用指令行包括标准程序设计语言的所有可用的命令和功能。类似于上面说明的和步骤S208有关的为本发明的第一实施例构造的数据库查询的方式,以周知的数据库查询语言语句的格式输入数据库查询和控制信息。相应地,可能需要修改用于标准程序设计语言的周知编译器以便处理这些附加语句的功能。在完成步骤S710后,控制文件的格式是用所需的标准程序设计语言写出的控制程序。
在步骤S712,计算机10根据控制文件和设计信息产生所需的对象。控制文件由如上面讨论那样被修改过的标准程序设计语言编译器编译并由CPU 52执行以产生对象。
现参照第二实施例的一个具体例子详细说明本发明的操作。该例子类似于上面说明的第一实施例的具体例子,并设置一个从数据库60检索设计信息的控制文件,其产生作为图6所示的需求文档节录的对象。
如步骤S702所示,用户选择数据库60,该数据库根据图3存储着设计信息。如步骤S704和S706所示,用户打开一个空的控制文件并且向其中输入模板信息以指示计算机10如何格式化所需的对象。步骤S702、S704、S706大体上和上面参照图2讨论的步骤S202、S204、S206相同。
在步骤S708,用户把模板信息转换成程序设计代码格式。用户通过按照所使用的标准程序设计语言格式将模板信息的各行正文转换为打印语言,将模板信息转换为程序的代码格式以提供控制信息。按照所采用的标准程序设计语言的需要,格式化打印语句。即,每行正文的前面是一条采用程序设计语言格式的“Pring(打印)”语句。一旦读打印语句,计算机10就把正文打印到输出对象。图8表示一个在某控制文件的前8行中的转换后的模板信息的例子。图8是一个用Visual Basic程序设计语言写出的示范性控制文件,该文件包括根据本发明的第二实施例的控制信息。在图8中,前八行正文的前面是“Print”语句,以指示计算机10打印各行正文。
在步骤S710,用户把控制信息输入到控制文件中。在图8中,控制信息包括非文本指令“Print#fd”、“set rs”、“do until”、“If”及“move next”,用于指示CPU 52如何操作数据库60中的设计信息。文件描述符#fd标识输出对象文件。记录set rs标识选定的数据库60。该例的控制信息是用Visual Basic程序设计语言写出的,但也可用其它周知的标准程序设计语言,例如Pascal、Fortran、C/C++、Lisp、SQL,写出以控制和数据库60的交互并且输出所需的对象。
如步骤S712中所示,CPU 52利用标准程序设计语言执行控制文件。CPU 52处理控制文件的各行以形成对象。根据打印命令,计算机10输出前8行正文,其中包括空行。根据set命令,计算机10选择并且打开数据库60的所有字段和记录。根据do_until命令,计算机10为数据库60中的所有记录执行该循环中的程序代码,计算机10(1)打印“gofrom”,(2)获得数据库60的“当前状态”字段中的第一或下一记录,(3)输出该记录,(4)打印“to”,(5)获得数据库60中和从“当前状态”字段中得到的记录相关的“下一状态”字段中的记录,(6)输出所得到的记录,(7)打印“upon”,(8)获得数据库60中和从“当前状态”字段中得到的记录相关的“事件”字段中的记录,以及(9)输出该记录。若数据库60的“事件动作”字段中的记录具有在其中存储的信息,则计算机10输出“and”,获得数据库60中和从“当前状态”字段中得到的记录相关的“事件动作”字段中的记录,并且输出该记录。然而,对于数据库60的前三个记录,计算机10不输出正文“and”,因为在“事件动作”字段中不存在数据。
计算机10接着为下一记录执行do_until循环中的命令,并且以这种方式继续对所有的记录进行处理。
尽管根据以FSM符号表示法表达的设计信息并转换为需求文档的方式说明了把数据库设计信息转换成有用格式的方法,但本发明的方法不限于这些表达形式,也不限于相关解释中的数据库和控制文件。相反,熟练技术人员从上述公开中容易理解如何根据数据库中存储的FSM、消息集或基于规则的集合开发文档对象和代码对象。文档及代码对象至少包括程序设计代码、需求文档、WWW网页、设计说明书、输入/输出界面、GUI页面以及软硬件操作和维护过程。
还可理解,可以不同的顺序实施本发明的各步骤。即,可以在步骤S204之前、步骤S206之前、步骤S208之前或步骤S210之前执行步骤S202,因为对数据库60的检索和控制程序的格式无关。以相同的方式,可以在任一步骤S704、S706、S708、S710或S712之前执行步骤S702。此外,用户可以创建新的控制文件或者选择一个已创建的被存储的空控制文件并且把模板信息输入到控制文件中,如步骤S204和S206所述,或者,用户可以输入一个以前创建的并已在其中存储着模板信息的可应用控制文件。此外,可以创建模板信息和控制信息,然后再存储到控制文件中。
从上面的说明和附图中,很清楚,很容易将本申请的概念应用到各种包括着文本中说明了的优选实施例中。因此,在本直接申请中说明的本发明的范围仅由附属权利要求书限制。
Claims (34)
1.一种用于从数据库中检索设计信息并根据数据库信息生成对象的方法,包括步骤:
(a)访问具有设计信息的某数据库,将该数据库格式构造成用于某类设计信息;
(b)提供模板信息,模板信息代表所需对象的参数化样本;
(c)提供控制信息,其指定要从数据库检索的控制信息;以及
(d)根据参数化的样本、控制信息和设计信息,产生所需的对象。
2.权利要求1的方法,还包括:
(e)提供用于处理控制信息和模板信息的规则,并且其中
步骤(d)根据该规则、修改后的参数化样本、控制信息和设计信息产生所需的对象。
3.权利要求2的方法,其中
步骤(b)提供包括着正文和关键字的模板信息,模板信息代表对象的参数化样本,关键字指示特定正文的位置,以及
步骤(e)用特定正文替代关键字。
4.权利要求1的方法,其中设计信息类型包括消息集、有限状态机和基于规则的集合之一。
5.权利要求1的方法,其中对象是文档、伪代码、程序代码及软、硬件维护过程之一。
6.权利要求1的方法,其中步骤(b)提供事先存储的代表着所需对象的参数化样本的模板信息。
7.权利要求1的方法,其中步骤(c)提供事先存储的用于指定要检索的设计信息的控制信息。
8.权利要求1的方法,其中步骤(b)包括接收用户输入以规定模板信息的步骤。
9.权利要求1的方法,其中步骤(c)包括接收用户输入以规定控制信息的步骤。
10.权利要求1的方法,还包括:(f)把模板信息转换成程序设计代码。
11.权利要求1的方法,其中按程序设计代码格式化模板信息。
12.一种用于把设计信息扩展成软件产品的设备,包括:
一个带有数据库的存储部件,将数据库构造成存储某类设计信息;
至少一个输入部件,用于输入或规定表示所需对象的参数化样本的模板信息,并用于输入或规定指定要从数据库中检索的设计信息的控制信息;以及
一个处理机,其访问数据库、模板信息、控制信息,并且根据参数化的样本、控制信息和设计信息产生所需的对象。
13.权利要求12的设备,其中处理机访问规则以处理控制信息和模板信息,并且根据规则、修改后的参数化样本、控制信息和设计信息产生所需的对象。
14.权利要求13的设备,其中处理机访问包括着正文和关键字的模板信息,模板信息表示对象的参数化样本,关键字表示特定正文的位置,处理机用特定正文替代关键字。
15.权利要求12的设备,其中设计信息类型包括消息集、有限状态机和基于规则的集合之一。
16.权利要求12的设备,其中对象是文档、伪代码、程序代码及软、硬件维护过程之一。
17.权利要求12的设备,其中处理机访问事先存储的代表着所需对象的参数化样本的模板信息。
18.权利要求12的设备,其中处理机访问事先存储的指定要检索的设计信息的控制信息。
19.一种包含在计算机可读介质上的用于根据数据库信息产生对象的计算机程序,包括:
第一访问源代码段,用于访问带有设计信息的数据库,将数据库的格式构造成存储某类设计信息;
第二访问源代码段,用于访问代表着所需对象的参数化样本的模板信息;
第三访问源代码段,用于提供指定要从数据库中检索的设计信息的控制信息;以及
生成源代码段,用于根据参数化的样本、控制信息和设计信息生成所需对象。
20.权利要求19的计算机程序,还包括:
第四访问源代码段,用于访问用来处理控制信息和模板信息的规则,其中生成源代码段根据规则、修改后的参数化样本、控制信息和设计信息生成所需对象。
21.权利要求20的计算机程序,其中:
第二访问源代码段访问包括着正文和关键字的模板信息,模板信息表示对象的参数化样本,关键字表示特定正文的位置,并且生成源代码段用特定正文替代关键字。
22.权利要求19的计算机程序,其中设计信息类型包括消息集、有限状态机和基于规则的集合之一。
23.权利要求19的计算机程序,其中对象是文档、伪代码、程序代码及软、硬件维护过程之一。
24.权利要求19的计算机程序,其中第二访问源代码段访问事先存储的代表着所需对象的参数化样本的模板信息。
25.权利要求19的计算机程序,其中第三访问源代码段访问事先存储的指定要检索的设计信息的控制信息。
26.权利要求19的计算机程序,其中按程序设计代码格式化模板信息。
27.一种用于根据数据库信息生成对象的计算机数据信号,包括:
第一访问信号段,用于访问带有设计信息的数据库,将数据库的格式构造成存储某类设计信息;
第二访问信号段,用于访问代表着所需对象的参数化样本的模板信息;
第三访问信号段,用于提供指定要从数据库中检索的设计信息的控制信息;以及
生成信号源,用于根据参数化的样本、控制信息和设计信息生成所需对象。
28.权利要求27的计算机程序,还包括:
第四访问信号段,用于访问用来处理控制信息和模板信息的规则,其中生成信号段根据规则、修改后的参数化样本、控制信息和设计信息生成所需对象。
29.权利要求28的计算机程序,其中:
第二访问信号段访问包括着正文和关键字的模板信息,模板信息表示对象的参数化样本,关键字表示特定正文的布置,并且生成信号段用特定正文替代关键字。
30.权利要求27的计算机程序,其中设计信息类型包括消息集、有限状态机和基于规则的集合之一。
31.权利要求27的计算机程序,其中对象是文档、伪代码、程序代码及软、硬件维护过程之一。
32.权利要求27的计算机程序,其中第二访问信号段访问事先存储的代表着所需对象的参数化样本的模板信息。
33.权利要求27的计算机程序,其中第三访问信号段访问事先存储的指定要检索的设计信息的控制信息。
34.权利要求27的计算机程序,其中按程序设计代码格式化模板信息。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/182,493 US6405189B1 (en) | 1998-10-30 | 1998-10-30 | Method and apparatus for amplifying design information into software products |
US09/182,493 | 1998-10-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1253343A true CN1253343A (zh) | 2000-05-17 |
Family
ID=22668718
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN99123167.8A Pending CN1253343A (zh) | 1998-10-30 | 1999-10-27 | 将设计信息扩展到软件产品中的方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US6405189B1 (zh) |
EP (1) | EP1001336A3 (zh) |
CN (1) | CN1253343A (zh) |
CA (1) | CA2281346A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110751361A (zh) * | 2019-09-03 | 2020-02-04 | 福建省农村信用社联合社 | 一种银行需求条目级管理方法及系统 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010039594A1 (en) * | 1999-02-03 | 2001-11-08 | Park Britt H. | Method for enforcing workflow processes for website development and maintenance |
US20010044813A1 (en) * | 2000-01-10 | 2001-11-22 | Frank Kenneth B. | Document production platform |
US7752100B1 (en) * | 2000-06-29 | 2010-07-06 | Terodata US, Inc. | Selector function for life-time value financial processing in a relational database management system |
GB2366709A (en) * | 2000-06-30 | 2002-03-13 | Graeme Roy Smith | Modular software definable pre-amplifier |
DE10033812A1 (de) * | 2000-07-12 | 2002-01-24 | Alcatel Sa | Verfahren zum Erzeugen von Informationsmodellen |
US6968551B2 (en) | 2001-06-11 | 2005-11-22 | John Hediger | System and user interface for generation and processing of software application installation instructions |
US7080093B2 (en) * | 2002-01-14 | 2006-07-18 | Sun Microsystems, Inc. | System and method for database design |
US20040249823A1 (en) | 2003-06-04 | 2004-12-09 | Raghuvir Yuvaraj Athur | System and method for object navigation grammar completion |
US7707549B2 (en) * | 2006-03-15 | 2010-04-27 | Microsoft Corporation | Synchronicity in software development |
JP4467583B2 (ja) * | 2007-01-17 | 2010-05-26 | 富士通株式会社 | 設計支援プログラム、設計支援方法および設計支援装置 |
US8914783B2 (en) | 2008-11-25 | 2014-12-16 | Fisher-Rosemount Systems, Inc. | Software deployment manager integration within a process control system |
US8898660B2 (en) | 2008-11-25 | 2014-11-25 | Fisher-Rosemount Systems, Inc. | Systems and methods to provide customized release notes during a software system upgrade of a process control system |
EP2567671A1 (en) | 2011-09-09 | 2013-03-13 | VDW GmbH | Dental handpiece |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2765969B2 (ja) * | 1989-07-31 | 1998-06-18 | 株式会社日立製作所 | 図式データ駆動型プログラム開発支援装置 |
US5699310A (en) * | 1990-06-29 | 1997-12-16 | Dynasty Technologies, Inc. | Method and apparatus for a fully inherited object-oriented computer system for generating source code from user-entered specifications |
US5671415A (en) * | 1992-12-07 | 1997-09-23 | The Dow Chemical Company | System and method for facilitating software development |
US5873097A (en) * | 1993-05-12 | 1999-02-16 | Apple Computer, Inc. | Update mechanism for computer storage container manager |
US5835712A (en) * | 1996-05-03 | 1998-11-10 | Webmate Technologies, Inc. | Client-server system using embedded hypertext tags for application and database development |
US6192367B1 (en) * | 1998-11-23 | 2001-02-20 | International Business Machines Corporation | Data file editor presenting semi-formatted view |
-
1998
- 1998-10-30 US US09/182,493 patent/US6405189B1/en not_active Expired - Lifetime
-
1999
- 1999-09-02 CA CA002281346A patent/CA2281346A1/en not_active Abandoned
- 1999-10-22 EP EP99308372A patent/EP1001336A3/en not_active Withdrawn
- 1999-10-27 CN CN99123167.8A patent/CN1253343A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110751361A (zh) * | 2019-09-03 | 2020-02-04 | 福建省农村信用社联合社 | 一种银行需求条目级管理方法及系统 |
CN110751361B (zh) * | 2019-09-03 | 2024-02-20 | 福建省农村信用社联合社 | 一种银行需求条目级管理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
EP1001336A2 (en) | 2000-05-17 |
US6405189B1 (en) | 2002-06-11 |
CA2281346A1 (en) | 2000-04-30 |
EP1001336A3 (en) | 2003-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11907244B2 (en) | Modifying field definitions to include post-processing instructions | |
JP2759921B2 (ja) | 最適の多段階変換を決定する方法およびそのためのデータ処理システム | |
CN102804168B (zh) | 在数据库系统中减少存储需求的数据压缩 | |
CN1193305C (zh) | 具有多数据源能力的数据恢复方法和装置 | |
CN1253343A (zh) | 将设计信息扩展到软件产品中的方法和装置 | |
US6662342B1 (en) | Method, system, and program for providing access to objects in a document | |
US7809758B2 (en) | Database and method of generating same | |
CA2669479A1 (en) | Generating end-user presentations from structured data | |
JP5138046B2 (ja) | 検索システム、検索方法およびプログラム | |
EP1668542A1 (en) | Web content adaptation process and system | |
JP2008242605A (ja) | 構造化文書を管理する装置、方法およびプログラム | |
EP1836612B1 (en) | Method and system for formatting and indexing data | |
CN111752542B (zh) | 基于xml模板的数据库查询接口引擎 | |
AU767014B2 (en) | Method and apparatus of processing semistructured textual data | |
CN109325217B (zh) | 一种文件转换方法、系统、装置及计算机可读存储介质 | |
US20140129543A1 (en) | Search service including indexing text containing numbers in part using one or more number index structures | |
CN1101027C (zh) | 外部字符管理器 | |
JP3251203B2 (ja) | Jclプログラム変換装置、jclプログラム変換方法、および、記録媒体 | |
JP2005242416A (ja) | 自然言語文の検索方法および検索装置 | |
Borland | Application programmers guide for SDDS version | |
CN1549166A (zh) | 电子读物制作和浏览的新的方法、装置以及系统 | |
Mönnich et al. | A regular query for context-sensitive relations | |
JP2009294950A (ja) | 文書構造化処理装置、及び方法 | |
CN117170569A (zh) | 一种基于回车键生成标签及自动换行的方法和系统 | |
CN117851437A (zh) | 查询区sql自动生成的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |