软件云定制方法及平台与流程

文档序号:15271028发布日期:2018-08-28 22:25阅读:276来源:国知局

本发明涉及计算机技术领域,具体涉及一种软件云定制方法及平台。



背景技术:

计算机软件开发必须根据软件的业务场景,由技术人员选择开发语言及服务依赖,并由对应的程序员根据具体业务需求进行编码开发。软件的业务需求必须依赖于程序代码,即业务需求是由一行行代码实现的,软件功能的开发和调整都要通过修改程序代码来实现。

上述业务需求与代码无法分离的传统软件开发模式,存在诸多弊端,至少包括以下三个缺陷:

第一,软件开发过于依赖程序员导致的效率瓶颈。由于需要程序员将业务需求理解后,再进一步通过编写代码来开发软件功能,以满足业务需求,所以软件开发过程中,需求的任何变动都需要程序员来执行。在软件上线后,如需升级或二次开发,为了顺利完成,需要找到原来负责开发的程序员对代码进行修改,因为原来的程序员才熟悉这个软件的代码。如果二次开发由其他程序员替代,其他程序员需要阅读原有代码,并理解后才能二次开发,由于每个人的代码风格不一样,会造成非常大的学习成本。所以传统的开发模式要求一个软件最好由始至终都由同样一批程序员开发维护,过于依赖程序员,效率无法进一步提升。

第二,软件成熟低,软件开发后都需要经过很长一段时间的测试和修改,才能趋于稳定,因为在传统软件开发模式中,每个软件功能模块由多个代码块实现,每个代码块由成千上万行代码组成,每行代码之间都有紧密的关联和依赖关系。由于每行代码都是人工编写,在几万甚至几十万行代码中出现错误,即所谓出bug,几乎是必然,而且由于代码之间的关联关系,修改一处代码会导致其他关联的代码运行出错。所以,这样开发出来的软件,需要通过较长时间的测试和修改来提高其成熟度,而且,一旦调整,功能又会再次不稳定。

第三,软件的复用度低,传统软件开发模式软件功能由代码块实现,如需在相似的业务场景中复用,可通过拷贝原有代码块进行修改实现。这样只有在高度相似的业务场景中才能复用,而且只能按功能模块进行复用,因为相似程度不够高,或复用比功能模块更小的颗粒度,需要修改原有代码块的地方就会更多,一旦修改的地方多了,由于代码存在关联关系导致修改复杂度会指数级上升。当修改的复杂度高到一定程度,复用的价值就变为零甚至是负的,还不如重新开发。而且复用需要阅读并理解原有代码,导致复用常常只存在个人或团队内部,也导致了软件开发领域常常在“重复发明轮子”。

为了解决以上问题,软件行业也一直在寻求解决方案,如优化开发语言,让编程更易上手、研发更好的技术架构、提供更完善的开发框架等,但这些都无法根本解决以上问题,因为这些努力依然是在原有的框架中优化,即软件是要编程实现的这一框架。同时,也有一些团队推出了“快速开发平台”或一些免编码可配置实现的模块,快速开发平台是一种辅助程序员更快开发软件的平台,在一定程度上可以提高开发效率,但依旧无法彻底改变软件的开发模式。另有免编码的模块,是通过将开发好的模块预置在平台上供用户选择生成,生成出来的模块是固定的,如需修改也只能通过程序员修改其中的代码。还有一些可配置的模块,也仅支持单一的业务场景,比如bpm即流程引擎,只能支持特定工作流程的配置,用户在其他场景中无法使用。以上种种努力对软件的开发效率均有所提升,但也各有限制,未能从根本上解决传统软件开发模式下的弊端。

如何准确、高效地实现软件开发,将业务需求与代码分离,提高软件开发效率,是本领域技术人员亟需解决的问题。



技术实现要素:

针对现有技术中的缺陷,本发明提供了一种软件云定制方法及平台,能够准确、高效地实现软件开发,将业务需求与代码分离,提高软件开发效率。

第一方面,本发明提供一种软件云定制方法,该方法包括:

获取待开发软件的数据结构和业务逻辑;

将数据结构和业务逻辑转化为配置数据,配置数据包含待开发软件的必要信息;

反向解析配置数据,获取实际的软件数据库和功能逻辑。

进一步地,将数据结构和业务逻辑转化为配置数据,包括:

按照预定的规范,配置业务场景所需的数据结构和业务逻辑,生成配置数据;

反向解析配置数据,获取实际的软件数据库和功能逻辑,包括:

按照预定的规范,对配置数据进行反向解析,渲染在特定场景下用户界面中的元素,获取数据库的关联关系和操作信息。

进一步地,生成配置数据之后,反向解析配置数据之前,该方法还包括:

将生成的配置数据进行加密,并存储到目标软件数据库的配置数据表;

对配置数据表中的数据进行解密,获取能够识别的配置数据。

进一步地,按照预定的规范,配置业务场景所需的数据结构和业务逻辑,生成配置数据,包括:

定义待开发软件的数据结构;

根据定义的数据结构,生成业务数据表;

根据业务数据表的字段,创建索引;

将定义的数据结构转化为配置数据;

配置业务逻辑的界面参数,并转化为配置数据;

配置业务逻辑所具备的操作功能及操作属性,并转化为配置数据;

配置业务逻辑的校验规则,并转化为配置数据;

配置业务逻辑的操作权限规则,并转化为配置数据。

进一步地,按照预定的规范,对配置数据进行反向解析,渲染在特定场景下用户界面中的元素,获取数据库的关联关系和操作信息,包括:

解析待开发软件定义的权限标识与用户权限,生成展示内容指引;

反向解析页面配置数据,生成界面元素,并进行渲染展示;

读取业务数据表,按照预先配置的规则,展示业务数据;

解析配置数据中的校验规则,确定校验规则,数据库的关联关系包括校验规则;

解析配置数据中的条件规则,确定逻辑操作的操作限制,操作信息包括逻辑操作的操作限制。

进一步地,本实施例软件云定制方法还包括:

获取用户界面中触发的操作;

确定所触发的操作所对应的逻辑操作;

按照该逻辑操作对应的操作限制,执行逻辑操作。

由上述技术方案可知,本实施例提供的软件云定制方法,只需要关注业务场景和逻辑,将业务需求分析完成后,即可通过本发明提供的可视化配置工具,在没有任何编程基础的情况下快速实现软件开发。

本实施例提供的软件云定制方法能够取得更短的开发周期,由于使用可视化配置实现软件开发,不再需要编写一行行的代码,所以软件开发的周期比传统的开发模式平均缩短了70%以上。

本实施例提供的软件云定制方法能够取得更低的开发成本,由于周期的缩短,且让技术能力不再成为软件开发的必要条件,所以软件的平均开发成本比传统的开发模式降低了50%以上。

本实施例提供的软件云定制方法能够降低软件维护难度与成本,由于本发明使得具体的业务需求均以数据的形式存在,与软件的程序代码实现了分离,所以不同功能的软件都是通过同一套代码解析不同的数据运行,使得我们只需要维护一套软件代码即可,大大地降低了软件维护难度和成本。

本实施例提供的软件云定制方法能够使代码成熟度更高,由于始终只需要维护一套软件代码,使得我们的技术资源可以聚焦让软件成熟度更高,每个用户虽然开发软件时间很短并且功能不同,但是代码的成熟度都是一样高的。

本实施例提供的软件云定制方法能够提高代码的复用度,由于业务逻辑是以配置数据的形式存在,可以方便地对数据进行细微的调整,所以复用的颗粒度可以达到控件级别,即一个字段、一个函数、一个操作均可以实现复用。

本实施例提供的软件云定制方法能够提高软件开发的灵活性,软件的功能是通过解析配置数据渲染实现的,如果需要调整或升级功能,不再需要修改代码,通过对配置数据调整即可,可以让这种模式开发出来的软件具备更大的柔性和灵活性,更好地适应业务的变化。

第二方面,本发明提供一种软件云定制平台,该平台包括:配置器和解析器,配置器用于获取待开发软件的数据结构和业务逻辑,将数据结构和业务逻辑转化为配置数据,配置数据包含待开发软件的必要信息;解析器用于反向解析配置数据,获取实际的软件数据库和功能逻辑。

进一步地,配置器具体用于:按照预定的规范,配置业务场景所需的数据结构和业务逻辑,生成配置数据;解析器具体用于:按照预定的规范,对配置数据进行反向解析,渲染在特定场景下用户界面中的元素,获取数据库的关联关系和操作信息。

进一步地,配置器还包括加密模块,加密模块具体用于:将生成的配置数据进行加密,并存储到目标软件数据库的配置数据表;解析器还包括解密模块,解密模块具体用于:对配置数据表中的数据进行解密,获取能够识别的配置数据。

进一步地,配置器包括数据配置层和业务逻辑配置层,数据配置层包括表配置模块、索引模块,表配置模块用于定义待开发软件的数据结构,根据定义的数据结构,生成业务数据表,将定义的数据结构转化为配置数据,索引模块用于根据业务数据表的字段,创建索引,业务逻辑配置层包括界面定义模块、功能定义模块、校验定义模块、权限定义模块,界面定义模块用于配置业务逻辑的界面参数,并转化为配置数据,功能定义模块用于配置业务逻辑所具备的操作功能及操作属性,并转化为配置数据,校验定义模块用于配置业务逻辑的校验规则,并转化为配置数据,权限定义模块用于配置业务逻辑的操作权限规则,并转化为配置数据。

进一步地,解析器包括用户界面层和逻辑操作处理层,用户界面层包括权限解析模块、界面解析模块、表解析模块,权限解析模块用于解析待开发软件定义的权限标识与用户权限,生成展示内容指引,界面解析模块用于反向解析页面配置数据,生成界面元素,并进行渲染展示,表解析模块用于读取业务数据表,按照预先配置的规则,展示业务数据,逻辑操作处理层包括校验模块、条件模块,校验模块用于解析配置数据中的校验规则,确定校验规则,数据库的关联关系包括校验规则,条件模块用于解析配置数据中的条件规则,确定逻辑操作的操作限制,操作信息包括逻辑操作的操作限制。

进一步地,逻辑操作处理层还包括操作模块,操作模块用于获取用户界面中触发的操作,确定所触发的操作对应的逻辑操作,按照该逻辑操作对应的操作限制,执行逻辑操作。

由上述技术方案可知,本实施例提供的软件云定制平台,能够准确、高效地实现软件开发,将业务需求与代码分离,提高软件开发效率,与软件云定制方法的有益效果相同。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。

图1示出了本发明所提供的一种软件云定制方法的方法流程图;

图2示出了本发明所提供的一种软件云定制平台的连接示意图。

具体实施方式

下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的技术方案,因此只是作为示例,而不能以此来限制本发明的保护范围。

需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。

云定制,也称云开发,是一种新型软件开发方法及模式,即通过一个统一的云端平台实现软件定制开发。

云定制至少包括两部分,一部分是由各类配置规则组成的配置器,配置器部署在云端,由一个配置器即可定制开发出多套不同功能的软件,即配置数据;另一部分是由各类解析规则组成的解析器,解析器加上配置数据,即组成了可独立运行的软件。由于配置器和解析器都在云端运行,故称之为“云定制”或“云开发”,即可在云端完成软件的定制开发。

第一方面,本发明实施例提供一种软件云定制方法,结合图1,该方法包括:

步骤s1,获取待开发软件的数据结构和业务逻辑。

步骤s2,将数据结构和业务逻辑转化为配置数据,配置数据包含待开发软件的必要信息。

步骤s3,反向解析配置数据,获取实际的软件数据库和功能逻辑。

由上述技术方案可知,本实施例提供的软件云定制方法,只需要关注业务场景和逻辑,将业务需求分析完成后,即可通过本发明提供的可视化配置工具,在没有任何编程基础的情况下快速实现软件开发。

本实施例提供的软件云定制方法能够取得更短的开发周期,由于使用可视化配置实现软件开发,不再需要编写一行行的代码,所以软件开发的周期比传统的开发模式平均缩短了70%以上。

本实施例提供的软件云定制方法能够取得更低的开发成本,由于周期的缩短,且让技术能力不再成为软件开发的必要条件,所以软件的平均开发成本比传统的开发模式降低了50%以上。

本实施例提供的软件云定制方法能够降低软件维护难度与成本,由于本发明使得具体的业务需求均以数据的形式存在,与软件的程序代码实现了分离,所以不同功能的软件都是通过同一套代码解析不同的数据运行,使得我们只需要维护一套软件代码即可,大大地降低了软件维护难度和成本。

本实施例提供的软件云定制方法能够使代码成熟度更高,由于始终只需要维护一套软件代码,使得我们的技术资源可以聚焦让软件成熟度更高,每个用户虽然开发软件时间很短并且功能不同,但是代码的成熟度都是一样高的。

本实施例提供的软件云定制方法能够提高代码的复用度,由于业务逻辑是以配置数据的形式存在,可以方便地对数据进行细微的调整,所以复用的颗粒度可以达到控件级别,即一个字段、一个函数、一个操作均可以实现复用。

本实施例提供的软件云定制方法能够提高软件开发的灵活性,软件的功能是通过解析配置数据渲染实现的,如果需要调整或升级功能,不再需要修改代码,通过对配置数据调整即可,可以让这种模式开发出来的软件具备更大的柔性和灵活性,更好地适应业务的变化。

为了进一步提高本实施例软件云定制方法的准确性,在进行数据配置与解析时,按照预定的规范,配置业务场景所需的数据结构和业务逻辑,生成配置数据,并且,按照预定的规范,对配置数据进行反向解析,渲染在特定场景下用户界面中的元素,获取数据库的关联关系和操作信息。

在此,本实施例软件云定制方法只要不断地丰富既定的规范内容,即可开发出功能更丰富的软件。

在数据安全性方面,本实施例软件云定制方法还提供数据加密过程,即生成配置数据之后,反向解析配置数据之前,将生成的配置数据进行加密,并存储到目标软件数据库的配置数据表。

对配置数据表中的数据进行解密,获取能够识别的配置数据。

在此,本实施例软件云定制方法,能够对配置数据进行加密,并存储待目标软件数据库,防止数据被恶意篡改,提高数据的安全性能。

在配置数据生成方面,按照预定的规范,配置业务场景所需的数据结构和业务逻辑,生成配置数据时,具体实现过程如下:

定义待开发软件的数据结构,包括表名、表字段名称、字段默认值/最大值、字段关联的逻辑。

根据定义的数据结构,生成业务数据表。

根据业务数据表的字段,创建索引,如组合索引、唯一索引。

将定义的数据结构转化为配置数据,一条配置数据代表一个字段所包含的逻辑。

配置业务逻辑的界面参数,如某个业务逻辑是否有界面、界面的类型、布局等参数,并转化为配置数据。

配置业务逻辑所具备的操作功能及操作属性,如操作的类型、对象表、条件、规则、关联操作等,并转化为配置数据。

配置业务逻辑的校验规则,如输入合法性、可用性等,并转化为配置数据。

配置业务逻辑的操作权限规则,并转化为配置数据。

在此,本实施例软件云定制方法,能够将可视化地配置业务场景所需的数据结构、业务逻辑,生成配置数据,创建索引,提高数据库查询效率。

在数据解析方面,按照预定的规范,对配置数据进行反向解析,渲染在特定场景下用户界面中的元素,获取数据库的关联关系和操作信息时,具体实现过程如下:

解析待开发软件定义的权限标识与用户权限,生成展示内容指引。例如,解析当前软件功能定义的权限标识与当前登录用户的权限,为界面解析模块展示的内容提供指引。

反向解析页面配置数据,生成界面元素,如业务数据、操作按钮、搜索区域、分页等,并进行渲染展示。

读取业务数据表,按照预先配置的规则,展示业务数据。

解析配置数据中的校验规则,确定校验规则,实现对用户在软件中的输入合法性、可用性进行校验,数据库的关联关系包括校验规则。

解析配置数据中的条件规则,确定逻辑操作的操作限制,操作信息包括逻辑操作的操作限制,实现操作的前置条件、后置条件、逻辑条件、条件间关系等操作限制。

本实施例软件云定制方法还包括:获取用户界面中触发的操作。

确定所触发的操作对应的逻辑操作。

按照该逻辑操作对应的操作限制,执行逻辑操作。如用户在界面中触发新增操作,则操作模块解析该新增操作对应的配置数据,获悉该新增操作需在哪些表中添加数据什么记录,则操作模块即按照规则进行新增操作。

在此,本实施例软件云定制方法能够通过解析不同的配置数据,实现出不同的软件逻辑和功能。

第二方面,本发明实施例提供一种软件云定制平台,结合图2,该平台包括配置器1和解析器2,配置器1用于获取待开发软件的数据结构和业务逻辑,将数据结构和业务逻辑转化为配置数据,配置数据包含待开发软件的必要信息;解析器2用于反向解析配置数据,获取实际的软件数据库和功能逻辑。解析器2将标准的配置数据按照统一的规范反向解析出具体的软件功能。可以理解为解析器即是软件的代码,但该代码始终只有一套最新版本,代码中不包含任何的业务逻辑和功能,通过加载解析不同的配置数据,实现出不同的软件逻辑和功能。

如极个别特殊的应用场景配置器1和解析器2暂不支持,则可通过传统的软件开发模式,即编写代码,实现该业务场景,并将该功能代码以“插槽”的方式在配置数据中引用,实现传统软件开发模式和云定制开发模式的兼容。

由上述技术方案可知,本实施例提供的软件云定制平台,只需要关注业务场景和逻辑,将业务需求分析完成后,即可通过本发明提供的可视化配置工具,在没有任何编程基础的情况下快速实现软件开发。

本实施例提供的软件云定制平台能够取得更短的开发周期,由于使用可视化配置实现软件开发,不再需要编写一行行的代码,所以软件开发的周期比传统的开发模式平均缩短了70%以上。

本实施例提供的软件云定制平台能够取得更低的开发成本,由于周期的缩短,且让技术能力不再成为软件开发的必要条件,所以软件的平均开发成本比传统的开发模式降低了50%以上。

本实施例提供的软件云定制平台能够降低软件维护难度与成本,由于本发明使得具体的业务需求均以数据的形式存在,与软件的程序代码实现了分离,所以不同功能的软件都是通过同一套代码解析不同的数据运行,使得我们只需要维护一套软件代码即可,大大地降低了软件维护难度和成本。

本实施例提供的软件云定制平台能够使代码成熟度更高,由于始终只需要维护一套软件代码,使得我们的技术资源可以聚焦让软件成熟度更高,每个用户虽然开发软件时间很短并且功能不同,但是代码的成熟度都是一样高的。

本实施例提供的软件云定制平台能够提高代码的复用度,由于业务逻辑是以配置数据的形式存在,可以方便地对数据进行细微的调整,所以复用的颗粒度可以达到控件级别,即一个字段、一个函数、一个操作均可以实现复用。

本实施例提供的软件云定制平台能够提高软件开发的灵活性,软件的功能是通过解析配置数据渲染实现的,如果需要调整或升级功能,不再需要修改代码,通过对配置数据调整即可,可以让这种模式开发出来的软件具备更大的柔性和灵活性,更好地适应业务的变化。

为了进一步提高本实施例软件云定制平台的准确性,配置器1具体用于:按照预定的规范,配置业务场景所需的数据结构和业务逻辑,生成配置数据。解析器2具体用于:按照预定的规范,对配置数据进行反向解析,渲染在特定场景下用户界面中的元素,获取数据库的关联关系和操作信息。

在此,本实施例软件云定制平台只要不断地丰富既定的规范内容,即可开发出功能更丰富的软件。

在数据安全性方面,本实施例软件云定制平台的配置器1还包括加密模块,加密模块具体用于:将生成的配置数据进行加密,并存储到目标软件数据库的配置数据表;解析器2还包括解密模块,解密模块具体用于:对配置数据表中的数据进行解密,获取能够识别的配置数据。

在此,本实施例软件云定制平台,能够对配置数据进行加密,并存储待目标软件数据库,防止数据被恶意篡改,提高数据的安全性能。

在配置数据生成方面,配置器1包括数据配置层和业务逻辑配置层,数据配置层包括表配置模块、索引模块,表配置模块用于定义待开发软件的数据结构,根据定义的数据结构,生成业务数据表,将定义的数据结构转化为配置数据,索引模块用于根据业务数据表的字段,创建索引,业务逻辑配置层包括界面定义模块、功能定义模块、校验定义模块、权限定义模块,界面定义模块用于配置业务逻辑的界面参数,并转化为配置数据,功能定义模块用于配置业务逻辑所具备的操作功能及操作属性,并转化为配置数据,校验定义模块用于配置业务逻辑的校验规则,并转化为配置数据,权限定义模块用于配置业务逻辑的操作权限规则,并转化为配置数据。

在此,本实施例软件云定制平台,能够将可视化地配置业务场景所需的数据结构、业务逻辑,生成配置数据,创建索引,提高数据库查询效率。

在数据解析方面,解析器2包括用户界面层和逻辑操作处理层,用户界面层包括权限解析模块、界面解析模块、表解析模块,权限解析模块用于解析待开发软件定义的权限标识与用户权限,生成展示内容指引,界面解析模块用于反向解析页面配置数据,生成界面元素,并进行渲染展示,表解析模块用于读取业务数据表,按照预先配置的规则,展示业务数据,逻辑操作处理层包括校验模块、条件模块,校验模块用于解析配置数据中的校验规则,确定校验规则,数据库的关联关系包括校验规则,条件模块用于解析配置数据中的条件规则,确定逻辑操作的操作限制,操作信息包括逻辑操作的操作限制。

同时,逻辑操作处理层还包括操作模块,操作模块用于获取用户界面中触发的操作,确定所触发的操作对应的逻辑操作,按照该逻辑操作对应的操作限制,执行逻辑操作。

在此,本实施例软件云定制平台能够通过解析不同的配置数据,实现出不同的软件逻辑和功能。

本发明的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。

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