CN113688141B - 一种应用功能设计方法及软件开发平台 - Google Patents
一种应用功能设计方法及软件开发平台 Download PDFInfo
- Publication number
- CN113688141B CN113688141B CN202111239124.1A CN202111239124A CN113688141B CN 113688141 B CN113688141 B CN 113688141B CN 202111239124 A CN202111239124 A CN 202111239124A CN 113688141 B CN113688141 B CN 113688141B
- Authority
- CN
- China
- Prior art keywords
- data
- component
- variables
- functional
- functional components
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种应用功能设计方法及软件开发平台,分别构建出可用于应用功能设计时使用的功能组件库和数据类型库;根据应用功能的需求,从所述功能组件库中选取所需的功能组件,配置功能组件的接口之间的连接关系和组件应执行的动作、配置组件中的数据变量之间的数据传递关系和数据变量执行的操作,以实现功能组件之间的相互调用和行为交互、功能组件中之间的数据传递和对数据的操作;保存上述配置内容,完成对应用功能的设计。本发明解决现有无代码软件开发技术中由于基于预设的固定框架进行配置设计所带来的不能进行灵活的组合设计、交互设计、数据传递设计、数据操作设计的问题。
Description
技术领域
本发明涉及应用软件开发技术领域,具体涉及一种应用功能设计方法及软件开发平台。
背景技术
目前主流的信息化数字化系统的开发,是基于数据库开发语言SQL、服务器端开发语言java/python等、web前端开发语言html/css/JavaScript/typescript等,进行代码开发。其技术门槛高、周期长、质量差、成本高等问题,还有技术人员不懂业务、业务人员不懂技术所带来的开发出来的软件不实用的问题。
近年来也出现一些为了降低信息化系统开发门槛和成本的基于图形化配置数据管理和数据分析功能的配置工具,但是都存在一个核心问题:这些配置工具所支持的配置项,只能配置出简单的数据管理和分析功能,还有很多现实中的软件需求,是这些配置工具无法配置出来的。原因在于这些配置工具的设计原理都是:开发好一套数据管理和数据分析功能的功能框架,基于该框架提供各种附加在框架上的配置项,通过配置项的不同配置的组合从得到最终的不同的功能。然而,基于这样的设计原理设计的配置工具,其所配置出来的软件功能,永远受制于该工具所预设的功能框架,不在该框架所涵盖的范围内的软件功能,则无论其配置项怎么组合都组合不出来。
发明内容
本发明提供一种应用功能设计方法及软件开发平台,以解决现有无代码软件开发技术中由于基于预设的固定框架进行配置设计所带来的不能进行灵活的组合设计、交互设计、数据传递设计、数据操作设计的问题。
本发明解决上述技术问题的技术方案如下:
第一方面,本发明提供一种应用功能设计方法,包括以下步骤:
S1,对特定的交互展示、逻辑处理类功能代码进行组件化封装得到多种不同的功能组件,构建功能组件库;
S2,根据设计需求,从所述功能组件库中选取相应的功能组件,配置功能组件之间的关联关系,以实现功能组件之间的相互调用;
S3,根据设计需求,在组件之间的关联关系中,配置组件之间的数据赋值关系和数据操作指令,以实现在功能组件之间相互调用时的数据传递和数据操作行为;
S4,保存上述S2、S3的配置内容,完成应用功能设计;通过解析并运行所述配置内容,即可实现对所设计的应用功能的运行。
进一步的,所述功能组件定义了与其他功能组件进行关联的输入接口和输出接口,通过关联不同功能组件的输入接口和输出接口来生成功能组件之间的关联关系,从而实现不同功能组件之间的各种调用关系。
进一步的,当所述的输入接口被调用时,还触发其所在的功能组件对象的加载运行;当所述的输出接口被功能组件内部调用时输出接口给解释运行器发相应的消息(解释运行器收到消息后则调用与所述输出接口关联的输入接口,从而实现接口之间的相互调用,从而实现组件之间的相互调用)。
进一步的,所述功能组件定义了数据变量,所述数据变量则是基于特定的数据类型来构造的。功能组件内部使用了所述的数据变量,功能组件外部也可以使用所述的数据变量。通过配置功能组件的数据变量之间的数据变量赋值关系以及配置数据变量的数据操作方法,从而实现功能组件之间的数据传递和对数据的操作。
进一步的,所述数据类型定义了至少一种读方法和/或至少一种写方法、以及数据操作方法;所述的数据类型用来构造数据变量,通过选择一个数据变量读方法和另一个数据变量的写方法,实现配置数据变量之间的赋值关系时。通过选择一个数据变量的数据操作方法,实现对数据的操作。
进一步的,所述的数据类型封装在数据类型库中,所述的数据类型库,封装了多种数据类型,每种数据类型都封装了特定的数据资源访问类、数据操作管理类、数据计算处理类的代码。在应用功能设计时,可以用所述的数据类型库中的数据类型来构造数据变量,并配置数据变量的数据操作方法从而实现对数据的操作。
进一步的,将功能组件库中所包含的功能组件和数据类型库中所包含的数据类型、所选的功能组件的输入接口和输出接口、不同功能组件之间的接口连接、所述数据变量的读数据方法和写数据方法、接口连接上的数据变量之间的赋值关系和数据变量的数据操作设置进行图形化显示,从而实现基于图形化的应用功能的设计。
第二方面,本发明提供一种软件开发平台,包括:中间平台层、代码封装层、资源管理层;所述中间平台层、代码封装层、资源管理层为开发人员提供低代码的应用功能开发设计;其中
所述资源管理层,包括用于可视化设计数据库的数据表及其字段的数据表设计器;
所述代码封装层,包括数据类型库和功能组件库;
所述数据类型库中包含多种不同的数据类型;所述数据类型由封装了特定的功能代码的数据类型构建模块构建;
所述功能组件库中包含多种不同的功能组件,所述功能组件通过将特定的功能代码进行组件化封装得到;所述功能组件至少定义了一个输入接口,用于被其他组件调用;定义了一个或多个输出接口用于调用其他组件;所述功能组件通过数据类型库中的数据类型定义了数据变量,外部可以通过所述数据变量的写数据方法对数据变量进行赋值;
所述中间平台层,包括功能设计器和解释运行器;
所述功能设计器用于根据设计需求从所述功能组件库中选取相应的功能组件,根据所选功能组件从数据对象库中选取相应的数据类型,组合所选功能组件、数据类型;所述的功能组件配置包括:配置功能组件的输入接口,用于触发该功能组件的运行;根据功能组件所实现的功能,配置功能组件所包含的数据变量;根据功能组件所实现的功能,配置功能组件的输出接口;基于所述功能设计器还用于根据应用功能的设计需求进行如下设计操作:连接组件对象的输入输出接口以配置组件对象接口之间的调用关系、选择不同组件对象中的数据变量的读数据方法和写数据方法以配置组件的数据变量之间的赋值关系;
所述解释运行器用于解释和运行在功能设计器中生成的配置数据中的指令集,这些指令集包括:解释执行构造功能组件对象的指令进而构造功能组件对象;解释执行配置功能组件对象及其数据变量的指令进而配置功能组件对象及其数据变量;解释执行调用功能组件对象的输入接口的指令进而调用一个功能组件对象的输入接口;解释执行数据变量赋值的指令进而实现依据数据变量A的读数据方法,从一个功能组件对象中读取数据变量A的数据值,并依据数据变量B的写数据方法,将读取的数据变量A的数据值写入到另一功能组件对象的数据变量B;解释执行接口连接指令以实现当接口连接中的输出接口被调用后触发该接口连接上的数据变量赋值的指令的执行和该接口连接上的输入接口的执行。
进一步的,所述功能设计器还用于将所述数据类型库中所包含的数据类型和所述功能组件库中所包含的功能组件进行图形化展示;将通过功能组件配置创建的组件对象以及通过数据类型定义的数据变量进行图形化展示;组件对象的图形化展示中包含组件对象的输入输出接口的图形化展示;将关联连接了不同组件之间的输入输出接口的接口连接进行图形化展示;将所述数据变量的读数据方法和写数据方法进行图形化展示;将接口连接上的数据变量之间的赋值关系进行了图形化展示。
进一步的,所述数据类型构建模块用于:
定义数据类型名称、属性类型、属性名称;
定义构造数据变量的方法,用于在所述的功能组件中定义和构造数据变量;
定义配置数据变量的方法,用于对所生成的数据变量的各项配置进行配置,生成配置数据,数据变量运行时,根据这些配置数据来运行相应的逻辑;
定义从所生成的数据变量中读取数据的方法;
定义往所生成的数据变量中写数据的方法。
进一步的,所述组件化封装的过程包括:
定义功能组件的名称、属性名称、属性类型;
定义构造功能组件对象的方法,用于生成功能组件对象;
定义配置功能组件对象的方法,用于对所生成的功能组件对象的各项配置进行配置,生成配置数据,功能组件对象运行时,可以根据这些配置来运行相应的逻辑;
定义数据变量,这些数据变量基于上述数据类型库中的数据类型定义,功能组件根据这些数据变量中的数据来运行,功能组件的数据变量,用于在功能组件外部赋值;
定义输入接口,用于驱动功能组件对象的加载和运行;
定义输出接口,功能组件对象内部针对特定的事件关联所定义的某个输出接口,当该事件发生时,触发对该输出接口的调用;所述输出接口还用于当输出接口被功能组件调用时,给解释运行器发消息。
进一步的,该平台还包括应用功能设计层,用于为用户或开发人员提供零代码可视化的应用功能差异化定制设计。所述的差异化定制设计的操作包括:根据所需要开发的应用功能的设计需要,创建所需的组件对象;调整界面类组件对象在应用功能的界面中的摆放位置和大小;基于组件对象的数据配置功能,根据所需要开发的应用功能的设计需要,对组件对象进行配置;根据所需要开发的应用功能的设计需要,基于支持的数据类型生成数据变量;根据所需要开发的应用功能的设计需要,在组件中基于支持的数据类型生成数据变量;基于数据变量的数据配置功能,根据所需要开发的应用功能的设计需要,对所有的数据变量进行数据配置;基于图形化设计器呈现的组件对象的输入接口和输出接口,根据所需要开发的应用功能的设计需要,连接不同组件的输出接口和输入接口,生成一个接口连接;根据所需要开发的应用功能的设计需要,基于一个接口连接,设置数据变量赋值关系,基于图形化设计器呈现的所有的数据变量,选择要被赋值的数据变量A和用于赋值的数据变量B,并且基于图形化设计器呈现的数据变量A的数据类型的所有写操作和数据变量B的数据类型的所有读数据操作,选择其中的一对读数据和写数据操作以配置出赋值关系中的读数方法和写数据方法,生成两个数据变量之间的一个赋值关系;保存上述设计结果。
本发明的有益效果是:
通过对通用功能代码的组件化封装,得到各种代表通用功能的功能组件,由这些组件来进行灵活的组合,可以设计出各种各样的应用功能。通过功能组件开放出输入接口和输出接口,可以自由设计组件之间的相互调用关系;通过功能组件开放出数据变量,可以自由设计组件之间的数据传递;通过数据变量的多个不同的读数据写数据方法来进行相互赋值,可以自由设计数据变量之间的数据传递的方式,以实现不同类型的数据变量的相互赋值,同类型数据变量的不同属性之间的相互赋值。尤为特别的是,上述效果都可以基于图形化设计界面来实现,不需要进行代码编写。通过本发明方案,只需要封装好特定的通用代码,就可以实现大量的业务应用功能都不需要写代码,而是基于上述的图形化设计方法即可实现。
从另一方面来说明,即:基于本发明的方案,使得功能组件和数据类型模块的代码的重用率大大提升,大部分的定制化设计都不需要通过代码来实现,就在图形化设计中就能实现。
附图说明
图1为本发明实施例提供的软件开发平台结构示意图;
图2为本发明实施例提供的一种应用功能设计方法流程示意图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
图1为本发明实施例提供的软件开发平台结构示意图。如图1所示,所述软件开发平台,包括:应用功能设计层、中间平台层、代码封装层、资源管理层;所述应用功能设计层为用户或开发人员提供零代码可视化的应用功能差异化定制设计,所述中间平台层、代码封装层、资源管理层为开发人员提供低代码的应用功能开发设计;其中,所述资源管理层,包括数据表设计器、外部系统连接管理器、文件管理器;所述代码封装层,包括数据类型库和功能组件库;所述中间平台层,包括功能设计器和解释运行器;所述应用功能设计层,用于根据应用功能的需求,提取功能设计器中加载的功能组件库和数据类型库中的各功能组件和数据类型,进行零代码、可视化的设计所需的应用功能。
具体的,所述数据表设计器用于可视化设计数据库的数据表及其字段;所述外部系统连接管理器用于可视化定义和配置平台与外部软硬件系统的数据连接;所述文件管理器用于可视化设计文件存储目录/路径/访问权限。
所述数据类型库,用于编码实现各种的数据资源和数据变量的读写访问、查询计算等功能,并进行数据类型化封装得到多种数据类型。数据类型的使用者可以基于数据类型提供的方法来访问和使用各种数据资源。数据类型可以用于定义数据变量,使用者可以基于数据类型的配置功能和读写数据方法来设置和读写数据变量的数据值。数据类型可以用于定义组件的数据变量,功能组件基于数据变量访问和使用相应数据资源。基于数据变量的读数据方法和写数据方法,可以实现数据变量之间的赋值。基于数据变量的之间的赋值,可以实现组件之间的数据传递和组件与应用功能之间的数据传递。数据类型库中封装了多个数据类型,根据需要,可以动态的不断开发新的数据类型。
所述的数据类型化封装,即封装和定义一种数据类型的规范,包括:
1)该数据类型名称、属性类型、属性名称的定义。
2)用于构造数据变量的方法定义,可以用于生成数据变量。
3)用于配置数据变量的方法定义,可以用于对所生成的数据变量的各项配置进行配置,该方法可以生成配置数据,数据变量运行时,可以根据这些配置数据来运行相应的逻辑。
4)用于从所生成的数据变量中读取数据的方法定义,包括:方法名、返回类型。
5)用于往所生成的数据变量中写数据的方法定义,包括,方法名、参数名、参数类型。
6)其他用途的方法定义,包括:方法名、参数名、参数类型、返回类型。
数据类型库,包括如下数据类型:数据表类型、数据行类型、数据列类型、筛选条件类型、文件夹类型、文件类型、数组类型、字典类型、文本类型、数字类型、日期时间类型、单选项类型、多选项类型、地址类型、组织成员类型、user类型、流水号类型、图片类型、超链接类型等;同时,本平台支持不断接入符合本发明方案所述的数据类型定义规范下开发的新数据类型。
数据类型的配置功能用于配置数据变量中的各种数据值。如:数据表类型的配置功能可以设置数据表变量的:数据表名、筛选条件、排序规则等。
所述功能组件库,用于编码实现各种的数据展示、界面交互功能、数据处理、算法逻辑等功能,并进行组件化封装得到多种功能组件。功能组件用于定义组件对象,使用者可以基于功能组件的配置功能来配置组件对象的各种配置项。功能组件可以使用数据类型库中的数据类型来定义其数据变量,并通过该数据变量访问各种数据和数据资源。组件外部可以对组件的数据变量进行赋值,外部可以通过改变组件的数据变量的数据来影响组件运行,同时,外部也可以使用组件的数据变量来读取数据。通过设置组件的数据变量之间的赋值关系,可以实现组件之间的数据传递、组件与应用功能之间的数据传递。功能组件定义了输入接口和输出接口,外部触发调用其输入接口可以触发组件加载运行;组件内部可以触发对输出接口的调用。通过设置组件之间的输出接口和输入接口之间的接口连接关系,可以实现一个组件触发另外一个组件的运行,从而实现组件之间的相互调用。功能组件库中封装了多个功能组件,根据需要,可以动态的不断开发新的功能组件。所述组件化封装,即封装和定义一个功能组件的规范,包括:
1)组件的名称、属性名称、属性类型的定义。
2)构造组件对象的方法定义,可以用于生成组件对象。
3)配置组件对象的方法定义,可以用于对所生成的组件对象的各项配置进行配置,该方法可以生成配置数据,组件对象运行时,可以根据这些配置来运行相应的逻辑。
4)数据变量的定义,这些数据变量基于上述数据类型库中的数据类型定义的,组件可以根据这些数据变量中的数据来运行,组件的数据变量,可以用于在组件外部赋值。
5)输入接口的定义,可以用于驱动组件对象的加载和运行。
6)输出接口的定义,也可以动态生成输出接口定义。组件对象内部针对特定的事件关联了所定义的某个输出接口,当该事件发生时,会触发对输出接口的调用。
7)其中的输出接口,实现了给解释运行器发消息的功能。当输出接口被组件调用时,该输出接口方法会给解释器发送消息。
功能组件库,包括如下功能组件:1)常见的涉及到数据库表的增删改查功能和数据统计功能的表格展示组件、表格编辑组件、表单录入组件、表单编辑组件、表单展示组件、统计图表组件、查询组件、分类树组件、日历组件、甘特图组件、地图组件、BIM建模组件、循环器组件、分支器组件、数据流转组件、数据增删改组件、定时器组件、流程触发组件、启动功能组件、同步外部系统数据组件、数据导入导出组件、打印组件等;同时,本平台支持不断接入符合本发明方案所述的组件化定义规范下开发的新组件。
组件的配置功能,包括:设计者可以对组件自身的界面呈现、交互逻辑、数据处理逻辑等进行配置,一般包括:1)配置组件中使用到的组件变量的各种行为参数,不同的数据类型的变量的行为参数可能不同,其配置也不同,比如:对于数据表这种数据类型的变量,其获取数据的行为参数中往往包括要获取哪些字段的参数,那么该参数的配置项就是配置要获取的字段名称;2)配置组件要输出的接口,组件定义了其全部可以输出的接口,设计者可根据需要选择输出哪些接口;3)配置组件初始化运行时机:功能启动时运行或者被接口连接触发才运行;4)配置组件对象中的按钮、菜单、点击、编辑输入控件、显示控件等界面元素;5)针对组件内部运行机制的配置;6)组件提供的其他可配置项的配置。
所述解释运行器,具备解释和执行指令的功能,可以解释和运行一种指令集,指令集中的指令包含对功能组件和数据类型及其属性、方法的调用。本身也是一个解释运行环境,可以在解释指令后立即按指令描述执行实际的代码模块。在本实施例中,解释运行环境包括一个基于浏览器的前端GUI解释运行环境和一个基于应用服务器的后端解释运行的环境。对于前台使用者启动的功能,首先启动前台解释运行环境,基于该环境解释执行应用功能中的指令语句。如果执行指令语句触发的是前台组件则保持在前台解释运行,如果触发的是后台组件,这前台环境会通知后台环境进行解释执行。对于直接基于后台任务启动的功能,则启动的是后台解释运行环境,并一直在后台环境中解释执行所有指令。
当一个指令交给解释器时,解释器可以解析该指令并按指令描述调用相应的功能组件或者数据类型的属性和方法。解释运行器可解释的指令语句及执行的相应的代码程序,包括:
1)解释:创建组件对象的指令语句,并实际执行:基于指令描述中的功能组件,构造组件对象;指令样例:create_com com_type=’table_com’,com_name=’表格组件A’ ,position=’(0,0)’,size=’(110,200)’。
2)解释:创建数据变量的指令语句,并实际执行:基于指令描述中的数据类型,构造数据变量;指令样例:create_datavar data_type = ‘table_dt’, var_name = ‘关联的数据表’, constructor = ’table_dt.constructor(‘客户表’)’。
3)解释:在组件对象中创建数据变量的指令语句,并实际执行:基于指令描述中的数据类型,在组件对象中构造数据变量;指令样例:add_var_to_com com_name=‘表格组件1’, data_type = ‘string_dt’, var_name = ‘选中的行数’, constructor = ’string_dt.constructor(0)’。
4)解释:配置组件对象和数据变量的指令语句,并实际执行:把指令描述中的配置数据传递给相应的组件对象和数据变量对象。
配置数据变量的指令样例:set_var_config var_name=’表格组件1.选中的行数’, config=’{‘default_value’:’0’ }’。
配置组件对象的指令样例:set_com_config com_name=’表格组件1’ , config=’{‘field_name_list’:’客户名称,联系方式,地址,负责人,客户类型’,’filter’:’客户类型=大客户’,’button’:’录入数据按钮,录入’ }’。
5)解释:配置组件对象的摆放位置和大小的指令语句,并实际执行:按指令描述中的组件对象的摆放位置和大小在功能界面中进行显示。指令样例:set_com_position com_name = ‘表格组件1’ position=‘(10,10)’、 set_com_size com_name = ‘表格组件1’size=‘(100,300)’。
6)解释:创建组件之间的接口连接的指令语句,并实际执行:构造接口连接对象,同时监听接口连接上的输出端的输出接口消息。此处监听的消息被触发后,解释器将执行该接口连接上的数据变量赋值指令语句,然后执行接口连接上的输入接口。指令样例:create_call_relation call_relation_id=’cr123’ output = ‘表格组件1.录入’ ,input = ‘录入表单组件1.call’。
7)解释:接口连接上的数据变量赋值指令语句,实际执行:数据变量的对应的数据类型的读写操作实现数据变量之间的赋值,即,根据指令描述,执行描述中的数据变量B的读数据方法从数据变量B中获取数据值,然后执行描述数据变量A的写数据方法把数据值写入到数据变量A中。指令样例:create_assign_statement call_relation_id=’cr123’assign_statement_list=[(‘表单组件1.导入数据个数.set_value ’ = ‘表格组件1.选择的行数.get_value’)]。
所述功能设计器,可以加载功能组件库和数据类型库中的各功能组件和数据类型,基于功能组件和数据类型的定义描述信息,功能设计器可以可视化的呈现功能组件和数据类型及其各方面的使用细节(比如:名称、数据变量、配置功能、可用方法、输入接口、输出接口)。基于功能组件和数据类型的定义描述信息以及解释器可以解释和执行的指令集,功能设计器还提供各种图形化的设计操作,设计者执行某个设计操作后会自动生成相应的指令语句,这些指令语句描述了如何调用对应的功能组件模块或者数据类型模块的代码接口或者其他的指令语句。设计者基于这些设计操作,可以零代码的可视化的设计其所需的应用功能并保存为指令语句数据,解释运行器可以解释和执行这些指令语句,即运行相应的应用功能。功能设计器支持的功能包括:
1)呈现的所有支持的组件和数据类型。
2)基于这些组件和数据类型,设计者可以创建组件对象和数据变量,并自动生成创建组件对象的指令语句和创建数据变量的指令语句。
3)设计者调整界面类组件对象在应用功能的界面中的摆放位置和大小,并自动生成配置组件对象的摆放位置和大小的指令语句,并删除该组件之前的该类指令。
4)设计者可以在组件对象中创建数据变量,并自动生成在组件对象中创建数据变量的指令语句。
5)呈现所创建的所有组件对象,数据变量、组件对象中自带的所有数据变量、组件中设计者创建的数据变量。
6)设计者可以对其所创建的组件对象或者数据变量或者组件对象中的数据变量执行数据配置功能,设计器的此功能实际调用了组件对象或者数据变量自身的数据配置功能,并自动生成配置组件对象或者数据变量的配置组件对象和数据变量的指令语句。
7)呈现组件对象支持的输入接口和输出接口。
8)基于设计器呈现的组件对象的输入接口和输出接口,设计者可以连接不同组件的输出接口和输入接口以创建一个接口连接,并自动生成创建组件之间的接口连接的指令语句。
9)设计者可以基于一个接口连接,设置该接口连接上的数据变量赋值关系,并自动生成接口连接上的数据变量赋值指令语句。
10)设计者设置接口连接上的数据变量的赋值关系时,设计器呈现的所有的数据变量,设计者可以从中选择要被赋值的数据变量A和用于赋值的数据变量B,并且基于设计器呈现的数据变量A的数据类型的所有写操作和数据变量B的数据类型的所有读数据操作,设计者可以从数据变量A中选择一个写数据操作W和从数据变量B中选择一个读数据操作R,生成两个数据变量之间的一个赋值关系,从而实现用数据变量B的R方法从数据变量B中获取数据值,并把数据值用数据变量A的W方法写入到数据变量B中。
11)把自动生成的所有指令语句保存为一份设计结果数据。
所述应用功能设计层,用于设计者根据所需要开发的应用功能的需求,零代码、可视化的设计出其所需的应用功能,其中的设计方法包括如下步骤:
1)基于设计器呈现的所有支持的组件和数据类型,设计者根据所需要开发的应用功能的设计需要,创建所需的组件对象。
2)调整界面类组件对象在应用功能的界面中的摆放位置和大小。
3)基于组件对象的数据配置功能,设计者根据所需要开发的应用功能的设计需要,对组件对象进行配置。
4)设计者根据所需要开发的应用功能的设计需要,基于支持的数据类型生成数据变量。
5)设计者根据所需要开发的应用功能的设计需要,在组件中基于支持的数据类型生成数据变量。
6)基于数据变量的数据配置功能,设计者根据所需要开发的应用功能的设计需要,对所有的数据变量进行数据配置。
7)基于设计器呈现的组件对象的输入接口和输出接口,设计者根据所需要开发的应用功能的设计需要,连接不同组件的输出接口和输入接口,生成一个接口连接。
8)设计者根据所需要开发的应用功能的设计需要,设计者可以基于一个接口连接,设置数据变量赋值关系,设置数据变量的赋值关系时,基于设计器呈现的所有的数据变量,设计者可以选择要被赋值的数据变量A和用于赋值的数据变量B,并且基于设计器呈现的数据变量A的数据类型的所有写操作和数据变量B的数据类型的所有读数据操作,设计者可以选择其中的一对读数据和写数据操作以配置出赋值关系中的读数方法和写数据方法,生成两个数据变量之间的一个赋值关系。
9)保存上述设计结果。
基于上述软件开发平台,本发明实施例还提供一种应用功能设计方法,如图2所示,包括以下步骤:
S1,对特定的功能代码进行数据类型化封装得到多种不同的数据类型,构建数据类型库;所述数据类型用于定义数据变量,通过至少一种读数据方法和至少一种写数据方法对所述数据变量进行读写操作;
S2,对特定的功能代码进行组件化封装得到多种不同的功能组件,构建功能组件库;
S3,根据设计需求从所述功能组件库中选取相应的功能组件,并进行功能组件配置,以创建组件对象:
配置功能组件的输入接口,用于触发该功能组件的运行;
根据功能组件所实现的功能,配置功能组件所包含的数据变量,所述数据变量通过调用数据类型库中的数据进行定义;
根据功能组件所实现的功能,配置功能组件的输出接口;
S4,根据设计需求,配置组件对象之间的输出接口和输入接口的关联连接关系,以实现组件之间的相互调用,并选择不同组件对象中的数据变量的读数据方法和写数据方法以实现不同数据变量间的赋值以及组件对象间的数据传递;
S5,保存上述S3、S4的配置内容,完成应用功能设计。通过应用功能解释器解析并运行所述配置内容,即可实现对所设计的应用功能的运行。
在上述实施例的基础上,所述的一种应用功能设计方法还包括,将所述数据类型库中所包含的数据类型和所述功能组件库中所包含的功能组件进行图形化展示;将通过功能组件配置创建的组件对象以及通过数据类型定义的数据变量进行图形化展示;组件对象的图形化展示中包含组件对象的输入输出接口的图形化展示;将关联连接了不同组件之间的输入输出接口的接口连接进行图形化展示;将所述数据变量的读数据方法和写数据方法进行图形化展示;将接口连接上的数据变量之间的赋值关系进行了图形化展示;应用功能设计者基于这些图形化界面,可以实现进行如下设计操作:创建组件对象、配置组件对象及其数据变量、配置组件接口之间的调用关系、选择不同组件对象中的数据变量的读数据方法和写数据方法以配置组件的数据变量之间的赋值关系。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到计算机、专用计算机、嵌入式计算机或者其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
Claims (8)
1.一种应用功能设计方法,其特征在于,包括以下步骤:
S1,对特定的交互展示、逻辑处理类功能代码进行组件化封装得到多种不同的功能组件,构建功能组件库;
S2,根据设计需求,从所述功能组件库中选取相应的功能组件,配置功能组件之间的关联关系,以实现功能组件之间的相互调用;
S3,根据设计需求,在组件之间的关联关系中,配置组件之间的数据赋值关系和数据操作指令,以实现在功能组件之间相互调用时的数据传递和数据操作行为;
S4,保存上述S2、S3的配置内容,完成应用功能设计;通过解析并运行所述配置内容,即可实现对所设计的应用功能的运行;
所述功能组件内包含有数据变量;所述数据变量基于特定的数据类型来构造,并被功能组件内部或外部调用;通过配置不同功能组件的数据变量之间的数据变量赋值关系以及配置数据变量的数据操作方法,从而实现不同功能组件之间的数据传递和对数据的操作;
所述数据类型定义了至少一种读方法和/或至少一种写方法、以及数据操作方法;通过选择一个数据变量读方法和另一个数据变量的写方法,实现配置数据变量之间的赋值关系;通过选择一个数据变量的数据操作方法,实现对数据的操作。
2.根据权利要求1所述的方法,其特征在于,所述功能组件包括与其他功能组件进行关联的输入接口和输出接口,通过关联不同功能组件的输入接口和输出接口生成功能组件之间的关联关系。
3.根据权利要求2所述的方法,其特征在于,当所述的输入接口被调用时,还触发其所在的功能组件的加载运行;当所述的输出接口被功能组件内部调用时输出接口给解释运行器发相应的消息。
4.根据权利要求1所述的方法,其特征在于,所述的数据类型封装在数据类型库中,所述的数据类型库,封装了多种数据类型,每种数据类型都封装了特定的数据资源访问类、数据操作管理类、数据计算处理类的代码。
5.根据权利要求4所述的方法,其特征在于,还包括,
将功能组件库中所包含的功能组件和数据类型库中所包含的数据类型、所选的功能组件的输入接口和输出接口、不同功能组件之间的接口连接、所述数据变量的读数据方法和写数据方法、接口连接上的数据变量之间的赋值关系和数据变量的数据操作设置进行图形化显示,从而实现基于图形化的应用功能的设计。
6.一种软件开发平台,其特征在于,包括:中间平台层、代码封装层、资源管理层,为开发人员提供图形化的应用功能设计;其中
所述资源管理层,包括用于可视化设计数据库的数据表及其字段的数据表设计器;
所述代码封装层,包括数据类型库和功能组件库;
所述数据类型库用于将特定的功能代码进行数据类型化封装得到多种不同的数据类型;所述数据类型包含至少一种读数据方法和至少一种写数据方法;通过选择一个数据变量读方法和另一个数据变量的写方法,实现配置数据变量之间的赋值关系;
所述功能组件库用于将特定的功能代码进行组件化封装得到多种不同的功能组件;所述功能组件至少定义了一个输入接口、定义了一个或多个输出接口用于调用其他组件、通过数据类型库中的数据类型定义了数据变量;
所述中间平台层,包括功能设计器和解释运行器;
所述功能设计器用于根据应用功能的设计需求从所述功能组件库中选取相应的功能组件,并进行功能组件配置,以创建组件对象;所述的功能组件配置包括:配置功能组件的输入接口;配置功能组件所包含的数据变量;配置功能组件的输出接口;连接组件对象的输入输出接口;配置组件的数据变量之间的赋值关系;将配置操作保存为配置数据;
所述解释运行器用于解释和运行在功能设计器中生成的配置数据中的指令。
7.根据权利要求6所述的软件开发平台,其特征在于,所述功能设计器还用于将所述数据类型库中所包含的数据类型和所述功能组件库中所包含的功能组件进行图形化展示;以及将所选的功能组件中的数据变量、输入输出接口,组件之间的关联连接、所述数据变量的读数据方法和写数据方法、接口连接上的数据变量之间的赋值关系和数据操作设置进行了图形化展示。
8.根据权利要求6所述的软件开发平台,其特征在于,所述数据类型化封装包括:
定义配置方法,用于对数据变量的各项配置进行配置,数据变量根据这些配置来运行相应的逻辑;
定义从所生成的数据变量中读取数据的方法;
定义往所生成的数据变量中写数据的方法;
所述组件化封装包括:
定义配置功能组件的方法,用于对功能组件对象的各项配置进行配置,功能组件根据这些配置来运行相应的逻辑;
定义数据变量,这些数据变量基于上述数据类型库中的数据类型定义,功能组件根据这些数据变量中的数据来运行,也用于在功能组件外部赋值;
定义输入接口,用于驱动功能组件对象的加载和运行;
定义输出接口,当该组件内部特定事件发生时,触发对该输出接口的调用;所述输出接口还用于当输出接口被功能组件调用时,给解释运行器发消息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111239124.1A CN113688141B (zh) | 2021-10-25 | 2021-10-25 | 一种应用功能设计方法及软件开发平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111239124.1A CN113688141B (zh) | 2021-10-25 | 2021-10-25 | 一种应用功能设计方法及软件开发平台 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113688141A CN113688141A (zh) | 2021-11-23 |
CN113688141B true CN113688141B (zh) | 2022-02-15 |
Family
ID=78587843
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111239124.1A Active CN113688141B (zh) | 2021-10-25 | 2021-10-25 | 一种应用功能设计方法及软件开发平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113688141B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115421786B (zh) * | 2022-11-07 | 2023-02-28 | 北京尽微致广信息技术有限公司 | 一种设计组件迁移方法及相关设备 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7698685B2 (en) * | 2005-10-12 | 2010-04-13 | Microsoft Corporation | Discovery, qualification, and activation of software add-in components |
US7801926B2 (en) * | 2006-11-22 | 2010-09-21 | Microsoft Corporation | Programmable logic and constraints for a dynamically typed storage system |
CN102609507A (zh) * | 2012-02-03 | 2012-07-25 | 浙江工业大学 | 基于Web的数据可视化系统 |
CN110399119A (zh) * | 2019-06-18 | 2019-11-01 | 五八有限公司 | 一种组件化构建方法、装置、电子设备及存储介质 |
CN110989976A (zh) * | 2019-11-29 | 2020-04-10 | 北京美络克思科技有限公司 | 基于J2EE的Web应用的组件化开发方法、存储介质和电子设备 |
CN113268227A (zh) * | 2021-07-21 | 2021-08-17 | 武汉万云网络科技有限公司 | 一种零代码可视化的软件开发平台及开发方法 |
-
2021
- 2021-10-25 CN CN202111239124.1A patent/CN113688141B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113688141A (zh) | 2021-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11321057B2 (en) | Single-page web application builder system and method based on a finite-state machine | |
US10845962B2 (en) | Specifying user interface elements | |
EP2320316B1 (en) | A framework to support application context and rule based UI-control | |
US20170316114A1 (en) | System architecture with visual modeling tool for designing and deploying complex models to distributed computing clusters | |
US8881105B2 (en) | Test case manager | |
CN109189469B (zh) | 基于反射的安卓应用微服务化方法及系统 | |
US5564048A (en) | Object-oriented functionality class library for use in graphics programming | |
KR20210044685A (ko) | 자동으로 검출된 타겟 라벨들에 따른 로보틱 프로세스 자동화 활동들 네이밍 | |
US9052845B2 (en) | Unified interface for meta model checking, modifying, and reporting | |
US7926024B2 (en) | Method and apparatus for managing complex processes | |
US20120066620A1 (en) | Framework to Support Application Context and Rule Based UI-Control | |
CN109976729B (zh) | 一种存算显全局可配置的数据分析软件架构设计方法 | |
US8661356B2 (en) | Time application having an intergrated check engine | |
US20120030612A1 (en) | Dynamic property attributes | |
US20050060685A1 (en) | Program generator | |
Merten | Active automata learning for real life applications | |
CN113688141B (zh) | 一种应用功能设计方法及软件开发平台 | |
US5604907A (en) | Computer system for executing action slots including multiple action object classes | |
US6216149B1 (en) | Method and system for efficient control of the execution of actions in an object oriented program | |
CN114185874A (zh) | 一种基于大数据的建模方法、装置、开发框架及设备 | |
CN117075893A (zh) | 一种基于vue的移动端页面生成方法及系统 | |
CN114879957A (zh) | 一种利用可扩展标签语言编辑Eclipse界面及调用工具的方法 | |
Tran et al. | Generating user interface from task, user and domain models | |
Somi | User Interface Development of a Modern Web Application | |
CN113342399A (zh) | 应用项目的结构配置方法、装置及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |