加速知识积累的问答网站设计与实现 学位论文.docx
- 文档编号:17294385
- 上传时间:2023-07-23
- 格式:DOCX
- 页数:31
- 大小:597.86KB
加速知识积累的问答网站设计与实现 学位论文.docx
《加速知识积累的问答网站设计与实现 学位论文.docx》由会员分享,可在线阅读,更多相关《加速知识积累的问答网站设计与实现 学位论文.docx(31页珍藏版)》请在冰点文库上搜索。
加速知识积累的问答网站设计与实现学位论文
加速知识积累的问答网站设计与实现
[摘要]当前计算机网络发展迅速,本系统结合一些问答网站的功能,进行分析设计,实现了用户注册登录,提出问题,回答问题,查询问答记录等基础问答功能。
此外,为了实现加速知识的目标,本系统特别添加了用户个人问答管理功能和问题展示功能,进入个人管理界面可以查询提出问题和回答问题的历史记录。
问题展示功能简洁的向用户展示优质问题推荐,显示待解决的问题和目前用户积分排行。
本系统采用积分排行的方式激励用户积极学习和共享知识。
通过这几个方面的功能来实现加速知识积累的问答网站系统。
本系统采用JSP技术,SSH框架搭建,另有以下创新功能:
通过AJAX异步技术来实现问题输入的查询、问题分类查询等。
本系统对于加速知识积累有着极大的帮助,能为需要的用户提供定向的知识积累作用。
[关键字]问答系统知识积累AJAXJSP
Designandimplementationofthequestionansweringwebsitetoaccelerateknowledgeaccumulation
[Abstract]Thecomputernetworkisdevelopingrapidlynow,ThissystemcombinessomeoftheQ&Asitefeatures,analysisanddesign,userregistrationlogin,askquestions,answerquestions,inquiriesandotherbasicquestionsandanswersquestionsandanswersrecordedfunction.Furthermore,inordertoacceleratetherealizationofknowledgeThegoalofthissystemisparticularlyuseraddpersonalquizshowmanagementfeaturesandfunctionalityissuesintopersonalmanagementinterfacecanbequeriedtoaskquestionsandanswerquestionsofhistory.Problemsdisplayfunctionshowfeaturesconcisedisplayqualityissuesrecommendedtotheuser,displayproblemtobesolvedandthecurrentuserintegralranking.Thisrankingsystemusesintegralwayencourageuserstoactivelylearnandshareknowledge.ThroughtheseaspectsoffunctionalitytoachieveacceleratedaccumulationofknowledgeQ&Asitesystem.ThesystemusesJSPtechnology,SSHframeworktobuild,andanotherthefollowinginnovativefeatures:
throughasynchronousAJAXtechnologytoachievetheprobleminputquery,questionclassificationinquiries.Forthissystemtoacceleratetheaccumulationofknowledgehasagreathelptoprovideorientationfortheroleofknowledgeaccumulateduserneed.
[Keywords]QuestionAnsweringSystemInformationRetrievalAJAXJSP
第一章引言
本章主要介绍本系统的研究背景分析与设计概要,通过背景分析来阐述该系统的研究意义与发展现状,从课题要实现的目标来进行设计分析概要,对本系统进行一个介绍。
1.1背景分析
随着互联网的快速发展,用户交换和分享信息的途径也越来越多样化,用户的信息需求也不断提升,传统的信息获取方式已难满足用户精准的信息需求[]。
“网站”是一种网络上的新兴媒体,通过Internet已经成为一个实时的,多媒体的信息传播渠道。
中文互联网世界已经出现了知乎,XX知道,天涯问答等一批网络问答网站或社区,这些网站的出现代表学习知识已经不再依赖于传统媒介而是转向更为方便的互联网。
截至到2013年9月,XX知道己累计解决5亿多个问题,约有5000万贡献答案的用户,平均每个闽题都有超过两个人回答[]。
腾讯旗下的捜搜问问化则已收录上亿条已解决问题,同时在线人数超过千万。
相关数据表明,2008年2月至7月,XX知道月访问量在XX捜索月访问量中占比超过12%,腾讯捜捜问问对腾巧捜索的月访问次数贡献率也达30.1%[]。
尽管他们在信息传播率上有着无与伦比的效率,但是也因为网络世界信息繁杂往往伴随着大量的无意义信息,问题与答案的质量参差不齐,不过瑕不掩瑜,问答的网站的出现确实在解决问题积累知识方面有无可替代的效率,人们越来越倾向于通过网络获取知识。
问答社区倡导开放性,这些问题的答案将加入问答社区的资源库中,满足其他用户需求,这到知识共享的目的。
[]针对对不同分类下的各类问题的问答,问答网站的用户可以积累起专门领域的大量知识,再通过等级表现出价值与信用,便于用户认可回答者。
通过对答题者的限制或让用户自己认可答案来达到回答问题的目的,以知识分享为首要目的。
通过明确的问答定位与搜索网站以及论坛网站区分开,知识问答网站就是这样一个系统。
基于积累知识的目的,在老师的指导下我设计了这个问答网站,能够提供一个释疑答惑的功能,用户可以将自己有疑问的知识点放在网站上,然后其他用户能够为其解答,对于问题进行栏目划分分清类别,此外能够对用户进行等级分级来达到划分用户知识积累程度,对于提问与回复作为关键功能进行开发设计。
AJAX是与服务器交换数据并更新部分网页的艺术,在不重新加载整个页面的情况下,本系统采用AJAX通过在后台与服务器进行少量数据交换,就可以试网页实现异步更新,很多AJAX实例比如新浪微博、Google地图等都是使用了AJAX技术,能过创造动态性极强的web页面,也能降低服务器压力。
通过采用AJAX技术,运用JSP技术开发一个能够有效积累知识,方便大家交流疑问的WEB网站是很有意义的。
1.2设计概要
1.2.1研究目标
根据人们对于知识答疑的需求进行分析总结,对此进行业务需求的提取,开发出知识问答网站,本系统将借鉴于各类问答网站,对于知识的共享与累积进行专门分析,针对分领域的知识开发一个能够加速知识积累的问答网站,使用户能够实际有效的通过本网站进行知识的积累与解惑,旨在能够节约用户大量时间去查阅资源,能更快速有效的去获得问题的答案。
1.2.2研究内容
问答网站以实现各类问题的信息传递为目的,方便用户间知识共享与积累,主要研究目标如下:
(1)数据库管理系统的开发;
(2)基于SSH技术,以MYSQL数据库为后台;
(3)问答网站的总体框架设计;
(4)用户注册登录,发布问题,回答问题,个人信息管理等功能;
(5)其他扩展元素。
1.2.3设计流程
通过查阅相关文档,参考书籍,并下载安装搭建开发环境,另外对于已有的问答网站进行分析借鉴,同时分析实际问答模式,进行模拟问答来提取实体,进行需求分析,制定功能与设计大体方案。
根据软件工程知识,大致先分为三个阶段:
需求分析,技术准备,编程测试。
需求分析阶段是一个软件生命的起点,首先要进行需求调研,这是需求分析最重要的一环,通过对现有问答网站的模式进行分析,再与同学沟通之后模拟出各个角色和流程,提取出核心的需求死需求调研的关键。
所谓的需求分析是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。
通过定位清楚本系统的角色与适用对象,了解用户的实际适用流程,分析提问与回答的时候系统的活动过程,做好数据库的设计就是需求分析应该要做到的。
技术准备方面,确定了使用JSP技术来进行网站开发,使用MYSQL数据库并应用AJAX技术。
具体一些技术要求如下:
Strust+Spring+Hibernate集成框架,了解AJAX工作原理并运用到网站建设中去,MYSQL的应用。
编程测试是实际开发阶段,根据需求分析阶段得到需求去划分功能模块,然后针对各模块进行逐一编程测试,最后将各个功能整合到一起,进行完成的系统测试。
1.2.4难点分析
由于互联网的普及,作为主要其主要载体文字的提炼,知识的传播需求得到了大大的提升,因此搜索引擎、问答网站、学习网站等等传播知识的网站比比皆是,这是一个比较成熟的系统,虽然可借鉴的地方很多,但是如何做出特色却是一个难点,毕竟受限于视界,能做出创新的地方很少,因此把其用作与固定领域国定圈子内的问答网站是一个更好的选择。
把本网站定位与一个互动式的分享社区,类似于知乎网一样,期望以关系社区形式,帮助用户寻找答问题和答案的网络问答社区[]。
1.3本章小结
本章通过对课题的分析,进行调查分析,大致了解了课题研究的背景,问答网站的发展与现况。
结合这些调查再进行粗略的系统设计分析,建立了一个基本的设计概念。
第二章开发环境与相关技术
本章介绍了搭建本项目需要的开发环境以及相关技术的概述,本项目使用MYSQL作为数据库,在MYECLIPSE10上搭建SSH框架。
另外使用AJAX技术完善系统。
2.1开发环境搭建
1)安装MYECLIPSE10
2)安装MYSQL5.0
3)为项目提供SSH支持
2.2相关软件与技术介绍
2.2.1JSP技术简介
JSP:
(JavaServerPages)是是由Sun公司倡导,许多公司参与一起建立的一种动态页面技术标准,在静态页面中嵌入Java代码片段,再由Web服务器中的JSP引擎来进行编译并执行嵌入的Java代码片段,生成的页面信息返回给客户端。
JSP技术在动态网也的建设中由其强大而特别的功能,它主要要用于创建支持跨平台Web服务器的动态网页。
Java Server Pages 技术实现与用户的交互,利于扩展,需要基于B/S技术的动态网页。
作为Java技术的一部分,JSP能够快速开发基于Web,独立与平台的应用程序。
2.2.1MYSQL数据库简介
MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。
MySQL名字的来历MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司,在2008年1月16号被Sun公司收购。
MySQL被广泛地应用在Internet上的中小型网站中。
由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
MYSQL既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。
MYSQL为多种编程语言提供了API。
这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。
其可以支持多线程,能够充分利用CPU资源。
2.2.3MyEclipse简介
MyEclipse是是在eclipse基础上加上自己的插件开发而成的功能强大的企业级集成开发环境,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。
MyEclipse的功能非常强大,支持也十分广泛,具有编码、调试、测试、发布等功能,支持Struts,CSS,Hibernate,Javascript,SPING,EJB3,AJAX等。
在结构上,MyEclipse的特征可以被分为7类:
1)JavaEE模型
2)WEB开发工具
3)EJB开发工具
4)应用程序服务器的连接器
5)JavaEE项目部署服务
6)数据库服务
7)MyEclipse整合帮助
MyEclipse10发布了,该版本使用最高级的桌面和Web开发技术,包括HTML5和JavaEE6,支持JPA2.0、JSF2.0、Eclipselink2.1以及OpenJPA2.0。
MyEclipse10对检索功能以及错误查询功能更加强大,包括对js文件的错误查询。
2.2.4AJAX技术介绍
Ajax实际上它不是一种技术,是好几种技术的集合,是一种用于创建更好更快以及交互性更强的Web应用程序的技术。
传统的网页(不使用AJAX)遇到更新内容的情况的时候,只能重新加载整个页面。
但是AJAX是一种不需要重新加载整个页面的情况下,就能够完成更新部分网页的技术。
AJAX=异步JavaScript和XML。
通过在后台与服务器进行少量数据交换,AJAX可以使网页实现异步更新。
这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
Ajax的核心是JavaScript对象XMLHttpRequest,是一种支持异步请求的技术。
使用AJAX技术,可以让应用程序更加完善和友好。
2.2.5SSH框架介绍
著名的软件大师RalphJohnson对框架(Framework)进行了如下的定义:
框架是整个系统或系统的一部分的可重用设计,由一组抽象的类及其实例间的相互作用方式组成。
框架一般具有很高的可重用性,能够实现即插即用,而且稳定性较高,对团队合作也很友好。
SSH框架分为表示层框架Struts、业务逻辑层框架Spring、数据持久层框架Hibernate三个框架。
图2-1SSH架构图
表示层框架Struts是以JSPModel2为基础实现的一个框架,主要分为模型、视图、控制器三个方面。
主要设计理念是用控制器将表现逻辑和业务逻辑解耦,以提高系统的可维护性、可扩展性和可重用性。
Spring是一个解决了许多在J2EE开发中常见的问题的强大框架。
Spring有良好的业务管理机制,而且比较支持对接口编程。
Spring的架构的基础是利用JavaBean的IOC容器。
Spring提供了一个用标准Java语言编写的AOP框架,它给POJOs提供了声明式的事务管理和其他企业事务--如果你需要--还能实现你自己的aspects。
这个框架足够强大,使得应用程序能够抛开EJB的复杂性,同时享受着和传统EJB相关的关键服务。
Spring还提供了可以和IoC容器集成的强大而灵活的MVCWeb框架。
Hibernate是一个对象关系映射框架,Hibernate是目前最为流行的O/Rmapping框架,Hibernate使程序员可以对数据库的操作比较轻松,因为他实现了数据库和对象间的自动映射。
O/Rmapping技术是为了解决关系型数据库和面向对象的程序设计之间不匹配的矛盾而产生的。
Hibernate的这些性能使得其能够完成数据持久化的重任。
在SSH框架的组合模式中,三者各司其职,相互配合。
Struts主要技术是Servlet和Jsp,其MVC模式能够让我们的逻辑更清楚,做出来的程序有清晰的层次。
Spring则是让我们管理业务对象有了一个一致的方法,能养成对接口编程的有益习惯。
Hibernate对我们提供完全面向对象的数据库操作,完美的解决了数据持久化的问题,由于其对JDBC的轻量级封装,我们对关系型数据库的操作会变得相当轻松。
2.3本章小结
开发环境的搭建是实现软件开发的基石,只有先建立好完善的开发环境,才能够更好的进行软件开发,正确的认识到开发环境的意义是很有必要的,相关技术是开发的支柱,各个技术的应用才能实现系统的功能,是整个系统的灵魂。
第三章需求分析
本章要根据实际要求来进行需求分析,对需要实现的功能和必须解决的问题进行详细分析,确定需要做什么和要达到的基本效果。
只有正确的认识软件系统需要的功能,才能正确得到需求分析应有的效果。
3.1国际网络问答社区研究分析
在进行本系统分析前先进行对比调查分析,对于国内外已建成的各种网络问答社区的动态进行研究分析。
有关在线问答社区的研究可依其三个关键要素分为三部分--网络问答服务系统、问答动机及问答内容[]。
对于网络问答服务主要需要关注的是其运作的模式和类型;然后是对问答动机的研究,需要了解用户提出问题或浏览的动机;最后是要关注内容物,分析其问答数量质量排行这些方面。
这三个方面是相互关联的,也能为需求分析提供主要的参考价值。
3.1.1网络问答服务系统
网络问答服务系统对人们的网络生活有了大大的改变,过去人们需要得到知识的时候往往是通过搜索引擎去进行搜索,然后过滤分析得到的海量的资料,而问答服务则可以使社区里的成员收到其他成员筛选分析,并且理解组织后的成果。
而且现在很多用户也是通过搜索引擎搜索问题然后转到显示答案的问答网站,比如XX知道这类最常用到的网站。
Evans[]等人开展了一项行为观察实验,比较问答系统和搜索引擎的使用,最后发现两者其实任务绩效是接近的,但是交换的信息类型不一样。
尤其问答网站的提问者会由于多个回答者的不同答案往往可以接受到更为深入的解决方案,成员间的认知协助能有效提高相互的认知水平。
3.1.2问答动机
对于在线问答提问者的动机层面研究,其中包含为什么使用,对其服务和获取信息的期望。
用户是因为某种需求使用问答网站,并且期望获得答案或者信息,满足其需求。
网络环境丰富的信息量其实也促进了用户的动机。
蔡志欣、赖玲玲的研究表明了虚拟社区其实质是另外一种社会网络,用户在社区中同样有着社区性的互动,互动程度的高低也带动着用户分享知识的意愿。
另外社群中也有着激励机制,比如积分、等级、称号等等激烈机制能使用户通过分享而获取其他人的认可和肯定提升成就感,如此也能促使有大量知识的使用者更加乐意去提供知识。
网络问答服务还有一些其他优点,包括成本较低(绝大多是为免费服务),社区参与度高,资本组成也相对简单。
不过相对的答案的质量是参差不齐的,毕竟是依靠群体智慧的问答模式[]。
综合各个调查网站,大概可以得出知识贡献的五个动机--享受帮助、知识的自我效能、自我价值、学习和社区信用奖励,这几个因素与问答中知识的贡献量和质量息息相关。
3.1.3问答内容
问答网站中,成员基本依靠问答互动作为交流方式,需要知识的用户通过在网站提出问题寻求答案,其他有能力有知识的用户可以选择其希望解决的问题进行讨论解答或者评论[]。
在相互问答的讨论中,信息以文字的形式被记录在网站中,并且通过图片,声音,视频等等多媒体辅助可以使知识的表示方式更加多元化更为清楚。
近年来,对于问答的内容相关性作为内容质量的评判标准已经受到了很多研究人员的质疑,通过大量的研究和探索,研究者们制定了一些新的评估标准。
比如Bary与Schamber进行了定量定性的分析之后,给出了一些描述标准,涉及深度/范围/特征、准确性/有效性、清晰度,同时也指出这几个标准有着很高的重复度[]。
3.2功能分析及用例图
本系统是一个问答社区。
问答社区其目的在于营造一个信息交流的环境,吸引对讨论主题感兴趣的成员于讨论区内公开地发表意见、分享经验及交换信息[]。
课题要求是开发一个面向某专业领域的问答网站,利用独特的技术加速知识的验证和积累。
首先要进行简单的分析:
1)需要使用本系统的用户群体:
希望传达知识的用户,希望学习知识的用户,某领域的专家,寻找他人认同的人等等。
这些用户中,提供知识的用户是最为关键的,通过他们的专业知识能过吸引很多新的用户,同时对于知识领域的分类也要尽量清晰科学才能对渴望解决问题的用户提供帮助。
2)系统要实现的功能首先最为基本的功能是知识问答,本系统力求以问题为核心进行问答互动和知识竞争,通过提问者提出问题,各位答题者提供答案,还有关注者去对答案进行对比讨论,最后在互动中解决问题。
其次进一步要实现的功能是对有质量的问题和回答进行审核,对其他用户进行优质知识的推广。
第二个要实现的基本功能就是知识积累,对用户的进行了提问或者是关注回答的问题的类别进行分类划分,能让用户对认同的知识进行收藏。
在此基础上根据用户的知识喜好分类可以对用户进行一些该类知识的优质问答推广。
另外可以补充的一些功能,比如对于大量知识问题答案的回答者进行评定,给予其专业知识的分类与认定,使得一些希望获取该类知识的人可以通过关注这些回答者来更系统的获取知识。
功能分析后可以进行一个简单的本系统分析:
图3-1问答模式系统结构图
当有问题需要得到解决的时候,可以登录网站进行分类的选择或者直接进行搜索,查看问答相关得到答案。
当没有直接的答案的时候,可以直接进行提问,对于回答者的答案进行判断或者通过讨论得到解决。
同时还可以通过得到多个答案,得到相关的一些更为全面的知识。
问题得到解决后,可以关注答题者,同时可以把问题收藏到自己的知识分类里面。
3.3详细用例图及类图
本系统的顶层用例图如下:
图3-2顶层用例图
本系统的顶层用如图3-2所示,用户和管理员对个人信息和问题状态都有权限修改,另外用户可以提出问题和回答问题,管理员不能进行问答,管理员可以对主页面的信息进行管理,比如问题推荐,栏目管理。
结合系统的工作流程,对于核心的问答功能进行了用例分析。
以下是用户级用例图,
图3-3用户级用例图
图3-3把用户和系统间的关系阐述的清楚明了,对系统的主要功能有明确的展示,用户登录之后涉及的数据分两类,一类是问题相关一类是用户信息相关,这些都可以由管理员进行维护,用户登陆后能查看修改自己的信息,能提出问题并选择回答,也能去浏览问题并回答问题。
图3-4用户问答详细用例
本用例图详细解释了用户与问题的关系,用户登入之后,可以选择查看问题,然后能查看其他用户的回答和回答问题;用户在选择提问后选择问题分类然后提出问题;在个人中心界面用户还可以选择查看问题记录,包含有提出的问题和回答的问题记录。
图3-5用户数据管理详细用例
图3-5是用户管理个人数据的的用例详解,用户在注册的时候可以添加个人信息,登录之后进入个人中心可以选择管理个人信息和对问题信息管理。
图3-6管理员管理用例图
图3-6是管理员对问答系统的管理用例图,本图阐述了管理员在登录后可以进行的操作,分为对用户信息的管理和问题的管理。
用户信息有个人信息和积分可以操作;问题管理分为问题的状态维护和删除问题两个功能。
3.4问答辅助功能设计
在完成基础的问答需求之外拟设计一个用户个人问题管理中心,大致界面见表3-1。
表3-1用户个人管理栏目表
用户ID:
xxxx等级xxxx积分:
xx
用户密码:
确认密码:
提示问题:
问题答案:
真实姓名:
性别:
备注:
提出的问题:
回答的问题:
该表有基础的用户管理功能,可以管理自己账号相关信息,设置密码提示答案这些常用功能,同时记录一些个人隐私信息和备注,另外针对本系统特别增加了用户提出过的问题和回答过的问题的记
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 加速知识积累的问答网站设计与实现 学位论文 加速 知识 积累 问答 网站 设计 实现 学位 论文