E技术、SQL Server 2005数据库管理系统以及ExtJS框架相关知识,并对系统开发过程中用到的一些关键开源工具做出了简要说明,这些关键技术的学习和掌握为接下来的系统分析及设计实现提供了坚实的理论基础。
3 系统需求分析
需求分析阶段的主要工作就是分析用户的需求是什么,是指针对软件所要解决的问题进行详细的分析,明确对软件系统的输入输出要求。本章主要从系统可行性、用户对象、用户用例、功能需求以及性能需求五个方面进行详细的系统需求分析。
3.1 系统可行性研究
3.1.1 技术可行性
1)软件可行性
新闻爬虫系统所需要的数据源可以通过编写网络爬虫程序来实现定向抓取,通过定制爬行过程中的过滤条件和爬行策略,爬虫程序所获取的数据量和抓取的效率都能得到很好的保证。
新闻信息的可视化模块可以通过借助Google Visualization API动态地将新闻显示在交互方式非常丰富的图表上,再结合ExtJS构建一个富互联网应用,整个系统能够提供良好的用户体验。
2) 硬件可行性
新闻爬虫系统需要进行抓取和分析的数据量非常大,这对于服务器端数据库的承载能力要求较高,通过较长时间的测试,目前主流的服务器完全可以胜任作为舆情分析系统服务器的要求。
由于该新闻爬虫系统采用B/S架构方式,用户仅需在浏览器端利用浏览器进入系统使用相关功能即可,当前主流的个人电脑硬件配置完全满足使用条件。
3.1.2 操作可行性
本系统在用户界面层利用ExtJS框架结合Google Visualization API进行构建。ExtJS作为开源JavaScript框架,功能强大,界面美观,使用AJAX技术开发RIA应用。Google Visualization API所提供的图表工具作为Flex程序,具有极为丰富的交互效果。两者相结合开发出的前台网页,保证了良好的用户体验,能够满足用户实际操作的需要。
3.1.3 经济可行性
经过不断的系统完善和功能增强过程,成型之后的新闻爬虫系统能够为各个行业按需提供不同的服务。例如:为政府机关、公安、广电、教育机构提供舆情监测服务,为上市公司、投资机构、金融监管机构提供口碑管理服务,为各类商业公司提供竞争情报管理、招投标监测、危机公关处理、市场调研、趋势分析以及营销效果评估等服务。综上所述,新闻爬虫分析系统具有非常强的经济可行性。
3.2 用户对象分析
互联网定向信息采集系统面对的客户是特定的专业人群和企业机构,他们关心的信息一般限于特定的主题。出于性能和成本上的考量,本系统不需要也不可能对整个互联网来做遍历抓取。本系统的用户一般是新闻热点分析部门或是各公安部门的观察员。一般来说,他们无法将精力全部花在浏览各大网站新闻和BBS上,但是他们的职责需要他们对网络上的信息有一个把握,尤其是和其兴趣点、切身利益相关的帖子和新闻。
对于企业公关来说,信息时代的到来导致危机的信息传播比危机本身发展要快得多,媒体的报道也很难避免。他们需要不断的知道外届对企业的评价,是否有竞争对手恶意中伤等,从而在第一时间作出应对措施,减少破坏性和蔓延速度,以维护形象和赢得消费者的同情和理解。
对于行政机构类用户,他们需要对国内重点论坛和新闻门户网站,也包含国外部分敏感网站,特别是国外的Twitter,Facebook等网站进行一些监控,以对一些敏感事件进行及时的发现、后续跟踪,同时对于民意的听取也很感兴趣,从而做到对特殊事件的早发现、早预警,为及时处置奠定基础。
此外,还有很重要的一个方面的用户就是系统管理员,他们并不是新闻爬虫系统的用户,但是该管理员需要控制数据源的获取逻辑,进行数据的分析,并将分析结果进行展示。
3.3 用户用例分析
3.3.1 管理员用户用例分析
管理员用户用例图如图3-1所示:
图3-1 管理员用户用例图
对于管理员用户,其使用场景分为五大类:
1) 对爬虫数据源进行控制:包括对爬虫爬取的数据源的增加和删除,以及对被爬行网站的配置(例如改动HTML代码关键字匹配特征以通过HTMLParser抓取到相应类型的新闻)。数据源的配置需要定期进行更新和维护,系统需要提供有良好的接口,尽量降低配置的难度和维护的工作量。
2) 开始一次数据采集过程:手动采集和增量采集(添加定时任务)。两者的本质都是开启网络爬虫对数据源网站根据抓取配置来执行数据获取的任务,不同的是手动采集由管理员触发后执行一次特定任务,增量采集会对部分更新频率较高的网页进行周期性的抓取以达到服务器端数据库实时更新的效果。
3) 对于数据库中的新闻信息进行分析。
4) 进入WEB页测试本地服务器和系统是否运行正常。
5) 将爬取的新闻信息以及分析的结果展示给用户。
3.3.2 普通用户用例分析
普通用户用例图如图3-2所示:
图3-2 普通用户用例图
对于普通用户,其使用场景分为五种:
1) 查看各类新闻;
2) 按关键字,时间等多条件搜索新闻;
3) 查看新闻类别分析柱状图;
4) 查看新闻小类别分析柱状图;
5) 查看新闻数量随月份的变化折线图;
6) 查看在某一天新闻数量在一天中的变化折线图。
3.3.3 综合用例分析
图3-3 系统综合用例图
该新闻爬虫系统的综合用例图如图3-3所示,普通用户可以进入该系统进行查看各类新闻、按关键字,时间等多条件搜索新闻、查看新闻类别分析柱状图、查看新闻小类别分析柱状图、查看新闻数量随月份的变化折线图、查看在某一天新闻数量在一天中的变化折线图以及进行综合分析统计操作;管理员用户具有最高权限,除了可以正常使用本系统进行系统功能测试之外,还可以进行控制系统数据源、触发一次数据采集等操作。
3.4 功能需求分析
根据上文对于用户用例的分析,可以总结出本系统的功能需求:
1) 针对管理员用户:
a) 对爬虫爬取的数据源进行便捷的管理操作,包括对数据源的增 加和删除以及对于数据抓取策略的修改;
b) 触发一次数据采集的过程,包括指定一次手动采集的过程和触 发一次定时采集的过程以实现数据的实时获取和增量获取;
c) 对于数据库中的数据进行分析;
d) 具备普通用户能够使用的所有功能,可进入WEB页测试本地 服务器和系统是否运行正常。
2) 针对普通用户:
a) 查看各类新闻:输入关键字和日期进行检索,查看当前 类型的符合条件的新闻;
b) 查看新闻类别分析柱状图:输入日期进行检索,查看 当前时间下的新闻类别分析柱状图;
c) 查看新闻小类别分析柱状图:输入日期进行检索,可查看当前时间下的小的新闻类别的数量分析柱状图;
d) 查看新闻数量随月份的变化折线图:根据输入的年份可查看当前年份中新闻发布数量随月份变化的折线图;
e) 查看在某一天新闻数量在一天中的变化折线图:根据输入的时间可查看当前日期下新闻发布数量随时间变化的折线图。
3.5 性能需求分析
本系统运行在Windows 7 Ultimate操作系统上,Web服务器选用Apache Tomcat 7.0版本,整个系统的性能指标如下:
1) 运行环境:
a) CPU:Intel Core (TM) 2 Duo E7200 @ 2.53GHz
b) 内存:3 GB ( DDR2 667MHz / DDR2 800MHz )
c) 带宽:10.0M,100M网卡
2) 运行参数:
a) 最大网络连接数:65
b) 单一主机连接数:20
3) 下载速度:(按照平均每个页面包含10条数据来计算)
a) 最高速度:200Pages/Min,平均每分钟抓取2000条记录
b) 最低速度:50Pages/Min,平均每分钟抓取500条记录
4) 页面解析速度:
a) 平均速度:1000Pages/Min
上一篇:
数据库大作业_-教务管理系统—华中科技大学
下一篇:
上海电气集团毕业实习报告