一种基于人工智能辅助软件开发的方法、系统及存储介质与流程

文档序号:15615032发布日期:2018-10-09 21:09阅读:246来源:国知局

本发明涉及软件开发技术领域,尤其涉及一种基于人工智能辅助软件开发的方法、系统及存储介质。



背景技术:

当前软件开发领域中,项目的时间控制,成本控制,质量控制,风险控制一直是企业最关注但又最难把控的几个问题,为了追求更高的开发效率和降低人员成本,不少的软件公司纷纷创造了各类不同的开发平台,并为自己的平台定义各种各样的开发模式,以此达到目的;云端再利用面向构件的开发方法也是其中之一,但是无论如何优化各类功能和操作,甚至是一些模块化的应用等,还是需要大量的人力完成。

云端面向构件的开发模式(以下简称云构件)会把代码包装成一个个粒度极少的组件,每个组件会完成一个微少的功能,不同组件的组合,就可以完成一个更大的业务过程,再配合云端,就能实现一人发布组件,其他人共享使用的共享开发模式,并且随着时间的推移,通过不断累积的资源,以使开发和成本降低;但是,因为云端应用都是比较集中管理的,就是说所有的构件、业务、工作流、业务逻辑、ui表单都存放到同一个地方,并随着时间的增长,会让应用库会越来越大;例如,开始的时候,软件企业只开发了两套应用,这时可能相关的构件加上业务、流程、表单等都只是百位数下,再开发第三套应用时,开发人员还是比较方便找到自已需要的资源,以减少开发时间;但时间继续增长,业务系统会越来越丰富,未来可以达到过万、过十万、或者上百万的资源在库中,这时要很好地利用现有的资源进行二次开发将变成一件困难的事。

因此,现有技术还有待于改进和发展。



技术实现要素:

本发明要解决的技术问题在于,针对现有技术缺陷,本发明提供一种基于人工智能辅助软件开发的方法、系统及存储介质,旨在通过ai在庞大的云端应用库中进行知识匹配,找出接近目标需求要实现的业务效果,以此对开发者提供直接和间接的帮助;其目的在于充分发挥已累积的构件库的优势,更合理的利用已有资源,以达到更高的开发效率,减少开发周期,提高重用性。

本发明解决技术问题所采用的技术方案如下:

一种基于人工智能辅助软件开发的方法,其中,所述基于人工智能辅助软件开发的方法包括:

云端平台接收用户的操作指令,搜索现有的资源集合中未描述或者未完善描述的资源进行信息完善;

云端平台接收用户通过文本框输入的会话数据,并提交到应用服务器,建立用户与ai之间的信息交流;

当应用服务器接收到客户端的普通会话数据后,若本地数据库存在相关的反馈信息则直接进行反馈,若无则提交到第三方服务接口进行获取;

当应用服务器接收到客户端的指令数据时,进入ai算法模型通过相关算法处理后返回指令结果;

应用服务器处理返回的指令结果,当客户端接收指令结果后,通过本地脚本语言执行返回的指令,并在云端平台上响应效果。

所述的基于人工智能辅助软件开发的方法,其中,所述云端平台接收用户的操作指令,搜索现有的资源集合中未描述或者未完善描述的资源进行信息完善具体包括:

预先将所有资源保存在数据库集中进行管控;

当云端平台接收用户的操作指令后,通过数据库的查询语句进行搜索;

搜索数据库中现有的资源集合中未描述或者未完善描述的资源,完善信息后重新保存入到数据库中,作为应用库使用。

所述的基于人工智能辅助软件开发的方法,其中,所述应用库包含开发平台上的所有资源,所述资源包括:构件、业务、流程以及表单。

所述的基于人工智能辅助软件开发的方法,其中,所述会话数据包括普通会话数据和指令数据。

所述的基于人工智能辅助软件开发的方法,其中,所述当应用服务器接收到客户端的普通会话数据后,若本地数据库存在相关的反馈信息则直接进行反馈,若无则提交到第三方服务接口进行获取具体包括:

应用服务器接收到客户端的数据后,判断数据为普通会话数据还是指令数据;

如果是普通会话数据,则验证本地数据库是否存在相关的反馈信息,如果存在则直接进行反馈,如果不存在则提交到第三方服务接口进行获取。

所述的基于人工智能辅助软件开发的方法,其中,所述当应用服务器接收到客户端的指令数据时,进入ai算法模型通过相关算法处理后返回指令结果具体包括:

当应用服务器接收到客户端的指令数据时,则进入ai算法模型;

应用服务器先读取系统数据库整理好的资源库,然后把资源库和会话指令一并放入余弦相似度算法;

通过余弦相似度算法返回一个带有分数的结果集,分数最高的再经冒泡法排序被放到结果集的最顶端;

如果最高分数的只有一个结果,则直接返回这个指令结果,如果多于一个结果,则进入概率算法,根据一定的权重设定最终返回一个最接近用户需求的指令结果。

一种基于人工智能辅助软件开发的系统,其中,所述基于人工智能辅助软件开发的系统包括:云端平台、应用服务器以及客户端;所述应用服务器分别与所述云端平台和所述客户端连接;

所述云端平台用于接收用户的操作指令,搜索现有的资源集合中未描述或者未完善描述的资源进行信息完善;

所述云端平台用于接收用户通过文本框输入的会话数据,并提交到所述应用服务器,建立用户与ai之间的信息交流;

所述应用服务器用于接收到客户端的普通会话数据后,若本地数据库存在相关的反馈信息则直接进行反馈,若无则提交到第三方服务接口进行获取;

所述应用服务器用于接收到所述客户端的指令数据时,进入ai算法模型通过相关算法处理后返回指令结果;

所述应用服务器用于处理返回的指令结果,当所述客户端接收指令结果后,通过本地脚本语言执行返回的指令,并在所述云端平台上响应效果。

一种存储介质,其中,所述存储介质存储有基于人工智能辅助软件开发的程序,所述基于人工智能辅助软件开发的程序被处理器执行时实现如上所述基于人工智能辅助软件开发的方法的步骤。

本发明公开了一种基于人工智能辅助软件开发的方法、系统及存储介质,所述方法包括:云端平台接收用户的操作指令,搜索现有的资源集合中未描述或者未完善描述的资源进行信息完善;云端平台接收用户通过文本框输入的会话数据,并提交到应用服务器,建立用户与ai之间的信息交流;当应用服务器接收到客户端的普通会话数据后,若本地数据库存在相关的反馈信息则直接进行反馈,若无则提交到第三方服务接口进行获取;当应用服务器接收到客户端的指令数据时,进入ai算法模型通过相关算法处理后返回指令结果;应用服务器处理返回的指令结果,当客户端接收指令结果后,通过本地脚本语言执行返回的指令,并在云端平台上响应效果。本发明通过ai在庞大的云端应用库中进行知识匹配,找出接近目标需求要实现的业务效果,以此对开发者提供直接和间接的帮助;其目的在于充分发挥已累积的构件库的优势,更合理的利用已有资源,以达到更高的开发效率,减少开发周期,提高重用性。

附图说明

图1是本发明基于人工智能辅助软件开发的方法的较佳实施例的流程图;

图2是本发明基于人工智能辅助软件开发的方法的较佳实施例中步骤s10的流程图;

图3是本发明基于人工智能辅助软件开发的方法的较佳实施例中步骤s30的流程图;

图4是本发明基于人工智能辅助软件开发的方法的较佳实施例中步骤s40的流程图;

图5是本发明基于人工智能辅助软件开发的方法的较佳实施例中进行会话数据输入的操作示意图;

图6是本发明基于人工智能辅助软件开发的方法的较佳实施例中整理资源库的流程示意图;

图7是本发明基于人工智能辅助软件开发的方法的较佳实施例中输入第一指令信息处理界面的示意图;

图8是本发明基于人工智能辅助软件开发的方法的较佳实施例中输入第二指令信息处理界面的示意图;

图9是本发明基于人工智能辅助软件开发的方法的较佳实施例中输入第三指令信息处理界面的示意图;

图10发明基于人工智能辅助软件开发的系统的较佳实施例的功能原理框图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明较佳实施例所述的基于人工智能辅助软件开发的方法,如图1所示,一种基于人工智能辅助软件开发的方法,其中,所述基于人工智能辅助软件开发的方法包括以下步骤:

步骤s10、云端平台接收用户的操作指令,搜索现有的资源集合中未描述或者未完善描述的资源进行信息完善。

具体地,应用库包含开发平台上的所有资源,如构件、业务、流程以及表单等,庞大的应用库将是ai(artificialintelligence,人工智能)所需要挖掘的大数据,因此相应的资源整理是必须的;用户首先在云端平台上搜索现有的资源集合中未有描述或者未有完善描述的资源,资源都是集中进行管理,因此所有资源都是保存在数据库中,搜索方式是通过数据库的查询语句,例如sql进行,不同的sql条件组合,可以找出不完善的资源,例如一个简单的数据转换组件,可能描述只会是“数据转换”,但具体是转换为xml还是json,还是其他格式,有时并没有具体说明,而这类资源就是属于要整理的资源;完善信息后重新保存入到数据库中,作为应用库使用。

具体过程请参阅图2,其为本发明提供的基于人工智能辅助软件开发的方法的较佳实施例中步骤s10的流程图。

如图2所示,所述步骤s10包括:

s11、预先将所有资源保存在数据库集中进行管控;

s12、当云端平台接收用户的操作指令后,通过数据库的查询语句进行搜索;

s13、搜索数据库中现有的资源集合中未描述或者未完善描述的资源,完善信息后重新保存入到数据库中,作为应用库使用。

步骤s20、云端平台接收用户通过文本框输入的会话数据,并提交到应用服务器,建立用户与ai之间的信息交流。

具体地,进行会话交流时,界面可以有多种,本发明默认是html5做的类聊天工具通讯界面,一般界面上部分是聊天内容,下部分是信息输入框和发送按钮,交流的对象是普通用户和ai之间的信息交流。

会话指日常的自然交流语言,用户通过图5中的文本框输入会话数据,数据会被提交到应用服务器,其中数据包括普通会话数据和指令数据。

步骤s30、当应用服务器接收到客户端的普通会话数据后,若本地数据库存在相关的反馈信息则直接进行反馈,若无则提交到第三方服务接口进行获取。

具体地,应用服务器接收到客户端的数据后,首先判断数据是普通会话数据还是指令数据,如果是普通会话数据,则验证本地数据库是否存在相关的反馈信息,如果有直接反馈,如果没有,再提交到第三方服务接口获取。

用百度来举例,百度提供一个如下代码的接口

stringgeturl=″http://www.tuling123.com/openapi/api?key=″+apikey++info;

urlgetur1=newurl(geturl);

httpurlconnectionconnection=(httpurlconnection)geturl.openconnection();

connection.connect();

那么,只需要提供key和文本,就会反馈相关的信息,key由第三方服务提供,是一个唯一身份识别码,info是用户提交给第三方的文本,由用户在界面上输入,然后再反馈信息到客户端界面展示出来。

具体过程请参阅图3,其为本发明提供的基于人工智能辅助软件开发的方法的较佳实施例中步骤s30的流程图。

如图3所示,所述步骤s30包括:

s31、应用服务器接收到客户端的数据后,判断数据为普通会话数据还是指令数据;

s32、如果是普通会话数据,则验证本地数据库是否存在相关的反馈信息,如果存在则直接进行反馈,如果不存在则提交到第三方服务接口进行获取。

步骤s40、当应用服务器接收到客户端的指令数据时,进入ai算法模型通过相关算法处理后返回指令结果。

具体地,当接收到客户端传来的数据是指令数据时,会进入ai算法模型,如图6所示,首先应用服务器先读取系统数据库整理好的资源库,然后把资源库和会话指令一并放入第一个算法:余弦相似度算法,算法公式为其中,a和b均为向量,余弦相似度算法会返回一个带有分数的结果集,如a(0.5),b(0.3)……,分数最高的再经冒泡法排序被放到结果集的最顶端,如果最高分数的只有一个结果,那么直接返回这个指令结果,如果多于一个结果,会进入第二个算法:概率算法,概率算法带有一定的随机性,它根据一定的权重设定,最终返回一个最接近用户需求的指令结果。

具体过程请参阅图4,其为本发明提供的基于人工智能辅助软件开发的方法的较佳实施例中步骤s40的流程图。

如图4所示,所述步骤s40包括:

s41、当应用服务器接收到客户端的指令数据时,则进入ai算法模型;

s42、应用服务器先读取系统数据库整理好的资源库,然后把资源库和会话指令一并放入余弦相似度算法;

s43、通过余弦相似度算法返回一个带有分数的结果集,分数最高的再经冒泡法排序被放到结果集的最顶端;

s44、如果最高分数的只有一个结果,则直接返回这个指令结果,如果多于一个结果,则进入概率算法,根据一定的权重设定最终返回一个最接近用户需求的指令结果。

步骤s50、应用服务器处理返回的指令结果,当客户端接收指令结果后,通过本地脚本语言执行返回的指令,并在云端平台上响应效果。

具体地,由应用服务器处理返回指令结果,客户端接收该指令结果后,再通过本地脚本语言执行返回的指令,并在平台上响应效果;例如用户输入了:“@菜单帮我打开函数库”指令信息,通过应用服务器处理后,返回一个menu的指令,客户端接收到这个指令代码后,调用脚本语言执行相应的接口,并打开云平台的函数库窗体;参考图7所示;如用户输入“@构件余弦构件”指令信息,通过应用服务器处理后,返回一个func的指令,客户端接收到这个指令代码后,调用脚本语言执行相应的接口,并在业务设计器中为用户自动绘制了余弦算法的构件;参考图8所示;如用户输入“@业务关于订单处理”指令信息,通过应用服务器处理后,返回一个oe的指令,客户端接收到这个指令代码后,调用脚本语言执行相应的接口,并在业务设计器中为用户自动绘制了最接近用户所提需求的业务逻辑图,如图9所示。

本发明的关键点是大数据、ai人工智能以及云开发平台;通过对构件、业务、工作流、业务逻辑、ui表单、代码片段等数据源的收集与整理,实现有效的辅助开发人员进行业务系统开发,在辅助过程中使用更为接近自然语言的交流方式,让使用者的门槛降至最低,面向的用户群甚至可以是非专业的人士;最终达到开发周期会缩短、成本会降低的主要目的。

本发明结合了大数据,人工智能的开发辅助新模式,在实际的使用过程中,大大地减少了云开发平台的使用门槛,新手的入门培训时间,由原来设定的3天培训减少到1天就能正式进入工作岗位,在使用过程中也有具大的协助作用,由于资源库庞大,很多时候不知道放在哪里,或者甚至不知道有这个资源存在,用上了ai协助,资源的重复开发直线下降,再利用性明显提高了,更合理地利用现有资源,大大地减少了开发周期;对于非专业人员,例如业务员等,同样可以在ai的帮助下,完成一些简单的任务,甚至是完成一些日常的维护工作。

另外,如图10所示,本发明还提供一种基于人工智能辅助软件开发的系统,其中,所述基于人工智能辅助软件开发的系统包括:

云端平台10、应用服务器20以及客户端30;所述应用服务器20分别与所述云端平台10和所述客户端30连接;所述云端平台10用于接收用户的操作指令,搜索现有的资源集合中未描述或者未完善描述的资源进行信息完善;所述云端平台10用于接收用户通过文本框输入的会话数据,并提交到所述应用服务器20,建立用户与ai之间的信息交流;所述应用服务器20用于接收到客户端30的普通会话数据后,若本地数据库存在相关的反馈信息则直接进行反馈,若无则提交到第三方服务接口进行获取;所述应用服务器20用于接收到所述客户端10的指令数据时,进入ai算法模型通过相关算法处理后返回指令结果;所述应用服务器20用于处理返回的指令结果,当所述客户端30接收指令结果后,通过本地脚本语言执行返回的指令,并在所述云端平台10上响应效果。

本发明还提供一种存储介质,其中,所述存储介质存储有基于人工智能辅助软件开发的程序,所述基于人工智能辅助软件开发的程序被处理器执行时实现所述基于人工智能辅助软件开发的方法的步骤;具体如上所述。

综上所述,本发明提供一种基于人工智能辅助软件开发的方法、系统及存储介质,所述方法包括:云端平台接收用户的操作指令,搜索现有的资源集合中未描述或者未完善描述的资源进行信息完善;云端平台接收用户通过文本框输入的会话数据,并提交到应用服务器,建立用户与ai之间的信息交流;当应用服务器接收到客户端的普通会话数据后,若本地数据库存在相关的反馈信息则直接进行反馈,若无则提交到第三方服务接口进行获取;当应用服务器接收到客户端的指令数据时,进入ai算法模型通过相关算法处理后返回指令结果;应用服务器处理返回的指令结果,当客户端接收指令结果后,通过本地脚本语言执行返回的指令,并在云端平台上响应效果。本发明通过ai在庞大的云端应用库中进行知识匹配,找出接近目标需求要实现的业务效果,以此对开发者提供直接和间接的帮助;其目的在于充分发挥已累积的构件库的优势,更合理的利用已有资源,以达到更高的开发效率,减少开发周期,提高重用性。

当然,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关硬件(如处理器,控制器等)来完成,所述的程序可存储于一计算机可读取的存储介质中,所述程序在执行时可包括如上述各方法实施例的流程。其中所述的存储介质可为存储器、磁碟、光盘等。

应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1