System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及软件管理领域,具体涉及一种软件组件管理方法、系统、设备以及存储介质。
技术介绍
1、目前,当软件公司在以往的软件项目中已经沉淀了大量的高质量软件资产时,经常会缺乏对软件资产有效的描述方法以及软件模块作者的工作流动,导致这些开发好的软件资产只能存在历史产品或项目中。这样在未来项目的开发过程中,现任开发人员可能完全没有意识到这些功能相同的或相近的模块早已存在,使得相同或者相似的功能模块可能又被重复了开发一遍。
2、因此,由于缺乏对软件组件的有效管理,导致软件资产库形同虚设,从而导致软件复用程度不高,重复开发,进而导致软件开发周期长,软件质量控制成本高。
技术实现思路
1、有鉴于此,为了克服上述问题的至少一个方面,本专利技术实施例提出一种软件组件管理方法,包括以下步骤:
2、响应于接收到软件组件,根据所述软件组件的参数信息生成所述软件组件的框架模型;
3、判断软件资产库中是否存在相同的框架模型;
4、响应于不存在相同的框架模型,判断所述软件组件的框架模型是否存在关联模型;
5、响应于存在所述关联模型,建立所述软件组件的框架模型与所述关联模型之间的连接并存储。
6、在一些实施例中,响应于接收到软件组件,根据所述软件组件的参数信息生成所述软件组件的框架模型,进一步包括:
7、获取框架模型模板,其中所述框架模型模板包括描述槽、复合软件组件槽、关联槽、实现槽、属性槽、服务槽、保障机制槽、约束条件槽、
8、将所述软件组件名称、类型、路径、功能说明、性能说明、执行环境说明填充到所述描述槽;
9、根据所述软件组件的类型填充所述复合软件组件槽;
10、根据所述软件组件的类属关系填充所述关联槽;
11、根据所述软件组件的编程语言、技术框架、代码路径、函数库、引用表、算法逻辑描述填充所述实现槽;
12、根据所述软件组件的输入值列表、返回值列表、参数配置列表、数据库表、异常列表填充所述属性槽;
13、根据所述软件组件的服务名称、通信协议、服务地址、服务接口以及服务功能描述填充所述服务槽;
14、根据所述软件组件的数据转换方法、事务处理机制、加密/解密算法、日志处理技术填充所述保障机制槽;
15、根据所述软件组件的多个约束条件表达式填充所述约束条件槽;
16、在所述第一动作槽中绑定创建并初始化所述软件组件所执行的动作;
17、在所述第二动作槽中绑定为所述软件组件添加下层软件组件所执行的动作;
18、在所述第三动作槽中绑定删除所述软件组件所属下层软件组件所执行的动作。
19、在一些实施例中,响应于不存在相同的框架模型,判断所述软件组件的框架模型是否存在关联模型,进一步包括:基于所述关联槽判断所述软件组件的框架模型是否存在关联模型;
20、所述方法还包括:响应于所述关联槽为空,确定所述软件组件的框架模型不存在关联模型;调用所述第一动作槽中绑定的动作将所述软件组件的框架模型设置为独立的根结点。
21、在一些实施例中,响应于存在所述关联模型,建立所述软件组件的框架模型与所述关联模型之间的连接,进一步包括:
22、响应于所述关联槽不为空,确定所述软件组件的框架模型存在关联模型;
23、根据所述关联槽在所述资产库中查找到关联模型;
24、调用所述关联模型中的所述第二动作槽绑定的动作为所述软件组件的框架模型与所述关联模型连接。
25、在一些实施例中,还包括:
26、响应于接收到查询请求,确定查询请求中的多个查询条件;
27、基于所述多个查询条件从所述软件资产库的多个作为根结点的框架模型开始检索;
28、计算每一个作为根结点的框架模型中每一个槽的描述与对应查询条件之间的语义相似度;
29、将同一个框架模型得到的多个语义相似度做加权平均得到最终相似度并从大到小排序,返回前n个候选模型;
30、基于前n个候选模型的实现槽记录的代码路径获取源代码并打包成软件组件以返回。
31、在一些实施例中,计算每一个作为根结点的框架模型中每一个槽的描述与对应查询条件之间的语义相似度,进一步包括:
32、利用余弦相似度、jaccard相似度、bm25算法或深度学习模型计算语义相似度。
33、在一些实施例中,基于前n个候选模型的实现槽记录的代码路径获取源代码并打包成软件组件以返回,进一步包括:
34、基于每一个所述候选模型的关联槽的语义相关性判断是否检索下一级模型;
35、响应于所述候选模型的关联槽的语义相关性大于阈值,继续向下层循环检索直至下层框架模型的关联槽的语义相关性小于阈值或已达到最后一层框架模型以得到多个框架模型集群;
36、根据每一个框架模型集群中每一个框架模型的实现槽记录的代码路径获取源代码并打包成软件组件以返回。
37、基于同一专利技术构思,根据本专利技术的另一个方面,本专利技术的实施例还提供了一种软件组件管理系统,包括:
38、生成模块,配置为响应于接收到软件组件,根据所述软件组件的参数信息生成所述软件组件的框架模型;
39、第一判断模块,配置为判断软件资产库中是否存在相同的框架模型;
40、第二判断模块,配置为响应于不存在相同的框架模型,判断所述软件组件的框架模型是否存在关联模型;
41、关联模块,配置为响应于存在所述关联模型,建立所述软件组件的框架模型与所述关联模型之间的连接并存储。
42、基于同一专利技术构思,根据本专利技术的另一个方面,本专利技术的实施例还提供了一种计算机设备,包括:
43、至少一个处理器;以及
44、存储器,所述存储器存储有可在所述处理器上运行的计算机程序,所述处理器执行所述程序时执行如上所述的任一种软件组件管理方法的步骤。
45、基于同一专利技术构思,根据本专利技术的另一个方面,本专利技术的实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时执行如上所述的任一种软件组件管理方法的步骤。
46、本专利技术具有以下有益技术效果之一:本专利技术提出的方案采用框架系统的概念,为软件资产库中软件组件,例如功能模块、业务构件、服务、工作流、代码模板、元数据等,建立相应的框架模型,以支撑软件组件在项目开发阶段能够被精准推荐,提高软件模块复用率,从而提高软件系统开发效率和质量。
本文档来自技高网...【技术保护点】
1.一种软件组件管理方法,其特征在于,包括以下步骤:
2.如权利要求1所述的方法,其特征在于,响应于接收到软件组件,根据所述软件组件的参数信息生成所述软件组件的框架模型,进一步包括:
3.如权利要求2所述的方法,其特征在于,响应于不存在相同的框架模型,判断所述软件组件的框架模型是否存在关联模型,进一步包括:基于所述关联槽判断所述软件组件的框架模型是否存在关联模型;
4.如权利要求3所述的方法,其特征在于,响应于存在所述关联模型,建立所述软件组件的框架模型与所述关联模型之间的连接,进一步包括:
5.如权利要求3所述的方法,其特征在于,还包括:
6.如权利要求5所述的方法,其特征在于,计算每一个作为根结点的框架模型中每一个槽的描述与对应查询条件之间的语义相似度,进一步包括:
7.如权利要求5所述的方法,其特征在于,基于所述前N个候选模型的实现槽记录的代码路径获取源代码并打包成软件组件以返回,进一步包括:
8.一种软件组件管理系统,其特征在于,包括:
9.一种计算机设备,包括:
...
【技术特征摘要】
1.一种软件组件管理方法,其特征在于,包括以下步骤:
2.如权利要求1所述的方法,其特征在于,响应于接收到软件组件,根据所述软件组件的参数信息生成所述软件组件的框架模型,进一步包括:
3.如权利要求2所述的方法,其特征在于,响应于不存在相同的框架模型,判断所述软件组件的框架模型是否存在关联模型,进一步包括:基于所述关联槽判断所述软件组件的框架模型是否存在关联模型;
4.如权利要求3所述的方法,其特征在于,响应于存在所述关联模型,建立所述软件组件的框架模型与所述关联模型之间的连接,进一步包括:
5.如权利要求3所述的方法,其...
【专利技术属性】
技术研发人员:张政馗,郑伟波,周祥国,孙立新,时凯旋,岳现国,
申请(专利权)人:浪潮通用软件有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。