一种软件界面与宏语言的参数匹配方法与流程

文档序号:11828861阅读:219来源:国知局
一种软件界面与宏语言的参数匹配方法与流程

本发明涉及计算机语言、计算机图形学,尤其涉及对计算机程序中参数的传递与匹配过程。



背景技术:

计算机程序是在一定的计算机语言中,实现特定业务功能的一组编码,不论是简单的几行程序,还是非常复杂的上万行程序,确定的一段计算机程序必然有一个确定的功能和范围,在这个范围内的计算机程序,必然与这个范围外的计算机程序,有确定的形式上的关联关系,这是通过输入、输出的形式参数来解决的。在即将实际运行这段计算机程序时,这组确定的形式参数,将被替换成实际值而代入这段计算机程序中。

现代的应用开发,均倾向于界面程序与数据处理程序分离的方式来进行程序开发。数据处理由于其复杂性,一般地均由两段及其以上的计算机程序完成,在权利要求书和本说明和实施例中,使用“宏”的概念来特别地指明相对于界面的主要进行数据处理的计算机程序,因此,在本权利要求书及说明和实施例中,一个宏,是指一段非界面部分的计算机程序,实际上本专利并不限定界面与数据处理,只要是两段计算机程序,无论这两段计算机程序所属的语言是否相同,都可用本专利的方法来解决,都在本专利权利要求范围内。

由于界面程序与数据处理程序两者常常用不同的计算机语言分别进行开发,在这种情况下,相当于实现一个确定功能的计算机程序多了一个层次结构,因而也就有了前置输出参数与当前输入参数的匹配处理问题。前置一词,在本权利要求书及说明和实施例中,相对于当前,即指在当前部分之前经过的部分。

若界面程序与宏程序都用图形化方式来开发表达,而不是用字符文本的方式来编写,由于涉及到两种不同计算机语言的参数的映射,则相应也就出现了如何用图形化方式将前置输出参数与当前输入参数进行匹配表达,并转换成计算机源程序的问题。

若此问题不解决,则计算机程序图形化开发方式,是不完备的。



技术实现要素:

通过对大量的编程实践,和对程序结构的深入理解,我们发现,计算机程序中参数的传递过程是有序的、单向的,均是从某个起点开始,这个起点可能是界面,也可能是一组宏,然后传递到另一个界面,或者另一组处理的宏,如此不断进行。也就是说,一个参数的传递,必然由一个或以上的前置界面、或者一个或以上的前置宏,传递到当前界面或多个当前宏。只要解决了这个确定的前置输出参数与当前界面或当前宏的输入参数的匹配关系,就可以顺利地解决图形化开发方式下,不同的计算机程序间的参数匹配与转换的问题。

发明目的:解决在图形化开发计算机程序过程中,不同的计算机语言之间的参数匹配问题,克服计算机程序开发时参数传递直接使用字符文本匹配的弊端,提出用图形化方式进行不同计算机语言之间的参数匹配和处理的方法。

发明的技术方案是:在已经初始化地建立参数语法格式表格基础上,首先得到待转换的全部前置界面和前置宏的输出参数,和当前界面或当前宏的全部输入参数,之后绘制前置界面和前置宏的输出参数选择器,和当前界面或当前宏的输入参数选择器,并绘制输入参数与输出的映射器,然后按确认的输入与输出参数对应关系,在当前界面或当前宏中进行参数的转换处理。

一种软件界面与宏语言的参数匹配方法,其特征在于,包括以下步骤。

步骤1,建立前置界面和前置宏的输出参数的前置输出参数表格;建立当前界面或当前宏的输入参数的当前输入参数表格。

由于前置界面和前置宏、当前界面或当前宏的设计或开发均已经完成,因此我们可以遍历前置界面和前置宏,得到的其全部输出参数,以形成前置输出参数表格;也可得到当前界面或当前宏的输入参数,以形成当前输入参数表格。

所述的前置输出参数表格,是一个存在于内存中的二维表格,其列包括输出参数名称,其行包括遍历获得的前置界面和前置宏的全部输出参数,且每一行存放一个参数。

所述的当前输入参数表格,是一个存在于内存中的二维表格,其列包括输入参数形式名称的列,其行包括遍历获得的当前界面或当前宏的全部输入参数,且每一行存放一个参数。

所述的当前输入参数的形式名称,是指在当前界面或当前宏中已经建立的输入参数名,而不是直接引用其他程序中的内容作为输入参数。它可以用于独立开发和独立测试。

步骤2,根据前置输出参数表格,绘制包含前置输出参数名称的前置输出参数选择器;根据当前输入参数表格,绘制当前输入参数的当前输入参数选择器;绘制确认前置输出参数与当前输入参数关系的映射器。

所述的事件,是指在特定条件下,发生的有结果的动作。

所述的特定条件,即触发条件,有时也称为请求。所述的发生的动作,是对请求的响应的动作,简称响应。所述的绑定,是指在指定的对象上,附加所述事件,使所述对象具有产生所述响应的能力。

有了事件,对于前置输出参数选择器,才可以产生“选择”的动作。

所述的前置输出参数选择器,是一个依次绘制所述前置输出参数表格中包括的全部参数的、且在每个所述输出参数上绑定有拖动捕获或点击事件的一个显示区域。

所述的拖拽捕获事件,是指当接收到输入装置在“压下”的动作时,将“压下”时的所在对象的内容用于呈现拖拽的内容或轨迹,作为拖拽事件开始的响应动作。

所述的拖拽捕获事件,是拖拽三个事件中的第一个事件,拖拽中的第二个事件是拖拽拖动事件,是指拖拽捕获事件发生后,移动输入装置所发生的事件,其响应动作通常是在显示装置上移动与拖拽捕获时获得的对象的内容。拖拽中的第三个事件是拖拽释放事件,是指拖拽捕获事件发生后,“放开”输入装置的时发生的事件。

所述的当前输入参数选择器,是一个依次绘制所述当前输入参数表格中包括的全部参数的、且在每个所述输入参数上绑定有拖动释放或点击事件的一个显示区域。

所述的映射器,是指能反映前置输出参数与当前输入参数关系,并包括确认控件的一个显示区域。

所述的确认控件,是指绑定了点击事件的一个显示区域。点击这个控件时,将调用产生参数映射表格的过程:根据已经确认的各输出参数和各输入参数的映射关系,形成参数映射表格。

所述的参数映射表格,是步骤2图形化表达前置输出参数与当前输入参数的匹配结果,是作为步骤3转换成获取参数语句的根据,所述的参数映射表格是一个存在于内存中的二维表格,其列包括前置输出参数列与当前输入参数形式名称的列,其行包括确认的全部前置输出参数与当前输入参数的映射关系,且每一行存放一个映射关系。

步骤3,根据已经预先建立的当前界面或当前宏获取参数的参数语法格式表格,对步骤2所述的参数映射表格,进行转换处理,形成当前界面或当前宏的当前参数源程序表格。

由于采用图形化方式进行参数的匹配和转换,因此需要一定的处理规则,以适用于各种不同的计算机语言的语法自动转换。所述的参数语法格式表格,存放的就是参数自动转换的规则。

所述的参数语法格式表格是根据当前计算机语言的特点,在使用步骤1之前就已经建立完成的,其主要内容是获取前置输出参数的语句模板,以在转换处理时方便地进行替换等处理。

所述的参数语法格式表格,是一个存在于内存中的二维表格,其内容包括在当前界面或当前宏中,接收前置输出参数的语句格式的列。

对同一种计算机语言来说,参数语法格式表格只需要第一次应用之前建立完善即可,并可多次复用所述的参数语法格式表格。

所述的建立当前界面或当前宏的当前参数源程序表格,是指对所述的参数映射表格,根据其输入参数的类型,逐行地按照参数语法格式表,进行输入参数的处理,形成一个称为当前参数源程序表格的、存在于内存中的二维表格,所述的当前参数源程序表格内容包括在当前界面或当前宏中接收前置输出参数的语句的列,且每一行存放一个获取参数的语句。

所述的当前参数源程序表格,可以再稍做处理,即可形成可编译、可运行计算机源程序语句。

本发明与现有的技术相比的有益效果为。

(1)本发明提出的一种软件界面与宏语言的参数匹配方法,通过用图形方式进行参数传递与匹配关系的开发,提升了开发的直观性和易用性。

(2)本发明提出的一种软件界面与宏语言的参数匹配方法,通过用图形呈现前置输出参数与当前输入参数的匹配关系,提升了软件后期长期维护的用户体验,能更快地发现参数传递、匹配的问题所在。

(3)本发明提出的一种软件界面与宏语言的参数匹配方法,将参数开发独立进行,使计算机程序开发与参数开发分离,用图形开发方式强制实现了计算机程序“并行开发、独立组装”的开发方式,降低程序间耦合度,提高程序复用度,提高了开发效率和质量。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是从HTML界面语言传递参数到JSP服务端的参数映射设置示意图。

图2是从JSP服务端传递参数到JavaScript界面语言的参数映射示意图。

具体实施例

下面结合具体实施例对本发明和附图进行进一步描述。显然,所描述的实施例是只是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

现在我们有一个用JSP开发的收件箱界面,列出了最近的10封邮件,某人点击其中一封邮件后,系统将根据点击人登录帐号(是一个15个字节的字串),和点击邮件的id(是一个0-9999的整数),从数据库中检查并读取被点击邮件的发件时间、发件人、邮件标题、邮件内容信息。

在步骤1开始之前,我们先要确定已经建立完成参数语法格式表格。

由于采用图形化方式进行参数的匹配和转换,因此需要一定的处理规则,以适用于各种不同的计算机语言的语法自动转换。所述的参数语法格式表格,存放的就是参数自动转换的规则。

所述的参数语法格式表格,是一个存在于内存中的二维表格,其内容包括在当前界面或当前宏中,接收前置输出参数的语句格式的列。

所述的参数语法格式表格是根据当前计算机语言的特点建立的,主要内容是获取前置输出参数的语句模板,以在转换处理时方便地进行替换等处理。

在本实施例中,由于我们现在要处理的是从HTML界面到JSP服务端的参数传递,根据当前宏:JSP服务端的语言的特点,建立的可能如下所示的参数语法格式表格。

由于已经确定当前界面或当前宏所使用的计算机语言,根据其语法特点建立在这种计算机语言下获取参数的完善的参数语法格式表格,对同一种计算机语言来说,参数语法格式表格只需要第一次应用时建立完善即可,再次应用时可复用参数语法格式表格。

在本实施例中,我们现在要处理“系统将根据点击人登录帐号和点击邮件的id,从数据库中检查并读取被点击邮件的发件时间、发件人、邮件标题、邮件内容信息”的这个JSP服务端程序,由于这个服务端程序的目的是取得数据,因此,我们把它作为当前宏看待;相应地,列出最近10封邮件的HTML界面,就应该被看作是前置界面。

步骤1,建立前置界面和前置宏的输出参数的前置输出参数表格;建立当前界面或当前宏的输入参数的当前输入参数表格。

由于前置界面和前置宏、当前界面或当前宏的设计或开发均已经完成,因此我们可以遍历前置界面和前置宏,得到的其全部输出参数,以形成前置输出参数表格;也可得到当前界面或当前宏的输入参数,以形成当前输入参数表格。

在本实施例中,根据遍历已经完成的前置界面,得到这个存在于内存中的HTML界面的前置输出参数表格,可能如下表所示。

所述的当前输入参数表格,是一个存在于内存中的二维表格,其列包括输入参数形式名称的列,其行包括遍历获得的当前界面或当前宏的全部输入参数,且每一行存放一个参数。

所述的当前输入参数的形式名称,是指在当前界面或当前宏中已经建立的输入参数名,而不是直接引用其他程序中的内容作为输入参数。它可以用于独立开发和独立测试。

在本实施例中,根据遍历已经完成的当前JSP服务端宏语言,得到当前输入参数表格,可能如下表所示。

步骤2,根据前置输出参数表格,绘制包含前置输出参数名称的前置输出参数选择器;根据当前输入参数表格,绘制当前输入参数的当前输入参数选择器;绘制确认前置输出参数与当前输入参数关系的映射器。

在本实施例中,如图1所示,0101是前置输出参数选择器,列出了前置输出参数:点击人登录帐号和邮件id,且这两个参数上均绑定了拖拽捕获事件,其响应动作是拖拽这两个参数时,将产生带箭头的映射指向线条。

所述的当前输入参数选择器,是一个依次绘制所述当前输入参数表格中包括的全部参数的、且在每个所述输入参数上绑定有拖动或点击事件的一个显示区域。

在本实施例中,如图1所示,0102是当前输入参数选择器,列出了当前输入参数:邮件id和人员id,且这两个参数上均绑定了拖拽释放事件,其响应动作是拖拽到这两个参数放开鼠标时,将带箭头的映射指向线条的位置固定下来。

所述的映射器,是指能反映前置输出参数与当前输入参数关系,并包括确认控件的一个显示区域。

所述的确认控件,是指绑定了点击事件的一个显示区域。点击这个控件时,将调用产生参数映射表格的过程:根据已经确认的各输出参数和各输入参数的映射关系,形成参数映射表格。

在本实施例中,如图1所示,0103是映射器,它只是一个确认按钮,点击这个按钮时,根据映射的参数间的关系,即前置输出参数“点击人登录帐号”与当前输入参数“人员id”,和前置输出参数“邮件id”与当前输入参数“邮件id”,建立参数映射表格。

所述的参数映射表格,是步骤2图形化表达前置输出参数与当前输入参数的匹配结果,是作为步骤3转换成获取参数语句的根据,所述的参数映射表格是一个存在于内存中的二维表格,其列包括前置输出参数列与当前输入参数形式名称的列,其行包括确认的全部前置输出参数与当前输入参数的映射关系,且每一行存放一个映射关系。

在本实施例中,根据图1所示的确认结果,我们建立的参数映射表格,可能如下表所示。

步骤3,根据已经预先建立的当前界面或当前宏获取参数的参数语法格式表格,对步骤2所述的参数映射表格,进行转换处理,形成当前界面或当前宏的当前参数源程序表格。

所述的建立当前界面或当前宏的当前参数源程序表格,是指对所述的参数映射表格,根据其输入参数的类型,逐行地按照参数语法格式表,进行输入参数的处理,形成一个称为当前参数源程序表格的、存在于内存中的二维表格,所述的当前参数源程序表格内容包括在当前界面或当前宏中接收前置输出参数的语句的列,且每一行存放一个获取参数的语句。

在本实施例中,根据已建立的参数语法格式表格和参数映射表格,对于前置参数类型与当前参数类型分别相同的原则,找到参数语法格式表格中语法行,直接用前置输出参数替换参数语法格式表格中的“$before_out_para$”;用当前输入参数替换参数语法格式表格中的“$curr_in_para$”,例如,前置输出参数“点击人登录帐号”的参数类型是String,对应的当前输入参数“人员id”的参数类型是int,则找到的参数语法格式表格中的替换行是编号为2的行:

"$curr_in_para$=Integer.valueOf(request .getParameter(“$before_out_para$”)).intValue();",用前置参数名称“var1702”直接替换“$before_out_para$”,用当前参数“var906”直接替换“$curr_in_para$”,就形成了这样的源程序语句:

var906=Integer.valueOf(request .getParameter(“var1702”)).intValue();

因此,建立的当前参数源程序表格可能如下表所示。

可以看出,建立的当前参数源程序表格,稍做处理,如写入一个文本文件,即可形成可编译JSP服务端源程序。

下面,我们完成这个实施例的下一步操作:根据读取被点击邮件的发件时间、发件人、邮件标题、邮件内容信息,在界面上显示以上信息。

我们现在要处理“界面上显示以上信息”的这个计算机程序,因此,我们把它作为当前界面看待;相应地,“读取被点击邮件的发件时间、发件人、邮件标题、邮件内容信息”,就应该被看作是前置宏。

在步骤1开始之前,同样,我们先要确定已经建立参数语法格式表格。

在本实施例中,由于我们现在要处理的是从JSP服务端到界面脚本语言JavaScript的参数传递,根据当前界面脚本JavaScript的语言的特点,建立的可能如下所示的参数语法格式表格。

步骤1,建立前置界面和前置宏的输出参数的前置输出参数表格;建立当前界面或当前宏的输入参数的当前输入参数表格。

由于前置宏、当前界面的设计或开发均已经完成,因此我们可以遍历前置宏,得到的其全部输出参数,以形成前置输出参数表格;也可得到当前界面的输入参数,以形成当前输入参数表格。

在本实施例中,根据遍历已经完成的前置宏,得到这个存在于内存中的JSP服务端的前置输出参数表格,可能如下表所示。

所述的当前输入参数表格,是一个存在于内存中的二维表格,其列包括输入参数形式名称的列,其行包括遍历获得的当前界面或当前宏的全部输入参数,且每一行存放一个参数。

所述的当前输入参数的形式名称,是指在当前界面或当前宏中已经建立的输入参数名,而不是直接引用其他程序中的内容作为输入参数。它可以用于独立开发和独立测试。

在本实施例中,根据遍历已经完成的当前界面脚本语言JavaScript语言,得到当前输入参数表格,可能如下表所示。

步骤2,根据前置输出参数表格,绘制包含前置输出参数名称的前置输出参数选择器;根据当前输入参数表格,绘制当前输入参数的当前输入参数选择器;绘制确认前置输出参数与当前输入参数关系的映射器。

在本实施例中,如图2所示,0101是前置输出参数选择器,列出了前置输出参数:收件信息、发件信息,其中收件信息参数var1801包括如下结构:发件人、发件时间、邮件标题、邮件内容,且这两个参数及其内部结构上均绑定了拖拽捕获事件,其响应动作是拖拽这两个参数或其内部结构时,将产生带箭头的映射指向线条。

所述的当前输入参数选择器,是一个依次绘制所述当前输入参数表格中包括的全部参数的、且在每个所述输入参数上绑定有拖动或点击事件的一个显示区域。

在本实施例中,如图2所示,0102是当前输入参数选择器,列出了当前输入参数:发件人、发件时间、邮件标题和邮件内容,且这四个参数上均绑定了拖拽释放事件,其响应动作是拖拽到这两个参数放开鼠标时,将带箭头的映射指向线条的位置固定下来。

所述的映射器,是指能反映前置输出参数与当前输入参数关系,并包括确认控件的一个显示区域。

所述的确认控件,是指绑定了点击事件的一个显示区域。点击这个控件时,将调用产生参数映射表格的过程:根据已经确认的各输出参数和各输入参数的映射关系,形成参数映射表格。

在本实施例中,如图2所示,0103是映射器,它只是一个确认按钮,点击这个按钮时,根据映射的参数间的关系,即前置输出参数“收件信息”中的“发件人”与当前输入参数“发件人”、前置输出参数“收件信息”中的“发件时间”与当前输入参数“发件时间”、前置输出参数“收件信息”中的“邮件标题”与当前输入参数“邮件标题”、前置输出参数“收件信息”中的“邮件内容”与当前输入参数“邮件内容”,建立参数映射表格。

所述的参数映射表格,是步骤2图形化表达前置输出参数与当前输入参数的匹配结果,是作为步骤3转换成获取参数语句的根据,所述的参数映射表格是一个存在于内存中的二维表格,其列包括前置输出参数列与当前输入参数形式名称的列,其行包括确认的全部前置输出参数与当前输入参数的映射关系,且每一行存放一个映射关系。

在本实施例中,根据图2所示的确认结果,我们建立的参数映射表格,可能如下表所示。

步骤3,根据已经预先建立的当前界面或当前宏获取参数的参数语法格式表格,对步骤2所述的参数映射表格,进行转换处理,形成当前界面或当前宏的当前参数源程序表格。

所述的建立当前界面或当前宏的当前参数源程序表格,是指对所述的参数映射表格,根据其输入参数的类型,逐行地按照参数语法格式表,进行输入参数的处理,形成一个称为当前参数源程序表格的、存在于内存中的二维表格,所述的当前参数源程序表格内容包括在当前界面或当前宏中接收前置输出参数的语句的列,且每一行存放一个获取参数的语句。

在本实施例中,根据已建立的参数语法格式表格和参数映射表格,对于前置参数类型与当前参数类型分别相同的原则,找到参数语法格式表格中语法行,直接用前置输出参数替换参数语法格式表格中的“$before_out_para$”;用当前输入参数替换参数语法格式表格中的“$curr_in_para$”,例如,前置输出参数“发件人”的参数类型是String,对应的当前输入参数“发件人”的参数类型是var_str,则找到的参数语法格式表格中的替换行是编号为1的行:$curr_in_para$=“<%=$before_out_para$%>”,用前置参数名称var1801.get(“var202”)直接替换“$before_out_para$”,用当前参数“var506”直接替换“$curr_in_para$”,就形成了这样的源程序语句:

var506=“<%=var1801.get(“var202”)%>”。

因此,建立的当前参数源程序表格可能如下表所示。

可以看出,建立的当前参数源程序表格,稍做处理,如写入一个文本文件,即可形成可运行的JavaScript源程序。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1