技术领域
本发明属于软件复用技术领域,特别是面向复杂业务流程的可复用组件挖掘方法,分类号为G06K。
背景技术
作为智能制造的承载,工业管理软件已深度融入工业设计及制造流程,成为制造业的信息化核心。随着市场的增长,工业管理软件的体系结构越来越复杂,质量要求日渐提高,如何快速高效地进行工业管理软件开发成为目前工业管理软件开发的难点。大多数工业管理软件在复杂业务场景中存在大量相同的事务处理过程,为了加快软件开发效率,基于组件的软件开发成为目前的主流方式之一。目前存在的可复用组件挖掘方法主要是从面向对象的API中通过使用频率进行挖掘,在工业管理软件领域实用性不强。针对工业管理软件系统的特点,面向业务流程进行流程相似性分析,从业务流中自动挖掘相似子流程集合作为该软件的一个组件模块,可以在保证组件质量的前提下大大提高构建组件的速度,从而更好地利用软件复用技术进行工业管理软件开发。
发明内容
本发明解决现有技术中工业软件由于业务场景复杂,导致的开发速度慢,效率低的问题。
本发明技术方案为,一种面向复杂业务流程的可复用组件挖掘方法,包括以下步骤:
S1、输入系统的业务流程图集,通过预处理将业务流程图集转换为以符号表示的图模型集合;
S2、通过图模型集合挖掘结构相似的频繁子流程,所有结构相似的频繁子流程
S3、计算集合
S4、对所有组件备选集合
S5、根据可行性判断组件备选集合
进一步地,所述步骤S1包括:
S11、将业务流程图集中各流程图节点转换为三元组
S12、将流程图连线转换为四元组
S13、结合S11和S12所得结果,将业务流程图转换为符号表示的图模型G=(N,E),其中
进一步地,所述步骤S2包括:
S21、统计相同功能的边和节点出现的频率,根据预先设定的最小支持度
S22、对上述图模型
S23、选取频次最高的标记,该标记对应的边和节点组成最大频繁子流程
S24、按照步骤S23的方法挖掘完依次挖掘第二高的频次的标记,再是第三高频次 的标记,直到挖掘完所有频繁子流程
进一步地,所述步骤S23包括:
S231、最大频繁子流程
S232、如果不满足最小
S233、如果满足最小
最右路扩展的方法为:给定图G和G的
S234、判断新的频繁子流程是否满足最小支持度
进一步地,所述步骤S3包括:
S31、计算两个频繁子流程的节点语义相似度;
S32、根据频繁子流程节点语义相似度,加入层级影响因子,计算频繁子流程的行为相似度;
S33、采用层次聚类算法对频繁子流程进行聚类,形成组件备选集合
进一步地,所述步骤S31包括:
S311、使用Word2Vec训练模型,将节点
S312、设定节点语义中名词的权重
S313、采用S311和S312的方法将两个频繁子流程中所有节点两两计算语义相似度。
进一步地,所述步骤S32包括:
S321、计算频繁子流程各层的层级影响因子
S322、
S323、综合考虑层级相似度
进一步地,所述步骤S33包括:
S331、基于频繁子流程行为相似度计算聚类簇
S332、每个频繁子流程看作一个初始聚类簇;
S333、找出距离最近的两个聚类簇进行合并,该过程不断重复,直到所有频繁子流程成为一个聚类簇;
S334、记录聚类的过程中每一个层次的聚类簇划分结果,形成组件备选集合
进一步地,所述步骤4的具体方法为:
S41、计算组件备选集合的簇内相似度
其中,
S42、统计组件备选集合
S43、统计组件备选集合
S44、设
其中:加权子流程个数相似数
S45、考虑簇内相似度以及重合率,计算组件备选集合作为组件的可行性:
进一步地,所述步骤S5包括:
S51、设定组件可行性指标,判断组件备选集合
S52、若大于等于可行性指标则输出备选集合,构建可复用组件;
S53、若小于可行性指标则放弃构建组件。
有益效果
工业管理软件系统在各个业务场景中存在大量相同的事务处理过程,该发明面向业务流程进行流程相似性分析,可以从业务流中挖掘相似子流程集合作为该软件的一个组件模块,在保证组件质量的前提下大大提高构建组件的速度;
该发明方法只需要输入系统的业务流程图,便可自动挖掘出基于该系统的可复用组件,无需其他配置,优化工业管理软件开发周期,降低软件开发难度,为后续的软件维护成本降低提供有力支持;
通过企业实际软件流程图数据进行具体实施,该发明方法自动挖掘可复用组件,从而能够更好地利用软件复用技术进行软件开发,为提高工业管理软件开发效率和降低工业管理软件开发成本提供支持。
本发明能够对工业管理软件中业务流程图集进行解析,从复杂业务流中快速挖掘复用较高的子流程作为可复用组件,大大提高构建组件的速度,从而更好地利用软件复用进行软件开发。
附图说明
图1为本发明的方案流程图。
图2为本发明S1业务流程图转换为图模型示例。
图3为本发明S2步骤流程图。
图4为本发明S3步骤流程图。
图5为本发明最右路径扩展方法示意图。
具体实施方式
为便于本领域技术人员理解本发明的技术内容,下面结合附图对本发明内容进一步阐释。
如图1所示为本发明的方案流程图,本发明的一种面向复杂业务流程的可复用组件挖掘方法,包括:
S1、基于JavaScript构建前端流程图绘图功能,在前端页面输入某工业管理软件系统的业务流程图集,获取Json格式数据集,并保存文件为flowchart.csv,通过流程图预处理模块将业务流程图转换为以符号表示的有向图模型数据集,如图2所示。
流程图预处理模块具体过程为:
S11、读入文件flowchart.csv,基于Python语言解析Json格式数据。新建类
表1
S12、新建类
表2
S13、结合S11和S12所得结果,新建类
S2、基于频繁子流程算法gSpan在有向图模型数据集中挖掘结构相似的子流程,记 为集合
频繁子流程算法gSpan具体步骤如图3所示,为:
S21、遍历
S22、新建DFSEdge类,对上述的图
S23、将频次最高的边组成一个集合
S24、集合
进一步地,所述步骤S24包括:
S241、判断频繁子流程是否满足最小
S244、如果不是最小
S242、如果是最小
S243、判断新频繁子流程是否满足最小支持度
S3、计算结构相似频繁子流程集合
步骤3具体过程如图4所示,为:
S31、根据频繁子流程节点中
计算节点的语义相似度具体步骤如下:
311、在程序中导入python的
S312、遍历频繁子流程集合中所有流程图的节点,将
S313、使用循环语句对
S32、根据子流程中节点语义相似度
计算子流程的行为相似度具体步骤如下:
S321、将频繁子流程图模型中入度为0的节点所处层记为0层,0层节点的子节点所 处层记为1层,以此类推。在S313步骤的广度优先搜索中,同时计算频繁子流程的图模型深 度,记为
S322、在S313步骤的广度优先搜索中,统计
S323、综合考虑层级相似度
S33、采用层次聚类算法对每个频繁子流程集合
层级聚类具体步骤如下:
S331、根据层次聚类Complete-Link定义,基于两两频繁子流程的行为相似度计算 聚类簇
S332、将频繁子流程集合的每个频繁子流程看作一个初始聚类簇
S333、重复以下过程,直到所有频繁子流程成为一个聚类簇:找出距离最近的两个 聚类簇
S334、遍历结果矩阵
S4、对所有组件备选集合
步骤4具体过程为:
S41、根据
S42、统计组件备选集合
S43、统计组件备选集合
S44、设
其中:
S45、综合考虑簇内相似度以及重合率,按照以下公式计算备选集合
步骤S5包括:
S51、设定组件可行性指标,判断组件备选集合
S52、若大于等于可行性指标则输出备选集合,构建可复用组件;
S53、若小于可行性指标则放弃构建组件。
机译: 在面向服务的体系结构域中将业务流程模型转换为组件模型
机译: 基于面向对象的人工智能监测和预测单个组件和复杂技术系统状态的方法
机译: 使用面向组件的故障树对复杂系统进行安全性分析