基于web的新闻采集系统_第1页
基于web的新闻采集系统_第2页
基于web的新闻采集系统_第3页
基于web的新闻采集系统_第4页
基于web的新闻采集系统_第5页
已阅读5页,还剩76页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 *大学学院工学学士学位论文(设计)题目:基于web的行业新闻采集系统学 号: 姓 名: 院 (系): 信息工程学院 专 业: 信息管理与系统 完成日期: 2011.12.20 指导老师: *大学学院工学学士学位论文 摘要摘 要随着互联网的飞速发展,信息时代的到来,面对网络上泛滥的新闻信息,而采集和过滤一些有用的信息对于我们来说是十分重要的。行业新闻采集系统是将非结构化的新闻文章从多个新闻来源网页中抽取出来保存到结构化的数据库中的过程。尤其是对于大型门户网站,比如新浪,腾讯他们每天的网站信息都更新,而且范围很广,全国各地,甚至全球发生的信息都能每天看到更新,而他们正是利用采集系统从各大媒体网站

2、,外国网站采集过来的。因此,信息的采集至关重要。一般的网站新闻发布平台都是采用人工输入信息,对于中小型网站这样的工作量很算可以,但是网站大了,信息就很庞大了,像那种分类信息网,更新的工作就变得很复杂,如果有专门的类似搜索引擎能检索采集到最新的相关信息然后发布在自己的网站上,因此建立专门的行业新闻采集系统,从相关网站采集有效的新闻信息可以减少很多工作量,而且可以有效的进行修改和过滤工作。目前比较有名的采集系统有火车头,视采新闻采集器2、万能新闻采集器、新浪新闻采集器。关键字:信息采集;行业新闻采集;.net;sql server ii*大学学院工学学士学位论文 abstractabstractw

3、ith the rapid development of the internet, the advent of the information age, face the flood of news information network, and the collection and filter some useful information for us, it is very important. news gathering system is will unstructured news articles from multiple sources of news page ex

4、tracted saved to the structural database in process.especially for large web portal, such as sina, tencent every day they website information updates, and the range is very wide, all over the country, and even the global happened to see update information every day, and they are the use of acquisiti

5、on system from the major media web site, foreign web site collected.therefore, the collection of the information is very important. the general web news release platform are using artificial input information, for small and medium website such workload is calculate can, but the site is big, the info

6、rmation is very big, like the classification and information network, update the work is very complex, if have special similar search engine can retrieve collection to the latest information and then released on his website, thus establishing special collection system, from related website collectio

7、n effective news information can reduce a lot work load, and can effectively modified and filter work. at present more famous collection system has a locomotive, depending on the mining news terminal 2; universal news collector; sina news collector.keywords: news collection;information collection;.n

8、et;sql server*大学学院工学学士学位论文 目录目录摘 要iabstractii摘 要iabstractii第一章 引 言11.1 课题背景11.2 开发系统的意义11.3 课题名称21.4 问题描述2第二章 可行性研究32.1 经济可行性32.2 技术可行性32.3 开发工具简介42.4 工厂模式三层架构介绍6第三章 系统分析103.1 功能需求103.2 性能需求103.3 运行需求103.4 数据流图113.5 用例图123.6 数据字典163.7 概念结构设计183.8 逻辑结构设计203.9 数据库主要表结构说明223.10 物理结构设计23第四章 总体设计264.1 总体

9、功能模块设计264.2 模块功能细化26第五章 详细设计295.1 活动图295.2 序列图345.3 类图39第六章 编码466.1 ado.net的使用466.2前台技术566.3系统运行界面616.4 采集管理功能实现626.5 入库管理功能实现666.6 新闻管理实现686.7 新闻类别管理696.8 用户管理实现716.9 权限管理72第七章 系统测试767.1 测试目的767.2 测试方案76总 结78参考文献79致 谢80附 录81附录一 系统使用说明书81附录二:信息采集8325*大学学院工学学士学位论文 引 言第一章 引 言1.1 课题背景信息自古就有无限的价值,随着时代的不

10、断发展,人类不知不觉已经来到了信息时代,各行各业都充斥了无数的信息,而信息的价值就在于信息的流通,如果信息能够及时的流通和传递起来,才能发挥信息真正的不可比拟的价值。在市场经济条件下,信息已经成为一种极其重要的商品。信息社会通常被定义为信息生产和消费的集中。信息集中度取决于对信息的需求以及此需求被满足的程度。因此,一种看待信息社会是否形成的方法是评价信息的交换强度及信息内部流动的持久性。那么,什么是信息价值?它的价值如何确定?这些问题已成为当今信息社会所面临的最基本问题之一。近年来,行为经济学把经济学理论和心理学理论结合起来研究信息的主观价值,取得了一定的成果。这些研究成果对于我们认识了解信息

11、价值的确定和市场经济条件下人们对信息的需求特性,具有重要的启示作用。 如何从海量信息中收集有价值的信息资料,并进行分析研究,形成企业各种决策的依据,是信息人员及市场研究人员所面临的一个问题。信息必须经过汇总、整合、分析才能产生价值,零散的信息只能是新闻性的,无法体现真正的商业价值。 对于企业以及信息分析人员来说,一方面要在大量的信息中过滤出有效的价值点,同时又要降低获取相应信息的成本,使信息的实际使用价值大于收集、分析信息等过程所产生的成本,使信息为企业的决策带来增值价值。21世纪是信息时代,掌握了迅速便捷的信息就能在激烈的竞争中占取主动,而正是信息的这种金子般的价值也注定了信息本身就是一个行

12、业一个产业。而这种行业将为社会做出巨大的贡献,所以我这个课题就是关于收集共享信息的。1.2 开发系统的意义我要完成的设计能够通过各种手段来收集各行业的一些杂乱庞大的信息,并总结分析出许多有用的有价值的信息。例如我们对一个行业的众多企业收集他们的企业的各种信息,小到工人日常支出,大到企业年产值及企业竞争力。少数的信息看起来并没有什么价值,但是一旦我们能够获取到整个行业大部分重要企业的大量信息,并且这种信息是可以实时更新的,我们就会发现,通过各种数据的分析排名,我们可以了解到数据背后的东西,例如可以根据工人的平均工资来了解到某个行业中工人待遇的企业排名。可以根据企业的总产值的排名来大概了解在这个行

13、业中企业的竞争力的排名。像这些经过分析处理过的信息才是真正有价值的信息,当然信息的处理可以根据使用者自身的需求来选择处理信息的方式,例如一些函数的组合或者是统计学方法。总之,通过这个网站,对于行业的数据采集分析并形成有巨大的价值的过程有着很大的推进的意义。这个课题,其实原理和方法都是简单通俗易懂的,但是改变人们生活方式,推动社会进步的恰恰是那些简单的发明创造,当然这个课题可能达不到这样的高度,但这样的尝试是非常有价值的。因为它架设起来容易,复杂的使我们具体去操作,例如收集企业信息,我们可以通过与政府的合作来收集,也可以通过问卷调查来收集,还可以让企业自己登陆我们的网站来添加信息。在日新月异的信

14、息时代,掌握信息的快速流通手段,在某种程度上我们就走在了时代行业的前列,所以我想这个课题在某种程度上有着划时代的意义。像这种课题,在国外发展已经非常成熟,在国内则刚刚起步,例如国外的福布斯排名,国内的胡润排名,所以,从商业上看,这个行业还是非常有前途的。1.3 课题名称课题名称:基于web的行业新闻采集系统。1.4 问题描述本课题所设计的目标是行业新闻采集系统(web news collection system),采用internet/intranet方式,是基于浏览器/服务器的管理系统,它由客户在客户端通过浏览器访问服务器上的系统的应用程序,进行网页信息采集,帅选,审核,入库等一系列操作。

15、 *大学学院工学学士学位论文 第二章 可行性研究第二章 可行性研究基于web的行业新闻采集系统是基于b/s模型的设计理念的系统,它能提供批量采集指定站点,编辑采集项目,帅选和审核入库功能,现就其可行性如下:2.1 经济可行性首先,由于现在的企业的迅速发展使得企业每天的业务量、工作量是越来越大。而且应对企业宣传、人员招聘、产品宣传等工作,处理和传递信息,企业往往需要增加宣传、招聘服务人员,以提高工作效率,这无疑会大大增加企业的成本,而且这个费用开支是持续、递增的。而开发一个简单的通用的采集系统能够整合到一般的网站项目中,代替人工输入,大大减少劳动力和成本。其次,如果说建设大型的专业性的网站平台,

16、需要企业斥资聘请专业的团队定制和管理,那么对于功能需求相对普及化的中小型站点,就没有能力也没有必要付出这么昂贵的代价。对于一般性的中小型网站建设,完全可以花费很少的资本,选择合适的采集系统进行搭建,从而以较少的投入获得较高的效益。总的来说,开发一个这样的系统费用不是很高,而系统带来的方便和效益是原始操作方式所无法比拟。而且是一劳永逸的事情。从经济上考虑,本采集系统是可行的。2.2 技术可行性 本系统采用微软的面向对象语言c#,加上b/s架构语言asp.net 。 本系统将很好地和各种类型的信息网站整合,并且可以二次开发,自定义功能配置 。 采用本系统只需添置低档计算机,如果条件允许,可以使用p

17、4以上配置。 采用本系统不会对现有软件会产生冲突。 用户只需要短时间来熟悉本系统。 利用好现有技术和人员,完全可以实现预期目标。2.3 开发工具简介2.3.1关于visual studio 2010图2-1 vs 架构图chart2-1 vs framwork architecturevisual studio 2010 提供了高级开发工具、调试功能、数据库功能和创新功能,帮助在各种平台上快速创建当前最先进的应用程序。 visual studio 2010 包括各种增强功能,例如可视化设计器(使用 .net framework 4.0加速开发)、对 web 开发工具的大量改进,以及能够加速开发

18、和处理所有类型数据的语言增强功能。visual studio 2010 为开发人员提供了所有相关的工具和框架支持,帮助创建引人注目的、令人印象深刻并支持 ajax 的 web 应用程序。 开发人员能够利用这些丰富的客户端和服务器端框架轻松构建以客户为中心的 web 应用程序,这些应用程序可以集成任何后端数据提供程序、在任何当前浏览器内运行并完全访问 asp.net 应用程序服务和 microsoft 平台。 快速的应用程序开发为了帮助开发人员迅速创建先进的软件,visual studio 2010 提供了改进的语言和数据功能,例如语言集成的查询 (linq),各个编程人员可以利用这些功能更轻松

19、地构建解决方案以分析和处理信息。 visual studio 2010 还使开发人员能够从同一开发环境内创建面向多个 .net framework 版本的应用程序。开发人员能够构建面向 .net framework 2.0、3.0 或 3.5及4.0 的应用程序,意味他们可以在同一环境中支持各种各样的项目。 突破性的用户体验visual studio 2010 为开发人员提供了在最新平台上加速创建紧密联系的应用程序的新工具,这些平台包括 web、windows vista、office 2007、sql server 2008 和 windows server 2008。对于 web,asp.

20、net ajax 及其他新技术使开发人员能够迅速创建更高效、交互式更强和更个性化的新一代 web 体验。 高效的团队协作visual studio 2010提供了帮助开发团队改进协作的扩展的和改进的服务项目,包括帮助将数据库专业人员和图形设计人员加入到开发流程的工具。2.3.2关于asp.net2001年,微软在前面三个版本的asp基础上,推出了全新的asp.net,它开始抛弃前面三个版本都在使用的脚本语言,而是使用visual basic.net作为它的默认语言。与asp程序是解释执行的不同,在asp.net中,所有的程序执行都是经过服务器编译的,在执行效率上有很大的提高,也更稳定。其结构也

21、与前面的版本大相径庭,几乎完全是基于组件和模块化的,web应用程序的开发人员使用这个开发环境可以实现更加模块化的、功能更强大的应用程序。2.3.3关于sql server 2005 sql server 2005是一种高效的关系数据库系统。用户通过sql server 2000提供的各种管理和维护工具,可以方便、灵活、快捷地实现对数据的管理、分析和维护;同时,sql server 2005还提供了以web标准为基础的可扩展数据库编程功能和支持大量的xml和internet标准,允许用户通过系统内置存储过程和xml格式来存储和检索数据。sql server 2005凭借其高度的可靠性和可伸缩性,

22、已成为建立企业级应用系统的优秀平台。sql server 2005的程序设计模型与windows dna(分布式因特网应用程序体系结构)密切集成,可用以开发web应用程序,而且sql server 2005支持英语查询(english query)和microsoft搜索服务等功能,在web应用程序只能感包含了友好的查询和强大的搜索功能。2.4 工厂模式三层架构介绍一、什么是三层结构 在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问层、业务逻辑层(又或成为领域层)、表示层 二、三层结构的优点 1、开发人员可以只关注整个结

23、构中的其中某一层; 2、可以很容易的用新的实现来替换原有层次的实现; 3、可以降低层与层之间的依赖; 4、有利于标准化; 5、利于各层逻辑的复用。 图2-1 文档结构图chart2-2 document architecture三、分层式结构缺陷: 1、降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。 2、有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。 四、三层架构的适用场合 一般适合

24、于中大型项目,比较小型的项目一般不建议采用三层架构三层架构(3-tier application):通常意义上的三层架构就是将整个业务应用划分为:web表示层(ui)、业务逻辑层(bll)、数据访问层(dal)。区分层次的目的即为了“高内聚,低耦合”的思想。在asp.net下进行数据的开发,运用三层架构可以让代码的可读性和功能的扩展性有很好的提高。首先图2-3 三层架构图chart2-3 three-tier architecture上图是普通三层架构模型,页面层没有直接和数据库关联,而是通过业务逻辑层访问数据访问层,而数据访问层是具体的实现,只能访问某一类数据库类型。考虑到可能用于不同的数据

25、库环境,因此采用工厂模式的三层架构 图2-4 工厂三层架构图chart2-4 factory three-tier architecture界面层没有直接访问数据库,而是访问业务逻辑层,并且可以通过工厂动态切换到不同的数据库,只要都实现idal访问接口就可以,其中工厂创建不同的数据库时用到了反射技术,只需要调用dll类型的程序集,每次访问都将缓存起来,减轻服务器的压力。*大学学院工学学士学位论文 第三章 系统分析第三章 系统分析3.1 功能需求 能够实现文章(包括分类新闻)的发布,并实现查询、修改、删除等功能; 能够对管理员用户的添加,删除,修改功能; 能够入库的新闻进行查询、修改、删除功能;

26、 对新闻类别,添加分类,进行查询、修改、删除等功能; 能够添加采集项目,设置采集参数,并能修改和添加; 能够进行列表页链接参数的修改、添加、删除等; 设置不同的管理和操作权限,并且分配给用户。3.2 性能需求 时间特性一般操作的响应时间应在1-2秒内,对软磁盘响应时间也应在可接受的时间内完成。 灵活性当用户需求,如操作方式,运行环境,结果精度,数据结构于其他软件接口等发生变化时,设计的软件要做适当调整,灵活性非常大。3.3 运行需求 用户界面使用browser-server架构,在客户端不需要安装专门的程序,用户使用时就像在浏览网页一般,非常容易上手。 硬件接口支持一般奔腾133,16兆以上内

27、存的pc机。 软件接口 运行在microsoft windows系列平台上 故障处理在开发阶段可以随时修改数据库里的相应内容。3.4 数据流图管理员登录系统之后,首页进入每个页面操作之前都会判断有没有想应的权限,然后可以进行六大栏目的管理,分别是采集管理,入库管理,用户管理,新闻挂历,类别管理,权限管理。核心部分是采集管理,管理员首先添加采集项目,设置站点,采集列表页地址,然后进行采集,采集完成之后进入入库管理栏目,审核相关采集的新闻,然后选择是否删除和添加入库。入库完成之后就进入了新闻管理栏目,可以对新闻进行更新,删除操作。类别管理是管理对新闻进行分类,比如有体育新闻,娱乐新闻等类别的添加和

28、删除,修改操作。用户管理是添加删除,修改用户操作。添加用户后要进行权限的分配,进入权限管理栏目,可以对用户进行权限赋值操作。图3-1 总体数据流图chart3-1 whole dfd3.5 用例图3.5.1类别管理用例管理员输入账号密码之后登陆系统,根据权限可以进行查看添加删除,修改类别的操作。 图3-2 新闻类别,新闻管理用例图chart3-2 class、news 3.5.2用户管理用例系统用户登录后判断是否有查看用户账号和密码的权限,如有可以进行查看,但是添加删除权限也是要判断的。普通用户只能查看个人账号密码,而超级管理员才具备查看全部,添加删除和修改的权限。图3-3 管理员管理用例图c

29、hart3-3 user illustration3.5.3入库管理用例系统用户登录之后,判断是否有相应操作权限,可以对入库的新闻进行入库操作,入库之前可以删除新闻,入库之后会清除入库新闻表。图3-4 入库管理用例图chart3-4 import database illustration3.5.4采集管理用例系统用户登录之后,首先判断权限,然后根据拥有的权限可以进行添加采集站点,添加采集列表,添加采集链接地址,编辑列表,编辑站点,采集测试,删除采集项目操作。图3-5 新闻采集管理用例图chart3-5 collect illustration3.5.5权限管理用例普通管理员只有查看相应权限,

30、而超级管理员可以修改系统用户的权限值。图3-6 权限管理用例图chart3-6 role illustration3.6 数据字典在数据流图的基础上,定义数据字典。数据字典是关于数据库中数据的描述,它的作用是在软件分析和设计过程中为有关人员提供关于数据描述信息的查询,以保证数据的一致性。下面举例说明数据字典的定义。名字:新闻别名:无描述:定义新闻的相关内容,可唯一地确定一次新闻记录定义:新闻=新闻id+文章名称+文章内容+文章发布者+文章发布时间+文章分类+文章来源+关键字+文章图片+简介+是否有图片+静态标签+添加时间位置:存储于新闻信息表,输出到新闻编辑名字:新闻分类别名:无描述:定义新闻

31、的具体分类定义:类别=分类id+分类名称+父类id+显示顺序位置:分类信息表名字:采集项目别名:无描述:定义有关采集的相关信息定义:采集项目=id+ 类别id+采集名称+网站地址+网站名称+网页编码+项目标记+列表页地址+列表页开始标记+产列表页结束标记+链接开始+链接结束+标题开始+标题结束+关键字开始+关键字结束+日期正则+来源正则+内容开始+内容结束+下一页开始+下一页结束+下一页正则+过滤标记+是否保存图片+排序id+采集状态位置:存储于数据库采集项目表,输出到采集项目编辑名字:用户别名:无描述:定义用户信息定义:用户 = 用户id+账号+密码位置:用户信息表名字:用户权限表别名:无描

32、述:定义用户的权限定义:用户权限 =权限id+用户id+权限值位置:权限表,输出到权限编辑名字:待审核入库新闻表别名:无描述:定义新闻的信息定义:入库新闻= 新闻信息表的定义位置:待审核入库新闻表3.7 概念结构设计3.7.1实体图图3-7管理用户实体图 图 3-8 用户权限实体图chart3-7 entity chart of user chart3-8 entity chart of roles图 3-9 新闻分类实体图chart3-9 entity chart of class图 3-9 新闻实体图 图 3-10 采集项目实体图chart3-9 entity chart of news

33、chart3-10 entity chart of collitem图 3-11 待审核新闻实体图chart3-11 entity chart of collect3.7.1总体数据实体关系图e-r图由3个相关联的部分构成,即实体、实体与实体之间的关系以及实体和关系的属性。图3-6 总体e-r图chart3-6 whole e-r chart of the system3.8 逻辑结构设计本阶段把上一阶段得到的er图转化为关系模型,根据转换规则以及范式理论,得到市场管理和客户服务管理部分的如下几个关系模式(下划线表示主键):图3-7 总体数据表chart3-6 whole tables of

34、the systemclass(id,classname,parentid,orderby);news(id,classid,title ,author ,source ,addtime ,txtcontent ,keyword ,about ,strimg ,createhtml ,isimg,datetime);collect(id,classid,title ,author ,source ,addtime ,txtcontent ,keyword ,about ,strimg ,createhtml ,isimg,datetime);collitem (id,itemname ,cla

35、ssid ,webencode ,webname ,weburl ,itemremark ,listurl ,liststart ,listend ,linkstart ,linkend ,titlestart ,titleend ,keywordstart ,keywordend ,dateregex ,sourceregex ,contentstart ,contentend ,removebodystart ,removebodyend ,nextpageregex ,script_iframe,script_object ,script_script,script_div,script

36、_table ,script_span ,script_img ,script_font ,script_a ,script_html,collecnum ,issaveimg ,isdesc ,state)roles(id,userid,rolearg);user(id,username,userpwd)3.9 数据库主要表结构说明l 新闻表(news)新闻id(主键),文章名称,文章内容,文章发布者,文章发布时间,文章分类,文章来源,关键字,文章图片,简介,是否有图片,静态标签,添加时间l 分类表(class)id(主键),分类名称,父类id,排序l 用户表(user)id(主键)、账号、

37、密码l 权限表(roles)id(主键),用户id,权限值l 采集新闻表(collect)新闻id(主键),文章名称,文章内容,文章发布者,文章发布时间,文章分类,文章来源,关键字,文章图片,简介,是否有图片,静态标签,添加时间l 采集项目表(collitem)id(主键)+ 类别id+采集名称+网站地址+网站名称+网页编码+项目标记+列表页地址+列表页开始标记+产列表页结束标记+链接开始+链接结束+标题开始+标题结束+关键字开始+关键字结束+日期正则+来源正则+内容开始+内容结束+下一页开始+下一页结束+下一页正则+过滤标记+是否保存图片+排序id+采集状态3.10 物理结构设计通过对以上关

38、系模式、数据流图、数据字典的分析,我们采用sql server 2005来做后台数据库系统,在此对数据库表格设计如下:表3-1 类别表table 3-1 class表3-2 新闻信息表 表3-3 用户表 table 3-2 news table 3-3 user 表3-4 采集项目表 table 3-4 collitem 表3-5 采集新闻表 表3-6 权限表 table 3-5 collect table 3-6 roles *大学学院工学学士学位论文 第四章 总体设计第四章 总体设计4.1 总体功能模块设计层次结构图如图4-1所示:图4-1 系统层次结构图 layer structure

39、chart of the system4.2 模块功能细化采集系统的基本功能包括:文章信息管理、企业信息管理、基本信息管理、管理员信息管理、产品信息管理、招聘信息管理等。现就各个模块的主要功能分析如下:4.2.1 新闻类别管理类别管理主要提供文章信息的录入、查询、修改、删除等功能。可以无限极分类新闻,并且成树状展开。4.2.2新闻管理新闻管理主要是对各类新闻的修改、删除。4.2.3 用户管理用户管理包括添加和删除修改账户密码,并且只有超级用户才能查看和添加管理员的功能。4.2.4 权限管理权限管理主要是当前所有用户的权限进行查看和分配功能。对于不同的用户所分配的权限是不同的,一般分为普通管理员

40、和超级用户,普通用户只能采集,入库,新闻和类别管理,而超级用户权限最大,可以管理用户和权限设置。4.2.5入库新闻管理待入库新闻的审核然后直接入库和批量入库管理,并且清空采集列表。4.2.6采集管理包括用户管理和修改密码。用户管理是高级管理员对初级管理员的修改或者删除,修改密码是管理员修改自己密码。*大学学院工学学士学位论文 第五章 详细设计第五章 详细设计通过详细设计,我们将要设计出程序的“蓝图”,得出对目标系统的精确描述。本系统在详细设计阶段,采用过程设计工具程序流程图来对系统控制流程、处理功能、数据组织等细节进行设计。程序流程图又称为程序框图,其优点是对控制流程的描述非常直观。而且,程序

41、流程图历史悠久,为最广泛的人所熟悉。5.1 活动图5.1.1 新闻活动图图5-1 新闻活动图chart5-1 news activity diagrams5.1.2 新闻类别活动图图5-2 新闻类别活动图chart5-2 class activity diagrams5.1.3采集项目活动图图5-3 采集活动图chart5-3 colletion activity diagrams5.1.3 采集活动图图5-4 入库活动图chart5-4 collitem activity diagrams5.1.4 用户活动图图5-4 用户活动图chart5-4 user activity diagrams

42、5.1.5权限活动图图5-5权限活动图chart5-2 roles activity diagrams5.2 序列图5.2.1用户管理图5-6 用户管理序列图chart5-6 user sequence diagram5.2.2 新闻类别管理图5-7 新闻类别序列图chart5-7 class sequence diagram5.2.3新闻管理图5-8 新闻管理序列图chart5-8 news sequence diagram5.2.4采集管理图5-9 采集管理序列图chart5-9 colletion sequence diagram5.2.5采集入库管理图5-10 入库序列图chart5-

43、10 warehousing sequence diagram5.2.6 权限管理图5-11 权限序列图chart5-11 roles sequence diagram5.3 类图由于本系统是采用工厂模式的三层架构设计,分为工厂层,接口层,数据库访问层,业务逻辑层,实体层,还有其他辅助的层。5.3.1接口层类图对于数据库中6张表有六个接口类相互之间是独立的,接口只包括对数据库的增,删,查,改四种最基本的操作。图5-12 接口图chart5-12 interface diagram5.3.2工厂类图包括两个类,一个是加载具体实现的数据库访问层程序集的dataaccess类,利用发射工厂动态创建对

44、应的业务逻辑层得实例,还有一个是datacache数据缓存类,提供缓存的属性处理。图5-13 工厂类图chart5-13 factory class diagram5.3.3数据库访问层对接口层的具体实现,包括6个类,还有一个是数据库链接字符串获取的类,提供其他类的调用图5-14 数据访问类图chart5-14 data access class diagram5.3.4业务逻辑层类图是对数据库访问层得进一步封装调用,包括6个类图5-15 业务访问类图chart5-15 business access class diagram5.3.5数据库通用辅助层图5-16 数据公用模块访问类图char

45、t5-16 dbutility class diagram其中dbhelpersql是对sql server 2005数据库的具体访问实现,是抽象类,不能实例化,但可以作为其他类得基类进行继承。5.3.6实体层类图实体层中的属性名称跟数据库的表是一一对应的。图5-17 实体访问类图chart5-17 model class diagram5.3.7页面辅助层类图图5-18 界面辅助类图chart5-18 webui class diagram所有的aspx页面都继承自managepage类,其中包括身份验证,权限验证和友好的操作提示js处理;而collection,collecthelp是对采

46、集功能的具体封装,前台的采集功能都是采用这里的封装的方法;menu和menulink是对权限菜单的封装,可以访问xml的菜单树文件,实现加载树形菜单的权限管理;76*大学学院工学学士学位论文 第六章 编码第六章 编码6.1 ado.net的使用本系统在进行数据库访问时使用的是ado.net,它不是ado的一个简单升级版本,而是一个全新的数据库访问策略,在ado.net中,使用的是数据存储的概念,而不是数据库的概念,也就是说,ado.net不但可以处理数据库中的数据,还可以处理其他数据存储方式中的数据,例如xml格式、excel格式和文本文件的数据。本系统使用了ado.net专为sql serv

47、er设定的命名空间,system.data.sqlclient。在ado.net中,建立数据库连接的方法如下:获取配置文件中的链接字符串是写在dbutility下的pubconstantweb.config配置文件/ / 获取连接字符串 / public static string connectionstring get string_connectionstring = configurationmanager.appsettingsconnectionstring; stringconstringencrypt = configurationmanager.appsettingscons

48、tringencrypt; if (constringencrypt = true) _connectionstring = desencrypt.decrypt(_connectionstring); return _connectionstring; 其中对连接字符串进行了加密处理,防止sql 数据库的注入本系统采用工厂模式三层架构,在建立数据库连接后,数据库的增加删除修改等一系列操作封装在dbutility下面,由于我们这里采用sqlserver 数据库,因此写在dbhelpersql.cs文件 一般进行数据库的操作前,防止逻辑错误,需要判断,某些字段和表是否存在,保持数据的完整性。 1.公用方法 / / 判断是否存在某表的某个字段 / / 表名称 / 列名称 / 是否存在 public static

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论