CN117171048A - 一种模块化的软件系统开发平台 - Google Patents

一种模块化的软件系统开发平台 Download PDF

Info

Publication number
CN117171048A
CN117171048A CN202311263626.7A CN202311263626A CN117171048A CN 117171048 A CN117171048 A CN 117171048A CN 202311263626 A CN202311263626 A CN 202311263626A CN 117171048 A CN117171048 A CN 117171048A
Authority
CN
China
Prior art keywords
module
test
standard
user
server side
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
Application number
CN202311263626.7A
Other languages
English (en)
Inventor
王宾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Zhuyi Cloud Software Co ltd
Original Assignee
Nanjing Zhuyi Cloud Software Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing Zhuyi Cloud Software Co ltd filed Critical Nanjing Zhuyi Cloud Software Co ltd
Priority to CN202311263626.7A priority Critical patent/CN117171048A/zh
Publication of CN117171048A publication Critical patent/CN117171048A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明公开了一种模块化的软件系统开发平台,包括服务器端和客户端,客户端与服务器端之间实现通讯,将编辑好的源代码封装成可以直接调用的标准模块存储在服务器端,通过系统框架编辑器用户可以调用和配置存储在服务器端的标准模块以实现零代码开发,通过系统优化模块对用户搭建的框架系统进行对比测试与校验,并根据测试结果生成优化方案。本发明将写代码的过程转化为堆积木的过程,用户根据自己的需求从模型库中调用所需的功能模块,降低开发门槛、减少开发工程量、缩短交付周期;系统对用户搭建的框架系统进行对比测试与校验,并根据测试结果生成优化方案,提高软件开发的完成度,相对于传统的软件开发过程更加灵活。

Description

一种模块化的软件系统开发平台
技术领域
本发明涉及软件开发技术领域,尤其涉及一种模块化的软件系统开发平台。
背景技术
随着工业互联网和信息化技术的不断发展,越来越多企业在发展过程中向数字化转型,通过引进或开发配套的工业软件,提高企业的生产效率,但是工业软件的开发并非易事,其尖锐问题主要体现在以下几个方面:
写代码学习成本高:随着技术的不断发展,需要掌握的知识点越来越多,学习曲线越来越陡峭。需要花费大量的时间和精力来学习编程语言、算法、框架等方面的基础知识。
入门门槛高:软件开发需要一定的数学和逻辑思维能力,对于初学者来说,理解一些抽象的概念和原理比较困难。此外,需要掌握的技能也比较多,包括但不限于编程语言、开发工具、操作系统、数据库等方面。
开发周期长:软件开发需要经过需求分析、设计、编码、测试、部署等多个环节,每个环节都需要投入大量的时间和精力。特别是在需求分析和设计阶段,需要与业务人员进行反复沟通和确认,才能确保开发的软件符合实际需求。
工程量大:软件开发需要协调多个团队之间的合作,包括开发、测试、部署等方面。每个团队都需要有自己的工作流程和规范,确保各项工作能够有序进行为了解决这些问题,模块化的软件系统开发平台逐渐成为了业界关注的焦点。这种平台将软件系统分解为多个独立的模块,使得开发人员可以更加灵活地组合和使用这些模块,提高了软件的开发效率和质量。
为了解决这些问题,模块化的软件系统开发平台逐渐成为了业界关注的焦点。
发明内容
本发明的目的是为了解决现有技术中存在的缺点,而提出的一种模块化的软件系统开发平台。
为了实现上述目的,本发明采用了如下技术方案:
本发明第一方面提供了一种模块化的软件系统开发平台,包括服务器端和客户端,所述客户端与服务器端之间实现通讯,将编辑好的源代码封装成可以直接调用的标准模块存储在所述服务器端,所述客户端包含一个系统框架编辑器,通过所述系统框架编辑器用户可以调用和配置存储在服务器端的标准模块以实现零代码开发,所述服务器端包括一个系统优化模块,所述系统优化模块对用户搭建的框架系统进行对比测试与校验,并根据测试结果生成优化方案。
作为本发明一种优选的技术方案,所述服务器端还包括源代码管理模块、源代码数据库、中央存储库和模块组合配置单元、代码生成与部署模块,所述源代码数据库用于存储预先写好的源代码,所述源代码管理模块用于对编辑好的源代码封装成可以直接调用的标准模块,所述中央存储库用于存储标准模块和自定义模块,所述模块组合配置单元用于建立各标准模块与自定义模块之间的交互和数据流,所述代码生成与部署模块用于将配置完成的标准模块部署到目标环境。
作为本发明一种优选的技术方案,所述客户端还包括一个模块功能编辑器,所述模块功能编辑器用于对标准模块进行参数设置。
作为本发明一种优选的技术方案,所述源代码管理模块调用Python库中的zipfile模块对要封装的源代码文件打包,并使用importlib模块加载库文件调用其中的封装函数,将打包文件封装成具有明确功能和输入参数的封装文件。
作为本发明一种优选的技术方案,所述中央存储库中还存储有API接口数据,所述源代码管理模块与所述中央存储库链接并根据标准模块或自定义模块的类型调用对应的API接口以实现数据流的交互。
作为本发明一种优选的技术方案,所述中央存储库中还包含一个分类器,通过所述分类器对存储在其内部的标准模块或自定义模块根据源代码的功能类型进行分类,每一个标准模块或自定义模块在中央存储库分配到唯一的存储路径。
作为本发明一种优选的技术方案,所述系统优化模块在对用户搭建的框架系统通过一下步骤进行对比测试与校验:
S1:配置虚拟测试环境,根据测试需求配置测试所需的虚拟机及其虚拟机硬件资源、网络环境;
S2:在虚拟环境中安装用户搭建的框架系统,并确保软件版本与实际环境一致;
S3:根据测试需求,测试数据,并导入到虚拟测试环境中;
S4:在虚拟测试环境中运行用户搭建的框架系统,并将测试数据导入到被测试的框架系统中,记录测试结果,该测试结果做为参考例;
S5:在虚拟环境中,用同类型的标准模块替代用户搭建的框架系统中的标准模块,记录测试结果,该测试结果作为对照例;
S6:对测试结果进行分析,并生成优化方案。
作为本发明一种优选的技术方案,所述测试结果包括在虚拟测试环境中数据处理速度、数据传输时延以及系统稳定性。
本发明的有益效果为:
1、将写代码的过程转化为堆积木的过程,用户根据自己的需求从模型库中调用所需的功能模块,降低开发门槛、减少开发工程量、缩短交付周期;
2、系统对用户搭建的框架系统进行对比测试与校验,并根据测试结果生成优化方案,提高软件开发的完成度;
3、相对于传统的软件开发过程更加灵活、由于各个功能模块的代码都是预先编辑好、独立封装的,减少了代码件的耦合,降低故障率;
4、迭代速度块,在升级产品的过程中,用户在自己搭建自定义模块,会存储到系统后台,开发人员测试无误后,可以将其收录到数据库中,以不断更新数据,同时开发者自己在升级过程中,是对功能模块进行升级,不受全局代码干扰。
附图说明
图1为本发明的整体结构框架图;
图2为本发明全局结构图;
图3为本发明测试与校验方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明,本发明实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
在本发明中,除非另有明确的规定和限定,术语“连接”、“固定”等应做广义理解,例如,“固定”可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
另外,若本发明实施例中有涉及“第一”、“第二”等的描述,则该“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,全文中出现的“和/或”的含义,包括三个并列的方案,以“A和/或B”为例,包括A方案、或B方案、或A和B同时满足的方案。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
实施例
具体的,参照图1至图3,本发明提供了一种模块化的软件系统开发平台,包括服务器端和客户端,客户端与服务器端之间实现通讯,将编辑好的源代码封装成可以直接调用的标准模块存储在服务器端,客户端包含一个系统框架编辑器,通过系统框架编辑器用户可以调用和配置存储在服务器端的标准模块以实现零代码开发,服务器端包括一个系统优化模块,系统优化模块对用户搭建的框架系统进行对比测试与校验,并根据测试结果生成优化方案。
进一步的,服务器端还包括源代码管理模块、源代码数据库、中央存储库和模块组合配置单元、代码生成与部署模块,源代码数据库用于存储预先写好的源代码,源代码管理模块用于对编辑好的源代码封装成可以直接调用的标准模块,中央存储库用于存储标准模块和自定义模块,模块组合配置单元用于建立各标准模块与自定义模块之间的交互和数据流,代码生成与部署模块用于将配置完成的标准模块部署到目标环境。
进一步的,客户端还包括一个模块功能编辑器,模块功能编辑器用于对标准模块进行参数设置,允许用户在调用标准模块时进行设置,如数据录入、数据修改和保存、条件触发方式等。
进一步的,源代码管理模块调用Python库中的zipfile模块对要封装的源代码文件打包,并使用importlib模块加载库文件调用其中的封装函数,将打包文件封装成具有明确功能和输入参数的封装文件,具体操作步骤如下:
1)打开源代码文件,将需要封装的代码打包为一个库文件,通过调用Python库中的zipfile模块进行打包;
2)在新文件中编写封装函数或类,定义输入输出参数和功能;
3)在封装函数或类中,使用importlib模块加载库文件,并调用其中的函数或类;
4)将封装函数或类保存为一个独立的文件,以便其他代码可以调用。
通过将源代码封装成标准模块,可以提高代码的可重用性和可维护性。标准模块的定义应该具有明确的输入输出参数和功能,以便其他代码可以调用。在封装过程中,需要注意封装函数的命名规范和输入输出参数的定义,以确保封装函数的可读性和可维护性。同时,还需要注意封装函数的异常处理和错误提示,以便在调用过程中出现问题时能够及时发现和解决。另外,使用库文件进行封装可以更好地保护源代码,并提高代码的安全性。
进一步的,中央存储库中还存储有API接口数据,源代码管理模块与中央存储库链接并根据标准模块或自定义模块的类型调用对应的API接口以实现数据流的交互,接口定义了模块的输入、输出和行为,是其他代码调用模块的入口点。
进一步的,中央存储库中还包含一个分类器,通过分类器对存储在其内部的标准模块或自定义模块根据源代码的功能类型进行分类,每一个标准模块或自定义模块在中央存储库分配到唯一的存储路径,通过分类器能对标准模块进行分类,方便用户更快的找到合适的模块,同时在系统层级,能加速系统调用和配置标准模块的速度,提高软件开发的速度。
进一步的,系统优化模块在对用户搭建的框架系统通过一下步骤进行对比测试与校验:
S1:配置虚拟测试环境,根据测试需求配置测试所需的虚拟机及其虚拟机硬件资源、网络环境;
S2:在虚拟环境中安装用户搭建的框架系统,并确保软件版本与实际环境一致;
S3:根据测试需求,测试数据,并导入到虚拟测试环境中;
S4:在虚拟测试环境中运行用户搭建的框架系统,并将测试数据导入到被测试的框架系统中,记录测试结果,该测试结果做为参考例;
S5:在虚拟环境中,用同类型的标准模块替代用户搭建的框架系统中的标准模块,记录测试结果,该测试结果作为对照例;
S6:对测试结果进行分析,并生成优化方案。
进一步的,测试结果包括在虚拟测试环境中数据处理速度、数据传输时延以及系统稳定性,通过对用户开发的框架结构进行测试和优化,能够提高用户所开发系统的完成度,同时,随着中央存储库中存储的标准模块和自定义模块的增加,其系统框架的迭代速度块。
需要说明的是,本公开的一些实施例中记载的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的一些实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开的一些实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,管理系统可以利用诸如HTTP(Hyper Text TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的一些实施例的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
以上描述仅为本公开的一些较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开的实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开的实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (8)

1.一种模块化的软件系统开发平台,包括服务器端和客户端,其特征在于,所述客户端与服务器端之间实现通讯,将编辑好的源代码封装成可以直接调用的标准模块存储在所述服务器端,所述客户端包含一个系统框架编辑器,通过所述系统框架编辑器用户可以调用和配置存储在服务器端的标准模块以实现零代码开发,所述服务器端包括一个系统优化模块,所述系统优化模块对用户搭建的框架系统进行对比测试与校验,并根据测试结果生成优化方案。
2.根据权利要求1所述的一种模块化的软件系统开发平台,其特征在于,所述服务器端还包括源代码管理模块、源代码数据库、中央存储库和模块组合配置单元、代码生成与部署模块,所述源代码数据库用于存储预先写好的源代码,所述源代码管理模块用于对编辑好的源代码封装成可以直接调用的标准模块,所述中央存储库用于存储标准模块和自定义模块,所述模块组合配置单元用于建立各标准模块与自定义模块之间的交互和数据流,所述代码生成与部署模块用于将配置完成的标准模块部署到目标环境。
3.根据权利要求2所述的一种模块化的软件系统开发平台,其特征在于,所述客户端还包括一个模块功能编辑器,所述模块功能编辑器用于对标准模块进行参数设置。
4.根据权利要求2所述的一种模块化的软件系统开发平台,其特征在于,所述源代码管理模块调用Python库中的zipfile模块对要封装的源代码文件打包,并使用importlib模块加载库文件调用其中的封装函数,将打包文件封装成具有明确功能和输入参数的封装文件。
5.根据权利要求2所述的一种模块化的软件系统开发平台,其特征在于,所述中央存储库中还存储有API接口数据,所述源代码管理模块与所述中央存储库链接并根据标准模块或自定义模块的类型调用对应的API接口以实现数据流的交互。
6.根据权利要求2所述的一种模块化的软件系统开发平台,其特征在于,所述中央存储库中还包含一个分类器,通过所述分类器对存储在其内部的标准模块或自定义模块根据源代码的功能类型进行分类,每一个标准模块或自定义模块在中央存储库分配到唯一的存储路径。
7.根据权利要求1所述的一种模块化的软件系统开发平台,其特征在于,所述系统优化模块在对用户搭建的框架系统通过一下步骤进行对比测试与校验:
S1:配置虚拟测试环境,根据测试需求配置测试所需的虚拟机及其虚拟机硬件资源、网络环境;
S2:在虚拟环境中安装用户搭建的框架系统,并确保软件版本与实际环境一致;
S3:根据测试需求,测试数据,并导入到虚拟测试环境中;
S4:在虚拟测试环境中运行用户搭建的框架系统,并将测试数据导入到被测试的框架系统中,记录测试结果,该测试结果做为参考例;
S5:在虚拟环境中,用同类型的标准模块替代用户搭建的框架系统中的标准模块,记录测试结果,该测试结果作为对照例;
S6:对测试结果进行分析,并生成优化方案。
8.根据权利要求7所述的一种模块化的软件系统开发平台,其特征在于,所述测试结果包括在虚拟测试环境中数据处理速度、数据传输时延以及系统稳定性。
CN202311263626.7A 2023-09-27 2023-09-27 一种模块化的软件系统开发平台 Pending CN117171048A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311263626.7A CN117171048A (zh) 2023-09-27 2023-09-27 一种模块化的软件系统开发平台

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311263626.7A CN117171048A (zh) 2023-09-27 2023-09-27 一种模块化的软件系统开发平台

Publications (1)

Publication Number Publication Date
CN117171048A true CN117171048A (zh) 2023-12-05

Family

ID=88941290

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311263626.7A Pending CN117171048A (zh) 2023-09-27 2023-09-27 一种模块化的软件系统开发平台

Country Status (1)

Country Link
CN (1) CN117171048A (zh)

Similar Documents

Publication Publication Date Title
CN104854558B (zh) 用于使用编译和部署服务进行软件构建和负载处理的系统、方法和计算机程序产品
CN108885545B (zh) 用于实时数据流编程语言的工具和方法
US8191042B2 (en) Continuation based declarative definition and composition
CN105843684B (zh) 管理任务执行
CN108845940B (zh) 一种企业级信息系统自动化功能测试方法和系统
KR20110057070A (ko) 이벤트 처리 네트워크
US20050268280A1 (en) Encapsulating changes to a software application
CN108965375B (zh) 服务调用代理控制系统、方法、服务器及可读存储介质
CN111399828B (zh) 一种基于模型驱动的逻辑设备建模方法及终端
CN113778545A (zh) 一种数据处理方法、装置、设备和存储介质
CN111062521B (zh) 一种在线预测方法、系统及服务器
CN112631590A (zh) 组件库生成方法、装置、电子设备和计算机可读介质
CN110717268B (zh) 一种基于face架构的可移植组件单元封装方法
CN115509522A (zh) 面向低代码场景的接口编排方法、系统、电子设备
US20190212990A1 (en) Framework for generating adapters in an integrated development environment
CN116132139A (zh) 剧本执行方法、装置、设备、存储介质及程序产品
CN114047921A (zh) 一种推理引擎开发平台、方法、电子设备及存储介质
CN113220337A (zh) 一种版本构建方法、装置、计算机设备和存储介质
CN117171048A (zh) 一种模块化的软件系统开发平台
CN102810065B (zh) 用于加载程序模块的方法和系统
Dalibor et al. Tagging Model Properties for Flexible Communication.
Schmiedmayer et al. Reducing the impact of breaking changes to web service clients during web API evolution
Van den Vonder et al. Topology-Level Reactivity in Distributed Reactive Programs
CN114416305A (zh) 一种机器人引擎实现方法、系统及电子设备
CN113947047A (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