一种基于互联网信息的软件开发方法及系统与流程

文档序号:12464983阅读:366来源:国知局

本发明涉及软件领域,特别涉及一种利用互联网信息帮助用户开发、调试软件的开发方法及系统。



背景技术:

软件开发工具具有软件代码输入、编辑、版本管理、编译和调试等功能,是软件开发人员每天都要使用的工具,是软件行业的基础性工具,对软件开发的效率和质量有着至关重要的影响。

随着软件行业的进步,软件开发工具本身也有了长足的进步,出现了代码自动完成,语法错误实时提醒等方便的功能。同时,互联网的发展也给软件开发带来了重要的影响,通过网上的论坛、博客等方式,开发人员可以交流软件开发的心得体会,分享代码,大大缩短了开发技术学习时间和错误调试时间。

在实现本发明的过程中,发明人发现现有技术至少存在以下问题:

软件开发工具没有有效与互联网结合,代码自动完成和错误提示都只是基于语法和开发人员正在开发的项目,不能利用互联网上丰富的信息,开发人员不得不在开发工具和浏览器之间来回切换,查找信息和开发代码被割裂成两个部分,降低了开发、调试程序的效率。



技术实现要素:

为了解决现有技术的问题,本发明提供了一种利用互联网信息帮助用户开发、调试软件的开发方法及系统。所述技术方案如下:

一种基于互联网信息的软件开发方法,其步骤为:

1)互联网爬虫工具抓取互联网上与软件开发相关联的信息;

2)知识库服务器从步骤1)爬取的信息中提取出软件知识并存储;

3)根据开发人员当前开发代码所用的程序语言和输入代码中的关键字,从该知识库服务器中查询匹配的软件知识反馈给该开发人员。

进一步的,所述与软件开发相关联的信息包括例子代码和错误分析相关的信息。

进一步的,提取出所述软件知识的方法为:首先为每一设定开发语言设置一关键字集合;然后将爬取的网页信息中的关键字与各开发语言的关键字集合中查找,确定该网页信息中的软件知识的开发语言;然后对该网页信息进行语法分析,确定其中的例子代码内容。

进一步的,步骤2)中,当步骤1)爬取的网页信息中包含设定的错误标志信息时,将对应网页内容加入到该知识库服务器的出错信息库中。

进一步的,从设定的开发人员论坛中提取软件知识的好评统计信息,然后根据该好评统计信息对该知识库服务器中的软件知识进行排序。

一种基于互联网信息的软件开发系统,其特征在于,包括互联网爬虫工具、知识库服务器和软件开发工具;其中,

互联网爬虫工具,用于抓取互联网上与软件开发相关联的信息;

知识库服务器,用于从爬取的信息中提取出软件知识并存储,以及根据输入的查询条件从该知识库服务器中查询匹配的软件知识;

软件开发工具,用于从开发人员当前开发代码生成查询条件发生给该知识库服务器,以及将该知识库服务器查询的软件知识反馈给该开发人员;其中,该查询条件包括程序语言和输入代码中的关键字。

与现有技术相比,本发明的积极效果为:

本发明与互联网结合,充分利用互联网上丰富的信息,便于开发人员查找信息,大大提高了代码开发、调试程序的效率。

附图说明

图1为本发明的系统结构图。

具体实施方式

下面结合附图对本发明进行进一步描述。

一方面,本发明提供了一种软件开发的方法,所述方法包括:

互联网爬虫工具抓取互联网上与软件开发相关联的信息,包括例子代码和错误分析相关的信息;

知识库服务器分析、归纳爬虫工具抓取的信息,构建软件开发知识库;

开发工具软件分析开发人员正在输入的代码,检索开发知识库,给出自动完成建议和错误提示。

另一方面,提供了一种互联网爬虫工具,获取互联网上海量的信息,所述互联网爬虫工具包括:

信息下载模块,用于从互联网下载指定网址的网页内容;

网页分析模块,用于分析网页内容,区分网页中包含的指向其他网页的链接地址,以及所包含的软件知识内容;

初始网址配置模块,用于配置爬虫程序最初要下载的网页内容;

执行模块,从初始网址配置模块配置的网址开始,调用信息下载模块和网页分析模块,利用网页分析模块找到的链接地址继续下载和分析,直到达到指定的深度。

另一方面,本发明提供了一种知识库服务器,所述知识库服务器包括:

知识存储模块,用于存储软件代码知识;

知识提取模块,用于分析互联网爬虫工具获取的信息,并提取出软件知识,存储于知识存储模块;

知识查询模块,用于从知识存储模块中查询出符合条件的知识;

进一步地,知识存储模块存储的知识,由如下要素构成:

开发语言,本条知识所适用的开发语言,例如C,JAVA等;

关键字,标识本条知识的关键信息,一般是系统函数或系统出错信息,例如malloc,StringBuffer等,从开发语言的API手册可以容易地获得关键字信息;

例子代码,与本条知识相关的例子代码,可以供开发人员参考或直接插入到开发人员正在开发的代码中;

出错信息库,与本条知识相关的出错信息,以及解决办法,供开发人员参考,此信息是直接来自于互联网的文字信息,从网页中直接摘取;出错信息也属于软件知识的一部分。

进一步地,知识提取模块分析网页,提取软件知识,其提取方式为:

从网页中用字符串匹配的方法查找所有关键字(关键字即系统函数或系统出错信息,例如malloc,StringBuffer等,从开发语言的API手册可以容易地获得关键字信息)。

根据关键字确定开发语言,每种开发语言的关键字集合不会完全相同,只要网页中出现多个关键字,在各语言的关键字表中查找,即可确定软件知识中的开发语言(因为不同的语言语法是不同的)。

确定开发语言后,可以对网页内容进行语法分析,确定其中的例子代码内容,分析方法为从一个英文单词开始分析,符合语言语法的最长的部分即为例子代码;语法分析技术可参考百度百科“语法分析”,http://baike.baidu.com/link?url=BzTXxAYs3IUeXmi1e68aobkJ4snOARqSb8BCSgeA0z7ZlF8amB SLAkTqkscKmj7icKhzZx2yjIw9SHrzQ34ftJlEyuNgKH80HZLSE3bkNrUzaJv8W65syrqK577N3y19。

如果网页中除了关键字,还出现“异常”,“错误”等错误标志信息,则将网页内容加入出错信息库;

多数开发人员论坛都有好评统计等信息,提取该信息并作为知识库中知识的排序依据。每个统计信息都有对应的软件知识,提取到的软件知识信息与好评都是对应的。

进一步地,知识查询模块用于查询知识的条件,由如下要素构成:

开发语言,所要查询知识的开发语言,也就是开发人员正在开发代码所用的程序语言;

关键字,所要查询知识涉及的关键字,一般是开发人员正在输入的代码中包含的关键字;

另一方面,提供了一种软件开发工具,所述软件开发工具包括:

常规开发工具功能模块,用于进行平常的软件开发工作,包括输入、编辑、编译、调试等等;

知识库辅助完成模块,用于根据用户正在输入的代码,查询知识库服务器,自动向用户提示后续的代码,以及可能的错误信息。

本发明的系统如图1所示,包括互联网爬虫工具、知识库服务器和软件开发工具;其中,互联网爬虫工具,用于抓取互联网上与软件开发相关联的信息;知识库服务器,用于从爬取的信息中提取出软件知识并存储,以及根据输入的查询条件从该知识库服务器中查询匹配的软件知识;软件开发工具,用于从开发人员当前开发代码生成查询条件发生给该知识库服务器,以及将该知识库服务器查询的软件知识反馈给该开发人员;其中,该查询条件包括程序语言和输入代码中的关键字。

实施例

以爬取stackoverflow.com的信息为例对本发明进行进一步详细描述,该网站是开发人员交流排除软件问题的网站,其典型页面信息如下:

public void throws Connection PreparedStatement是关键字,依据这些关键字,基本可以确定是Java语言。431表示评分,可以作为排序依据。大片的灰色区域是例子代码。

当开发人员开发程序时,所开发的语言是开发工具确定的,如果开发人员正在开发Java语言程序,并输入了Connection,PreparedStatement等关键字,则可以确定用户要开发数据库相关程序,则搜索知识库,并给出排名最高的例子代码。

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