CN115794254A - 基于云计算的组件研发管理平台和方法 - Google Patents

基于云计算的组件研发管理平台和方法 Download PDF

Info

Publication number
CN115794254A
CN115794254A CN202211509981.3A CN202211509981A CN115794254A CN 115794254 A CN115794254 A CN 115794254A CN 202211509981 A CN202211509981 A CN 202211509981A CN 115794254 A CN115794254 A CN 115794254A
Authority
CN
China
Prior art keywords
component
test
development
function
user
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
CN202211509981.3A
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.)
China Three Gorges University CTGU
Original Assignee
China Three Gorges University CTGU
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 China Three Gorges University CTGU filed Critical China Three Gorges University CTGU
Priority to CN202211509981.3A priority Critical patent/CN115794254A/zh
Publication of CN115794254A publication Critical patent/CN115794254A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明涉及基于云计算的组件研发管理平台,其中的组件开发云模块提供在线的多语言的开发环境,并提供多语言的自动封装工具,对开发完成的组件提供统一的调用接口,并提供统一接口规范及多层次的测试用例;组件测试云模块提供组件测试用例管理、测试配置、测试结果分析以及用户测试体验功能,用例管理具体包括统一接口的用例开发、测试用例审核及已入库测试用例检索功能;组件组态运行云模块提供基于云计算的组件组态服务,根据用户选择的组件以及组件使用顺序,在云端完成多个组件组合使用的计算任务,并将最后的计算结果返回给用户。本发明还公开了相应的组件开发、测试方法和多软件模块的组态服务方法。本发明提高了软件项目研究产出效率。

Description

基于云计算的组件研发管理平台和方法
技术领域
本发明属于软件管理领域,具体涉及一种基于云计算的组件研发管理平台。
背景技术
目前,大量以软件模块形式存在的软件成果,由于开发语言、接口、使用环境、版本、授权等因素造成的使用不便,使得软件模块的复用率不高,产生较多重复开发,造成整体研究产出效率下降。
现有的版本控制软件如Github等,主要针对源码进行管理,提供代码托管平台和开发者社区功能,开发者可在Github上创建自己的开源项目并与其他开发者协作编码。对于开发者利用云平台在线开发软件模块则是Github等平台所无法提供的服务。
针对以上问题,研究基于云计算的软件模块研发管理平台,将企事业单位以软件模块形式存在的软件成果,按照统一接口规范转换为组件,在云平台上对组件的开发、测试、封装、审核、入库、升级的全过程进行规范管理,并在此基础上提供基于云计算PaaS的组态计算服务。
发明内容
本发明的目的是针对上述问题,提供一种基于云计算的组件研发管理平台,此平台覆盖组态软件全部开发流程,包括组件开发、测试、封装、升级过程,并对全过程进行规范管理;同时,此平台采用基于云计算的虚拟计算框架,用户通过向云平台申请组态计算服务,完成后将计算结果返回给用户。该平台的规范管理不仅从开发阶段就提高了整个项目研究产出效率,其基于云计算的设计理念也极大方便外部用户使用以及加强了对组件的知识产权保护。
本发明的技术方案是基于云计算的组件研发管理平台,所述管理平台包括组件开发云模块、组件测试云模块和组件组态运行云模块。
组件开发云模块:提供统一接口的组件开发功能,按照统一接口规范将软件模块转换为组件,调用在线集成开发环境完成组件开发工作,提供C、Matlab、Fortran语言函数/动态库到C/C++、Java、Python语言的自动封装功能及调用在线集成开发环境的组件升级功能。对开发成完的组件提供组件库管理,包括新增组件、删除组件、组件检索。对组件模块库构建知识图谱,提供组件库全景视图,并拥有知识图谱维护功能。
组件测试云模块:提供组件测试用例管理和测试管理功能,用例管理具体包括统一接口的测试用例开发、测试用例入库审核及已入库测试用例检索。测试管理提供用于记录组件测试流程的测试配置功能,用户通过此功能了解当前所在测试步骤及测试数据信息,提供调用测试用例完成组件测试,用户测试体验使多用户完成对组件测试工作,对组件功能优化提出建议,结果管理用于记录组件测试结果至数据库。
组件组态运行云模块:提供基于云计算的组件组态服务,根据用户选择的组件以及组件使用顺序,在云端完成多个组件组合使用的计算任务,并将最后的计算结果返回给用户。提供组件计算框架展示,用户在此调用已有框架,无需开发相同功能组件,提高用户工作效率。
优选地,所述在线集成开发环境是C/C++、Java、Python、Matlab或Fortran语言的开发环境,为统一接口的组件开发、组件升级、统一接口的用例开发提供开发环境。
组件开发云模块包括:
组件开发单元:统一接口的组件开发工作提供组件设计规范,按照统一接口规范将开发的软件模块转换为组件,用户调用在线集成的C/C++、Java、Python、Matlab或Fortran语言的开发环境完成组件开发工作,用户可根据软件项目需要在本地开发环境和平台集成开发环境之间切换。
组件封装单元:提供C、Matlab、Fortran语言函数/动态库到C/C++、Java、Python语言的自动封装功能。
组件修改单元:提供组件升级功能,用户调用在线集成开发环境完成组件升级工作。
组件库管理单元:提供组件入库功能,具体包括库内组件新增、库内组件删除及已入库组件的信息检索操作。提供根据主题词检索查询组件的知识图谱功能;提供组件库知识图谱维护功能。
优选地,组件测试云模块包括用例管理单元和测试管理单元。
用例管理单元包括:
统一接口的用例开发:软件测试人员根据组件测试的需求,利用在线集成开发环境,按照统一的测试接口规范编写组件测试用例的代码,完成组件测试用例的开发;
用例审核:提供对开发完的组件测试用例审核、入库管理功能;
用例检索:提供根据用户检索词对测试用例的检索功能;
测试管理单元包括:
测试配置:提供组件是否进行接口测试、数据结构测试、路径测试、异常处理测试、边界测试的设置管理以及相应的测试状态的维护;提供组件的通用测试用例、自定义测试用例的选择设置;
组件测试:根据用户选择的测试用例以及测试配置,对开发的组件进行测试;
用户测试体验:提供用户选取测试用例后参与体验用户感兴趣的组件的功能、效率或压力测试过程的功能;
测试结果分析:提供组件测试的结果数据或测试效果数据,以图或表形式向用户展示;
组件组态运行云模块包括:
组态软件服务单元:提供基于云计算的组件组态服务,用户调用组件,连接组件搭建计算框架,并将最后的计算结果返回给用户。
组件计算框架展示:记录已有计算框架,有类似框架需求用户可直接调用当前已有框架,完成组态服务。
组件开发、测试方法,包括以下步骤:
步骤1:根据用户的功能需求,检索组件库是否有相应功能或组合实现该功能的组件;若组件库中存在需求功能的组件或组件组合,则将检索结果返回给用户;否则,执行步骤2;
步骤2:利用在线统一开发环境,按照统一接口规范,编写组件代码;
步骤3:对步骤2的组件代码进行编译,若通过编译,则执行步骤4;否则,提示编译失败的原因,返回步骤2;
步骤4:选择通用测试用例或者自开发测试用例,若选用通用测试用例,则执行步骤6;否则,执行步骤5;
步骤5:利用在线统一开发环境,按照统一测试接口规范,编写测试用例代码,并编译;
步骤6:设置组件是否进行接口测试、数据结构测试、路径测试、异常处理测试、边界测试,即进行组件的测试配置;
步骤7:调用测试用例,根据步骤6的测试配置,完成组件功能测试工作,将测试结果返回给用户,并存储到数据库;
步骤8:提交完成测试的组件,以http数据包形式发送给Web服务器,Web服务器将组件存入组件库中
组态服务构建与使用方法,包括以下步骤:
步骤1:从组件的树形列表中拖选组件到组态设计区;
步骤2:建立组件之间的连接关系,设置数据传递路径;
步骤3:编译检验组态流程完整性;
步骤4:设置组态流程中各组件参数;
步骤5:依次运行组态流程中的组件,得到组态服务的计算结果。
相比现有技术,本发明的有益效果包括:
1)本发明减少了软件开发人员在计算机环境配置上的工作量,实现在线编译器轻量级,不用安装、不用各种复杂配置,打开浏览器就能直接使用,极大提高开发人员工作效率。
2)本发明集成初始开发流程、后期升级迭代及用户使用的组件全生命周期,并把逻辑、流程上相互关联的组件连接在一起;使用统一管理规范,避免开发流程资源浪费,防止同一功能组件重复开发。
3)本发明提供统一开发环境,有利于组件版本升级,便于保持版本和功能一致性。
4)本发明提供了多语言自动封装功能,在面对不同环境调用需求下,可无需二次编程,采用自动封装工具,转换为新的组件版本,极大提高开发效率,避免二次开发资源浪费。
5)本发明提供了知识图谱组件管理工具,为用户提供当前组件库全景视图,便于对组件检索,用户利用知识图谱录入组件自定义属性信息,通过云端多用户多角度信息收集,有助于反馈组件发展趋势。
6)本发明提供组态软件服务,用户无需编写代码即可通过连线各图形化节点,构建逻辑计算模型,快速完成计算流程。
7)已入库组件可供其他用户调用,多用户利用多测试用例,从不同角度完成组件测试工作,有助于组件功能优化。
8)本发明的组态服务的组态流程经用户创建后可重复利用,有助于计算框架分享与利用。云平台方式不仅方便外部用户使用,同时保护软件模块知识产权。
附图说明
下面结合附图和实施例对本发明作进一步说明。
图1为本发明实施例的基于云计算的组件研发管理平台的系统框图。
图2为本发明实施例的组件开发云模块的结构图。
图3为本发明实施例的组件知识图谱本体的示意图。
图4为本发明实施例的组件知识图谱本体与图数据库的映射关系图。
图5为本发明实施例创建组件知识图谱本体的代码示意图。
图6为本发明实施例的组件知识图谱的示例图。
图7为本发明实施例的组件测试云模块的结构图。
图8为本发明实施例的组件组态运行云模块的结构图。
图9为本发明实施例的组态服务的组态流程界面图。
图10为本发明实施例的组态服务的计算结果界面图。
图11为本发明实施例的搭建组态服务的操作过程示意图。
具体实施方式
如图1所示,基于云计算的组件研发管理平台,包括在线集成开发环境、组件开发云模块、组件测试云模块和组件组态运行云模块及各模块细分框架。
组件开发云模块:提供专利“多语言的Modelica组件批量生成系统和方法”中的组件接口设计规范,提供统一版本的在线开发环境,并提供在线使用的编译、调试工具。该模块支持C、C++、Java、Python、Matlab及Fortran等语言在线开发、调试环境。用户可根据需要在本地开发环境和平台集成开发环境之间切换。支持多语言自动封装工具,用于满足同一组件不同环境的调用需求,自动封装语言支持C、Matlab、Fortran到C++、Java、Python等语言转换需求。提供在线统一开发环境的组件升级工具,开发人员运用此工具进行组件功能升级,使得组件版本和功能保持一致性。同时,对组件库的管理,提供组件新增、删除组件及组件检索功能,组件库管理提供基于知识图谱的组件库管理工具,知识图谱把所有不同种类组件连接在一起而得到组件关系网络,该网络为用户提供组件库全景视图,便于对组件检索以及组件属性信息存储。用户查询某主题的组件时,依赖知识图谱工具,基于当前组件库的全景视图,获取相关组件信息。知识图谱提供了从关系角度去分析当前已入库组件,同时基于知识图谱组件信息汇总,开发者可利用此工具对项目所需组件进行检索,获取已有组件属性信息。用户可利用知识图谱录入组件自定义属性信息,通过云端多用户多角度信息收集,有助于反馈组件发展趋势。组件开发云模块细分为组件开发单元、组件封装单元、组件修改单元及组件库管理单元,功能菜单如图2所示。
上述在线统一开发环境可视为在线IDE,并提供类似与VS、Xcode、Vscode等离线开发环境的主要功能,其可满足代码开发者在线开发需求,在线IDE对java语言开发分为四层架构:
第一层包含Java代码编译视图与调试视图,这两个视图都是通过调用对应服务完成功能;
第二层包含封装Eclipse通用插件,插件用于提供Java项目操作、Java包操作、Java类操作,包含封装JDK工具,提供编译和运行功能;
第三层提供基本的数据库文件系统,用来存储项目相关文件;
第四层是在线IDE的运行环境,运行在Docker的运行环境中,Docker作为一个容器,可以有效地隔绝外部环境对于在线IDE的影响;
实施例中,多语言自动封装工具的主要功能是将C、Fortran和Matlab编译成的动态库封装成Modelica语言模型可以调用的组件形式。如下所示为一段多语言封装工具函数解析代码实例:
Figure BDA0003970361570000051
Figure BDA0003970361570000061
上述为多语言自动封装功能中字符串、注释、空格等内容的部分解析过程代码。
组件的升级指组件由低版本向高版本的更新,高版本组件修复低版本的部分BUG,使升级后组件性能更好,用户也拥有更好体验。
组件库知识图谱的创建、管理、维护方式如下:
1)知识图谱初始化创建,创建节点的代码如下:
CREATE(n:节点类{name:"节点名"})RETURNn
2)节点间关系初始化创建,创建节点间关系连接的代码如下:
MATCH(n:节点类{name:‘节点名’}),(b:节点类{name:‘节点名’,})merge(n)-[:节点间关系]->(b)
3)节点属性初始化添加,为节点增加自定义属性内容的代码如下:
MATCH(n:节点类)WHERE n.节点名="a"SET n.属性类=属性值RETURNn
4)开发用户将组件存入组件库后,数据库将组件信息传输至图数据库完成图数据库更新,从而完成知识图谱更新。
5)用户可利用上述知识图谱语句完成组件信息自定义修改。
实施例中知识图谱组件库管理工具基于Neo4j图数据库构建,Neo4j图数据库有良好数据存储与数据检索性能,由于Neo4j与本体数据结构在表示上有所不同,因此需设计两种数据结构之间的映射规则,将组件本体数据映射至Neo4j中,实施例中组件知识图谱本体实例如图3所示,本实施例将软件模块本体中的类、属性、关系、实例四个元素与Neo4j图数据库的节点、关系、属性三个元素分别进行映射,实施例中两种数据结构映射规则如图4所示,具体包括:
1、节点映射。Neo4j图数据库中的节点表示的是软件模块中抽象的概念以及具体的实例对象,如输入、分析、输出、算法等对象。
2、关系映射。Neo4j数据库中的关系用于连接不同节点,将一个独立的节点联结形成知识网络。组件本体中的关系既包括基本的类间关系,如子类关系(subClassOf)、实例关系(instanceOf),也包括概念之间对象属性所形成的关联关系。
3、属性映射。在组件本体中,主要包括对象属性与数据属性,对象属性已映射为节点与节点间的关系,而类的数据属性一般将其作为节点的属性保存在Neo4j数据库中。
依据前文所设计的映射规则,可将组件本体中的类与实例、关系、属性分别存储为Neo4j中的节点、边、属性。本发明采用Neo4j4.3.1版本进行知识图谱的构建。实施例中的Neo4j知识图谱示例部分节点、边、属性构建语句如图5所示。通过上述步骤,可得组件库管理工具的知识图谱(部分),如图6所示。
组件测试云模块:该模块提供用例管理功能与测试管理。测试管理功能类似于组件库功能,同时新增统一接口的用例开发功能,用户调用上述在线集成开发环境完成用例开发工作。对开发完的组件测试用例提供审核测试用例,测试用例检索功能。用户利用上述操作将测试用例存入组件库内。用例管理功能为用户提供二类测试用例和统一版本的在线测试环境,对最终测试结果存入测试结果管理模块。第一类为平台提供通用测试用例,用于测试组件开发环境与测试环境版本一致性。第二类为开发者自行开发测试用例,用于组件模块具体功能。在用户完成编写压力测试计划、编写压力测试案例、多进程模拟多用户、设置并发点、运行测试程序并检测系统资源及获取分析结果后,平台完成对组件审核流程,将用例存入用例库。测试配置用于记录当前所处测试阶段,最终测试结果记录于测试结果分析数据库中。用户测试体验提供其他开发者调用组件功能,经过多次开发测试,有助于组件功能优化。组件测试云模块细分为用例管理单元和测试管理单元,菜单功能如图7所示。
测试配置记录当前测试流程所处阶段,用户在测试组件过程中,测试信息,测试步骤及每个测试流程的测试参数数据均记录于测试配置表中,测试配置表为部署于云端的数据库,用户查看此表获取当前或已经完成的测试流程信息。
实施例中,组件测试过程包括:
1)组件接口测试
1.1)组件数据流测试;
1.2)调用组件时输入参数与组件形参个数、属性和顺序始放匹配;
1.3)open和close语句是否正确,规定的I/O格式说明与I/O语句是否匹配;缓冲区容量是否与记录长度匹配,在读写之前是否打开了文件,读写之后是否关闭了文件;
1.4)全局变量的定义在各个组件中是否一致;
2)局部数据结构测试;
2.1)数据类型一致性检验;
2.2)是否使用尚未赋值或尚未初始化变量;
2.3)是否使用错误初始值;
3)路径测试,运算有限次序和常用控制流;
4)错误处理测试,面对出错条件,设置出错处理;
5)边界测试,循环次数、最大值、最小值测试。
统一调用接口定义方式如下:
1、函数接口定义方式,是指封装的动态库函数的输入参数、输出参数的定义方式。
2、函数返回值,对所有的用于封装的函数,其返回值类型必须定义为整型,且在实现函数功能时,当函数成功完成所有功能时返回0,其它情况返回<0的整数,负整数可以规定为错误代码,具体由函数定义者提供文档说明。
3、参数接口类型,函数的功能性参数须在函数参数列表中定义,参数接口类型可以为输入类型或者输出类型中的一种,不支持同时为输入和输出类型的参数。在C语言编写的动态库或其它语言编写动态库对应的C头文件的函数声明中,输入类型参数说明前应加const标识。不支持引用类型&的传值方式。函数Add功能为求二个整数的和,函数声明如下:
intadd(constint a,constint b,int*c);
4、结构体参数,C、Fortran支持自定义的结构体作为函数的参数,结构体在使用时,应用单一的类型,不支持使用struct xxname作为函数的参数类型。
有如下的结构体定义:
struct point{int x,y;};
不支持如下函数的参数定义:
Int GetDist(struct pointa,struct pointb,double*x);
上述代码应改用如下的定义方式:
typedef structpoint{intx,y;}POINT;
Int GetDist(POINT a,POINTb,double*x)。
组件组态运行云模块:提供云端组态使用服务,用户可通过图形化拖拽方式构建计算流程,将基本函数封装为图形拖拽节点,节点包括输入、输出等,从而以节点的方式来设置变量数据。组态使用服务可以创建自定义计算功能,并且快速地完成软件模块迭代,无需编写任何代码,用户利用连线将节点、输入、输出和变量连接在一起,从而在无需编写代码情况下构建复杂的计算流程模型。该模块提供组件计算框架展示功能,对平台已有框架可直接调用,无需搭建组态服务,极大提高用户工作效率。组件组态云模块细分为组态软件服务单元和组件计算框架展示,菜单功能如图8所示。
平台组态服务完成整个计算分析流程后,将计算结果返回给外部用户,随着后期用户量不断增加,前期用户使用组态服务历史记录将为后期新用户使用组态服务提供导航功能,用户使用在线组态服务构建计算框架示例如图9所示。
组件组态服务构建方法包括以下步骤:
1)在仿真平台的左侧显示了目前系统中所有可用的组件,新建仿真场景;
2)用户可以在左侧树形列表中选择所需的组件,拖拽到右侧的设计区域;
3)通过连线的方式设置组件之间的数据传递过程;
4)在组件上弹出对话框修改组件的参数;
5)编译检验组态流程完整性;
6)运行组件组态服务得到计算结果;
用户利用在线组态服务计算结果显示如图10所示。
组件组态服务函数节点拖拽功能开发流程图如图11所示,上述组态功能搭建方式如下:
组态界面包括左侧树形列表管理组件及右侧空白设计区域两部分。左侧列表提供组件文件的访问功能。在组态功能页面初始化时,将组件文件加载到库模块中,并将组件加载到左侧列表,生成组件节点,组件节点内部封装组件的基本信息,为其他功能模块访问组件文件提供接口。在右侧的主工作区显示空白的设计区域,用户可以在左侧树形列表中选择所需的组件,拖拽到右侧的设计区域,可以通过连线的方式设置组件之间的数据传递过程,在组件上弹出对话框修改组件的参数等。
组态服务界面搭建调用主要类如表1所示。
表1组态界面类表
类名: 主要功能:
LibraryTreeNode 以树形列表方式存放库组件节点
LibraryComponent 存放组件图标信息
LibraryTreeWidget 提供组件节点的树形列表管理窗口
GraphicsView 提供组态服务设计窗口
1、通过设计LibraryTreeNode类、LibraryComponent类和LibraryTreeWidget类来实现左侧列表的基本功能。
1.1、LibraryTreeNode类的实例化对象是组件节点,类内定义了组件的基本信息,包括组件类型、组件名称、父节点名称、结构名称、文件名称等参数。这些参数声明为私有,通过类以树列表的形式存放组件节点。
1.2、LibraryComponent类的实例化对象是组件节点的图标。类内定义了组件节点的图标信息,包括组件的结构名称、图标信息、图标显示范围等。在LibraryComponent类中,组件节点的图标信息均声明为公有,可以被其他功能模块调用。通过类以存放组件图标信息。
1.3、LibraryTreeWidget类的实例化对象是组件库窗口,用于显示组件节点列表,还提供对组件节点的操作,包括组件库的加载、组件的加载、组件的新建、打开和保存等功能。LibraryTreeWidget类的接口包括已加载的组件节点列表、组件节点图标列表,提供组件节点的树形列表管理窗口。
2、通过设计GraphicsView类来实现右侧组态设计区域基本功能。
2.1、GraphicsView类的实例化对象是组态设计区域窗口,用于操作组建的添加和删除,连线的添加和删除,为组态设计区域提供显示组件图形部件的窗口。
实施例中,研发管理平台采用B/S架构,应用服务器使用Tomcat,Tomcat是一款开源的Web服务器,可完成接收请求,处理请求及作出响应。
在Web浏览器采用Javascript语言开发平台界面布局与界面功能。当前Web浏览器提供网页编辑器,用户可直接在网页上编辑代码,编辑器提供代码编辑、运行和调试功能。代码编辑页面上编写、删除、复制、粘贴、保存和另存操作按钮均使用Javascript开发完成。
实施例中,图形化拖拽流程在Web浏览器采用Javascript完成绘图功能开发,图形对应的函数代码封装成.mo文件和json文件,文件封装为http数据包发送至Tomcat服务器,服务器接收数据包后,将json文件解析为.c等格式文件,编译生成.exe文件,运行结果封装为http数据包发送至Web浏览器显示给用户,通过此流程用户可使用组件组态使用服务。
Tomcat服务器使用Eclipse集成开发环境基于Java语言完成开发工作,用户编写代码封装为http数据包发送至Tomcat服务器,服务器跟浏览器建立联系接收数据包后,解析为.mo、.c等格式文件,编译为.exe文件,运行测试用例,测试结果使用http数据包返回给Web浏览器,浏览器解析html显示测试结果。Tomcat服务器接收http数据包后,解析为.mo、.c等格式文件,组件封装工具将文件封装为用户指定语言文件后存入Mysql数据库。
实施例的后端服务器设备上部署Mysql数据库和Neo4j数据库,Web浏览器发送至Tomcat服务器的组件和测试用例均存入Mysql数据库,供用户在Web浏览器发送请求调用。Neo4j数据库用于建立平台的知识图谱模块,通过存入图表数据库的组件名称关键词构建知识图谱网络。Neo4j数据库中的知识图谱信息同样封装为http数据包,通过Tomcat服务器发送至Web浏览器,Web浏览器解析html显示知识图谱网络,用户即可在前端使用知识图谱检索和导航组件信息。
综上所述,基于云计算的组件研发管理平台和方法的提出与建立,平台使用统一管理规范,避免开发流程资源浪费,防止同一功能模块多次开发,既提高了组件开发效率,同时也避免开发资源浪费。平台提供统一开发环境有利于组件升级,便于保持版本和功能一致性,用户可在后期进行组件升级迭代,新版本组件版本和功能将保持一致性。同时,平台提供基于云计算的组件组态服务,外部用户可通过使用发布在平台的组件,图形化拖拽方式构建计算任务,从而提高开发效率,对有相同计算需求的用户无需二次开发组件。因此,基于云计算的组件研发管理平台相比传统开发方式,在组件复用率、整体开发效率、用户使用便利等特性上均有极大提升。

Claims (5)

1.基于云计算的组件研发管理平台,其特征在于,所述管理平台包括组件开发云模块、组件测试云模块和组件组态运行云模块;
组件开发云模块:提供组件设计规范,按照统一接口规范将软件模块转换为组件,调用在线集成开发环境完成组件开发,提供C、Matlab、Fortran语言函数/动态库到C/C++、Java、Python语言的自动封装功能,对开发完成的组件提供统一的调用接口,并提供用于组件测试的统一接口以及多层次的测试用例;
对开发成完的组件提供组件库管理,包括新增组件、删除组件、组件检索;
对组件库构建知识图谱,提供组件库全景视图,并提供组件知识图谱维护功能;
组件测试云模块:提供组件测试用例管理、测试配置、测试结果管理以及用户测试体验功能,用例管理具体包括统一接口的用例开发、测试用例审核及已入库测试用例检索功能;
测试用例管理提供用于组件测试用例开发的在线开发环境以及规范的测试接口;
测试配置提供组件测试流程管理功能;
测试结果管理对组件测试结果提供管理功能;
用户测试体验提供用户参与体验用户感兴趣的组件的功能或压力测试过程的功能;
组件组态运行云模块:提供基于云计算的组件组态服务,根据用户选择的组件以及组件使用顺序,在云端完成多个组件组合使用的计算任务,并将最后的计算结果返回给用户;提供组件框架展示功能,用户通过此功能直接调用已有组态服务框架;
所述在线集成开发环境是在线的C/C++、Java、Python、Matlab或Fortran语言的软件模块开发环境。
2.根据权利要求1所述的组件研发管理平台,其特征在于,组件开发云模块包括:
组件开发单元:提供在线集成的C/C++、Java、Python、Matlab或Fortran语言的开发环境,用户可根据软件项目需要在本地开发环境和平台集成开发环境之间切换,提供统一设计规范的组件开发接口,软件开发人员按照统一接口规范编写软件模块的代码;提供将开发的软件模块转换为组件的功能;
组件封装单元:提供C、Matlab、Fortran语言函数/动态库到C/C++、Java、Python语言的自动封装功能;
组件修改单元:提供组件升级的统一在线开发环境,软件开发人员针对组件的缺陷或根据组件功能升级需求对组件进行二次开发,按照统一接口规范编写组件二次开发的代码,实现组件功能升级或消除组件的缺陷;
组件库管理单元:提供组件入库管理功能,包括组件新增、组件删除及已入库组件的信息检索操作;提供根据主题词检索得到相关组件的知识图谱功能;提供组件库知识图谱维护功能。
3.根据权利要求2所述的组件研发管理平台,其特征在于,组件测试云模块包括:
用例管理单元:软件测试人员根据组件测试的需求,利用在线集成开发环境,按照统一的测试接口规范编写组件测试用例的代码,完成组件测试用例的开发;提供对开发完的组件测试用例审核、入库管理功能;提供根据用户检索词对测试用例的检索功能;
测试管理单元:提供组件是否进行接口测试、数据结构测试、路径测试、异常处理测试、边界测试的设置管理以及相应的测试状态的维护;提供组件的通用测试用例、自定义测试用例的选择设置;根据用户选择的测试用例以及测试配置,对开发的组件进行测试;提供用户选取测试用例后参与体验用户感兴趣的组件的功能、效率或压力测试过程的功能;提供组件测试的结果数据或测试效果数据,以图或表形式向用户展示。
4.如权利要求1-3任意一项所述组件研发管理平台的组件开发、测试方法,其特征在于,包括以下步骤:
步骤1:根据用户的功能需求,检索组件库是否有相应功能或组合实现该功能的组件;若组件库中存在需求功能的组件或组件组合,则将检索结果返回给用户;否则,执行步骤2;
步骤2:利用在线统一开发环境,按照统一接口规范,编写组件代码;
步骤3:对步骤2的组件代码进行编译,若通过编译,则执行步骤4;否则,提示编译失败的原因,返回步骤2;
步骤4:选择通用测试用例或者自开发测试用例,若选用通用测试用例,则执行步骤6;否则,执行步骤5;
步骤5:利用在线统一开发环境,按照统一测试接口规范,编写测试用例代码,并编译;
步骤6:设置组件是否进行接口测试、数据结构测试、路径测试、异常处理测试、边界测试,即进行组件的测试配置;
步骤7:调用测试用例,根据步骤6的测试配置,完成组件功能测试工作,将测试结果返回给用户,并存储到数据库;
步骤8:提交完成测试的组件,以http数据包形式发送给Web服务器,Web服务器将组件存入组件库中。
5.如权利要求1-3任意一项所述组件研发管理平台的组态服务构建与使用方法,其特征在于,包括以下步骤:
步骤1:从组件的树形列表中拖选组件到组态设计区;
步骤2:建立组件之间的连接关系,设置数据传递路径;
步骤3:编译检验组态流程完整性;
步骤4:设置组态流程中各组件参数;
步骤5:依次运行组态流程中的组件,得到组态服务的计算结果。
CN202211509981.3A 2022-11-29 2022-11-29 基于云计算的组件研发管理平台和方法 Pending CN115794254A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211509981.3A CN115794254A (zh) 2022-11-29 2022-11-29 基于云计算的组件研发管理平台和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211509981.3A CN115794254A (zh) 2022-11-29 2022-11-29 基于云计算的组件研发管理平台和方法

Publications (1)

Publication Number Publication Date
CN115794254A true CN115794254A (zh) 2023-03-14

Family

ID=85442926

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211509981.3A Pending CN115794254A (zh) 2022-11-29 2022-11-29 基于云计算的组件研发管理平台和方法

Country Status (1)

Country Link
CN (1) CN115794254A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117032665A (zh) * 2023-07-24 2023-11-10 易方达基金管理有限公司 一种投资因子的可视化构建方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117032665A (zh) * 2023-07-24 2023-11-10 易方达基金管理有限公司 一种投资因子的可视化构建方法及系统
CN117032665B (zh) * 2023-07-24 2024-05-03 易方达基金管理有限公司 一种投资因子的可视化构建方法及系统

Similar Documents

Publication Publication Date Title
Bousse et al. Advanced and efficient execution trace management for executable domain-specific modeling languages
US20070011669A1 (en) Software migration
Kling et al. MoScript: A DSL for querying and manipulating model repositories
US20140059514A1 (en) Methods and Systems Utilizing Behavioral Data Models
CN113553035A (zh) 一种通用的前端ui组件库的设计和构建方法
CN115794254A (zh) 基于云计算的组件研发管理平台和方法
Avrunin et al. Comparing finite-state verification techniques for concurrent software
Floch et al. Model-driven engineering and optimizing compilers: A bridge too far?
US11442845B2 (en) Systems and methods for automatic test generation
Özgür Comparison of Microsoft DSL Tools and Eclipse Modeling Frameworks for Domain-Specific Modeling in the context of Model-Driven Development
Itsykson Partial specifications of libraries: Applications in software engineering
Gladstone C++ Software Interoperability for Windows Programmers
Rahimi et al. Architecture conformance checking of multi-language applications
Paige et al. Model management in the wild
EP4336348A1 (en) Iterative and interactive method for code conversion
Aboulsamh et al. A formal modeling approach to information systems evolution and data migration
Pradhan User interface test automation and its challenges in an industrial scenario
Marques Construção de Linguagens Específicas de Domínio ea sua Integração com Ides
Blizničenko et al. Generating UML Models with Inferred Types from Pharo Code
Aboulsamh et al. Specification and verification of model-driven data migration
Teixeira Multi-Language Software Metrics
Brestovansky Exploring textual modeling using the Umple language
Chooi Web-Based Source To Source Converter
Khedkar Call Graph Construction for Spring Framework
Mendonça Model-Driven Development for Spring Boot Microservices

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