CN109522005A - 跨平台图形化程序设计方法 - Google Patents
跨平台图形化程序设计方法 Download PDFInfo
- Publication number
- CN109522005A CN109522005A CN201811361951.6A CN201811361951A CN109522005A CN 109522005 A CN109522005 A CN 109522005A CN 201811361951 A CN201811361951 A CN 201811361951A CN 109522005 A CN109522005 A CN 109522005A
- Authority
- CN
- China
- Prior art keywords
- node
- data
- platform
- resolver
- flowchart
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种跨平台图形化程序设计方法,包括步骤:配置节点;节点实现;业务逻辑实现:通过拖拽所述功能节点到指定工作簿,配置每个节点待处理的数据、通过线条连接所述节点、以及对节点和线条形成的分支进行条件设置,形成有条件可判断的数据流程树,即为数据流程图,保存所述数据流程图数据文件;数据解析:设置平台解析器,通过平台解析器读取所述数据文件,根据平台插件对所述数据流程图的配置按照平台模板生成辅助运行代码,所述平台解析器解析所述数据文件;数据运行:通过解析数据后的所述数据流程图,对所述数据流程图中的数据进行依次条件判断来执行整个流程。本发明中节点功能和业务无关,开发难度降低,可重用率高。
Description
技术领域
本发明涉及计算机领域,更具体地,涉及一种跨平台图形化程序设计方法。
背景技术
程序设计是给出解决特定问题程序的过程,是软件构造活动中的重要组成部分。程序设计往往以某种程序设计语言为工具,给出这种语言下的程序。程序设计过程包括分析、设计、编码、测试、排错等不同阶段。现有技术中,计算机编程人员使用常规开发软件及编程语言进行程序设计,通常存在以下问题:
1)逻辑编写和开发者编程习惯相关,复杂度高、可读性差;
2)涉及到多线程界面更新时,将导致界面更新数据多线程业务代码不集中,维护难度加大;
3)涉及用户交互、选择等情况时,处理代码增加;
4)Andorid平台和iOS平台需要分别实现,工作量加倍;
5)后期维护逻辑代码阅读时间长;
6)不具有直观的可视性,开发人员面对不直观并且复杂的开发环境时工作效率慢。
发明内容
有鉴于此,本发明提供了一种跨平台图形化程序设计方法,包括步骤:
配置节点:节点信息包括节点的ID、节点的分类、节点的说明描述、与节点相匹配的图标、节点输入及输出的数据、以及节点实现类;
节点实现:根据所述配置节点的所述节点输入输出的数据完成节点功能得到功能节点,所述节点功能与业务无关;
业务逻辑实现:通过拖拽所述功能节点到指定工作簿,所述工作簿为业务逻辑开发展示页面,配置每个节点待处理的数据、通过线条连接所述节点、以及对节点和线条形成的分支进行条件设置,形成有条件可判断的数据流程树,即为数据流程图,保存所述数据流程图数据文件;
数据解析:设置平台解析器,通过平台解析器读取所述数据文件,根据平台插件对所述数据流程图的配置按照平台模板生成辅助运行代码,所述平台解析器解析所述数据文件;
数据运行:通过解析数据后的所述数据流程图,对所述数据流程图中的数据依次进行条件判断执行整个流程。
优选地,所述节点实现类为通过平台解析器实现所述节点的的平台,所述平台包括Android系统、iOS系统、以及按规则实现解析器及功能节点的其他平台。
优选地,所述节点包括进行任意组合搭建,形成不同的业务数据流程图。
优选地,还包括将复杂业务整合作为节点添加到所述数据流程图中。
优选地,所述数据文件通过文本xml形式保存。
现有技术中节点和业务关联度大,而本申请中的节点和业务无关联,是程序开发中通过基本功能来实现节点功能的;
本申请中通过平台解析器来实现,逻辑编写一次可同时在Android和iOS平台分别运行,实现了跨平台。
与现有技术相比,本发明提供的跨平台图形化程序设计方法,至少实现了如下的有益效果:
本发明的跨平台图形化程序设计方法的节点功能和业务无关,开发难度降低,可重用率高;多线程自动处理降低开发过程的代码量;通过功能节点的推拽来实现业务逻辑和用户交互,降低开发难度,减少漏洞;Android系统和iOS系统统一处理避免重复开发;业务可视化可提高阅读效率、降低维护成本。
当然,实施本发明的任一产品必不特定需要同时达到以上所述的所有技术效果。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。
图1是实施例1中跨平台图形化程序设计方法流程图;
图2是实施例2中一个节点的配置;
图3是实施例2中节点配置后的展示界面;
图4是实施例2中跨平台图形化程序设计方法业务逻辑图;
图5是实施例2中展示的业务列表。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
实施例1:
参考图1,图1中示出了一种跨平台图形化程序设计方法,包括以下步骤:
步骤101:配置节点,节点信息包括节点的ID、节点的分类、节点的说明描述、与节点相匹配的图标、节点输入及输出的数据、以及节点实现类;
步骤102:节点实现:根据所述配置节点的所述节点输入输出的数据完成节点功能得到功能节点,所述节点功能与业务无关;
例如节点实现可以为:字符截取、网络请求、JSON解析等,可以根据实际需求设定节点实现。
本发明中在配置、实现功能节点(Android系统和iOS系统分别实现)的过程中,这些节点都是通用的处理、和业务没有关系。
步骤103:业务逻辑实现:通过拖拽所述功能节点到指定工作簿,所述工作簿为业务逻辑开发展示页面,配置每个节点待处理的数据、通过线条连接所述节点、以及对节点和线条形成的分支进行条件设置,形成有条件可判断的数据流程树,即为数据流程图,保存所述数据流程图数据文件;
所述数据文件通过文本xml形式保存。
对一个业务本申请通过拖拽这些功能节点形成一张流程图,图只是为了直观可视和更好的维护,最终需要的是配置文件;通过功能节点的推拽来实现业务逻辑和用户交互,降低开发难度,减少bug。
节点就是流程图上的功能点。
步骤104:数据解析:设置平台解析器,通过平台解析器读取所述数据文件,根据平台插件对所述数据流程图的配置按照平台模板生成辅助运行代码,所述平台解析器解析所述数据文件;
步骤105:数据运行:通过解析数据后的所述数据流程图,对所述数据流程图中的数据依次进行条件判断执行整个流程。
在Android和iOS系统中,本申请都实现了解析器。当业务触发时,解析器来读取生成的配置文件;Android系统和iOS系统统一处理避免重复开发。
画出流程图后,Android和iOS平台实现的解析器来解析、执行这个流程图。不同平台(Android、iOS等)通过解析器和具体功能节点,将配置好的流程文件载入,对输入的事件及数据进行处理,按照流程描述进行流转达到流程中描述的执行目的。本申请在实施时将程序封装为功能模块,能够被可视化的程序编辑系统调用;
可视化的程序编辑系统上显示有对应程序功能模块的可视化控件(也就是图标),在进行程序编辑时,通过操作可视化控件(图标),将对应的功能模块加入至编辑主体中,并相应显示出程序功能模块对应的可视化结果。
当发生业务时,业务按配置的流程来流转。本发明的好处在于通过通用的、可重用的节点可任意组合搭建需要的业务。前期开发和后期维护都能提高效率。只需要实现一次,两个平台可通用。还可以将一些用户交互作为节点添加到流程当中使业务实现更完整,便于后期维护;此外编写功能性节点和业务无任何关系,降低了开发难度、可重用率高;多线程自动处理降低开发过程的代码量;业务可视化提高了阅读效率、降低了维护成本。
本实施例中,所述平台包括Android系统、iOS系统、以及按规则实现了解析器及功能节点的其他平台;所述节点包括进行任意组合搭建,形成不同的业务数据流程图;还包括复杂业务整合作为节点添加到所述数据流程图中。所述复杂业务就是把多个节点组成的流程模块作为一个图标添加到新的数据流程图中。
实施例2:
在实施例1的基础上,本实施例为应用实施例:
首先,需要配置节点,节点信息包括节点的ID、节点的分类、节点的说明描述、与节点相匹配的图标、节点输入及输出的数据、以及节点实现类,其中节点实现类包括Android系统和iOS系统,以及按规则实现了解析器及功能节点的其他平台;
例如,节点如下:
对节点进行配置,参考图2:其中包括字段、请求地址、输出字符保存至、状态码、请求方式、参数和描述等。
节点配置后如图3所示,图3示出了节点配置后的展示界面。
其中节点配置后的文件夹索引目录自上而下依次为事件、系统、网络、JSON、文件、字符处理、数据对象、数据集合、数据库、UI、业务、以及Android等。而其中的文件包括:读取文件、保存文件、文件属性、拷贝文件、拷贝目录、以及清空文件夹。
业务逻辑实现:通过拖拽所述节点到指定工作簿,所述工作簿为业务逻辑开发展示页面,配置每个节点待处理的数据、通过线条连接所述节点、以及对节点和线条形成的分支进行条件设置,形成有条件可判断的数据流程树,即为数据流程图,保存所述数据流程图数据文件;
参考图4,图4中示出了业务逻辑流程,事件确定后为组装字典,JSON解析,解析后一方面发送事件登录成功、一方面出现异常处理发送事件二维码过期、再者读取字段值判断变量是否存在,等待5秒后向Htttp请求-轮询。
参考图5,图5中示出了业务列表,这里不再赘述。
本申请在数据解析时设置平台解析器,通过平台解析器读取所述数据文件,根据平台插件对所述数据流程图的配置按照平台模板生成辅助运行代码,所述平台解析器解析所述数据文件;
在数据运行时通过解析数据后的所述数据流程图,对所述数据流程图中的数据依次进行条件判断来执行整个流程。
本申请的开发模式的好处:
节点功能实现标准化,减少bug;
节点可以在任意项目中移植,降低开发和测试成本;
图形化开发直观、简单、高效;
业务流程更明确利于后期维护;
运行中形成统一规范log、执行时间等信息便于调试、测试。
UI节点和功能节点的结合使一个业务的实现不用关心多线程的处理,使业务处理更具有连贯性(比如:用户登录逻辑,登录失败就可以根据网络请求结果分别弹出网络错误对话框或具体信息对话框);
跨平台,本发明逻辑编写一次可同时在Android和iOS平台分别运行。
通过上述实施例可知,本发明提供的跨平台图形化程序设计方法,至少实现了如下的有益效果:
本发明的跨平台图形化程序设计方法的节点功能和业务无任何关系,开发难度降低,可重用率高;多线程自动处理降低开发过程的代码量;通过功能节点的推拽来实现业务逻辑和用户交互,降低开发难度,减少漏洞;Android系统和iOS系统统一处理避免重复开发;业务可视化可提高阅读效率、降低维护成本。
虽然已经通过例子对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上例子仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员应该理解,可在不脱离本发明的范围和精神的情况下,对以上实施例进行修改。本发明的范围由所附权利要求来限定。
Claims (5)
1.一种跨平台图形化程序设计方法,其特征在于,包括步骤:
配置节点:节点信息包括节点的ID、节点的分类、节点的说明描述、与节点相匹配的图标、节点输入及输出的数据、以及节点实现类;
节点实现:根据所述配置节点的所述节点输入输出的数据完成节点功能得到功能节点,所述节点功能与业务无关;
业务逻辑实现:通过拖拽所述功能节点到指定工作簿,所述工作簿为业务逻辑开发展示页面,配置每个节点待处理的数据、通过线条连接所述节点、以及对节点和线条形成的分支进行条件设置,形成有条件可判断的数据流程树,即为数据流程图,保存所述数据流程图数据文件;
数据解析:设置平台解析器,通过平台解析器读取所述数据文件,根据平台插件对所述数据流程图的配置按照平台模板生成辅助运行代码,所述平台解析器解析所述数据文件;
数据运行:通过解析数据后的所述数据流程图,对所述数据流程图中的数据依次进行条件判断执行整个流程。
2.根据权利要求1所述的跨平台图形化程序设计方法,其特征在于,所述节点实现类为通过平台解析器实现所述节点的的平台,所述平台包括Android系统、iOS系统、以及按规则实现解析器及功能节点的平台。
3.根据权利要求1所述的跨平台图形化程序设计方法,其特征在于,所述节点包括进行任意组合搭建,形成不同的业务数据流程图。
4.根据权利要求3所述的跨平台图形化程序设计方法,其特征在于,还包括将复杂业务整合作为节点添加到所述数据流程图中。
5.根据权利要求1所述的跨平台图形化程序设计方法,所述数据文件通过文本xml形式保存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811361951.6A CN109522005A (zh) | 2018-11-15 | 2018-11-15 | 跨平台图形化程序设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811361951.6A CN109522005A (zh) | 2018-11-15 | 2018-11-15 | 跨平台图形化程序设计方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109522005A true CN109522005A (zh) | 2019-03-26 |
Family
ID=65778069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811361951.6A Pending CN109522005A (zh) | 2018-11-15 | 2018-11-15 | 跨平台图形化程序设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109522005A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110083351A (zh) * | 2019-04-22 | 2019-08-02 | 北京百度网讯科技有限公司 | 用于生成代码的方法和装置 |
CN110704537A (zh) * | 2019-09-27 | 2020-01-17 | 北京启迪区块链科技发展有限公司 | 智能合约的生成方法、装置、设备及存储介质 |
CN110708202A (zh) * | 2019-10-15 | 2020-01-17 | 深圳前海微众银行股份有限公司 | 插件节点的配置方法、装置、设备及存储介质 |
CN115048095A (zh) * | 2022-08-12 | 2022-09-13 | 广东粤港澳大湾区硬科技创新研究院 | 一种专家系统故障诊断程序生成方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080058969A1 (en) * | 2006-09-01 | 2008-03-06 | Fisher-Rosemount Systems, Inc. | Graphical Programming Language Object Editing and Reporting Tool |
CN101630146A (zh) * | 2009-07-30 | 2010-01-20 | 上海交通大学 | 面向月球车远程遥操作的仿真控制系统 |
CN102915242A (zh) * | 2012-09-26 | 2013-02-06 | 北京广利核系统工程有限公司 | 一种利用图形化操作实现代码编程的方法 |
CN108228180A (zh) * | 2017-12-27 | 2018-06-29 | 顺丰科技有限公司 | 基于可视化界面设计的自动代码生成方法及系统 |
-
2018
- 2018-11-15 CN CN201811361951.6A patent/CN109522005A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080058969A1 (en) * | 2006-09-01 | 2008-03-06 | Fisher-Rosemount Systems, Inc. | Graphical Programming Language Object Editing and Reporting Tool |
CN101630146A (zh) * | 2009-07-30 | 2010-01-20 | 上海交通大学 | 面向月球车远程遥操作的仿真控制系统 |
CN102915242A (zh) * | 2012-09-26 | 2013-02-06 | 北京广利核系统工程有限公司 | 一种利用图形化操作实现代码编程的方法 |
CN108228180A (zh) * | 2017-12-27 | 2018-06-29 | 顺丰科技有限公司 | 基于可视化界面设计的自动代码生成方法及系统 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110083351A (zh) * | 2019-04-22 | 2019-08-02 | 北京百度网讯科技有限公司 | 用于生成代码的方法和装置 |
CN110083351B (zh) * | 2019-04-22 | 2023-06-27 | 北京百度网讯科技有限公司 | 用于生成代码的方法和装置 |
CN110704537A (zh) * | 2019-09-27 | 2020-01-17 | 北京启迪区块链科技发展有限公司 | 智能合约的生成方法、装置、设备及存储介质 |
CN110708202A (zh) * | 2019-10-15 | 2020-01-17 | 深圳前海微众银行股份有限公司 | 插件节点的配置方法、装置、设备及存储介质 |
CN110708202B (zh) * | 2019-10-15 | 2023-12-05 | 深圳前海微众银行股份有限公司 | 插件节点的配置方法、装置、设备及存储介质 |
CN115048095A (zh) * | 2022-08-12 | 2022-09-13 | 广东粤港澳大湾区硬科技创新研究院 | 一种专家系统故障诊断程序生成方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10162612B2 (en) | Method and apparatus for inventory analysis | |
EP3049913B1 (en) | Evaluating rules applied to data | |
JP5049280B2 (ja) | ローカリゼーションデータの拡張可能xmlフォーマットおよびオブジェクトモデル | |
US8972933B2 (en) | Non-literal representation of programming language code | |
CN109522005A (zh) | 跨平台图形化程序设计方法 | |
Higo et al. | On software maintenance process improvement based on code clone analysis | |
US8291372B2 (en) | Creating graphical models representing control flow of a program manipulating data resources | |
CN108037913B (zh) | xUML4MC模型到MSVL语言程序的转换方法、计算机可读存储介质 | |
CN110968294B (zh) | 一种业务领域模型建立系统及方法 | |
US9286361B2 (en) | Extract-transform-load processor controller | |
US20070038947A1 (en) | Method and device for generation of a parametric model associated with a 3D geometry | |
US20170300305A1 (en) | Executable guidance experiences based on implicitly generated guidance models | |
CN110162297A (zh) | 一种源代码段自然语言描述自动生成方法及系统 | |
Masci et al. | An integrated development environment for the prototype verification system | |
Koni-N’Sapu | A scenario based approach for refactoring duplicated code in object oriented systems | |
CN113919158A (zh) | 一种用于飞行控制面板的仿真方法、装置及存储介质 | |
CN112860584A (zh) | 基于工作流模型的测试方法及装置 | |
CN112632333A (zh) | 查询语句生成方法、装置、设备及计算机可读存储介质 | |
JP2008198103A (ja) | 状態遷移図作成装置および状態遷移図作成方法 | |
Stoiber et al. | Feature unweaving: Refactoring software requirements specifications into software product lines | |
Samara | A practical approach for detecting logical error in object oriented environment | |
CN112667278A (zh) | 一种医院医保接口配置方法及系统 | |
Frühstück et al. | Debugging answer-set programs with Ouroboros–extending the SeaLion plugin | |
Burghard | Model-based testing of measurement devices using a domain-specific modelling language | |
Angelo et al. | Rule-based Validation Module on EssenceBoard Method Editor |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190326 |
|
RJ01 | Rejection of invention patent application after publication |