百度搜索引擎”下的“百度知道”系统的设计和实现 .doc
《百度搜索引擎”下的“百度知道”系统的设计和实现 .doc》由会员分享,可在线阅读,更多相关《百度搜索引擎”下的“百度知道”系统的设计和实现 .doc(37页珍藏版)》请在三一文库上搜索。
1、“百度搜索引擎”下的“百度知道”系统的设计和实现毕业论文 共 5 页 第 I 页 “百度搜索引擎百度搜索引擎”下的下的“百度知道百度知道”系统的设计和实现系统的设计和实现 摘摘 要要 本论文主要阐述“百度搜索引擎”下的“百度知道”系统的设计 思想和实现的关键技术。论文针对互联网使用人员共享知识解决提问 的需求,采用面向对象设计的方法和 JSP,Struts 等技术,分析、设 计并实现了百度知道系统。 该系统具有用户登录、注册,发布、回答、查询以及处理问题等 功能,测试表明该系统达到了预期的要求。 论文包括以下几个部分: 第一部分系统分析,通过对用户需求的分析,说明了 * * * *。 第二部分
2、概要设计, 设计了*,* * * *。 第三部分详细设计,设计了* * * *。 第四部分系统实现,通过*完成了*系统的*模块。达 到*。 关键字:JSP Struts 搜索引擎 (注:本文仅供参考,本文中出现的内容,不允许复制) “百度搜索引擎”下的“百度知道”系统的设计和实现毕业论文 共 5 页 第 II 页 “百度搜索引擎”下的“百度知道”系统的设计和实现毕业论文 共 5 页 第 III 页 AbstractAbstract The thesis is design of System that about Baidu Know System of Baidu Search-engine
3、. On the other hand, it expounds the part of design of model and key technology of implementation. With the requirement of the person who uses Internet to share knowledge and to resolve problems,it adopts OOP(Object Oriented Programming) and JSP, Struts technology to analyze, design and implements t
4、his system. The system includes the functions that register and question, answer, select and handle the question of user. The test of whole system shows that it has come up the expectation. The thesis mainly includes the following parts: 1. Source of the Problem. 2. Requirement and Analysis. 3. Syst
5、em Design. 4. Detailed Design. 5. System Implementation. The system is WEB development application and is based on B/S model. So that I chose the popular WEB development technology which is based on MVC development model, that is JavaBean、JSP、Servlet and I also used Struts Framework for this applica
6、tion. The development tools are mainly included Dreamweaver 8,Eclipse3.2、MyEclipse5.1. JUDE is my UML tool. The database for server is SQL server 2000. The development of application includes three part: the “百度搜索引擎”下的“百度知道”系统的设计和实现毕业论文 共 5 页 第 IV 页 databases of design、the design of web pages and th
7、e coding work. All coding of pages mainly used the JSP and Struts tags. For coding part is completely base on struts framework. Key words: JSP Struts Search engine “百度搜索引擎”下的“百度知道”系统的设计和实现毕业论文 共 5 页 第 V 页 目录(注意:行间距 25) 第一章 系统分析.1 1.1 问题来源 1 1.2 选题背景 2 1.2.1 问题定义.2 1.2.2 选题意义.2 1.3 系统功能分析.3 1.4 数据流图.
8、4 第二章 基础理论知识.6 2.1 MVC 模式概述.6 2.2 MVC 如何工作.7 2.3 Struts 概述8 第三章 概要设计.9 3.1 系统概述 9 3.2 功能分析 9 3.3 数据库分析 .11 3.3.1 实体的分析11 3.3.2 实体的属性11 3.3.3 实体之间的联系12 3.4 数据库的概念设计 .13 3.5 数据库的逻辑结构设计 .14 “百度搜索引擎”下的“百度知道”系统的设计和实现毕业论文 共 5 页 第 VI 页 3.6 数据库的物理设计16 第四章 详细设计18 4.1 数据库连接模块的创建 .19 4.2 用户模块的详细设计 .20 4.3 问题模块
9、的详细设计 .21 4.3.1 百度知道的主要功能设计21 4.3.2 百度知道的页面及主要核心算法设计22 4.4 开发工具及环境 .24 第五章 系统实现26 5.1 用户模块的实现 .26 5.2 问题模块的实现 .27 结束语.30 参考文献.31 长春工业大学人文信息学院 0441208 谭天宇 毕业论文 共 31 页 第 1 页 第一章第一章 系统分析系统分析 1.11.1 问题来源问题来源 百度,2000 年 1 月创立于北京中关村,是全球最大的中文网站 、最大的中文搜索引擎。百度每天响应来自 138 个国家超过数亿次的 搜索请求。用户可以通过百度主页,在瞬间找到相关的搜索结果,
10、这 些结果来自于百度超过十数亿的中文网页数据库。同时,用户不必访 问百度主页,也可以搜索信息。超过 20 万个搜索联盟会员,通过各种 方式将百度搜索结合到自己的网站,使用户在上网的任何时候都能进 行百度搜索。百度还提供 WAP 与 PDA 搜索服务,即使身边没有 PC 机, 用户也可以通过手机或掌上电脑等无线平台进行百度搜索。 百度知道(http:/)是一个基于搜索的互动式 知识问答分享平台,于 2005 年 6 月 21 日发布,并于 2005 年 11 月 8 日转为正式版。 和大家习惯使用的搜索服务有所不同,“百度知道”并非是直接 查询那些已经存在于互联网上的内容,而是用户自己根据具体需
11、求有 针对性地提出问题,通过积分奖励机制发动其他用户,来创造该问题 的答案。 同时,这些问题的答案又会进一步作为搜索结果,提供给其 他有类似疑问的用户,达到分享知识的效果。百度知道的最大特点, 就在于和搜索引擎的完美结合,让用户所拥有的隐性知识转化成显性 知识,用户既是百度知道内容的使用者,同时又是百度知道的创造者, 在这里累积的知识数据可以反映到搜索结果中。通过用户和搜索引擎 长春工业大学人文信息学院 0441208 谭天宇 毕业论文 共 31 页 第 2 页 的相互作用,实现搜索引擎的社区化。百度知道可以说是对过分依靠 技术的搜索引擎的一种人性化完善。 1.21.2 选题背景选题背景 1.
12、2.11.2.1 问题定义问题定义 之所以搜索引擎这么火,大家这么依赖,是因为技术的进步,搜 索引擎技术的进步非常的快。技术进步快,实际上是需求在推动。搜 索最近两年来变得这么火,实际上是需求在推动搜索技术和产业推动。 宽带越来越普及,上网越来越容易,上网的人越来越多,信息量越来 越大。现在已经是非常繁荣的大路,这里面的内容很多很多,搜索一 下初中的初恋情人,可能也会查找他的名字。 “用户提出任何一个问题,很快就会有人帮助回答,通过投票选 出的最佳答案,往往又作为搜索结果被分享到更多用户”,这一简单、 便捷的模式受到了网民的热烈欢迎,同时也改变着网民的日常生活习 惯。网友表示,“生活上一遇到解
13、决不了的问题,我第一个想到的就 是上百度知道”,目前,百度知道每天解决超过 5 万个问题,也就意 味着,通过用户的互动参与,两天时间即可编辑完成一本十万个为 什么。 1.2.21.2.2 选题选题意义意义 众所周知,百度知道已经是一套开发过并且比较成熟完善的正在 互联网上广泛使用的系统了,而之所以我选择这个系统作为我的毕业 设计主要是因为现实中的该系统是由 PHP 语言开发的,而在大学期间 的所学使我对于 Java,JSP 语言有了浓厚兴趣,一方面可以利用自己 所学的知识实现一套正规的系统,更加锻炼自己和提高自己的技术水 长春工业大学人文信息学院 0441208 谭天宇 毕业论文 共 31 页
14、 第 3 页 平,另外实用 JSP 语言版本开发与真实的系统实现方式不同也大大的 增加我开发的兴趣。所以我选择百度知道这个系统作为我的毕业设计。 1.31.3 系统功能分析系统功能分析 要开发一个应用系统,首先要了解用户对整个系统的具体要求, 确定系统应该实现的功能和系统应该具有的性能;设计应用软件时所 使用的设计平台,所开发的应用软件的运行环境;通过调查分析去了 解系统的业务流程,确定数据库设计中需要的数据结构;还要分析系 统中的数据流和长期使用的数据存储等等,这些都是需求分析中应该 完成的任务。本章采用软件工程的方法对“百度知道”模块进行了需 求分析。 “百度知道”是一个基于搜索的互动式知
15、识问答分享平台。它实 现登录用户在线提问回答并解决问题共享知识的过程。该平台的维护 为自动维护,由定义规则进行数据的维护,默认不设网站管理员角色。 1.用户角色: 普通用户(只有查询权限,无需登录) 、信息发布用户(提问和回 答问题的用户) 2.功能模块划分: (1)问题信息查询(普通用户) 1)按照问题的栏目进行问题信息查询 2)按照问题的标题内容进行问题信息的查询 3)按照问题的状态(解决,待解决)来进行问题信息的查询 长春工业大学人文信息学院 0441208 谭天宇 毕业论文 共 31 页 第 4 页 4)查询全部信息 (2)问题信息的管理(注册用户) 1)提出问题 2)对自己提出的提问
16、进行信息处理 3)回答待解决的问题 4)问题信息查询 每一个模块的功能详见总体设计。 1.41.4 数据流图数据流图 根据该系统问题的需求进行分析,使用数据流图示描述数据处理 过程。数据流图从数据传递和加工的角度,以图形的方式刻画数据流 从输入到输出的传输变换过程。数据流图是结构化系统分析的主要工 具,它表示了系统内部信息的流向,并表现系统的逻辑处理功能。 (数据流图描述数据处理过程,起点和终点必须是人,用矩形表示; 处理过程是动作,用圆角矩形表示;数据存储就是数据表,用开口矩 形表示;请大家注意请大家注意,参考软件工程书画图) 图图 1-11-1 用户模块的数据流图用户模块的数据流图 结果信
17、息用户信息注册请求游客 用户 1 接收 请求 用户表 D1 游客 用户 查询信息 问题 信息 登录 请求 回答 显 示 主 页 修改信息 注册 用户 问题表 D2 提问 显示问题 问题列表 回答 问题 注册 用户 问题表 D2 回答表 D3 注册 用户 结果 结果 修改信息 问题编号 提问请求 图图 1-21-2 问题模块的数据流图问题模块的数据流图 回答表 D3 显示问 题列表 指定 问题 回答列表 结 果 结果 长春工业大学人文信息学院 0441208 谭天宇 毕业论文 共 31 页 第 5 页 数据流图中的一些专业词汇在数据字典中解释如下: (请注意:请注意:数据字典是解释前面的数据流图
18、中出现的容易产生歧义的 词,没有数据流图只出现数据字典是毫无意义的。在数据流图中没有 的词出现在数据字典中也是毫无意义的。 ) 名字:问题列表 别名: 描述:问题列表所有问题的分类统计列表, 待解决 10 个,已解决和最佳问题各 5 个 定义:待解决问题以解决问题最佳问题 位置:百度知道首页 名字:回答列表 别名: 描述:针对某一问题的所有回答 定义:回答列表回答编号回答内容回 答者编号问题编号回答状态 位置:问题页面 名字:问题编号 别名:问题 ID 描述:唯一标识问题的字段 定义:问题编号数字 位置:问题表 长春工业大学人文信息学院 0441208 谭天宇 毕业论文 共 31 页 第 6
19、页 第二章第二章 基础理论知识基础理论知识 百度知道系统的设计采用了 JSP,Struts 框架来实现,因此从采 用了 MVC 结构模式进行开发。整个开发的过程也是完全按照 Struts 框 架结构进行的。下面了解一下 MVC 开发模式和 Struts 框架技术。 2.12.1 MVCMVC 模式概述模式概述 MVC 本来是存在于 Desktop 程序中的,M 是指数据模型,V 是指用 户界面,C 则是控制器。使用 MVC 的目的是将 M 和 V 的实现代码分离, 从而使同一个程序可以使用不同的表现形式。比如一批统计数据你可 以分别用柱状图、饼图来表示。C 存在的目的则是确保 M 和 V 的同
20、步, 一旦 M 改变,V 应该同步更新。 模型视图控制器(MVC)是 Xerox PARC 在八十年代为编程语言 Smalltalk80 发明的一种软件设计模式,至今已被广泛使用。最近 几年被推荐为 Sun 公司 J2EE 平台的设计模式,并且受到越来越多的使 用 ColdFusion 和 PHP 的开发者的欢迎。模型视图控制器模式是 一个有用的工具箱,它有很多好处,但也有一些缺点。 MVC 模式是“Model-View-Controller”的缩写,中文翻译为“模 式-视图-控制器” 。MVC 应用程序总是由这三个部分组成。Event(事件)导 致 Controller 改变 Model 或
21、 View,或者同时改变两者。只要 Controller 改变了 Models 的数据或者属性,所有依赖的 View 都会自 动更新。类似的,只要 Controller 改变了 View,View 会从潜在的 Model 中获取数据来刷新自己。MVC 模式最早是 Smalltalk 语言研究团 提出的,应用于用户交互应用程序中。Smalltalk 语言和 java 语言有 长春工业大学人文信息学院 0441208 谭天宇 毕业论文 共 31 页 第 7 页 很多相似性,都是面向对象语言,很自然的 SUN 在 potstone(宠物店) 事例应用程序中就推荐 MVC 模式作为开发 Web 应用的
22、架构模式。MVC 模式是一种架构模式,其实需要其他模式协作完成。在 J2EE 模式目录 中,通常采用 service to worker 模式实现,而 service to worker 模式可由集中控制器模式,派遣器模式和 Page Helper 模式组成。 2.22.2 MVCMVC 如何工作如何工作 MVC 是一个设计模式,它强制性的使应用程序的输入、处理和输 出分开。使用 MVC 应用程序被分成三个核心部件:模型、视图、控制 器。它们各自处理自己的任务。 1.视图 视图是用户看到并与之交互的界面。对老式的 Web 应用程序来说, 视图就是由 HTML 元素组成的界面,在新式的 Web
23、应用程序中,HTML 依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们 包括 Macromedia Flash 和类 XHTML,XML/XSL,WML 等一些标识语言和 Web services。 2.模型 模型表示企业数据和业务规则。在 MVC 的三个部件中,模型拥有 最多的处理任务。例如它可能用像 EJBs 和 ColdFusion Components 这 样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模 型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用 于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的 重复性。 3.控制器 长春工业大学
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 百度搜索引擎”下的“百度知道”系统的设计和实现 百度 搜索引擎 知道 系统 设计 实现
链接地址:https://www.31doc.com/p-2173767.html