CN111158670A - 一种可视化辅助软件开发方法及系统 - Google Patents
一种可视化辅助软件开发方法及系统 Download PDFInfo
- Publication number
- CN111158670A CN111158670A CN201911377071.2A CN201911377071A CN111158670A CN 111158670 A CN111158670 A CN 111158670A CN 201911377071 A CN201911377071 A CN 201911377071A CN 111158670 A CN111158670 A CN 111158670A
- Authority
- CN
- China
- Prior art keywords
- information
- layout
- development
- page
- displayed
- 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
Images
Classifications
-
- 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
本发明提出了一种可视化辅助软件开发方法及系统,开发方法包括以下步骤:开发、设计、数据库管理员向系统中添加布局信息、组件信息及数据源信息;开发设计人员通过可视化配置系统选择布局、设置布局中各个部分要展示的组件信息以及组件上要展示的数据信息;用户预览,若设置的页面满足自身要求则保存配置信息,同时系统会根据页面设置自动生成HTML代码并保存到数据库中;用户通过对外接口访问已经设置的功能,“扫描机器人”扫描设置好的页面,并根据页面的元素及属性进行渲染。本发明使业务人员、数据库管理人员以及开发人员同步参与到整个软件开发过程中,通过可视化配置,完成软件开发的设计工作以及开发工作,从而降低工作难度、提高工作效率。
Description
技术领域
本发明涉及一种可视化辅助软件开发方法及系统,属于计算机软件技术领域。
背景技术
软件开发工作涉及的人员范围广,种类多,对设计人员及开发人员的专业水平要求高,开发一项系统或者功能,往往需要消耗几个软件工程师几天的时间。再研发过程中类似的功能有各种各样的模板代码或者类似代码,而且由于涉及到引入多种第三方插件及数据库知识。业务理解深度往往相对业务人员和数据库开发人员相对较浅,导致后期开发过程中会产生不必要的错误。而且开发人员不得不同时掌握多种插件的使用方法才能完成开发任务,使开发难度增加,开发周期延长。
发明内容
本发明提出了一种可视化辅助软件开发方法及系统,让业务人员、数据库管理人员以及开发人员同步参与到整个软件开发过程中以及通过可视化配置,完成软件开发的设计工作以及开发工作,从而降低工作难度、提高工作效率。
一种可视化辅助软件开发方法,所述开发方法包括以下步骤:
第一步、开发、设计、数据库管理员向系统中添加布局信息、组件信息及数据源信息;
第二步、开发设计人员通过可视化配置系统选择布局、设置布局中各个部分要展示的组件信息以及组件上要展示的数据信息;
第三步、用户预览,若设置的页面满足自身要求则保存配置信息,同时系统会根据页面设置自动生成HTML代码并保存到数据库中;若不满意则返回步骤二;
第四步、用户通过对外接口访问已经设置的功能,“扫描机器人”扫描设置好的页面,并根据所述页面的元素及属性进行渲染。
进一步的,在步骤二中,开发设计人员还通过可视化配置系统设置搜索条件信息。
一种可视化辅助软件开发系统,应用于权利要求1-2任一项所述的一种可视化辅助软件开发方法,其特征在于,所述开发系统包括信息添加模块、布局管理模块、功能设计管理模块、HTML代码生成模块、用户访问模块和元素及属性渲染模块,
所述信息添加模块,用于开发、设计、数据库管理员向系统中添加布局信息、组件信息及数据源信息;
所述布局管理模块,用于开发设计人员通过可视化配置系统选择布局、设置布局中各个部分要展示的组件信息及组件上要展示的数据信息;
所述功能设计管理模块,用于将配置好的组件信息以及组件上要展示的数据信息生成预览页面;
所述HTML代码生成模块,用于根据所述预览页面中的设置自动生成HTML代码并保存到数据库中;
所述用户访问模块,用于使用户通过对外接口访问已经设置的功能;
所述元素及属性渲染模块,用于“扫描机器人”扫描设置好的页面,并根据所述页面的元素及属性进行渲染。
进一步的,所述布局管理模块还用于设置搜索条件信息。
进一步的,所述布局管理模块中集成了多种组件,所述组件包括Aisino-echarts统计图类组件、Aisino-ligerui UI元素类组件和日期控件。
进一步的,所述功能设计管理模块,具体的,用于设计开发人员通过选择布局、设置布局上各个区域要展示的组件以及组件上要展示的数据设置、设置组件的属性参数、配置查询条件、预览页面效果以及生成页面步骤,可视化地完成功能页面的设计与开发工作。
本发明主要有以下优点:本发明主要研究软件开发过程中涉及到的业务、数据以及开发流程等进行融合,让业务人员、数据库管理人员以及开发人员同步参与到整个软件开发过程中以及通过可视化配置,完成软件开发的设计工作以及开发工作,从而降低工作难度、提高工作效率。
附图说明
图1为本发明的一种可视化辅助软件开发方法的流程图;
图2为本发明的一种可视化辅助软件开发方法的一实施例的流程图。
具体实施方式
下面将结合本发明实施例中的附图对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本专利将数据、业务以及功能开发进行融合,让其在研发中成为一个整体,提出了设计一套可视化配置系统,将系统看作成数据配置、功能设计两部分,使二者分离,通过接口的形式将数据与功能组合在一起,这样就使传统的开发模式变为了微服务的设计模式。数据配置方面交由更专业的业务人员与数据库管理人员进行设置。功能设计部分采用了布局、组件与数据相分离的管理方式。开发人员或者设计人员可以选择符合功能页面的布局,然后设计布局中各个部分要显示的组件,最后将组件与数据设置信息相结合便生成了功能,生成的功能经过预览无误后便可保存下来。为了让系统可以访问到生成的功能页面,我们提供了一个对外接口,该接口接受要获取功能页的参数,然后返回对应的页面渲染。
本发明主要解决以下几个问题:
业务、数据、开发相融合,各项工作协调配合。
降低软件开发过程的复杂程度以及专业技能的高度,提高工作效率。
通过配置自动化完成软件功能设计以及软件开发工作。
增加功能页面渲染速度,降低数据库访问压力,提高软件访问效率。
数据自由转换,当多个统计图表如:柱状图、折线图、饼图、地图等使用的是同一份数据库数据时,则只需要访问一次数据库,由系统自由转换数据来适配不同的图表。
参照图1所示,本发明提出了一种可视化辅助软件开发方法的一实施例,所述开发方法包括以下步骤:
第一步、开发、设计、数据库管理员向系统中添加布局信息、组件信息及数据源信息;
第二步、开发设计人员通过可视化配置系统选择布局、设置布局中各个部分要展示的组件信息以及组件上要展示的数据信息;
第三步、用户预览,若设置的页面满足自身要求则保存配置信息,同时系统会根据页面设置自动生成HTML代码并保存到数据库中;若不满意则返回步骤二;
第四步、用户通过对外接口访问已经设置的功能,“扫描机器人”扫描设置好的页面,并根据所述页面的元素及属性进行渲染。
在本部分优选实施例中,在步骤二中,开发设计人员还通过可视化配置系统设置搜索条件信息。
一种可视化辅助软件开发系统,应用于权利要求1-2任一项所述的一种可视化辅助软件开发方法,其特征在于,所述开发系统包括信息添加模块、布局管理模块、功能设计管理模块、HTML代码生成模块、用户访问模块和元素及属性渲染模块,
所述信息添加模块,用于开发、设计、数据库管理员向系统中添加布局信息、组件信息及数据源信息;
所述布局管理模块,用于开发设计人员通过可视化配置系统选择布局、设置布局中各个部分要展示的组件信息及组件上要展示的数据信息;
所述功能设计管理模块,用于将配置好的组件信息以及组件上要展示的数据信息生成预览页面;
所述HTML代码生成模块,用于根据所述预览页面中的设置自动生成HTML代码并保存到数据库中;
所述用户访问模块,用于使用户通过对外接口访问已经设置的功能;
所述元素及属性渲染模块,用于“扫描机器人”扫描设置好的页面,并根据所述页面的元素及属性进行渲染。
在本部分优选实施例中,所述布局管理模块还用于设置搜索条件信息。
在本部分优选实施例中,所述布局管理模块中集成了多种组件,所述组件包括Aisino-echarts统计图类组件、Aisino-ligerui UI元素类组件和日期控件。
在本部分优选实施例中,所述功能设计管理模块,具体的,用于设计开发人员通过选择布局、设置布局上各个区域要展示的组件以及组件上要展示的数据设置、设置组件的属性参数、配置查询条件、预览页面效果以及生成页面步骤,可视化地完成功能页面的设计与开发工作。
下面参照图2给出一具体实施例:后台配置可以帮助本发明配置数据源,设计功能所涉及到的数据库交互的sql语句,以及sql语句涉及到的查询条件等全部配置到数据库中。这样设计的好处是可以将之前需要研发人员开发的sql语句的工作交给更专业的数据库开发人员,研发人员可以将主要精力放到功能开发上来。前端功能设计,采用布局与组件相结合的设计思路。及将当前系统中最常用的布局与当前最常用的组件进行组合,然后组件关联后台配置的sql,从而完成功能开发工作。具体涉及到布局管理、组件库管理和功能设计管理,下面我将做详细说明。
布局管理模块提供给开发人员最常用的界面布局样式,开发人员可以根据自己的实际需要选择相应的布局,不仅如此,本发明还提供给开发人员增加自定义布局的入口来满足个性化需求。
功能设计管理模块是将页面布局上要展示的各种图、表以及文本等区域全部组件化,统一加入到系统的组件库中。当前集成的组件包括:Aisino-echarts统计图类组件、Aisino-ligerui UI元素类组件、日期控件等。组件库支持自定义扩展,来满足不同开发人员的开发需求。组件的使用非常简单,通过给页面元素配置几个属性,即可完成一个统计图、一个数据表、一个日期控件、一个树形下拉选择框等功能,使之前需要几十行上百行代码才能实现的功能,现在只需要简单配置几个属性即可完成。
功能设计管理模块,实现了已设置功能页面的查询及预览功能,同时也提供了新建功能设计的入口。设计开发或者设计人员通过选择布局、设置布局上各个区域要展示的组件以及组件上要展示的数据设置(本发明支持一个功能页设置多个数据设置的情况)、设置组件的属性参数(如:组件标题、标题位置和颜色、组件工具设置、组件是否展示图例等)、配置查询条件(选择根据所选的数据设置信息涉及的查询条件,自动生成搜索区域)、预览页面效果以及生成页面等步骤,可视化的完成功能页面的设计与开发工作。
除了上述三个主要功能外,本发明还做了大量的优化工作,如当布局中多个组件指向的数据SQL是同一个时,则系统值将只做一次查询动作然后由系统根据不同的组件来组织数据从而渲染成多个组件,大大提高了功能的访问速度。页面设计方面,本发明封装了一个可自动扫描渲染“扫描机器人”,此“扫描机器人”的作用是让看似复杂的功能页面,源码却只有短短几行代码,其他的设置数据以及渲染组件的工作全部交由机器人完成,大大降低了页面的复杂度,提高了项目的可维护性。
本发明的技术关键点在于:
数据管理自动化,通过数据源管理,可以将数据库信息、数据库表信息、字段信息以及数据结构等方面进行全面管理。同时通过将软件功能与数据源进行关联,做到自动获取数据库数据,并根据需要划定数据范围。
页面设计可视化操作,通过页面布局管理,用户可自由增加不同的页面布局,同时还可以对已有的布局进行修改(如布局元素的大小、背景色、位置等)。通过给布局上的不同区域设置要展示的组件(如折线图、饼图、数据表格等),用户可随时看到自己设置的功能页面。
组件渲染可视化配置,用户可通过功能选择组件的各种配置,从而改变组件的形态,如组件的标题、颜色、图例、数据轴、展示的数据等。
页面渲染由“扫描机器人”统一管理,机器人通过扫描页面结构,解析页面布局以及布局上的不同组件的属性,从而渲染出不同的页面图表。
“扫描机器人”统一管理数据请求与获取,当页面上不同的组件访问的是同一份数据时,则机器人只会访问一次数据库,然后根据不同的组件生成对应的数据结构,增加数据的利用率,减少数据库压力,提高页面的渲染效率。
通过配置实现功能设计与开发自动化,用户只需要通过设置数据、选择布局、设置布局组件、选择数据源、设置搜索条件等简单几步即可完成一个功能的开发,大大降低了开发难度,提高了开发效率,减少了开发周期,节省了大量的研发成本。
Claims (6)
1.一种可视化辅助软件开发方法,其特征在于,所述开发方法包括以下步骤:
第一步、开发、设计、数据库管理员向系统中添加布局信息、组件信息及数据源信息;
第二步、开发设计人员通过可视化配置系统选择布局、设置布局中各个部分要展示的组件信息以及组件上要展示的数据信息;
第三步、用户预览,若设置的页面满足自身要求则保存配置信息,同时系统会根据页面设置自动生成HTML代码并保存到数据库中;若不满意则返回步骤二;
第四步、用户通过对外接口访问已经设置的功能,“扫描机器人”扫描设置好的页面,并根据所述页面的元素及属性进行渲染。
2.根据权利要求1所述的一种可视化辅助软件开发方法,其特征在于,在步骤二中,开发设计人员还通过可视化配置系统设置搜索条件信息。
3.一种可视化辅助软件开发系统,应用于权利要求1-2任一项所述的一种可视化辅助软件开发方法,其特征在于,所述开发系统包括信息添加模块、布局管理模块、功能设计管理模块、HTML代码生成模块、用户访问模块和元素及属性渲染模块,
所述信息添加模块,用于开发、设计、数据库管理员向系统中添加布局信息、组件信息及数据源信息;
所述布局管理模块,用于开发设计人员通过可视化配置系统选择布局、设置布局中各个部分要展示的组件信息及组件上要展示的数据信息;
所述功能设计管理模块,用于将配置好的组件信息以及组件上要展示的数据信息生成预览页面;
所述HTML代码生成模块,用于根据所述预览页面中的设置自动生成HTML代码并保存到数据库中;
所述用户访问模块,用于使用户通过对外接口访问已经设置的功能;
所述元素及属性渲染模块,用于“扫描机器人”扫描设置好的页面,并根据所述页面的元素及属性进行渲染。
4.根据权利要求3所述的一种可视化辅助软件开发系统,其特征在于,所述布局管理模块还用于设置搜索条件信息。
5.根据权利要求4所述的一种可视化辅助软件开发系统,其特征在于,所述布局管理模块中集成了多种组件,所述组件包括Aisino-echarts统计图类组件、Aisino-ligerui UI元素类组件和日期控件。
6.根据权利要求3所述的一种可视化辅助软件开发系统,其特征在于,所述功能设计管理模块,具体的,用于设计开发人员通过选择布局、设置布局上各个区域要展示的组件以及组件上要展示的数据设置、设置组件的属性参数、配置查询条件、预览页面效果以及生成页面步骤,可视化地完成功能页面的设计与开发工作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911377071.2A CN111158670A (zh) | 2019-12-27 | 2019-12-27 | 一种可视化辅助软件开发方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911377071.2A CN111158670A (zh) | 2019-12-27 | 2019-12-27 | 一种可视化辅助软件开发方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111158670A true CN111158670A (zh) | 2020-05-15 |
Family
ID=70558598
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911377071.2A Pending CN111158670A (zh) | 2019-12-27 | 2019-12-27 | 一种可视化辅助软件开发方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111158670A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111736819A (zh) * | 2020-06-22 | 2020-10-02 | 上海富数科技有限公司 | 实现联邦学习流程控制处理的系统 |
CN112328252A (zh) * | 2020-12-03 | 2021-02-05 | 江苏赛融科技股份有限公司 | 基于web网页的在线设计数据可视化大屏方法 |
CN112463120A (zh) * | 2020-11-16 | 2021-03-09 | 王晓军 | 一种软件项目开发管理系统及方法 |
CN114296722A (zh) * | 2021-12-10 | 2022-04-08 | 浙江嘉兴数字城市实验室有限公司 | 一种应用于数字化改革的可视化快速开发方法及系统 |
US11720330B2 (en) | 2016-10-17 | 2023-08-08 | Engineer.ai Corp. | Application development involving instant protoyping |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103309806A (zh) * | 2013-05-03 | 2013-09-18 | 上海证券交易所 | 一种快速开发测试的装置及方法 |
US20170228447A1 (en) * | 2016-02-05 | 2017-08-10 | Accenture Global Solutions Limited | Integrated developer workflow for data visualization development |
CN109739497A (zh) * | 2018-12-06 | 2019-05-10 | 深圳市中农网有限公司 | 页面开发方法、装置、计算机设备及存储介质 |
CN110007917A (zh) * | 2019-03-08 | 2019-07-12 | 国电南瑞科技股份有限公司 | 一种基于浏览器的可视化页面生成和浏览方法 |
-
2019
- 2019-12-27 CN CN201911377071.2A patent/CN111158670A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103309806A (zh) * | 2013-05-03 | 2013-09-18 | 上海证券交易所 | 一种快速开发测试的装置及方法 |
US20170228447A1 (en) * | 2016-02-05 | 2017-08-10 | Accenture Global Solutions Limited | Integrated developer workflow for data visualization development |
CN109739497A (zh) * | 2018-12-06 | 2019-05-10 | 深圳市中农网有限公司 | 页面开发方法、装置、计算机设备及存储介质 |
CN110007917A (zh) * | 2019-03-08 | 2019-07-12 | 国电南瑞科技股份有限公司 | 一种基于浏览器的可视化页面生成和浏览方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11720330B2 (en) | 2016-10-17 | 2023-08-08 | Engineer.ai Corp. | Application development involving instant protoyping |
CN111736819A (zh) * | 2020-06-22 | 2020-10-02 | 上海富数科技有限公司 | 实现联邦学习流程控制处理的系统 |
CN111736819B (zh) * | 2020-06-22 | 2021-05-28 | 上海富数科技有限公司 | 实现联邦学习流程控制处理的系统 |
CN112463120A (zh) * | 2020-11-16 | 2021-03-09 | 王晓军 | 一种软件项目开发管理系统及方法 |
CN112328252A (zh) * | 2020-12-03 | 2021-02-05 | 江苏赛融科技股份有限公司 | 基于web网页的在线设计数据可视化大屏方法 |
CN114296722A (zh) * | 2021-12-10 | 2022-04-08 | 浙江嘉兴数字城市实验室有限公司 | 一种应用于数字化改革的可视化快速开发方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111158670A (zh) | 一种可视化辅助软件开发方法及系统 | |
CN110007917B (zh) | 一种基于浏览器的可视化页面生成和浏览方法 | |
US5495567A (en) | Automatic interface layout generator for database systems | |
CN107807913A (zh) | 一种基于web的电子表单设计系统及方法 | |
CN105549982A (zh) | 一种基于模型配置的自动化开发平台 | |
JP2000090098A (ja) | データベース問い合わせ方法及びその実施装置並びにその処理プログラムを記録した媒体 | |
CN102012945B (zh) | 一种面向用户的数据库管理系统 | |
KR101275871B1 (ko) | SaaS 환경에서의 홈페이지 제작 시스템 및 방법, 그 방법을 컴퓨터에서 실행하기 위한 컴퓨터 프로그램이 기록된, 컴퓨터로 판독 가능한 기록 매체 | |
CN113886362A (zh) | 基于工作流引擎及低代码平台的数据存储系统及存储方法 | |
CN110413277B (zh) | 一种ui界面的生成方法及系统 | |
JP2001216142A (ja) | プログラム作成支援装置 | |
KR20180135654A (ko) | 프로그램의 직관적 제작방법 | |
CN116991923A (zh) | 一种基于浏览器的拖拽式数据模型可视化建模系统及方法 | |
CN117008905A (zh) | 一种基于ai的前端代码辅助方法及终端 | |
US20080270985A1 (en) | Database application assembly and preparation | |
CN115525321A (zh) | 分布式任务生成方法、装置、设备及存储介质 | |
CN114281797A (zh) | 基于敏捷低代码平台快速创建基层数据汇聚仓库的方法 | |
CN113343656A (zh) | 一种图表配置元素数据模型的二次编辑方法 | |
US20090319923A1 (en) | Method for generating role-based user interfaces utilizing uml models | |
CN104899045A (zh) | 一种通用的软件编码辅助系统及方法 | |
CN114780084B (zh) | 一种协同多种类型交互界面设计的组态系统 | |
KR101765324B1 (ko) | Sql과 다이어그램을 이용하는 소스코드 생성 장치 및 그의 처리 방법 | |
JP6331307B2 (ja) | 情報処理装置、情報処理装置の制御方法、およびプログラム | |
KR102417862B1 (ko) | 프로그램의 간편 제작방법 | |
Wang | Development of parametric drawing program based on AutoCAD VBA |
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 |