CN113467759B - 一种构建软件架构模型的方法 - Google Patents

一种构建软件架构模型的方法 Download PDF

Info

Publication number
CN113467759B
CN113467759B CN202110725549.7A CN202110725549A CN113467759B CN 113467759 B CN113467759 B CN 113467759B CN 202110725549 A CN202110725549 A CN 202110725549A CN 113467759 B CN113467759 B CN 113467759B
Authority
CN
China
Prior art keywords
function
new
product
basic
acquiring
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.)
Active
Application number
CN202110725549.7A
Other languages
English (en)
Other versions
CN113467759A (zh
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.)
Beijing SunwayWorld Science and Technology Co Ltd
Original Assignee
Beijing SunwayWorld Science and Technology 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 Beijing SunwayWorld Science and Technology Co Ltd filed Critical Beijing SunwayWorld Science and Technology Co Ltd
Priority to CN202110725549.7A priority Critical patent/CN113467759B/zh
Publication of CN113467759A publication Critical patent/CN113467759A/zh
Application granted granted Critical
Publication of CN113467759B publication Critical patent/CN113467759B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/24Object-oriented
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0621Item configuration or customization

Abstract

本发明公开了一种构建软件架构模型的方法,包括:步骤1:基于基础技术以及通用基础功能,构建核心层;步骤2:构建产品层,并基于产品的业务要求,开发出标准化的产品原型;步骤3:构建项目层,并基于项目定制业务需求,开发出符合特定用户需求的定制化项目;步骤4:基于构建的核心层、产品层、项目层以及对应的开发结果,获得软件架构模型,改变了以往一条产品线只能满足特定用户需求的弊端,实现了利用现有基础功能构建软件架构模型的目的。

Description

一种构建软件架构模型的方法
技术领域
本发明涉及软件架构领域,特别涉及一种构建软件架构模型的方法。
背景技术
软件公司内部,通常会有多个产品线,每个产品线因业务、技术、团队等因素的差异化,可能会选择相同的技术架构,也可能会选择不同的技术架构。
当多个产品线采用同一技术架构研发时,通常的做法是:结合本公司实际情况,将所采用的技术进行集成、封装,提取出一套公用的解决方案,形成本公司的技术架构体系,提供到各个产品线使用,并根据各个产品的使用反馈情况不断升级完善自有技术架构体系。其中,用户、角色、组织机构、工作流引擎和消息通知等是技术架构体系中的必备基础功能。各产品线在采用此技术架构体系的基础上,根据自身产品业务需求,再行开发本产品标准化功能;同时用户、角色、组织机构等基础功能不一定完全适用于每个产品线,此时各产品线需要针对这些基础功能进行定制化开发。
当某一产品线的标准化产品,不能满足所有客户需求时,就需要根据客户需求对标准化产品进行定制化开发。定制化开发分为两种情况:一是调整标准化产品中的原有功能;二是增加新的功能。
鉴于以上情况,目前市面上还没有合适架构模型能够同时满足在核心层、产品层和项目层,以较小侵入性、高可维护性及高可复用性来解决不同层面定制化需求的问题。
发明内容
本发明提供一种构建软件架构模型的方法,用以根据用户提供的业务要求,由核心层提供生产需要的基础功能,产品层根据业务要求所需开发出符合特定用户需求的产品原型,在项目层中获得软件构架模型,由三个功能层所提供的开发结果开发出符合用户需求的定制化项目,且所制定的项目中生成的新功能和核心层中的基础功能可以重复使用,改变了以往一条产品线只能满足特定用户需求的弊端,实现了利用现有基础功能构建软件架构模型的目的。
本发明提供一种构建软件架构模型的方法包括:
步骤1:基于基础技术以及通用基础功能,构建核心层;
步骤2:构建产品层,并基于产品的业务要求,开发出标准化的产品原型;
步骤3:构建项目层,并基于项目定制业务需求,开发出符合特定用户需求的定制化项目;
步骤4:基于构建的核心层、产品层、项目层以及对应的开发结果,获得软件架构模型。
在一种可实现的方式中,
所述核心层包括:
基础框架、基础接口、功能存储单元;
其中,所述基础框架包括进行产品和项目研发的基础技术用法;
所述基础接口基于产品的输出形式,为所述产品匹配数据接口;
所述功能存储单元存储从不同的所述产品的输出目的所属类别中提取的可通用的基础功能并编辑对应的功能标码。
在一种可实现的方式中,
构建产品层,并基于产品的业务要求,开发出标准化的产品原型,包括:
判断所述核心层的功能是否满足所述业务要求;
若满足,继承所述核心层的基础技术以及通用基础功能;
否则,基于产品的业务要求,对所述核心层的功能进行定制化;
当定制化后的功能,满足所述业务要求后,获取所述产品层的技术构架,开发所述产品新的标准化功能需求,进而获得标准化的产品原型。
在一种可实现的方式中,
当定制化后的功能,满足所述业务要求后,获取所述产品层的技术构架,开发所述产品新的标准化功能需求,包括:
基于所述业务要求,获取所述产品的最终输出形式以及所述产品不同阶段的输出目的;
根据所述最终输出形式,确定基础接口,并匹配对应的数据接口,并反馈验证所述数据接口的验证输出形式;
当所述最终输出形式与验证输出形式一致时,判定匹配成功,并提取与所述基础功能的输出目的相同的产品阶段,并获取相同的产品阶段的对应基础功能的功能标码;
同时,判断是否存在未进行功能标码的产品阶段;
若存在,将对应产品阶段定义为新阶段,且设定对应的功能标码为零码,并将不同阶段的功能标码和零码依次连接,获取所述产品的第一生产标码;
否则,获取所述产品的第二生产标码,并获取所述第二生产标码对应的基础功能,并将对应的基础功能放置在技术构架内进行组合,获取新的标准化功能需求;
获取所述第一生产标码中的非零码所对应的基础功能,同时获取所述零码对应的新阶段;
基于所述新阶段的相邻两阶段的运行模式,判断所述新阶段的运行模式;
匹配与所述新阶段的运行模式相似的基础功能,并消除所述基础功能所包含的附加功能,定义为原始功能;
判断所述新阶段的输出目的,并基于所述输出目的确定所述新阶段的生产数据,添加到所述原始功能上;
确定所述生产数据的容量,调整所述原始功能的输入端的输入速率;
获取与所述新阶段相邻的前一阶段的第一运行时间,调整所述原始功能的总运行时间获取实验新功能;
运行实验新功能,检验所述实验新功能的输出结果;
同时获取预计检验时长和实际检验时长,获取两个时长之间的差值并进行衰减,获取所述实验新功能的修正时间,基于所述修正时间调整所述实验新功能的运行通道的宽度;
根据衰减结果获取检验过程中运行停顿时长高于标准时长的低效区域;
匹配与所述低效区域处理方式相同的基础功能,并添加到所述实验新功能对应的位置上,获取新功能;
最后将所述非零码所对应的基础功能以及新功能放置在所述技术框架内,获取新的标准化功能需求。
在一种可实现的方式中,
构建项目层,并基于项目定制业务需求,开发出符合特定用户需求的定制化项目,包括;
判断所述核心层、产品层的功能是否满足业务需求;
若是,根据业务需求进行相应的操作;
若不是,调整所述产品层生成的新标准化功能需求;
同时,提取所述产品层生成的新功能中多次应用的补充功能;
获取生成次数高于预设次数的补充功能;
检测项目层到核心层的反馈路径的传输时长,调整反馈路径宽度;
将所述补充功能作为基础功能反馈到所述核心层进行存储。
在一种可实现的方式中,
将所述补充功能作为基础功能反馈到所述核心层进行存储,包括:
获取所述新功能所对应的数据接口;
根据所述数据接口确定所述新功能的应用场景;
提取所述新功能的运行程序,绘制所述运行程序的树状流程图,提取所述树状流程图的主支流程,并获取所述主支流程对应的函数,反向追踪所述函数的参数;
提取所有与所述主支流程衔接的函数类型,并对所述新功能进行函数备注;
获取所述新功能程序生成编码集;
将所述编码集与所述新功能对应的存储位置内部的剩余功能程序编码集进行对比;
获取相似度最高的功能,定义为第一功能;
剔除所述新功能编码集和所述第一功能编码集的编码噪声;
剔除所述新功能编码集中的错误码;
同时将剔除后的新功能编码集和第一功能编码集输入到预设词法分析器中;
分别获取两个编码集对应的新词法节和第一词法节;
对比所述新词法节和所述第一词法节;
获取所述新词法节和所述第一词法节之间的相似段并提取其中最长相似段对应的程序;
调整所述程序,生成补充功能并将传输到所述核心层;
将生成次数高于预设次数的补充功能转换为基础功能;
根据所述函数备注将转换的基础功能存储在所述功能存储单元中对应的存储位置中。
在一种可实现的方式中,
基于构建的核心层、产品层、项目层以及对应的开发结果,获得软件架构模型,包括:
步骤41:基于所述项目层反馈的基础功能,对所述核心层现有的基础功能进行整理,完善所述核心层的基础功能;
步骤42:基于所述核心层中存储的基础功能,获取新功能传送到所述产品层;
步骤43:由所述项目层基于所述新功能与已知功能获取两者之间的基础功能,并反馈到所述核心层。
步骤44:根据业务需求,将所述核心层的基础功能和所述产品层生成的新功能进行组合,获得标准化的产品原型。
在一实施例中,在获取软件架构模型后,还包括:
获取测试信息,根据所述测试信息对所述软件架构模型进行性能测试;
在性能测试过程中,确定所述软件架构模型的访问控制策略的执行信息,根据所述执行信息确定所述软件架构模型的安全性能;
在性能测试过程中,确定所述软件架构模型的若干个运行进程,根据每一个所述运行进程确定对应的状态机,根据所述状态机确定所述软件架构模型内部的控制逻辑;
在性能测试过程中,对所述软件架构模型的若干个运行进程进行监测,获取所述若干个运行进程之间的通信交互过程;
计算所述控制逻辑与所述预设控制逻辑的第一匹配度及所述通信交互过程与预设通信交互过程的第二匹配度;
根据所述第一匹配度及所述第二匹配度确定所述软件架构模型的软件构建性能;
在确定所述软件架构模型的安全性能及软件构建性能均满足标准要求后,表示所述软件架构模型测试成功。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。
图1为本发明实施例提供的一种构建软件架构模型的方法构建核心层、产品层、项目层流程示意图;
图2为本发明实施例提供的一种构建软件架构模型的方法将补充功能作为基础功能反馈到核心层流程示意图;
图3为本发明实施例提供的一种构建软件架构模型的方法完善核心层、产品层、项目层流程示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
实施例1
本发明实施例提供一种构建软件架构模型的方法,如图1所示,包括:
步骤1:基于基础技术以及通用基础功能,构建核心层;
步骤2:构建产品层,并基于产品的业务要求,开发出标准化的产品原型;
步骤3:构建项目层,并基于项目定制业务需求,开发出符合特定用户需求的定制化项目;
步骤4:基于构建的核心层、产品层、项目层以及对应的开发结果,获得软件架构模型。
该实例中,基础功能表示各产品线中提取出的通用核心基础功能,包括:用户、角色、组织机构、工作流引擎和消息通知;
该实例中,核心层是本架构模型的基石;
该实例中,产品层在核心层基础之上;
该实例中,项目层在核心层和产品层基础之上。
上述设计方案的有益效果是:核心层提供业务要求所需的基础功能,产品层根据基础功能开发标准化的产品原型,项目层开发符合特定用户需求的定制化项目,由核心层、产品层、项目层,三个功能层根据业务要求分工合作,快速获得软件架构模型,这样一来,由于核心层中的基础功能可以重复使用,提高了构建软件构架模型的速度,产品层可根据核心层中提供的基础功能来实现业务要求所需的新功能,同时项目层可生成多条产品线,改变了以往一条产品线只能满足特定用户需求的弊端。
实施例2
基于实施例1的基础上,一种构建软件架构模型的方法,所述核心层包括:
基础框架、基础接口、功能存储单元;
其中,所述基础框架包括进行产品和项目研发的基础技术用法;
所述基础接口基于产品的输出形式,为所述产品匹配数据接口;
所述功能存储单元存储从不同的所述产品的输出目的所属类别中提取的可通用的基础功能并编辑对应的功能标码。
该实例中,基础框架包括进行产品和项目研发的基础技术用法,包括框架配置、鉴权、数据库操作、缓存、工具类、工作流引擎和检索引擎等的使用方式;
该实例中,基础接口配合本公司业务所制定通用的页面标准和接口标准,如单据的列表页面、详情页面、审核页面的页面标准及数据接口的请求标准,产品层和项目层通过继承的方式获取这些标准;
该实例中,基础功能与功能标码一一对应,利用功能标码可查找唯一基础功能;
该实例中,数据接口表示产品的不同输出形式,包括:图像形式、程序形式、声音形式、波形形式。
上述设计方案的有益效果是:将核心层的功能进行细化,确定核心层每一部分的作用,并为产品匹配数据接口,避免输出不满足用户需求的产品形式,提高智能化。
实施例3
基于实施例1步骤2的基础上,一种构建软件架构模型的方法,构建产品层,并基于产品的业务要求,开发出标准化的产品原型,包括:
判断所述核心层的功能是否满足所述业务要求;
若满足,继承所述核心层的基础技术以及通用基础功能;
否则,基于产品的业务要求,对所述核心层的功能进行定制化;
当定制化后的功能,满足所述业务要求后,获取所述产品层的技术构架,开发所述产品新的标准化功能需求,进而获得标准化的产品原型。
该实例中,定制化表示根据产品业务要求定制一条产品生产链。
上述设计方案的有益效果是:当核心层的功能满足产品的业务要求时,为了节约用户时间,同时避免浪费资源,产品层继承核心层的基础技术和通用功能获得标准化产品原型,若不满足,则产品层根据业务要求制定新的标准化功能需求,获得标准化产品原型。
实施例4
基于实施例3,一种构建软件架构模型的方法,当定制化后的功能,满足所述业务要求后,获取所述产品层的技术构架,开发所述产品新的标准化功能需求,包括:
基于所述业务要求,获取所述产品的最终输出形式以及所述产品不同阶段的输出目的;
根据所述最终输出形式,确定基础接口,并匹配对应的数据接口,并反馈验证所述数据接口的验证输出形式;
当所述最终输出形式与验证输出形式一致时,判定匹配成功,并提取与所述基础功能的输出目的相同的产品阶段,并获取相同的产品阶段的对应基础功能的功能标码;
同时,判断是否存在未进行功能标码的产品阶段;
若存在,将对应产品阶段定义为新阶段,且设定对应的功能标码为零码,并将不同阶段的功能标码和零码依次连接,获取所述产品的第一生产标码;
否则,获取所述产品的第二生产标码,并获取所述第二生产标码对应的基础功能,并将对应的基础功能放置在技术构架内进行组合,获取新的标准化功能需求;
获取所述第一生产标码中的非零码所对应的基础功能,同时获取所述零码对应的新阶段;
基于所述新阶段的相邻两阶段的运行模式,判断所述新阶段的运行模式;
匹配与所述新阶段的运行模式相似的基础功能,并消除所述基础功能所包含的附加功能,定义为原始功能;
判断所述新阶段的输出目的,并基于所述输出目的确定所述新阶段的生产数据,添加到所述原始功能上;
确定所述生产数据的容量,调整所述原始功能的输入端的输入速率;
获取与所述新阶段相邻的前一阶段的第一运行时间,调整所述原始功能的总运行时间获取实验新功能;
运行实验新功能,检验所述实验新功能的输出结果;
同时获取预计检验时长和实际检验时长,获取两个时长之间的差值并进行衰减,获取所述实验新功能的修正时间,基于所述修正时间调整所述实验新功能的运行通道的宽度;
根据衰减结果获取检验过程中运行停顿时长高于标准时长的低效区域;
匹配与所述低效区域处理方式相同的基础功能,并添加到所述实验新功能对应的位置上,获取新功能;
最后将所述非零码所对应的基础功能以及新功能放置在所述技术框架内,获取新的标准化功能需求。
该实例中,业务要求表示用户需求描述的是用户的目标,或用户要求系统必须能完成的任务;
该实例中,最终输出形式表示业务要求中最后一项中包含的产品输出形式,一般包括:图像输出、声音输出、信号输出、波形输出中的一种;
例如:业务要求最后一项显示:“输出相关图像”,此时输出形式为图像输出;
该实例中,基础接口与最终输出形式一一对应;
该实例中,根据欲生成的软件构架模型的最终输出形式将技术构架接入到目标最终输出形式的基础接口上;
该实例中,数据接口表示基础接口的多进制表达转换口,与欲生成的软件构架模型的生成系统可识别的表达方式有关;
例如,欲生成的软件构架模型的生成系统为计算机时,数据接口为二进制表达转换口;
该实例中,验证输出形式的过程为:获取数据接口的输出形式,同时获取最终输出形式,将两个输出形式进行比较,验证数据接口的输出形式与最终输出形式是否相同;
该实例中,功能标码表示基础功能的唯一标码,与基础功能一一对应;
例如,在核心层中,求和功能的代码为:123-321;
该实例中,零码表示新阶段的统一代码,所有新阶段的代码均为零码;
例如,在产品层中,获取的新阶段代码为:000-000;
该实例中,第一生产标码表示产品层根据基础功能构成的可实现业务要求的标码;
该实例中,第一生产标码与第二生产标码不同时出现;
该实例中,基础功能的功能标码中不含零码;
该实例中,新阶段的相邻两阶段表示与新阶段在位置上相邻的两个阶段;
该实例中,新阶段的相邻两阶段的运行模式表示与新阶段相邻的两阶段的运行速度、运行计算量、运行通道宽度、运行通道数量、运行函数类型;
该实例中,新阶段的运行模式的运行速度、运行计算量、运行通道宽度、运行通道数量、运行函数类型必须与相邻两阶段的运行速度、运行计算量、运行通道宽度、运行通道数量、运行函数类型之间无缝衔接;
该实例中,基于修正时间调整实验新功能的运行通道的宽度的方法:当修正时间大于0时,计算修正时间与输入速率的乘积,根据计算结果对运行通道拓宽,当修正时间小于0时,计算修正时间的绝对值与输入速率的乘积,根据计算结果的一半对运行通道进行收缩,当修正时间为0时,不调整运行通道;
该实例中,实验新功能表示还未成熟的新功能,仅用于检验能否实现业务要求;
该实例中,两个时长差值的衰减表示时长每经过一个波动周期;
该实例中,将非零码所对应的基础功能以及新功能放置在技术框架构成技术构架,开发产品新的标准化功能需求,进而获得标准化的产品原型。
上述设计方案的有益效果是:当核心层中的基础功能不能满足业务需求时,根据基础功能生成新功能进行相应的操作,在生成新功能的过程中,根据新功能相邻的基础功能的实际运行情况不断完善新功能,提高新功能与基础功能的衔接度,同时提高新功能的运行稳定性,契合业务需求,最终获得新的标准化功能需求。
实施例5
基于实施例1步骤3,一种构建软件架构模型的方法,构建项目层,并基于项目定制业务需求,开发出符合特定用户需求的定制化项目,包括;
判断所述核心层、产品层的功能是否满足业务需求;
若是,根据业务需求进行相应的操作;
若不是,调整所述产品层生成的新标准化功能需求;
同时,提取所述产品层生成的新功能中多次应用的补充功能;
获取生成次数高于预设次数的补充功能;
检测项目层到核心层的反馈路径的传输时长,调整反馈路径宽度;
将所述补充功能作为基础功能反馈到所述核心层进行存储。
该实例中,调整反馈路径宽度包括拓宽反馈路径和收缩反馈路径两种;
该实例中,反馈路径宽度表示项目层向核心层反馈补充功能的路径的宽窄,一般情况下,反馈路径的默认宽度与核心层中的基础功能的平均宽度相等,且根据核心层中的基础功能的平均宽度不断调整;
该实例中,当传输时长在标准传输时长的百分之十范围内,为保证反馈路径的稳定性,这种情况下不调整反馈路径宽度。
上述设计方案的有益效果是:因用户的需求在不断提高,所以将已生成的新功能与剩余功能进行对比,获得补充功能并反馈到核心层进行存储,不断扩展基础功能的涉猎范围。
实施例6
基于实施例5,一种构建软件架构模型的方法,将所述补充功能作为基础功能反馈到所述核心层进行存储,如图2所示,包括:
获取所述新功能所对应的数据接口;
根据所述数据接口确定所述新功能的应用场景;
提取所述新功能的运行程序,绘制所述运行程序的树状流程图,提取所述树状流程图的主支流程,并获取所述主支流程对应的函数,反向追踪所述函数的参数;
提取所有与所述主支流程衔接的函数类型,并对所述新功能进行函数备注;
获取所述新功能程序生成编码集;
将所述编码集与所述新功能对应的存储位置内部的剩余功能程序编码集进行对比;
获取相似度最高的功能,定义为第一功能;
剔除所述新功能编码集和所述第一功能编码集的编码噪声;
剔除所述新功能编码集中的错误码;
同时将剔除后的新功能编码集和第一功能编码集输入到预设词法分析器中;
分别获取两个编码集对应的新词法节和第一词法节;
对比所述新词法节和所述第一词法节;
获取所述新词法节和所述第一词法节之间的相似段并提取其中最长相似段对应的程序;
调整所述程序,生成补充功能并将传输到所述核心层;
将生成次数高于预设次数的补充功能转换为基础功能;
根据所述函数备注将转换的基础功能存储在所述功能存储单元中对应的存储位置中。
该实例中,应用场景表示可以运行新功能的系统的类型;
该实例中,运行程序的树状流程图表示新功能中各个阶段的运行程序对应的分支组成的包含主支流程和分支流程组成的形似树状的流程图;
该实例中,新功能函数备注的内容为:所有与所述主支流程衔接的函数类型;
该实例中,编码集表示新功能所有的逻辑组合;
该实例中,新词法节表示新功能的逻辑表达,第一词法节表示第一功能的逻辑表达;
该实例中,新功能编码集中的错误码表示逻辑不通顺的编码。
上述设计方案的有益效果是:为了完善核心层的基础功能,需要在新功能与剩余中提取补充功能,为了获取优质的补充功能,并确定补充功能的应用场景,获得新功能的数据接口,以及新功能中主支流程函数,对补充功能的应用场景进行限定,避免在后续使用过程中发生意外,对新功能和第一功能的词法节进行详细比较,提取其中最长相似段对应的程序作为补充功能,用以完善基础功能,扩展基础功能的,减少后续工作的步骤。
实施例7
基于实施例6,一种构建软件架构模型的方法,其特征在于:调整所述程序,生成补充功能的过程中,还包括:
获取所述新功能的所有分支流程;
在所述分支流程中选取一条分支流程,作为第一待处理分支流程,获取所述待处理分支流程的编码集,并将所述编码集分成若干个统计段;
对所述若干个统计段分别进行统计,计算出所述编码集的数据量;
对所述编码集进行归一化处理,根据所述编码集在归一化处理前的数据量计算所述编码集在归一化处理后的数据量;
在对所述第一待处理分支流程处理完成后,选取第二待处理分支流程,重复上述步骤,直至计算出每一条待处理分支流程的编码集在归一化处理后的数据量,进行求和处理,计算出新功能的所有分支流程的编码集在归一化处理后的总的数据量;
提取所述新功能存储位置中数据量值与总的数据量相同的第一功能;
确定所述新功能与所述第一功能的差异度,在确定所述差异度小于预设差异度时,生成补充功能。
该实例中,统计段的长度由对应的分支流程的长度决定;
该实例中,管理员可根据需求调节预设相似度;
该实例中,当新功能与第一功能的差异度为1,预设差异度为2,则将新功能直接转换为补充功能。
上述设计方案的有益效果是:为了精确获取补充功能,对新功能的每一分支流程的编码集进行归一化计算,获取每一分支流程集在归一化处理后的数据量,可以匹配到最相似的第一功能,再确定所述新功能与所述第一功能的差异度,在确定所述差异度小于预设差异度时,生成补充功能,通过不断生成补充功能来扩展基础功能的覆盖面,扩大基础功能的使用范围,不仅可以为用户提供更多的选择,还方便生成更多的新功能,提高了产品线的利用率,实现了一线多用的生产方式,节约了用户的等待时长。
实施例8
基于实施例5,一种构建软件架构模型的方法,其特征在于:检测项目层到核心层的反馈路径的传输时长,调整反馈路径宽度的过程,包括:
计算所述项目层向所述核心层传输补充功能的时长;
判断所述项目层向所述核心层传输所述补充功能的时长是否高于预设时长;
若是,获取超出的时长,拓宽反馈路径到指定宽度;
拓宽反馈路径后再次向所述核心层传输所述补充功能并覆盖上一传输结果。
该实例中,拓宽反馈路径后再次传输转换后的基础功能并覆盖上一传输结果的目的是避免由于反馈路径狭窄导致传输过程中转换后的基础功能丢失数据或者数据压缩严重,故拓宽反馈路径后二次传输并覆盖上一传输结果。
上述设计方案的有益效果是:由项目层向核心层反馈转换后的基础功能时,为了保证核心层所接收到的结果与项目层所传输的转换后的基础功能相同,计算传输时长判断反馈路径的宽度能否满足传输需求,当反馈路径过窄时,进行拓宽工作并再次传输转换后的基础功能,覆盖上一传输结果以保证核心层接收到的传输结果与项目层传输的一致。
实施例9
基于实施例1步骤4,一种构建软件架构模型的方法,基于构建的核心层、产品层、项目层以及对应的开发结果,获得软件架构模型,如图3所示,包括:
步骤41:基于所述项目层反馈的基础功能,对所述核心层现有的基础功能进行整理,完善所述核心层的基础功能;
步骤42:基于所述核心层中存储的基础功能,获取新功能传送到所述产品层;
步骤43:由所述项目层基于所述新功能与已知功能获取两者之间的基础功能,并反馈到所述核心层。
步骤44:根据业务需求,将所述核心层的基础功能和所述产品层生成的新功能进行组合,获得标准化的产品原型。
上述设计方案的有益效果是:完善核心层、产品层、项目层之间的功能的衔接,核心层、产品层、项目层根据业务要求相互配合来获得标准化的产品原型。
在一实施例中,在获取软件架构模型后,还包括:
获取测试信息,根据所述测试信息对所述软件架构模型进行性能测试;
在性能测试过程中,确定所述软件架构模型的访问控制策略的执行信息,根据所述执行信息确定所述软件架构模型的安全性能;
在性能测试过程中,确定所述软件架构模型的若干个运行进程,根据每一个所述运行进程确定对应的状态机,根据所述状态机确定所述软件架构模型内部的控制逻辑;
在性能测试过程中,对所述软件架构模型的若干个运行进程进行监测,获取所述若干个运行进程之间的通信交互过程;
计算所述控制逻辑与所述预设控制逻辑的第一匹配度及所述通信交互过程与预设通信交互过程的第二匹配度;
根据所述第一匹配度及所述第二匹配度确定所述软件架构模型的软件构建性能;
在确定所述软件架构模型的安全性能及软件构建性能均满足标准要求后,表示所述软件架构模型测试成功。
上述技术方案的工作原理:在获取软件架构模型后,对获取的软件架构模型进行性能测试,确定软件架构模型的性能,进而判断是否满足标准要求,进而确定所述软件架构模型是否构建成功,具体步骤为:获取测试信息,根据所述测试信息对所述软件架构模型进行性能测试;在性能测试过程中,确定所述软件架构模型的访问控制策略的执行信息,根据所述执行信息确定所述软件架构模型的安全性能;输入测试信息,示例的,该测试信息为属于A类信息,软件架构模型可以实现的为B类信息,那么此时软件架构模型的执行信息应该为不执行。示例的,该测试信息中包括敏感数据或者病毒数据,那么软件架构模型在对所述测试信息进行识别后,执行信息应该为不执行。进而准确确定软件架构模型的安全性能。在性能测试过程中,确定所述软件架构模型的若干个运行进程,根据每一个所述运行进程确定对应的状态机,根据所述状态机确定所述软件架构模型内部的控制逻辑;状态机用于确定状态结点内容,包括初始状态、中间状态、转移状态等,进而确定软件架构模型内部的控制逻辑。在性能测试过程中,对所述软件架构模型的若干个运行进程进行监测,获取所述若干个运行进程之间的通信交互过程;计算所述控制逻辑与所述预设控制逻辑的第一匹配度及所述通信交互过程与预设通信交互过程的第二匹配度;预设控制逻辑及通信交互过程基于人工在理想状态下确定的。根据所述第一匹配度及所述第二匹配度确定所述软件架构模型的软件构建性能;示例的,可以将第一匹配度与预设匹配度做比较,将第二匹配度与预设第二匹配度做比较,进而根据两者的比较结果确定软件构建性能,在确定所述软件架构模型的安全性能及软件构建性能均满足标准要求后,表示所述软件架构模型测试成功。在确定所述软件架构模型的安全性能及软件构建性能没有满足标准要求后,对软件架构模型的模型参数进行调整,保证软件架构模型的准确性。
上述技术方案的有益效果:在软件架构模型构建完成后,基于安全性能及软件构建性能两方面进行全面的测试,准确判断构建的软件架构模型是否满足标准要求,有利于保证后续在使用软件架构模型时提供的主体框架代码的准确性,开发出符合用户需求的定制化项目,缩短开发时间,提高用户体验。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (7)

1.一种构建软件架构模型的方法,其特征在于,包括:
步骤1:基于基础技术以及通用基础功能,构建核心层;
步骤2:构建产品层,并基于产品的业务要求,开发出标准化的产品原型;
步骤3:构建项目层,并基于项目定制业务需求,开发出符合特定用户需求的定制化项目;
步骤4:基于构建的核心层、产品层、项目层以及对应的开发结果,获得软件架构模型;
步骤3,构建项目层,并基于项目定制业务需求,开发出符合特定用户需求的定制化项目,包括;
判断所述核心层、产品层的功能是否满足业务需求;
若是,根据业务需求进行相应的操作;
若不是,调整所述产品层生成的新标准化功能需求;
同时,提取所述产品层生成的新功能中多次应用的补充功能;
获取生成次数高于预设次数的补充功能;
检测项目层到核心层的反馈路径的传输时长,调整反馈路径宽度;
将所述补充功能作为基础功能反馈到所述核心层进行存储。
2.根据权利要求1所述的一种构建软件架构模型的方法,其特征在于:在步骤1中,所述核心层包括:
基础框架、基础接口、功能存储单元;
其中,所述基础框架包括进行产品和项目研发的基础技术用法;
所述基础接口基于产品的输出形式,为所述产品匹配数据接口;
所述功能存储单元存储从不同的所述产品的输出目的所属类别中提取的可通用的基础功能并编辑对应的功能标码。
3.根据权利要求1所述的一种构建软件架构模型的方法,其特征在于:步骤2,构建产品层,并基于产品的业务要求,开发出标准化的产品原型,包括:
判断所述核心层的功能是否满足所述业务要求;
若满足,继承所述核心层的基础技术以及通用基础功能;
否则,基于产品的业务要求,对所述核心层的功能进行定制化;
当定制化后的功能,满足所述业务要求后,获取所述产品层的技术构架,开发所述产品新的标准化功能需求,进而获得标准化的产品原型。
4.根据权利要求3所述的一种构建软件架构模型的方法,其特征在于:当定制化后的功能,满足所述业务要求后,获取所述产品层的技术构架,开发所述产品新的标准化功能需求,包括:
基于所述业务要求,获取所述产品的最终输出形式以及所述产品不同阶段的输出目的;
根据所述最终输出形式,确定基础接口,并匹配对应的数据接口,并反馈验证所述数据接口的验证输出形式;
当所述最终输出形式与验证输出形式一致时,判定匹配成功,并提取与所述基础功能的输出目的相同的产品阶段,并获取相同的产品阶段的对应基础功能的功能标码;
同时,判断是否存在未进行功能标码的产品阶段;
若存在,将对应产品阶段定义为新阶段,且设定对应的功能标码为零码,并将不同阶段的功能标码和零码依次连接,获取所述产品的第一生产标码;
否则,获取所述产品的第二生产标码,并获取所述第二生产标码对应的基础功能,并将对应的基础功能放置在技术构架内进行组合,获取新的标准化功能需求;
获取所述第一生产标码中的非零码所对应的基础功能,同时获取所述零码对应的新阶段;
基于所述新阶段的相邻两阶段的运行模式,判断所述新阶段的运行模式;
匹配与所述新阶段的运行模式相似的基础功能,并消除所述基础功能所包含的附加功能,定义为原始功能;
判断所述新阶段的输出目的,并基于所述输出目的确定所述新阶段的生产数据,添加到所述原始功能上;
确定所述生产数据的容量,调整所述原始功能的输入端的输入速率;
获取与所述新阶段相邻的前一阶段的第一运行时间,调整所述原始功能的总运行时间获取实验新功能;
运行实验新功能,检验所述实验新功能的输出结果;
同时获取预计检验时长和实际检验时长,获取两个时长之间的差值并进行衰减,获取所述实验新功能的修正时间,基于所述修正时间调整所述实验新功能的运行通道的宽度;
根据衰减结果获取检验过程中运行停顿时长高于标准时长的低效区域;
匹配与所述低效区域处理方式相同的基础功能,并添加到所述实验新功能对应的位置上,获取新功能;
最后将所述非零码所对应的基础功能以及新功能放置在所述技术框架内,获取新的标准化功能需求。
5.根据权利要求1所述的一种构建软件架构模型的方法,其特征在于:将所述补充功能作为基础功能反馈到所述核心层进行存储,包括:
获取所述新功能所对应的数据接口;
根据所述数据接口确定所述新功能的应用场景;
提取所述新功能的运行程序,绘制所述运行程序的树状流程图,提取所述树状流程图的主支流程,并获取所述主支流程对应的函数,反向追踪所述函数的参数;
提取所有与所述主支流程衔接的函数类型,并对所述新功能进行函数备注;
获取所述新功能的运行程序生成编码集;
将所述编码集与所述新功能对应的存储位置内部的剩余功能的运行程序的编码集进行对比;
获取相似度最高的功能,定义为第一功能;
剔除所述新功能的编码集和所述第一功能的编码集的编码噪声;
剔除所述新功能的编码集中的错误码;
同时将剔除后的新功能的编码集和第一功能的编码集输入到预设词法分析器中;
分别获取两个编码集对应的新词法节和第一词法节;
对比所述新词法节和所述第一词法节;
获取所述新词法节和所述第一词法节之间的相似段并提取其中最长相似段对应的运行程序;
调整所述对应的运行程序,生成补充功能并将传输到所述核心层;
将生成次数高于预设次数的补充功能转换为基础功能;
根据所述函数备注将转换的基础功能存储在所述功能存储单元中对应的存储位置中。
6.根据权利要求1所述的一种构建软件架构模型的方法,其特征在于:步骤4:基于构建的核心层、产品层、项目层以及对应的开发结果,获得软件架构模型,包括:
步骤41:基于所述项目层反馈的基础功能,对所述核心层现有的基础功能进行整理,完善所述核心层的基础功能;
步骤42:基于所述核心层中存储的基础功能,获取新功能传送到所述产品层;
步骤43:由所述项目层基于所述新功能与已知功能获取两者之间的基础功能,并反馈到所述核心层;
步骤44:根据业务需求,将所述核心层的基础功能和所述产品层生成的新功能进行组合,获得标准化的产品原型。
7.根据权利要求1所述的一种构建软件架构模型的方法,其特征在于:在获取软件架构模型后,还包括:
获取测试信息,根据所述测试信息对所述软件架构模型进行性能测试;
在性能测试过程中,确定所述软件架构模型的访问控制策略的执行信息,根据所述执行信息确定所述软件架构模型的安全性能;
在性能测试过程中,确定所述软件架构模型的若干个运行进程,根据每一个所述运行进程确定对应的状态机,根据所述状态机确定所述软件架构模型内部的控制逻辑;
在性能测试过程中,对所述软件架构模型的若干个运行进程进行监测,获取所述若干个运行进程之间的通信交互过程;
计算所述控制逻辑与预设控制逻辑的第一匹配度及所述通信交互过程与预设通信交互过程的第二匹配度;
根据所述第一匹配度及所述第二匹配度确定所述软件架构模型的软件构建性能;
在确定所述软件架构模型的安全性能及软件构建性能均满足标准要求后,表示所述软件架构模型测试成功。
CN202110725549.7A 2021-06-29 2021-06-29 一种构建软件架构模型的方法 Active CN113467759B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110725549.7A CN113467759B (zh) 2021-06-29 2021-06-29 一种构建软件架构模型的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110725549.7A CN113467759B (zh) 2021-06-29 2021-06-29 一种构建软件架构模型的方法

Publications (2)

Publication Number Publication Date
CN113467759A CN113467759A (zh) 2021-10-01
CN113467759B true CN113467759B (zh) 2022-02-22

Family

ID=77873864

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110725549.7A Active CN113467759B (zh) 2021-06-29 2021-06-29 一种构建软件架构模型的方法

Country Status (1)

Country Link
CN (1) CN113467759B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101004680A (zh) * 2006-11-23 2007-07-25 福建顶点软件股份有限公司 一种以直接业务对象模型定义为核心的灵活快捷的软件开发方法及支持系统
CN102473097A (zh) * 2010-01-13 2012-05-23 塔塔咨询服务有限公司 利用模型驱动技术开发可配置可扩展的业务应用产品线的高效计算系统
CN112463147A (zh) * 2020-11-26 2021-03-09 杭州览众数据科技有限公司 一种针对通用化模型客制化需求开发框架

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9058177B2 (en) * 2004-02-12 2015-06-16 Raju Venkata Chiluvuri Real software components for achieving real component-based design
US7451432B2 (en) * 2004-10-01 2008-11-11 Microsoft Corporation Transformation of componentized and extensible workflow to a declarative format
CN101183261B (zh) * 2006-10-20 2011-05-18 洛克威尔自动控制技术股份有限公司 用于离散制造的标准mes接口
US8977693B2 (en) * 2010-04-27 2015-03-10 Mindware, Inc. Browser based application development framework
CN105302568A (zh) * 2015-11-13 2016-02-03 山东中创软件工程股份有限公司 建立Web开发框架的方法及Web开发框架
CN109308582A (zh) * 2018-09-25 2019-02-05 中国兵器装备集团自动化研究所 一种基于组件化与服务化的制造执行系统架构
CN112015402A (zh) * 2020-07-14 2020-12-01 北京淇瑀信息科技有限公司 业务场景快速建立方法、装置和电子设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101004680A (zh) * 2006-11-23 2007-07-25 福建顶点软件股份有限公司 一种以直接业务对象模型定义为核心的灵活快捷的软件开发方法及支持系统
CN102473097A (zh) * 2010-01-13 2012-05-23 塔塔咨询服务有限公司 利用模型驱动技术开发可配置可扩展的业务应用产品线的高效计算系统
CN112463147A (zh) * 2020-11-26 2021-03-09 杭州览众数据科技有限公司 一种针对通用化模型客制化需求开发框架

Also Published As

Publication number Publication date
CN113467759A (zh) 2021-10-01

Similar Documents

Publication Publication Date Title
CN104391934B (zh) 数据校验方法和装置
CN101849399B (zh) 用于基于规则的内容过滤的系统和方法
US8832579B2 (en) System for creation and management of industrial automation and information solutions and services
US9298452B2 (en) Code quality improvement
CN102073640B (zh) Sql语句的检测方法、系统及服务器
US20080294587A1 (en) System and method for rule set validation
CN109857630B (zh) 代码检测方法、系统及设备
US20060225026A1 (en) User-defined type consistency checker
CN104991955A (zh) 一种自动构建模板库的方法及系统
US20200005089A1 (en) System and method for enrichment of ocr-extracted data
CN111523854B (zh) 涉及自动预结算的基于bim与数据库的自动套价系统
CN111897528B (zh) 一种面向企业在线教育的低代码平台
CN107688593A (zh) 脚本文件生成方法和装置
CN109361628A (zh) 报文组装方法、装置、计算机设备和存储介质
CN107133043A (zh) 基于国产CPU和操作系统的web工程打包方法及装置
CN111104214A (zh) 一种工作流应用方法及装置
CN113467759B (zh) 一种构建软件架构模型的方法
CN113778864A (zh) 一种测试用例的生成方法和装置、电子设备和存储介质
CN113312258A (zh) 一种接口测试方法、装置、设备及存储介质
CN111932076A (zh) 一种规则配置和发布方法、装置及计算设备
CN114676229B (zh) 一种技改大修工程档案管理系统及管理方法
CN107291435A (zh) 一种不确定性环境下混成aadl模型量化分析方法
CN116755662B (zh) 一种应用开发安全需求的生成方法及系统
CN115618377B (zh) 一种数据保密处理方法、系统及云平台
CN117008890B (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
GR01 Patent grant
GR01 Patent grant