System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于人工智能的软件开发方法、设备及介质技术_技高网

一种基于人工智能的软件开发方法、设备及介质技术

技术编号:40316064 阅读:11 留言:0更新日期:2024-02-07 20:58
本说明书实施例公开了一种基于人工智能的软件开发方法、设备及介质,涉及软件开发技术领域,方法包括:获取用户预先设置的软件开发需求文档,以通过自然语言处理技术,对软件开发需求文件进行关键信息提取,确定软件开发需求文档对应的软件应用场景信息、当前需求信息库和当前代码待调整参数;进行开发需求分类,确定多个当前需求类型,并对多个当前需求类型进行需求预测,确定至少一个预测需求,以确定实际开发需求;通过预先训练的机器学习模型和实际开发需求,生成当前需求代码;根据软件应用场景信息,生成匹配的场景测试示例,以通过场景测试示例对当前需求代码进行测试,确定与软件开发需求文档匹配的软件代码数据,实现自动化软件开发。

【技术实现步骤摘要】

本说明书涉及软件开发,尤其涉及一种基于人工智能的软件开发方法、设备及介质


技术介绍

1、在人工智能(ai)日益普及的技术发展趋势下,人工智能在软件开发中的应用也日益广泛,机器学习是实现人工智能的关键技术之一,运用多种算法,通过分析大量数据并自动发现规律和模式,从而实现对未知数据的预测和推断。在软件开发的实践中,机器学习技术主要被用于构建和优化软件的功能模块,如图像识别、语音识别、自然语言处理等。

2、在软件开发的前期阶段,通常需要进行各种需求设计和分析,需要大量的手动工作耗时且容易出错,导致软件开发需求的准确度存在较大问题。因此,现有的软件开发方法中由于开发需求的分析结果不准确,导致自动化软件开发的开发效率和代码质量较低,无法满足用户在不同场景下的开发需求。


技术实现思路

1、本说明书一个或多个实施例提供了一种基于人工智能的软件开发方法、设备及介质,用于解决如下技术问题:现有的软件开发方法中由于开发需求的分析结果不准确,导致自动化软件开发的开发效率和代码质量较低,无法满足用户在不同场景下的开发需求。

2、本说明书一个或多个实施例采用下述技术方案:

3、本说明书一个或多个实施例提供一种基于人工智能的软件开发方法,所述方法包括:获取用户预先设置的软件开发需求文档,以通过自然语言处理技术,对所述软件开发需求文件进行关键信息提取,确定所述软件开发需求文档对应的软件应用场景信息、当前需求信息库和当前代码待调整参数,其中,所述当前需求信息库包括多个需求信息;使用机器学习技术对所述当前需求信息库,进行开发需求分类,确定多个当前需求类型,并对所述多个当前需求类型进行需求预测,确定至少一个预测需求,以确定实际开发需求,其中,所述实际开发需求包括功能需求、性能需求和接口需求;通过预先训练的机器学习模型和所述实际开发需求,生成与所述实际开发需求匹配的多个需求代码片段,根据所述当前代码待调整参数和所述多个需求代码片段,生成当前需求代码;通过智能测试技术,根据所述软件应用场景信息,生成匹配的场景测试示例,以通过所述场景测试示例对所述当前需求代码进行测试,确定与所述软件开发需求文档匹配的软件代码数据,实现自动化软件开发。

4、进一步地,通过自然语言处理技术,对所述软件开发需求文件进行关键信息提取,确定所述软件开发需求文档对应的软件应用场景信息、当前需求信息库和当前代码待调整参数,具体包括:通过自然语言处理技术,对所述软件开发需求文件进行自然语言处理,确定所述软件开发需求文件中的多个语义文本,其中,所述自然语言处理包括词性标注、句法分析和语义分析中的任意一项或多项;对每个所述语义文本进行语义识别,以对每个所述语义文本设置文本标签,确定场景类语义文本、需求类语义文本和参数类语义文本;通过所述场景类语义文本和所述参数类语义文本,确定所述软件开发需求文档对应的软件应用场景信息和当前代码待调整参数;对所述需求类语义文本进行与语义特征提取,生成多个需求字段,并对每个所述需求字段进行语义扩充,得到每个所述需求字段对应的至少一个扩展字段;基于所述多个需求字段和每个所述需求字段对应的至少一个扩展字段,生成所述当前需求信息库。

5、进一步地,使用机器学习技术对所述当前需求信息库,进行开发需求分类,确定多个当前需求类型,具体包括:将每个所述需求字段和每个所述需求字段对应的至少一个扩展字段进行绑定,生成多个需求字段组;通过预先训练的需求分类模型,对每个所述需求字段组中的字段分别进行分类,确定每个所述需求字段组对应的至少一个需求类型;当指定需求字段组对应多个需求类型时,统计每个所述需求类型的数量,将所述多个需求类型中数量最多的指定需求类型作为所述指定需求字段组对应的当前需求类型。

6、进一步地,对所述多个当前需求类型进行需求预测,确定至少一个预测需求,具体包括:获取与所述软件应用场景信息对应的多个历史软件代码,对每个所述历史软件代码进行需求分析,确定每个所述历史软件代码的多个历史实现需求;通过所述多个历史实现需求,构建所述软件应用场景信息对应的场景需求知识图谱,以通过所述场景需求知识图谱,对所述多个当前需求类型进行需求预测,确定至少一个预测需求。

7、进一步地,通过所述多个历史实现需求,构建所述软件应用场景信息对应的场景需求知识图谱,具体包括:对所述历史实现需求进行分类,确定每个所述历史实现需求的需求类型,其中,所述需求类型包括功能需求、性能需求和接口需求;对每个需求类型下的多个历史需求进行再分类,以确定每个所述需求类型对应的子类型,其中,所述子类型用于表示每个所述需求类型对应的功能类型或性能类型或接口类型;以所述软件应用场景信息作为场景主节点,所述功能需求、所述性能需求和所述接口需求分别作为一级子节点;通过每个所述需求类型对应的子类型,按照预先构建的子类型相对关系表,确定多个所述子类型之间的相对关系,其中,所述相对关系包括并列关系和递进关系;将每个所述一级子节点和所述场景主节点相连,根据每个所述子类型之间的相对关系,确定每个所述子类型对应的下级子节点与所述一级子节点的连接关系以及多个所述子类型的连接关系,以构建所述场景需求知识图谱。

8、进一步地,通过所述场景需求知识图谱,对所述多个当前需求类型进行需求预测,确定至少一个预测需求,具体包括:基于所述当前需求类型,在所述场景需求知识图谱中,确定与每个所述当前需求类型对应的当前下级子节点;确定所述当前下级子节点连接的至少一个参考节点,通过每个所述参考节点,确定每个所述当前需求类型对应的至少一个预测需求。

9、进一步地,通过每个所述参考节点,确定每个所述当前需求类型对应的至少一个预测需求,具体包括:确定每个所述当前下级子节点与对应的当前一级子节点的节点连接关系,其中,所述节点连接关系包括当前下级子节点与一级子节点直接连接的直连关系,以及当前下级子节点与一级子节点通过至少一个参考节点连接的间接连接关系;当所述节点连接关系为所述间接连接关系时,通过所述节点连接关系和所述间接连接关系中的指定参考子节点,确定每个所述当前需求类型对应的至少一个预测需求。

10、进一步地,通过所述场景测试示例对所述当前需求代码进行测试,确定与所述软件开发需求文档匹配的软件代码数据之后,所述方法还包括:在通过自动化测试之后,对所述软件代码数据进行打包处理,以生成生成与预设部署格式匹配的代码文件;通过自动化部署脚本或自动化部署工具,将所述代码文件部署到目标环境中。

11、本说明书一个或多个实施例提供一种基于人工智能的软件开发设备,包括:

12、至少一个处理器;以及,

13、与所述至少一个处理器通信连接的存储器;其中,

14、所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:

15、获取用户预先设置的软件开发需求文档,以通过自然语言处理技术,对所述软件开发需求文件进行关键信息提取,确定所述软件开发需求文档对应的本文档来自技高网...

【技术保护点】

1.一种基于人工智能的软件开发方法,其特征在于,所述方法包括:

2.根据权利要求1所述的一种基于人工智能的软件开发方法,其特征在于,通过自然语言处理技术,对所述软件开发需求文件进行关键信息提取,确定所述软件开发需求文档对应的软件应用场景信息、当前需求信息库和当前代码待调整参数,具体包括:

3.根据权利要求2所述的一种基于人工智能的软件开发方法,其特征在于,使用机器学习技术对所述当前需求信息库,进行开发需求分类,确定多个当前需求类型,具体包括:

4.根据权利要求1所述的一种基于人工智能的软件开发方法,其特征在于,对所述多个当前需求类型进行需求预测,确定至少一个预测需求,具体包括:

5.根据权利要求4所述的一种基于人工智能的软件开发方法,其特征在于,通过所述多个历史实现需求,构建所述软件应用场景信息对应的场景需求知识图谱,具体包括:

6.根据权利要求5所述的一种基于人工智能的软件开发方法,其特征在于,通过所述场景需求知识图谱,对所述多个当前需求类型进行需求预测,确定至少一个预测需求,具体包括:

7.根据权利要求6所述的一种基于人工智能的软件开发方法,其特征在于,通过每个所述参考节点,确定每个所述当前需求类型对应的至少一个预测需求,具体包括:

8.根据权利要求1所述的一种基于人工智能的软件开发方法,其特征在于,通过所述场景测试示例对所述当前需求代码进行测试,确定与所述软件开发需求文档匹配的软件代码数据之后,所述方法还包括:

9.一种基于人工智能的软件开发设备,其特征在于,所述设备包括:

10.一种非易失性计算机存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令设置为:

...

【技术特征摘要】

1.一种基于人工智能的软件开发方法,其特征在于,所述方法包括:

2.根据权利要求1所述的一种基于人工智能的软件开发方法,其特征在于,通过自然语言处理技术,对所述软件开发需求文件进行关键信息提取,确定所述软件开发需求文档对应的软件应用场景信息、当前需求信息库和当前代码待调整参数,具体包括:

3.根据权利要求2所述的一种基于人工智能的软件开发方法,其特征在于,使用机器学习技术对所述当前需求信息库,进行开发需求分类,确定多个当前需求类型,具体包括:

4.根据权利要求1所述的一种基于人工智能的软件开发方法,其特征在于,对所述多个当前需求类型进行需求预测,确定至少一个预测需求,具体包括:

5.根据权利要求4所述的一种基于人工智能的软件开发方法,其特征在于,通过所述多个历史实现需求,构建所述软件应用场景信息对...

【专利技术属性】
技术研发人员:夏瑞祥
申请(专利权)人:山东浪潮爱购云链信息科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1