CN114625340B - 基于需求分析的商用软件研发方法、装置、设备及介质 - Google Patents
基于需求分析的商用软件研发方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN114625340B CN114625340B CN202210508660.5A CN202210508660A CN114625340B CN 114625340 B CN114625340 B CN 114625340B CN 202210508660 A CN202210508660 A CN 202210508660A CN 114625340 B CN114625340 B CN 114625340B
- Authority
- CN
- China
- Prior art keywords
- dependency
- demand
- entity
- prediction
- model
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/10—Requirements analysis; Specification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及智能决策技术领域,提出一种基于需求分析的商用软件研发方法包括:获取客户发送的需求报告,对所述需求报告进行实体识别,得到实体集合;根据预设的排列策略,将所述实体集合中的各个实体进行分层链式排布,得到系统进程关系链;利用预训练的依赖关系预测模型对所述系统进程关系链进行依赖关系预测,得到必要依赖进程及可添加依赖进程,并根据所述必要依赖进程及所述可添加依赖进程对所述需求报告进行风险性评估,得到所述需求报告的风险分数;当所述风险分数小于预设的安全阈值时,将所述需求报告发送至研发部门等待软件研发。本发明可以对需求报告进行风险评估,来保证软件正常开发。
Description
技术领域
本发明涉及智能决策技术领域,特别涉及一种基于需求分析的商用软件研发方法、装置。
背景技术
随着科技的发展,软件应用成为人们生活中不可缺少的部分,目前,软件开发行业中存在二分之一的商用软件在交付客户之前被取消,其中,取消开发的百分之八十的是因为商用软件双方角色不同、交流角度不同,需求分析阶段过于仓促,导致出现软件开发功能缺失或增多、开发经费超标等情况。因此,软件需求分析阶段为软件开发的基石阶段。如何对客户的需求进行评估,得到软件开发风险,进而对软件开发进行把控,成为目前亟待解决的问题。
发明内容
本发明实施方式的目的在于提供一种基于需求分析的商用软件研发方法、装置,其目的在于通过对需求报告进行风险评估,来保证软件正常开发。
为解决上述技术问题,本发明的实施方式提供了一种基于需求分析的商用软件研发方法,所述方法包括:
获取客户发送的需求报告,对所述需求报告进行实体识别,得到实体集合;
根据预设的排列策略,将所述实体集合中的各个实体进行分层链式排布,得到系统进程关系链;
利用预训练的依赖关系预测模型对所述系统进程关系链进行依赖关系预测,得到必要依赖进程及可添加依赖进程,并根据所述必要依赖进程及所述可添加依赖进程对所述需求报告进行风险性评估,得到所述需求报告的风险分数;
当所述风险分数大于或等于预设的安全阈值时,发出需要修改需求报告的提示信息;
当所述风险分数小于预设的安全阈值时,将所述需求报告发送至研发部门等待软件研发。
可选的,所述利用预训练的依赖关系预测模型对所述系统进程关系链进行依赖关系预测,得到必要依赖进程及可添加依赖进程,包括:
利用预训练的依赖关系预测模型对所述系统进程关系链进行特征提取操作,得到功能依赖特征序列及业务关联特征序列;
分别对所述功能依赖特征序列及业务关联特征序列进行预测识别,分别得到预测功能进程及预测关联业务;
根据所述预测功能进程、所述预测关联业务及所述系统进程关系链,构建需求网络,并根据预设的主干划分规则,将所述需求网络中划分为必要部分及可修改部分,并将所述必要部分中的预测功能进程或预测关联业务作为必要依赖进程,将所述可修改部分中的预测功能进程或预测关联业务作为可添加依赖进程。
可选的,所述根据所述必要依赖进程及所述可添加依赖进程进行风险性评估,得到风险分数,包括:
根据预构建的进程-权重配置表,将各个所述必要依赖进程进行加权求和计算,得到需求完整性评分;
将各个所述可添加依赖进程进行加权求和计算,得到需求变更性评分;
根据预设的经验函数对所述需求完整性评分及需求变更性评分进行计算,得到风险分数。
可选的,所述对所述需求报告进行实体识别,得到实体集合,包括:
利用预构建的中文分词工具,对所述需求报告进行分词及词性标注,得到词组集合;
利用One-Hot量化模型,对所述词组集合进行量化编码操作,得到量化数据集合;
利用预构建的实体识别模型对所述量化数据集合进行识别,得到实体集合。
可选的,所述利用预构建的实体识别模型对所述量化数据集合进行识别,得到实体集合,包括:
利用Word Embedding网络对所述量化数据集合中的各个量化数据进行信息融合,得到信息增强量化数据集合;
利用循环神经网络对所述信息增强量化数据集合进行特征提取,得到特征编码数据;
利用条件随机场对所述特征编码数据进行标签解码操作,得到各个所述词组对应的标签类型,并提取标签类型为实体的词组,得到实体集合。
可选的,所述根据预设的排列策略,将所述实体集合中的各个实体进行分层链式排布,得到系统进程关系链,包括:
将所述实体集合中的每个所述功能实体分类至各个所述业务实体中,并将各个所述业务实体下的功能实体进行排列,得到业务功能组块;
根据各个业务方案的层级关系,将各个业务功能组块进行树形连接,得到系统进程关系链。
可选的,所述利用预训练的依赖关系预测模型对所述系统进程关系链进行依赖关系预测之前,所述方法还包括:
获取预构建的链式样本集合,并根据预设的掩码及遮蔽比例,对所述链式样本集合进行遮蔽操作,得到遮蔽样本集合,其中,所述链式样本集合中包括业务关联样本及功能依赖样本;
依次提取所述遮蔽样本集合中的一个遮蔽样本,并将所述遮蔽样本导入预构建的初始化依赖关系预测模型中,对所述遮蔽样本中被遮蔽部分进行预测,得到针对所述遮蔽样本的真实被遮蔽内容的预测分数;
利用交叉熵损失函数,对所述预测分数计算得到损失值;
最小化所述损失值,得到损失值最小时所述初始化依赖关系预测模型的模型参数,并利用所述模型参数进行网络反向传输,更新所述初始化依赖关系预测模型,得到更新模型;
判断所述损失值的收敛性;
当所述损失值未收敛时,则返回所述依次提取所述遮蔽样本集合中的一个遮蔽样本,并将所述遮蔽样本导入预构建的初始化依赖关系预测模型中的过程,对所述更新模型进行迭代更新;
当所述损失值收敛时,则将最终更新的更新模型进行输出,得到训练完成的依赖关系预测模型。
为了解决上述问题,本发明还提供一种基于需求分析的商用软件研发装置,所述装置包括:
实体获取模块,用于获取客户发送的需求报告,对所述需求报告进行实体识别,得到实体集合;
实体关联模块,用于根据预设的排列策略,将所述实体集合中的各个实体进行分层链式排布,得到系统进程关系链;
需求风险预估模块,用于利用预训练的依赖关系预测模型对所述系统进程关系链进行依赖关系预测,得到必要依赖进程及可添加依赖进程,并根据所述必要依赖进程及所述可添加依赖进程对所述需求报告进行风险性评估,得到所述需求报告的风险分数;
需求报告处理模块,用于当所述风险分数大于或等于预设的安全阈值时,发出需要修改需求报告的提示信息,及当所述风险分数小于预设的安全阈值时,将所述需求报告发送至研发部门等待软件研发。
可选的,所述利用预训练的依赖关系预测模型对所述系统进程关系链进行依赖关系预测,得到必要依赖进程及可添加依赖进程,包括:
利用预训练的依赖关系预测模型对所述系统进程关系链进行特征提取操作,得到功能依赖特征序列及业务关联特征序列;
分别对所述功能依赖特征序列及业务关联特征序列进行预测识别,分别得到预测功能进程及预测关联业务;
将所述预测功能进程、所述预测关联业务及所述系统进程关系链,构建需求网络,并根据预设的主干划分规则,将所述需求网络中划分为必要部分及可修改部分,并将所述必要部分中的预测功能进程或预测关联业务作为必要依赖进程,将所述可修改部分中的预测功能进程或预测关联业务作为可添加依赖进程。
为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述所述的基于需求分析的商用软件研发方法。
为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个计算机程序,所述至少一个计算机程序被电子设备中的处理器执行以实现上述所述的基于需求分析的商用软件研发方法。
本发明实施例通过对客户的需求报告进行实体识别,得到实体集合,其中,所述实体集合中包括客户期望的软件的业务实体与功能实体,本发明实施例将实体集合进行分层链式排布,得到系统进程关系链,使得业务实体与功能实体分开,保证需求分析时不会混淆,本发明利用预训练的依赖关系预测模型对所述系统进程关系链进行预测,得到必要依赖进程及可添加依赖进程,其中,所述依赖关系预测模型是通过掩码方式训练得到的神经网络模型,能够预测各个进程的依赖前后进程以及并列的相关进程,通过所述必要依赖进程及所述可添加依赖进程进行风险性评估,得到所述需求报告的风险分数,从而可以对需求报告的质量进行把控。因此,本发明实施例中所述的基于需求分析的商用软件研发方法、装置,能通过对需求报告进行风险评估,来保证软件正常开发。
附图说明
图1为本发明一实施例提供的基于需求分析的商用软件研发的流程示意图;
图2为本发明一实施例提供的基于需求分析的商用软件研发的其中一个步骤的详细流程示意图;
图3为本发明一实施例提供的基于需求分析的商用软件研发设备间合作运行的流程示意图;
图4为本发明一实施例提供的基于需求分析的商用软件研发装置的模块示意图;
图5为本发明一实施例提供的基于需求分析的商用软件研发方法的电子设备的结构示意图。
本发明目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种基于需求分析的商用软件研发的方法。参照图1所示,为本发明一实施例提供的基于需求分析的商用软件研发的流程示意图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。
在本实施例中,所述基于需求分析的商用软件研发方法包括:
S1、获取客户发送的需求报告,对所述需求报告进行实体识别,得到实体集合。
本发明实施例中,所述需求报告是客户为解决问题或达到目标所编写的条件或权能的文档。客户受限于软件方面知识,提供的需求报告是多角度的,例如要求某些数据的展示功能、解决什么样的业务问题、具有什么样的特色等。因此,本发明实施例可以通过预训练的实体识别模型将所述客户需求报告中的要求分为业务实体及功能实体,得到实体集合。其中,所述业务实体是指用例、场景描述及事件等不够具体的描述,例如“需要构建一个对**数据进行分析、监控的软件”,以及所述功能实体是指更加具体的完成某个动作,例如“系统发送电子邮件通知客户的功能”。
详细的,本发明实施例中,所述对所述需求报告进行实体识别,得到实体集合,包括:
利用预构建的中文分词工具,对所述需求报告进行分词及词性标注,得到词组集合;
利用One-Hot量化模型,对所述词组集合进行量化编码操作,得到量化数据集合;
利用预构建的实体识别模型对所述量化数据集合进行识别,得到实体集合。
本发明实施例中,可以利用NLPIR汉语分词系统的中文分词工具,对所述需求报告进行分词及词性标注,得到词组集合,其中,所述NLPIR汉语分词系统是一种支持多种编码、多种操作系统、多种开发语言与平台的分词、词性标注系统,对中文分词具有很好的实用性。
进一步的,所述One-Hot量化模型是一种将各个分词编码为特定格式的词袋模型,本发明实施例通过实施One-Hot量化模型将所述词组集合转变为可供机器学习算法更好地进行识别的形式,得到量化数据集合,然后利用所述实体识别模型对所述量化数据集合进行实体识别,得到实体集合。
进一步地,所述利用预构建的实体识别模型对所述量化数据集合进行识别,得到实体集合,包括:
利用Word Embedding网络对所述量化数据集合中的各个量化数据进行拼接或相加等方式进行信息融合,得到信息增强量化数据集合;
利用循环神经网络(Recurrent Neural Network,RNN)对所述信息增强量化数据集合进行特征提取,得到特征编码数据;
利用条件随机场(CRF,Conditional Random Fields)对所述特征编码数据进行标签解码操作,得到各个所述词组对应的标签类型,并提取标签类型为实体的词组,得到实体集合。
其中,所述Word Embedding网络是一种分布式的量化方式,定义向量的单一维度都没有实际意义,而整体代表一个具体概念,相较于所述One-Hot的唯一性编码来说,具备更强的表示能力。然后,本发明实施例根据所述循环神经网络的残差连接方式,再保证特征准确性的情况下,对特征数量级进行特征提取,得到低维度的特征编码数据,最后利用条件随机场的方式对特征编码数据构建线性链条件随机场,再根据线性链条件随机场公式计算各个词组对于各个类型的权重得分,并将得分最高的类型进行提取,得到所述词组的标签类型,最终挑选得到实体集合。
其中,本发明实施例通过预设的样本集对所述实体识别模型进行微调训练,使得所述实体识别模型只提取业务实体及功能实体,而不提取其他实体,如外观设计实体等。
S2、根据预设的排列策略,将所述实体集合中的各个实体进行分层链式排布,得到系统进程关系链。
如上所述,本发明实施例中,所述实体集合中可能存在功能实体及业务实体,其中,所述业务实体可以包括多个功能实体,而一个功能实体可以被多个业务实体所包括。
详细的,本发明实施例中,所述根据预设的排列策略,将所述实体集合中的各个实体进行分层链式排布,得到系统进程关系链,包括:
将所述实体集合中的每个所述功能实体分类至各个所述业务实体中,并将各个所述业务实体下的功能实体进行排列,得到业务功能组块;
根据各个业务实体的层级关系,将各个所述业务功能组块进行树形连接,得到系统进程关系链。
具体的,本发明实施例中,先将所述功能实体及所述业务实体进行分开,然后将各个业务实体按照业务实体进行分组,然后,根据系统中各个实体运行进程方向,将各个业务实体下的功能实体进行排列,得到业务功能组块,最后根据各个业务方案的层级关系,将各个业务功能组块进行树形连接,得到系统进程关系链。
其中,所述系统进程关系链中各个业务功能组块之间、功能实体之间,可以通过一个Mask掩码进行连接,方便后续过程识别所述系统进程关系链的中间是否还存在必要的功能或业务。
S3、利用预训练的依赖关系预测模型对所述系统进程关系链进行依赖关系预测,得到必要依赖进程及可添加依赖进程,并根据所述必要依赖进程及所述可添加依赖进程进行风险性评估,得到风险分数。
本发明实施例中,首先对预构建的语义识别模型的输出层网络进行修改,得到一个初始化依赖关系预测模型,然后通过预设的样本对所述初始化依赖关系预测模型进行样本掩码训练得到所述依赖关系预测模型。所述依赖关系预测模型可用于识别一个功能实体或业务实体预测出前后依赖或并列关联的功能实体或业务实体,便于通过已有实体,推断潜在实体。
详细的,参考图2所示,本发明实施例中,所述利用预训练的依赖关系预测模型对所述系统进程关系链进行依赖关系预测,得到必要依赖进程及可添加依赖进程,包括:
S31、利用预训练的依赖关系预测模型对所述系统进程关系链进行特征提取操作,得到功能依赖特征序列及业务关联特征序列;
S32、分别对所述功能依赖特征序列及业务关联特征序列进行预测识别,分别得到预测功能进程及预测关联业务;
S33、根据所述预测功能进程、所述预测关联业务及所述系统进程关系链,构建需求网络,并根据预设的主干划分规则,将所述需求网络划分为必要部分及可修改部分,并将所述必要部分中的预测功能进程或预测关联业务作为必要依赖进程,将所述可修改部分中的预测功能进程或预测关联业务作为可添加依赖进程。
本发明实施例中,所述预设的主干划分规则是指需求网络中执行所述实体集合中全部实体的最短线路作为必要部分,其余部分作为可修改部分。进一步地,所述预测功能进程是指功能实体层面上的预测结果,为某一功能实体的依赖功能实体或下游功能实体,以及所述预测关联业务为业务实体层面上的预测结果,为某个业务实体包含或被包含的业务实体。
本发明实施例通过所述依赖关系预测模型中的卷积层、池化层、flatten层及全连接层将所述系统进程关系链进行特征提取,得到特征序列,并将特征序列进行分组,得到功能依赖特征序列及业务关联特征序列。然后利用所述依赖关系预测模型中的预测层神经网络对所述功能依赖特征序列及业务关联特征序列进行分开预测,得到预测功能进程及预测关联业务,然后通过系统执行的进程方向,将所述预测功能进程、所述预测关联业务及所述系统进程关系链重新进行排布,构建需求网络,并根据所述需求报告,将所述需求网络中的部分内容进行圈选,得到必要依赖进程及可添加依赖进程。
进一步的,本发明实施例中,所述根据所述必要依赖进程及所述可添加依赖进程对所述需求报告进行风险性评估,得到所述需求报告的风险分数,包括:
根据预构建的进程-权重配置表,将各个所述必要依赖进程进行加权求和计算,得到需求完整性评分;
将各个所述可添加依赖进程进行加权求和计算,得到需求变更性评分;
根据预设的经验函数对所述需求完整性评分及需求变更性评分进行计算,得到风险分数。
其中,所述进程-权重配置表是指企业根据各个进程的重要程度制定的表单。
本发明实施例根据进程-权重配置表,对所述必要依赖进程中与所述可添加依赖进程进行评分,分别得到需求完整性评分及需求变更性评分,其中,需求完整性评分越高,表明所述需求报告越不完善、风险度越高;所述需求变更性评分越高,表明所述需求报告的后期可更改性越强,风险度越低,本发明实施例根据企业大数据统计指定的经验函数对所述需求完整性评分及需求变更性评分进行计算,得到风险分数。
进一步的,参考图3所示,本发明实施例中,所述利用预训练的依赖关系预测模型对所述系统进程关系链进行依赖关系预测之前,所述方法还可以包括:
S301、获取预构建的链式样本集合,并根据预设的掩码及遮蔽比例,对所述链式样本集合进行遮蔽操作,得到遮蔽样本集合,其中,所述链式样本集合中包括业务关联样本及功能依赖样本;
S302、依次提取所述遮蔽样本集合中的一个遮蔽样本,并将所述遮蔽样本导入预构建的初始化依赖关系预测模型中,对所述遮蔽样本中被遮蔽部分进行预测,得到针对所述遮蔽样本的真实被遮蔽内容的预测分数;
S303、利用交叉熵损失函数,对所述预测分数计算得到损失值;
S304、最小化所述损失值,得到损失值最小时所述初始化依赖关系预测模型的模型参数,并利用所述模型参数进行网络反向传输,更新所述初始化依赖关系预测模型,得到更新模型;
S305、判断所述损失值的收敛性;
当所述损失值未收敛时,则返回所述S302,对所述更新模型进行迭代更新;
当所述损失值收敛时,则S306、将最终更新的更新模型进行输出,得到训练完成的依赖关系预测模型。
本发明实施例中,将传统软件执行进程进行记录,作为链式样本集合,可以为模型提供各个实体是否关联的知识结构。本发明实施例通过对所述链式样本集合中各个链式样本进行以预设遮蔽率的遮蔽,得到遮蔽样本集合,其中所述遮蔽率可以为20%。其中,所述链式样本集合中包括业务关联样本及功能依赖样本。
本发明实施例通过所述初始化依赖关系预测模型预测各个遮蔽样本中的Mask部分,其中,所述初始化依赖关系预测模型是一个逻辑预测模型,一个遮蔽样本可能预测出多个预测结果,本发明实施例将所述多个预测结果中符合所述Mask部分的真实被遮蔽内容对应的概率进行输出,得到预测结果。
然后通过交叉熵算法将所述预测结果进行损失值计算,然后根据梯度下降方法,将所述损失值进行最小化,得到损失值最小时所述初始化依赖关系预测模型的模型参数,通过神经网络的反向传播特性,将所述模型参数反馈给所述初始化依赖关系预测模型,从而得到更新模型,由此完成一次训练过程,并返回开始下一个遮蔽样本的训练。其中,所述交叉熵算法为逻辑分类模型中常见的损失函数,此处不加以赘述。
本发明实施例中,所述遮蔽样本的数量级庞大无法全部训练,本发明实施例记录所述损失值的变化过程,查看所述损失值是否收敛,可以判断所述更新模型是否训练完成,当所述损失值收敛时,则将最终更新的更新模型进行输出,得到训练完成的依赖关系预测模型。
S4、判断所述风险分数是否小于预设的安全阈值;
当所述风险分数大于或等于所述安全阈值时,S5、发出需要修改需求报告的提示信息。
本发明实施例中,当所述风险分数大于或等于所述安全阈值时,表明所述需求报告不够完善,需要进行修改,此外,本发明另一实施例中,生成需要修稿需求报告的提示信息时,也可同步输出所述需求网络中的必要部分作为客户及产品经理的参考信息。
当所述风险分数小于所述安全阈值时,S6、将所述需求报告发送至研发部门等待软件研发。
本发明实施例中,当所述风险分数小于所述安全阈值时,表明所述需求报告较为合理,可以开始进行研发。
本发明实施例通过对客户的需求报告进行实体识别,得到实体集合,其中,所述实体集合中包括客户期望的软件的业务实体与功能实体,本发明实施例将实体集合进行分层链式排布,得到系统进程关系链,使得业务实体与功能实体分开,保证需求分析时不会混淆业务与功能;然后,本发明利用预训练的依赖关系预测模型对所述系统进程关系链进行预测,得到必要依赖进程及可添加依赖进程,其中,所述依赖关系预测模型是通过掩码方式训练得到的神经网络模型,能够预测各个进程的依赖前后进程以及并列的相关进程,最后通过所述必要依赖进程及所述可添加依赖进程进行风险性评估,得到所述需求报告的风险分数,从而可以对需求报告的质量进行把控。因此,本发明实施例中所述的基于需求分析的商用软件研发方法,能通过对需求报告进行风险评估,来保证软件正常开发。
如图4所示,是本发明基于需求分析的商用软件研发装置的模块示意图。
本发明所述基于需求分析的商用软件研发装置100可以安装于电子设备中。根据实现的功能,所述基于需求分析的商用软件研发装置100可以包括实体获取模块101、实体关联模块102、需求风险预估模块103及需求报告处理模块104。本发所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:
所述实体获取模块101,用于获取客户发送的需求报告,对所述需求报告进行实体识别,得到实体集合;
所述实体关联模块102,用于根据预设的排列策略,将所述实体集合中的各个实体进行分层链式排布,得到系统进程关系链;
所述需求风险预估模块103,用于利用预训练的依赖关系预测模型对所述系统进程关系链进行依赖关系预测,得到必要依赖进程及可添加依赖进程,并根据所述必要依赖进程及所述可添加依赖进程对所述需求报告进行风险性评估,得到所述需求报告的风险分数;
所述需求报告处理模块104,用于当所述风险分数大于或等于预设的安全阈值时,发出需要修改需求报告的提示信息,及当所述风险分数小于预设的安全阈值时,将所述需求报告发送至研发部门等待软件研发。
详细地,本申请实施例中所述基于需求分析的商用软件研发装置100中所述的各模块在使用时采用与上述图1至图3中所述的基于需求分析的商用软件研发方法一样的技术手段,并能够产生相同的技术效果,这里不再赘述。
如图5所示,是本发明实现基于需求分析的商用软件研发方法的电子设备的结构示意图。
所述电子设备1可以包括处理器10、存储器11和总线,还可以包括存储在所述存储器11中并可在所述处理器10上运行的计算机程序,如基于需求分析的商用软件研发程序12。
其中,所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:SD或DX存储器等)、磁性存储器、磁盘、光盘等。所述存储器11在一些实施例中可以是电子设备1的内部存储单元,例如该电子设备1的移动硬盘。所述存储器11在另一些实施例中也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式移动硬盘、智能存储卡(Smart Media Card, SMC)、安全数字(SecureDigital, SD)卡、闪存卡(Flash Card)等。进一步地,所述存储器11还可以既包括电子设备1的内部存储单元也包括外部存储设备。所述存储器11不仅可以用于存储安装于电子设备1的应用软件及各类数据,例如基于需求分析的商用软件研发程序12的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
所述处理器10在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器10是所述电子设备的控制核心(Control Unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块(例如执行基于需求分析的商用软件研发程序等),以及调用存储在所述存储器11内的数据,以执行电子设备1的各种功能和处理数据。
所述总线可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器11以及至少一个处理器10等之间的连接通信。
图5仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图5示出的结构并不构成对所述电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
例如,尽管未示出,所述电子设备1还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器10逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备1还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
进一步地,所述电子设备1还可以包括网络接口,可选地,所述网络接口可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该电子设备1与其他电子设备之间建立通信连接。
可选地,该电子设备1还可以包括用户接口,用户接口可以是显示器(Display)、输入单元(比如键盘(Keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
所述电子设备1中的所述存储器11存储的基于需求分析的商用软件研发程序12是多个指令的组合,在所述处理器10中运行时,可以实现:
获取客户发送的需求报告,对所述需求报告进行实体识别,得到实体集合;
根据预设的排列策略,将所述实体集合中的各个实体进行分层链式排布,得到系统进程关系链;
利用预训练的依赖关系预测模型对所述系统进程关系链进行依赖关系预测,得到必要依赖进程及可添加依赖进程,并根据所述必要依赖进程及所述可添加依赖进程对所述需求报告进行风险性评估,得到所述需求报告的风险分数;
当所述风险分数大于或等于预设的安全阈值时,发出需要修改需求报告的提示信息;
当所述风险分数小于预设的安全阈值时,将所述需求报告发送至研发部门等待软件研发。
进一步地,所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
进一步地,所述计算机可用存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
本发明还提供一种计算机可读存储介质,所述可读存储介质存储有计算机程序,所述计算机程序在被电子设备的处理器所执行时,可以实现:
获取客户发送的需求报告,对所述需求报告进行实体识别,得到实体集合;
根据预设的排列策略,将所述实体集合中的各个实体进行分层链式排布,得到系统进程关系链;
利用预训练的依赖关系预测模型对所述系统进程关系链进行依赖关系预测,得到必要依赖进程及可添加依赖进程,并根据所述必要依赖进程及所述可添加依赖进程对所述需求报告进行风险性评估,得到所述需求报告的风险分数;
当所述风险分数大于或等于预设的安全阈值时,发出需要修改需求报告的提示信息;
当所述风险分数小于预设的安全阈值时,将所述需求报告发送至研发部门等待软件研发。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图表记视为限制所涉及的权利要求。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (9)
1.一种基于需求分析的商用软件研发方法,其特征在于,所述方法包括:
获取预构建的链式样本集合,并根据预设的掩码及遮蔽比例,对所述链式样本集合进行遮蔽操作,得到遮蔽样本集合,其中,所述链式样本集合中包括业务关联样本及功能依赖样本;
依次提取所述遮蔽样本集合中的一个遮蔽样本,并将所述遮蔽样本导入预构建的初始化依赖关系预测模型中,对所述遮蔽样本中被遮蔽部分进行预测,得到针对所述遮蔽样本的真实被遮蔽内容的预测分数;
利用交叉熵损失函数,对所述预测分数计算得到损失值;
最小化所述损失值,得到损失值最小时所述初始化依赖关系预测模型的模型参数,并利用所述模型参数进行网络反向传输,更新所述初始化依赖关系预测模型,得到更新模型;
判断所述损失值的收敛性;
当所述损失值未收敛时,则返回所述依次提取所述遮蔽样本集合中的一个遮蔽样本,并将所述遮蔽样本导入预构建的初始化依赖关系预测模型中的步骤,对所述更新模型进行迭代更新;
当所述损失值收敛时,则将最终更新的更新模型进行输出,得到训练完成的依赖关系预测模型;
获取客户发送的需求报告,对所述需求报告进行实体识别,得到实体集合;
根据预设的排列策略,将所述实体集合中的各个实体进行分层链式排布,得到系统进程关系链;
利用所述训练完成的依赖关系预测模型对所述系统进程关系链进行依赖关系预测,得到必要依赖进程及可添加依赖进程,并根据所述必要依赖进程及所述可添加依赖进程对所述需求报告进行风险性评估,得到所述需求报告的风险分数;
当所述风险分数大于或等于预设的安全阈值时,发出需要修改需求报告的提示信息;
当所述风险分数小于预设的安全阈值时,将所述需求报告发送至研发部门等待软件研发。
2.如权利要求1所述的基于需求分析的商用软件研发方法,其特征在于,所述利用所述训练完成的依赖关系预测模型对所述系统进程关系链进行依赖关系预测,得到必要依赖进程及可添加依赖进程,包括:
利用所述训练完成的依赖关系预测模型对所述系统进程关系链进行特征提取操作,得到功能依赖特征序列及业务关联特征序列;
分别对所述功能依赖特征序列及业务关联特征序列进行预测识别,得到预测功能进程及预测关联业务;
根据所述预测功能进程、所述预测关联业务及所述系统进程关系链,构建需求网络,并根据预设的主干划分规则,将所述需求网络划分为必要部分及可修改部分,并将所述必要部分中的预测功能进程或预测关联业务作为必要依赖进程,将所述可修改部分中的预测功能进程或预测关联业务作为可添加依赖进程。
3.如权利要求1所述的基于需求分析的商用软件研发方法,其特征在于,所述根据所述必要依赖进程及所述可添加依赖进程对所述需求报告进行风险性评估,得到所述需求报告的风险分数,包括:
根据预构建的进程-权重配置表,将各个所述必要依赖进程进行加权求和计算,得到需求完整性评分;
将各个所述可添加依赖进程进行加权求和计算,得到需求变更性评分;
根据预设的经验函数对所述需求完整性评分及需求变更性评分进行计算,得到风险分数。
4.如权利要求1所述的基于需求分析的商用软件研发方法,其特征在于,所述对所述需求报告进行实体识别,得到实体集合,包括:
利用预构建的中文分词工具,对所述需求报告进行分词及词性标注,得到词组集合;
利用One-Hot量化模型,对所述词组集合进行量化编码操作,得到量化数据集合;
利用预构建的实体识别模型对所述量化数据集合进行识别,得到实体集合。
5.如权利要求4所述的基于需求分析的商用软件研发方法,其特征在于,所述利用预构建的实体识别模型对所述量化数据集合进行识别,得到实体集合,包括:
利用Word Embedding网络对所述量化数据集合中的各个量化数据进行信息融合,得到信息增强量化数据集合;
利用循环神经网络对所述信息增强量化数据集合进行特征提取,得到特征编码数据;
利用条件随机场对所述特征编码数据进行标签解码操作,得到各个所述词组对应的标签类型,并提取标签类型为实体的词组,得到实体集合。
6.如权利要求1所述的基于需求分析的商用软件研发方法,其特征在于,所述根据预设的排列策略,将所述实体集合中的各个实体进行分层链式排布,得到系统进程关系链,包括:
将所述实体集合中的每个功能实体分类至各个业务实体中,并将各个所述业务实体下的功能实体进行排列,得到业务功能组块;
根据各个业务方案的层级关系,将各个业务功能组块进行树形连接,得到系统进程关系链。
7.一种基于需求分析的商用软件研发装置,其特征在于,所述装置包括:
实体获取模块,用于获取客户发送的需求报告,对所述需求报告进行实体识别,得到实体集合;
实体关联模块,用于根据预设的排列策略,将所述实体集合中的各个实体进行分层链式排布,得到系统进程关系链;
需求风险预估模块,用于获取预构建的链式样本集合,并根据预设的掩码及遮蔽比例,对所述链式样本集合进行遮蔽操作,得到遮蔽样本集合,其中,所述链式样本集合中包括业务关联样本及功能依赖样本;依次提取所述遮蔽样本集合中的一个遮蔽样本,并将所述遮蔽样本导入预构建的初始化依赖关系预测模型中,对所述遮蔽样本中被遮蔽部分进行预测,得到针对所述遮蔽样本的真实被遮蔽内容的预测分数;利用交叉熵损失函数,对所述预测分数计算得到损失值;最小化所述损失值,得到损失值最小时所述初始化依赖关系预测模型的模型参数,并利用所述模型参数进行网络反向传输,更新所述初始化依赖关系预测模型,得到更新模型;判断所述损失值的收敛性;当所述损失值未收敛时,则返回所述依次提取所述遮蔽样本集合中的一个遮蔽样本,并将所述遮蔽样本导入预构建的初始化依赖关系预测模型中的步骤,对所述更新模型进行迭代更新;当所述损失值收敛时,则将最终更新的更新模型进行输出,得到训练完成的依赖关系预测模型,并利用所述训练完成的依赖关系预测模型对所述系统进程关系链进行依赖关系预测,得到必要依赖进程及可添加依赖进程,并根据所述必要依赖进程及所述可添加依赖进程对所述需求报告进行风险性评估,得到所述需求报告的风险分数;
需求报告处理模块,用于当所述风险分数大于或等于预设的安全阈值时,发出需要修改需求报告的提示信息,及当所述风险分数小于预设的安全阈值时,将所述需求报告发送至研发部门等待软件研发。
8.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至6中任意一项所述的基于需求分析的商用软件研发方法。
9.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6中任意一项所述的基于需求分析的商用软件研发方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210508660.5A CN114625340B (zh) | 2022-05-11 | 2022-05-11 | 基于需求分析的商用软件研发方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210508660.5A CN114625340B (zh) | 2022-05-11 | 2022-05-11 | 基于需求分析的商用软件研发方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114625340A CN114625340A (zh) | 2022-06-14 |
CN114625340B true CN114625340B (zh) | 2022-08-02 |
Family
ID=81905770
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210508660.5A Active CN114625340B (zh) | 2022-05-11 | 2022-05-11 | 基于需求分析的商用软件研发方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114625340B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116501295A (zh) * | 2023-06-27 | 2023-07-28 | 成都九洲电子信息系统股份有限公司 | 一种软件研发阶段矢量化需求分析系统及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112598039A (zh) * | 2020-12-15 | 2021-04-02 | 平安普惠企业管理有限公司 | 获取nlp分类领域阳性样本方法及相关设备 |
CN113554168A (zh) * | 2021-06-29 | 2021-10-26 | 北京三快在线科技有限公司 | 模型训练、向量生成方法、装置、电子设备及存储介质 |
CN113627530A (zh) * | 2021-08-11 | 2021-11-09 | 中国平安人寿保险股份有限公司 | 相似问题文本生成方法、装置、设备及介质 |
CN114330499A (zh) * | 2021-11-30 | 2022-04-12 | 腾讯科技(深圳)有限公司 | 分类模型的训练方法、装置、设备、存储介质及程序产品 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1737837A (zh) * | 2005-07-26 | 2006-02-22 | 北京同方信息安全技术股份有限公司 | 一种基于面向对象数据库的信息资产评估方法 |
CN111368542A (zh) * | 2018-12-26 | 2020-07-03 | 北京大学 | 一种基于递归神经网络的文本语言关联抽取方法和系统 |
CN111475137A (zh) * | 2020-04-17 | 2020-07-31 | 中国铁建重工集团股份有限公司 | 一种软件开发需求预测的方法、系统及设备 |
CN111523322A (zh) * | 2020-04-25 | 2020-08-11 | 中信银行股份有限公司 | 需求文档质量评价模型训练方法及需求文档质量评价方法 |
CN111984822A (zh) * | 2020-09-03 | 2020-11-24 | 平安科技(深圳)有限公司 | 图像生成方法、装置、电子设备及计算机可读存储介质 |
CN113869789A (zh) * | 2021-10-19 | 2021-12-31 | 中国平安人寿保险股份有限公司 | 一种风险监控的方法、装置、计算机设备及存储介质 |
CN114217766A (zh) * | 2021-12-15 | 2022-03-22 | 北京工业大学 | 基于预训练语言微调与依存特征的半自动需求抽取方法 |
-
2022
- 2022-05-11 CN CN202210508660.5A patent/CN114625340B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112598039A (zh) * | 2020-12-15 | 2021-04-02 | 平安普惠企业管理有限公司 | 获取nlp分类领域阳性样本方法及相关设备 |
CN113554168A (zh) * | 2021-06-29 | 2021-10-26 | 北京三快在线科技有限公司 | 模型训练、向量生成方法、装置、电子设备及存储介质 |
CN113627530A (zh) * | 2021-08-11 | 2021-11-09 | 中国平安人寿保险股份有限公司 | 相似问题文本生成方法、装置、设备及介质 |
CN114330499A (zh) * | 2021-11-30 | 2022-04-12 | 腾讯科技(深圳)有限公司 | 分类模型的训练方法、装置、设备、存储介质及程序产品 |
Non-Patent Citations (1)
Title |
---|
基于CatBoost算法的P2P违约预测模型应用研究;马晓君等;《统计与信息论坛》;20200710(第07期);第10-18页 * |
Also Published As
Publication number | Publication date |
---|---|
CN114625340A (zh) | 2022-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113822494A (zh) | 风险预测方法、装置、设备及存储介质 | |
CN112541745B (zh) | 用户行为数据分析方法、装置、电子设备及可读存储介质 | |
CN112380343A (zh) | 问题解析方法、装置、电子设备及存储介质 | |
CN111652278A (zh) | 用户行为检测方法、装置、电子设备及介质 | |
CN114663198A (zh) | 基于用户画像的产品推荐方法、装置、设备及存储介质 | |
CN112507663A (zh) | 基于文本的判断题生成方法、装置、电子设备及存储介质 | |
CN114880449B (zh) | 智能问答的答复生成方法、装置、电子设备及存储介质 | |
CN111950625A (zh) | 基于人工智能的风险识别方法、装置、计算机设备及介质 | |
CN113064994A (zh) | 会议质量评估方法、装置、设备及存储介质 | |
CN115293603A (zh) | 任务分配方法、装置、电子设备及计算机可读存储介质 | |
CN113516417A (zh) | 基于智能建模的业务评估方法、装置、电子设备及介质 | |
CN114625340B (zh) | 基于需求分析的商用软件研发方法、装置、设备及介质 | |
CN113627160B (zh) | 文本纠错方法、装置、电子设备及存储介质 | |
CN113313211B (zh) | 文本分类方法、装置、电子设备及存储介质 | |
CN114138243A (zh) | 基于开发平台的功能调用方法、装置、设备及存储介质 | |
CN113706172A (zh) | 基于客户行为的投诉解决方法、装置、设备及存储介质 | |
CN116630712A (zh) | 基于模态组合的信息分类方法、装置、电子设备及介质 | |
CN115146653A (zh) | 对话剧本构建方法、装置、设备及存储介质 | |
CN113806540A (zh) | 文本打标签方法、装置、电子设备及存储介质 | |
CN114708073A (zh) | 一种围标串标智能检测方法、装置、电子设备及存储介质 | |
CN113626605A (zh) | 信息分类方法、装置、电子设备及可读存储介质 | |
CN113705201A (zh) | 基于文本的事件概率预测评估算法、电子设备及存储介质 | |
CN113591881A (zh) | 基于模型融合的意图识别方法、装置、电子设备及介质 | |
CN113887201A (zh) | 文本定长纠错方法、装置、设备及存储介质 | |
CN113419951A (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 |