本文是一篇软件工程论文,软件工程领域的主要研究热点是软件复用和软件构件技术,它们被视为是解决“软件危机”的一条现实可行的途径,是软件工业化生产的必由之路。而且软件工程会朝着开放性计算的方向发展,朝着可以确定行业基础框架、指导行业发展和技术融合的“开放计算”。(以上内容来自百度百科)今天为大家推荐一篇软件工程论文,供大家参考。
1 绪论
1.1 研究背景及意义
随着互联网技术的迅速发展,互联网己经成为了人们进行社会、经济文化、教育以及娱乐的等活动时不可或缺的媒介。互联网的重要组成部分之一——万维网(World WideWeb)承载着大量数据信息,包含了从科技资讯、新闻报道到商业信息、教育资料等多种类别和形式的信息,构成了一个庞大的开放、动态、异构的分布式信息资源库。由于其使用方式的便捷性和展现能力的多样性,通过 WEB 获取信息和知识已经成为一个不可或缺的渠道。据中国互联网络信息中心(CNNIC)发布的第 31 次中国互联网络发展状况统计报告显示,截至 2012 年 12 月底,中国网民数量达到 5.64 亿,互联网普及率为 42.1%,网民人均每周上网时长达到 20.5 小时,中国网站数量为 268 万,网页数量高达 1227 亿,平均每个网页的字节数为 42KB,并且这些数据还在不断地增长。互联网的飞速发展带来的好处是其蕴藏的信息非常丰富,但这同时也带给我们更加严峻的挑战,即如何根据用户的兴趣从海量的 WEB 信息中高效地获取信息是当前互联网应用面临的一个难题。“科学技术是第一生产力”,“科技创新”是我国必须长期坚持的基本国策之一。随着我国经济文化的发展,国民文化素质的普遍提高,越来越多的人开始关注科技信息的发展。个人或者企业也逐渐把发展方式由传统转变为依赖科学技术上来。科学技术的发展是飞快的,科技信息瞬息万变。在当今互联网信息时代,人们接受科技信息的方式已经不仅仅局限于传统的课堂与书本之上。相反,从网络上获取科技信息已经成为更为便捷,更为迅速的方式[54][55]。要聚合这么多科技信息的内容,如果单纯依靠人工的方式手动地获取不仅很难保证内容的及时性,而且耗费相当大的时间和精力。那么,更加便捷的方式就是通过程序自动采集信息源的内容(例如,科技信息源网站中的内容),最后在终端上对其结果进行个性化呈现。本文所实现的科技信息自动跟踪管理系统是和北京某单位合作的科技项目中的一个子系统。本文的主要工作就是研究并开发一套科技信息自动跟踪管理系统。如图 1-1 所示为该科技项目的总体架构图。目前,市场上已经存在一些针对 WEB 的信息采集软件,它们大多通过以人工观察网页及网页源代码的方式,针对要采集的特定数据,手动配置采集规则,使用起来复杂繁琐,且需要相关的专业基础,不适用于普通用户。另外,本文所实现的系统来源于具体的科技项目,市场上的软件满足不了该项目中用户的特定需求,并且类似的软件价格昂贵。因此,希望设计一套简单易用、采集结果准确、可定制信息源、能够动态进行采集的科技信息自动跟踪系统。实现的系统既能够为现有的科技信息采集领域提供参考和借鉴,也能够在具体应用领域产生好的效果。
............
1.2 科技信息跟踪发展现状
本文主要从 WEB 信息采集技术、WEB 信息抽取技术两个方面展开具体研究。WEB信息采集技术就是首先对 HTML 网页的源代码进行分析,得到网页内所包含的 URL 超链接,然后根据需要运用相应的遍历算法(例如,深度优先、广度优先等),自动分析链接、采集网页信息、处理和保存数据的过程。WEB 信息抽取技术就是首先根据需要一定程度地处理网页,然后从结构化的 WEB 页面中抽取出用户想要的相关信息,并且按照用户的需要以更易于用户使用和理解且更加清晰的结构形式呈现。虽然说WEB信息抽取和WEB信息采集这两个技术在信息跟踪这一过程中的联系较为密切,但是确实属于两种不同的研究范畴。所以,需要从 WEB 信息采集技术和 WEB 信息抽取技术两个方面进行研究现状的介绍。在互联网高速发展的今天,互联网中储存的信息对于人们来说显得越来越重要,所以WEB 信息抽取在工程应用领域和技术研究领域都成为一个重要的研究方向。国内外这一方向的众多研究先驱也提出了大量的研究理论和研究方法,并且也取得了一定程度的成果,具有很深刻的借鉴意义。但是随着互联网技术的不断更新和社会的不断进步,WEB信息抽取依然面临着很多具有现实意义的问题,下面从这一领域的技术分类进行简要分析。
..........
2 科技信息跟踪系统需求分析与总体框架
2.1 系统需求分析
2.1.1 业务需求
业务需求是客户对系统、产品的目标要求。21 世纪,随着互联网技术的发展,当前社会正处于信息大爆炸的时代,信息产业作为新兴产业也在高速发展。人们在获取资讯的方式也逐渐从看报纸、看电视、听广播等传统方式转移到了互联网上来。互联网上的信息错综复杂,人们通常需要花费大量的时间和精力才能从互联网中获取到自己想要的信息或资讯。对于科技类信息更是如此。本系统是与北京某单位合作的科技项目中的其中一个子系统,该系统主要目的是帮助用户掌握科技信息的最新动向和新闻热点,及时获取科技信息的第一手资料。系统总体的业务流程图,如图 2-1 所示。传统的网上获取科技信息的方式,就是用户手动地浏览科技信息类网站,不断地甄别其中有价值的信息。这种方式获取科技信息的方式效率缓慢,且需要投入用户大量的精力和时间。科技信息自动跟踪系统就是对这种获取信息方式的一种改革。用户使用该系统按照需要建立自己的采集任务就可以获取到自己想要的信息。科技信息自动跟踪系统,按照业务流程和工作角色,可以将系统用户划分为三类,系统管理员、系统操作员和普通用户。
.........
2.2 总体框架设计系统主要存在信息管理服务器、信息采集服务器、数据库服务器、用户这四种要素,均通过互联网进行彼此间的通信。本系统主要存在两种类型的用户,普通用户(游客)和管理员用户。管理员用户又分为操作员和管理员。他们的操作权限由低到高分别为普通用户、操作员、管理员。三种用户均可以登录信息管理服务器进行相关的操作。操作员或管理员可以在信息管理服务其中创建采集任务,并将与采集任务相关的配置数据存入数据库服务器。信息采集服务器运行着信息采集和分析的程序。该程序读取存储在数据库服务器中的与采集任务相关的配置数据,然后依据这些配置数据进行信息采集,并对采集到的结果进行分析,将分析得到的结果存储到数据库服务器的相应的位置。信息管理服务器从数据库服务器中读取采集任务的结果信息并做相应的统计和展示。普通用户登录信息管理服务器只有查看信息和下载相应文档的权限。本系统预期分为 4 个子系统,分别为科技信息采集子系统、科技信息处理子系统、科技信息分析子系统、信息服务子系统。其中,科技信息采集子系统又分为信息采集、主题识别两个模块;信息处理子系统分为信息分类、媒体目录、媒体报道集萃、媒体优先级设置、采集模板配置、数据导入导出等模块;科技信息分析子系统分为科技信息分析、统计等模块;信息服务子系统分为系统用户管理、信息收藏、采集结果展示等模块。
..........
3 信息采集与分析..........15
3.1 信息采集...........15
3.1.1 B/S 架构与 C/S 架构 ....15
3.1.2 网页的分类 .......15
3.1.3 HTTP 协议与 Cookie-Session 机制..............16
3.1.4 面向多种网页的数据解析引擎的设计 .......19
3.2 信息分析...........29
3.2.1 TextRank 算法....29
3.2.2 文本要点分析 ..............31
3.3 本章小结...........33
4 科技信息自动跟踪系统详细设计....35
4.1 功能模块设计 ..............35
4.1.1 信息采集与分析子系统 .........35
4.1.2 信息管理子系统 ..........36
4.2 数据库设计 .......39
4.3 系统内部交互协议设计 .........43
4.4 本章小结...........44
5 科技信息自动跟踪系统实现 ........... 45
5.1 开发环境的搭建与配置......... 45
5.1.1 PHP 环境 ........... 45
5.1.2 Python 环境 ....... 46
5.2 开发框架简介.............. 46
5.3 管理模块实现.............. 47
5.4 采集与分析模块实现............. 53
5.5 本章小结........... 57
5 科技信息自动跟踪系统实现
依据系统功能结构的划分,本系统的实现主要分为两部分,管理系统模块的实现和采集分析模块的实现。本章也将从这两个方面对系统的实现进行说明。
5.1 开发环境的搭建与配置
工欲善其事,必先利其器。本系统使用最流行的 WEB 服务器端软件之一 Apache 作为 WEB 服务器。使用 MySQL 数据库作为后台数据库,其所使用的 SQL 语言是用于访问数据库的最常用标准化语言。适用于一般中小型网站的开发。开发语言选用 PHP 和 Python两种。使用 PHP 语言进行系统管理模块的开发,使用 Python 语言进行系统采集模块的开发。本系统所使用的开发环境是当下比较流行的,将上述几种开发工具糅合在一起所形成的的集成式开发环境 WAMP。其主要特点为安装方便快捷,无需配置,一键式安装。本系统在开发时使用的是一款名为 Bitnami 的 WAMP 集成式软件。BitNami 是一个开源项目,该项目产生的开源软件包括安装 WEB 应用程序和解决方案堆栈,其中的 WAMP 可以在 windows 环境下搭建 ApachePHPMYSQL 开发环境,并配有常用的相关开发软件。
..........
总结
本文是以北京某单位科技项目的实际项目需求为基础,以能够给用户提供及时准确的科技简报为目的,完成了对科技信息自动跟踪管理系统的研究与实现。首先根据软件需求方的要求,针对系统的主要业务、使用用户、具体功能进行了详细的需求分析。接着,结合需求对系统进行了总体框架的设计,确定了系统的主要功能结构,并设计出了信息分析的主要过程和信息采集框架。在具体的研究过程中,首先对信息采集技术和信息提取技术进行了学习和研究,以Python 语言为基础,结合 HTTP 协议、WEB 开发技术和多线程技术,设计并实现了面向多种类型的网页数据解析引擎;接着对热词分析技术进行了学习和研究,学习了 TextRank算法,设计了本系统的关键词提取过程,实现了对文本要点信息的提取。系统的详细设计部分首先对系统的使用用户进行了角色划分和权限制定,并以系统的具体实现为依据,将系统主要分为信息采集与分析子系统和信息管理子系统。其次对两个子系统进行了更进一步的模块划分。信息采集与分析子系统以其主要的运行逻辑为依据分为采集任务读取,科技信息采集,信息分析,结果存储四大模块。信息管理子系统按照功能结构分为采集任务管理、采集专题管理、网站栏目管理、系统用户管理、历史追踪管理、信息统计与展示六大模块。接着对系统的数据库进行了详细设计,对数据库表结构的详细信息和表间关系进行了设计。最后基于前后端分离的开发方式,设计了系统内部的交互协议,加速了系统的实际开发过程。在系统的具体实现时,结合 HTTP 协议,Python 语言,PHP 语言,WEB 开发技术,WEB 前端技术等实现了系统的各个模块。本文所实现的科技信息自动跟踪系统实现了系统的预期功能,满足了用户的既定需求。
..........
参考文献(略)