版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
加速知识积累的问答网站设计与实现加速知识积累的问答网站设计与实现袁伟集美大学计算机工程学院(集美大学计算机工程学院,福建,厦门361021)格式对吗?格式对吗?[摘要]当前下计算机网络发展迅速,,本系统结合当下一些问答网站的功能,去进行分析设计,能够实现了用户的注册登录,用户提出问题,用户回答问题,用户查询问答记录等基础问答功能。,此外,为了实现加速知识的目标的,本系统特别添加了用户个人问答管理功能和问题展示功能,用户进入个人管理界面可以查询提出的问题和回答的问题的历史记录。;问题系统的开发技术?展示功能能简洁的向用户展示优质问题推荐,显示待解决的问题和目前用户积分排行。本系统采用积分排行的方式激励用户积极学习和共享知识。通过这几个方面的功能来实现加速知识积累的问答网站系统。另外本系统采用JSP技术,SSH框架采用搭建,另有了以下的创新功能:通过AJAX异步技术来实现问题输入的查询、,问题分类的查询等。本系统对于加速知识积累有着极大的帮助,能为需要的用户提供定向的知识积累作用。系统的开发技术?[关键字]问答系统知识积累信息检索AJAXJSPDesignandimplementationofthequestionansweringwebsitetoaccelerateknowledgeaccumulation[Abstract]Thecomputernetworkisdevelopingrapidlynow,ThissystemcombinessomeoftheQ&Asitefeatures,analysisanddesign,userregistrationlogin,askquestions,answerquestions,inquiriesandotherbasicquestionsandanswersquestionsandanswersrecordedfunction.Furthermore,inordertoacceleratetherealizationofknowledgeThegoalofthissystemisparticularlyuseraddpersonalquizshowmanagementfeaturesandfunctionalityissuesintopersonalmanagementinterfacecanbequeriedtoaskquestionsandanswerquestionsofhistory.Problemsdisplayfunctionshowfeaturesconcisedisplayqualityissuesrecommendedtotheuser,displayproblemtobesolvedandthecurrentuserintegralranking.Thisrankingsystemusesintegralwayencourageuserstoactivelylearnandshareknowledge.ThroughtheseaspectsoffunctionalitytoachieveacceleratedaccumulationofknowledgeQ&Asitesystem.ThesystemusesJSPtechnology,SSHframeworktobuild,andanotherthefollowinginnovativefeatures:throughasynchronousAJAXtechnologytoachievetheprobleminputquery,questionclassificationinquiries.Forthissystemtoacceleratetheaccumulationofknowledgehasagreathelptoprovideorientationfortheroleofknowledgeaccumulateduserneed.Thesystemcombinesthefunctionspresentsomequestionsandanswerswebsite,toanalysisanddesign,enablestheuserregistrationlogusersaskquestions,youanswerquestions,theuserqueryQrecordandotherbasicquestionsandanswersfeature,inadditiontoachieveacceleratedknowledgeofthepurposeofthissystemisparticularlyAddapersonalQ&amanagementandproblemdisplayfunction,theuserentersthehistoryofpersonalmanagementinterfacetoquerytheissuesraisedandtoanswerquestions;questiondisplayfunctioncancompactdisplayqualityissuesrecommendedtotheuser,displayproblemtobesolvedandthepresentuserRankingpoints.Thisrankingsystemusesintegralwayencourageuserstoactivelylearnandshareknowledge.ThroughtheseaspectsfunctiontoachievetheaccumulationofknowledgeQ&Asitesystem.Furtherinnovativefeaturesofthepresentsystemuses:AJAXasynchronoustechnologytoimplementthequeryinputproblem,theproblemofclassificationofinquiries.Forthissystemtoacceleratetheaccumulationofknowledgehasagreathelptoprovideorientationfortheroleofknowledgeaccumulateduserneeds.[Keywords]QuestionAnsweringSystemInformationRetrievalAJAXJSP目录TOC\o"1-3"\h\u第一章引言 41.1背景分析 41.2设计概要 51.2.1研究目标 51.2.2研究内容 51.2.3设计流程 51.2.4难点分析 61.3本章小结 6第二章开发环境与相关技术 72.1开发环境搭建 72.2相关软件与技术介绍 72.2.1JSP技术简介 72.2.1MYSQL数据库简介 72.2.3MyEclipse简介 82.2.4AJAX技术介绍 82.2.5SSH框架介绍 82.3本章小结 10第三章需求分析 113.1国际网络问答社区研究分析 113.1.1网络问答服务系统 113.1.2问答动机 113.1.3问答内容 123.2功能分析及用例图 123.3详细用例图及类图 133.4问答辅助功能设计 163.5本章小结 17第四章详细设计 184.1数据库设计 184.1.1数据库需求分析 184.1.2重点表详细分析 194.2详细E-R模型 194.3系统原理与代码实现 214.3.1系统原理与静态类图 214.3.2系统顺序图 224.4加速知识创新功能 234.5本章小结 24第五章系统测试 255.1系统测试方法介绍 255.2系统测试案例 26结论 31致谢语 32参考文献 3313979第一章引言 5123201.1背景分析 5318411.2设计概要 6289581.2.1研究目标 6150021.2.2研究内容 626871.2.3设计流程 6275061.2.4难点分析 755371.3本章小结 713102第二章开发环境与相关技术 8155262.1开发环境搭建 857772.2相关软件与技术介绍 840432.2.1JSP技术简介 844452.2.1MYSQL数据库简介 8323432.2.3MyEclipse简介 9302142.2.4AJAX技术介绍 9225462.2.5SSH框架介绍 1019992.3本章小结 119064需求分析 122785第三章 12137253.1国际网络问答社区研究分析 1287413.1.1网络问答服务系统 1296703.1.2问答动机 12207123.1.3问答内容 13144333.2功能分析及用例图 13262523.4问答辅助功能设计 1842823.5本章小结 183283第四章详细设计 1978184.1数据库设计 19137134.1.1数据库需求分析 19126514.1.2重点表详细分析 20191324.2详细E-R模型 21105244.3系统原理与代码实现 23236074.3.1系统原理与静态类图 23124534.3.2系统顺序图 2484014.4加速知识创新功能 2591784.5本章小结 2631425.1系统测试方法介绍 27311925.2系统测试案例 282636结论 339319致谢语 3412007参考文献 35字体对吗?字体对吗?加速知识积累的问答网站设计与实现第一章第一章引言本章主要介绍本系统的研究背景分析与设计概要,通过背景分析来阐述该系统的研究意义与发展现状,从课题要实现的目标来进行设计分析概要,对本系统进行一个介绍。1.1背景分析随着互联网的快速发展,用户交换和分享信息的途径也越来越多样化,用户的信息需求也不断提升,传统的信息获取方式已难满足用户精准的信息需求[[1]蒋楠,王鹏.程社会化问答服务中用户需求与信息内容的相关性评价研巧一以“百度知道”为例[J].信息资源管理学报,2013(3):35-45.]。“网站”是一种网络上的新兴媒体,通过Internet已经成为一个实时的,多媒体的信息传播渠道。中文互联网世界已经出现了知乎,百度知道,天涯问答等一批网络问答网站或社区,这些网站的出现代表学习知识已经不再依赖于传统媒介而是转向更为方便的互联网。截至到2013年9月,百度知道己累计解决5亿多个问题,约有5000万贡献答案的用户,平均每个闽题都有超过两个人回答[[2]揭秘你所不知道的百度[EB/OL]./portal/20130910/21182[1]蒋楠,王鹏.程社会化问答服务中用户需求与信息内容的相关性评价研巧一以“百度知道”为例[J].信息资源管理学报,2013(3):35-45.[2]揭秘你所不知道的百度[EB/OL]./portal/20130910/211823.shtml3.shtml.[3]张中峰,李秋丹.社区问答系统研究综述[J].计算机科学,2010,37(11):19-23,54.尽管他们在信息传播率上有着无与伦比的效率,但是也因为网络世界信息繁杂往往伴随着大量的无意义信息,问题与答案的质量参差不齐,不过瑕不掩瑜,问答的网站的出现确实在解决问题积累知识方面有无可替代的效率,人们越来越倾向于通过网络获取知识。问答社区倡导开放性,这些问题的答案将加入问答社区的资源库中,满足其他用户需求,这到知识共享的目的。[[4]KangM,KimB,GloorP,etal.UnderstandingtheeffectofsocialnetworksonuserbehaviorsincommunityDrivenknowledgeservices[J]JournaloftheAmericanSocietyforInformationScienceandTechnology,2011,62(6):1066-1074.][4]KangM,KimB,GloorP,etal.UnderstandingtheeffectofsocialnetworksonuserbehaviorsincommunityDrivenknowledgeservices[J]JournaloftheAmericanSocietyforInformationScienceandTechnology,2011,62(6):1066-1074.基于积累知识的目的,在老师的指导下我设计了这个问答网站,能够提供一个释疑答惑的功能,用户可以将自己有疑问的知识点放在网站上,然后其他用户能够为其解答,对于问题进行栏目划分分清类别,此外能够对用户进行等级分级来达到划分用户知识积累程度,对于提问与回复作为关键功能进行开发设计。AJAX是与服务器交换数据并更新部分网页的艺术,在不重新加载整个页面的情况下,本系统采用AJAX通过在后台与服务器进行少量数据交换,就可以试网页实现异步更新,很多AJAX实例比如新浪微博、Google地图等都是使用了AJAX技术,能过创造动态性极强的web页面,也能降低服务器压力。通过采用AJAX技术,运用JSP技术开发一个能够有效积累知识,方便大家交流疑问的WEB网站是很有意义的。1.2设计概要1.2.1研究目标根据人们对于知识答疑的需求进行分析总结,对此进行业务需求的提取,开发出知识问答网站,本系统将借鉴于各类问答网站,对于知识的共享与累积进行专门分析,针对分领域的知识开发一个能够加速知识积累的问答网站,使用户能够实际有效的通过本网站进行知识的积累与解惑,旨在能够节约用户大量时间去查阅资源,能更快速有效的去获得问题的答案。1.2.2研究内容问答网站以实现各类问题的信息传递为目的,方便用户间知识共享与积累,主要研究目标如下:数据库管理系统的开发;基于SSH技术,以MYSQL数据库为后台;问答网站的总体框架设计;用户注册登录,发布问题,回答问题,个人信息管理等功能;其他扩展元素。1.2.3设计流程通过查阅相关文档,参考书籍,并下载安装搭建开发环境,另外对于已有的问答网站进行分析借鉴,同时分析实际问答模式,进行模拟问答来提取实体,进行需求分析,制定功能与设计大体方案。根据软件工程知识,大致先分为三个阶段:需求分析,技术准备,编程测试。需求分析阶段是一个软件生命的起点,首先要进行需求调研,这是需求分析最重要的一环,通过对现有问答网站的模式进行分析,再与同学沟通之后模拟出各个角色和流程,提取出核心的需求死需求调研的关键。所谓的需求分析是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。通过定位清楚本系统的角色与适用对象,了解用户的实际适用流程,分析提问与回答的时候系统的活动过程,做好数据库的设计就是需求分析应该要做到的。技术准备方面,确定了使用JSP技术来进行网站开发,使用MYSQL数据库并应用AJAX技术。具体一些技术要求如下:Strust+Spring+Hibernate集成框架,了解AJAX工作原理并运用到网站建设中去,MYSQL的应用。编程测试是实际开发阶段,根据需求分析阶段得到需求去划分功能模块,然后针对各模块进行逐一编程测试,最后将各个功能整合到一起,进行完成的系统测试。1.2.4难点分析由于互联网的普及,作为主要其主要载体文字的提炼,知识的传播需求得到了大大的提升,因此搜索引擎、问答网站、学习网站等等传播知识的网站比比皆是,这是一个比较成熟的系统,虽然可借鉴的地方很多,但是如何做出特色却是一个难点,毕竟受限于视界,能做出创新的地方很少,因此把其用作与固定领域国定圈子内的问答网站是一个更好的选择。把本网站定位与一个互动式的分享社区,类似于知乎网一样,期望以关系社区形式,帮助用户寻找答问题和答案的网络问答社区。[[5]宁菁菁.基于“弱关系理论”的知识问答社区知识传播社区研究一以知乎网为例[J].新闻知识,2014(2).][5]宁菁菁.基于“弱关系理论”的知识问答社区知识传播社区研究一以知乎网为例[J].新闻知识,2014(2).1.3本章小结本章通过对课题的分析,进行调查分析,大致了解了课题研究的背景,问答网站的发展与现况。结合这些调查再进行粗略的系统设计分析,建立了一个基本的设计概念。第二章开发环境与相关技术居中居中本章介绍了搭建本项目需要的开发环境以及相关技术的概述,本项目使用MYSQL作为数据库,在MYECLIPSE10上搭建SSH框架。另外使用AJAX技术完善系统。2.1开发环境搭建安装MYECLIPSE10安装MYSQL5.0为项目提供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-1增加空格,全文修改SSH架构图增加空格,全文修改表示层框架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国际网络问答社区研究分析在进行本系统分析前先进行对比调查分析,对于国内外已建成的各种网络问答社区的动态进行研究分析。有关在线问答社区的研究可依其三个关键要素分为三部分--网络问答服务系统、问答动机及问答内容[[6]蔡志线,赖玲玲.虚拟社群的咨询分享行为[J].图书咨询学刊,2011(9):161-196.][6]蔡志线,赖玲玲.虚拟社群的咨询分享行为[J].图书咨询学刊,2011(9):161-网络问答服务系统网络问答服务系统对人们的网络生活有了大大的改变,过去人们需要得到知识的时候往往是通过搜索引擎去进行搜索,然后过滤分析得到的海量的资料,而问答服务则可以使社区里的成员收到其他成员筛选分析,并且理解组织后的成果。而且现在很多用户也是通过搜索引擎搜索问题然后转到显示答案的问答网站,比如百度知道这类最常用到的网站。Evans[[7]EvansB,KairamS,PirolliP.Doyourfriendsmakeyousmarter?Ananalysisofsocialstrategiesinonlineinformationseeking[J].JournaloftheAmericanSocietyforinformationScienceandTechnology,[7]EvansB,KairamS,PirolliP.Doyourfriendsmakeyousmarter?Ananalysisofsocialstrategiesinonlineinformationseeking[J].JournaloftheAmericanSocietyforinformationScienceandTechnology,2012,63(10):2020-20问答动机对于在线问答提问者的动机层面研究,其中包含为什么使用,对其服务和获取信息的期望。用户是因为某种需求使用问答网站,并且期望获得答案或者信息,满足其需求。网络环境丰富的信息量其实也促进了用户的动机。蔡志欣、赖玲玲的研究表明了虚拟社区其实质是另外一种社会网络,用户在社区中同样有着社区性的互动,互动程度的高低也带动着用户分享知识的意愿。另外社群中也有着激励机制,比如积分、等级、称号等等激烈机制能使用户通过分享而获取其他人的认可和肯定提升成就感,如此也能促使有大量知识的使用者更加乐意去提供知识。网络问答服务还有一些其他优点,包括成本较低(绝大多是为免费服务),社区参与度高,资本组成也相对简单。不过相对的答案的质量是参差不齐的,毕竟是依靠群体智慧的问答模式[[8]SurowieckiJ.Thewisdomofcrowds:Whythemanyaresmarterthanthefewandhowcollective[8]SurowieckiJ.Thewisdomofcrowds:Whythemanyaresmarterthanthefewandhowcollectiveivewisdomshapesbusiness,economies,societiesandnations[J].LibraryJournal,2005(1):问答内容问答网站中,成员基本依靠问答互动作为交流方式,需要知识的用户通过在网站提出问题寻求答案,其他有能力有知识的用户可以选择其希望解决的问题进行讨论解答或者评论[[9]KimY,ChoiTY,YanT,etal.&Dooley,K.StructuralInvestigationofsupplynet-[9]KimY,ChoiTY,YanT,etal.&Dooley,K.StructuralInvestigationofsupplynet-work:asocialnetworkanalysisapproach.JournalofManagementOperations,20,2-011,29(3):194-211.近年来,对于问答的内容相关性作为内容质量的评判标准已经受到了很多研究人员的质疑,通过大量的研究和探索,研究者们制定了一些新的评估标准。比如Bary与Schamber进行了定量定性的分析之后,给出了一些描述标准,涉及深度/范围/特征、准确性/有效性、清晰度,同时也指出这几个标准有着很高的重复度[[10]BarryCLandSchamberL.Users’criteriaforrelevanceevaluation:Across-[10]BarryCLandSchamberL.Users’criteriaforrelevanceevaluation:Across-Situationcomparison[J].informationProcessing&Management,1998:34(2/3):219-236.3.2功能分析及用例图本系统是一个问答社区。问答社区其目的在于营造一个信息交流的环境,吸引对讨论主题感兴趣的成员于讨论区内公开地发表意见、分享经验及交换信息[[11]XuG,MaWY.[2006],BuildingImplicitlinksfromcontentcontentforforumsearch[C]//InSIGIR06:Proceedingsofthe29thannualinternationalACMSIGIRConferenceonresearchanddevelopmentininformationretrieval.2006:300-307.[11]XuG,MaWY.[2006],BuildingImplicitlinksfromcontentcontentforforumsearch[C]//InSIGIR06:Proceedingsofthe29thannualinternationalACMSIGIRConferenceonresearchanddevelopmentininformationretrieval.2006:300-307.需要使用本系统的用户群体:希望传达知识的用户,希望学习知识的用户,某领域的专家,寻找他人认同的人等等。这些用户中,提供知识的用户是最为关键的,通过他们的专业知识能过吸引很多新的用户,同时对于知识领域的分类也要尽量清晰科学才能对渴望解决问题的用户提供帮助。系统要实现的功能首先最为基本的功能是知识问答,本系统力求以问题为核心进行问答互动和知识竞争,通过提问者提出问题,各位答题者提供答案,还有关注者去对答案进行对比讨论,最后在互动中解决问题。其次进一步要实现的功能是对有质量的问题和回答进行审核,对其他用户进行优质知识的推广。第二个要实现的基本功能就是知识积累,对用户的进行了提问或者是关注回答的问题的类别进行分类划分,能让用户对认同的知识进行收藏。在此基础上根据用户的知识喜好分类可以对用户进行一些该类知识的优质问答推广。另外可以补充的一些功能,比如对于大量知识问题答案的回答者进行评定,给予其专业知识的分类与认定,使得一些希望获取该类知识的人可以通过关注这些回答者来更系统的获取知识。功能分析后可以进行一个简单的本系统分析:添加功能之后请尽快修订!添加功能之后请尽快修订!图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-11用户个人管理栏目表字体对吗,表格居中字体对吗,表格居中用户ID:xxxx等级xxxx积分:xx用户密码:确认密码:提示问题:问题答案:真实姓名:性别:备注:提出的问题:回答的问题:该表有基础的用户管理功能,可以管理自己账号相关信息,设置密码提示答案这些常用功能,同时记录一些个人隐私信息和备注,另外针对本系统特别增加了用户提出过的问题和回答过的问题的记录,供用户需要的时候查询用。3.5本章小结本章先研究已有的问答网站模式,进行分析提取需求,建立一个设计概念,进而将概念设计进一步转化为模型层次的设计,虽然还比较粗略,不过作出了问答网站的所需要的基本结构和功能,为进一步的去设计和实现提供了有效的指导。第四章详细设计居中居中本章对本网站的一些表和结构进行详细分析设计,完成实际的开发和设计。对于设计中的一些细节和关键进行详细描述,并对要实现的功能进行详细设计。实现预期要完成的功能并解决一些难点问题。4.1数据库设计4.1.1数据库需求分析根据系统需求,可以列出以下数据项和数据结构:用户表:包括用户名、密码、真实姓名、用户积分、性别、密码保护问题及答案;问题表:包括问题编号、提问者、问题题干、提问时间、所属栏目分级、用户等级、回答状态、采纳的答案、推荐的问题;答案表:包括答案编号、答案内容、回答者、回答时间、回答时间、问题所属编号;管理员表:用户名、密码;一级栏目表:一级栏目编号、一级栏目名称;二级栏目表:二级栏目编号、二级栏目名称;一级栏目编号。数据库表设计全部表如下:图4-1数据库设计总览总表展示了本系统所用的所有表的项目,根据数据库的需求分析进行设计的,能保存本系统所需的预期信息。对于提问回答和栏目分级表将在之后进行详细分析。4.1.2重点表详细分析对于本网站的重点功能问答系统进行详细的数据结构分析设计。首先是基础的问答功能设计。问答表的设计见表4-1、4-2。表4-11问题表(question)字段名数据类型是否为空默认值备注字段说明qidintN自动增长主键问题编号useridintN外键提问者姓名titlevarchar(50)N问题标题contenttextN内容itemidintN所属一级栏目subidintN所属二级栏目statusintY用户等级acceptflagintYNULL采纳的答案questiontimedatetimeN提问时间offerscoreintN悬赏分数表4-2回答表(answer)字段名数据类型是否为空默认值备注字段说明aidintN自动增长主键问题回答编号useridintN外键回答用户编号gradevarchar(50)N回答用户等级quesanstextN回答问题内容anstimeintN回答问题时间statusintN问题状态qidintY外键问题编号表4-1和表4-2详细的表示了本系统的回答模块的数据结构,可以看出提问回答模式中能准确的关联用户和时间以及栏目分级,这些都是在设计阶段提出过的需求,能够有效的完成提问和回答相关数据的存储,清晰的表达问答模式中的关系。4.2详细E-R模型为了清晰明确的表达用户的要求,需要建立详细的数据模型来进行概念描述,这是一个面向问题的数据模型,通过分析用户的需求进行建模。从用户角度去分析本系统的运行。在此使用实体-联系方法模型,即E-R模型来进行描述,本系统用到如下一些主键:管理员表中的admin字段(管理员编号);问题表中的qid字段(问题编号);答案表中的aid字段(答案编号);用户表中的userid字段(用户名);问题一级栏目表中的itemid字段(一级栏目编号);问题二级栏目表中的subid字段(二级栏目编号);图4-2问题与用户详细E-R图本图详细展示了问题和回答以及用户间的相关关系,本系统中,问题、答案与用户的关系是一对多,问题与答案之间的关系也是一对多的关系。对于问题、答案与用户的属性也能够清晰的展示。另外对于问题的分类也需要有一个清晰的模型来展示,见图4-3问题分类关系图。图4-3问题分类关系图因为问题也需要分类,所以要设置一个二级栏目来描述问题的分类,主栏目对于问题进行分类,二次栏目对于问题的二级分类进行详细描述。这样就可以把问题的分类清晰的表达出来,使用户能更清晰的找到自己需要的问题所属于的分类。4.3系统原理与代码实现4.3.1系统原理与静态类图本系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式。系统工作原理图如图4-4所示:图4-4系统工作原理系统一些工作流程如下:(1)用户注册。用户使用前进行用户注册,系统保存相关信息。(2)用户登陆。用户在输入相关信息后,系统经过查询正确后允许用户登录。(3)问题发表。用户选择提问后在输入框里输入相关信息并设置悬赏分之后发表问题。(4)问题回答。用户进入自己感兴趣的问题然后选择回答,并输入相关信息后提交,经过提问者确认采纳后获得分数。(5)用户信息管理。其中包括对用户信息的查询和修改,系统会自动更新生成内容。(7)后台管理。管理员通过后台可以对用户、问题及答案进行管理。同时管理员也可以对用户个人信息进行维护比如积分相关。居中,调小居中,调小图4-5系统静态类图类图作为系统设计的核心,能完整的展示基本类帮助我们进一步理解和完善系统。图4-5展示了整个系统的数据的传递和各个类之间的关系,由图可以看出管理员对用户和问题可以进行信息管理,用户在提出和回答问题的时候能够对question表和answer表传递信息,quesion表中itemid和subid对应item和subitem表中的各自的id。4.3.2系统顺序图系统顺序图完整的展示了整个系统的业务流程,可以直观的表达系统的运行机制,见图4-6问答系统顺序图。居中,调小居中,调小图4-6问答系统顺序图本系统顺序图对问答系统中用户从登陆到选择提出问题、回答问题、查看问题三个功能进行了描述,表示了在整个问答周期里面各个功能对象间的交互过程,可以清楚的看到数据的流向,消息的传递。4.4加速知识创新功能上述章节中本系统已详细介绍了问答网站的功能,达到了初期设定目标,在本节将对如何加速知识积累功能进行探讨。经过调查资料与思考,采取了利用多次记忆的方法来加速知识积累。即使用一个独特的知识加速功能,通过考察用户知识掌握度来帮助用户积累知识。在用户进入系统后,可以选择知识检测功能。本功能利用AJAX技术在用户查看系统给出的问题之后如果选择不知道答案,系统能在当前页面给出采纳的答案供用户巩固知识。模拟其顺序图如下:同上,全文修改同上,全文修改图4-7知识考验功能顺序图本图展示了知识考验功能的详细活动,用户在进入个人中心后选择知识考验,系统会读取用户提问的历史记录,然后随机抽取问题考验用户是否知道答案,若用户知道答案就选择知道,若选不知道答案系统会读取用户采纳的答案利用AJAX技术显示在当前页面。4.5本章小结本章详细阐述了本系统的设计和思想,对问答网站的功能做了详细的讲解。并用代码展示了问答网站的主要三个功能,提出问题,回答问题,问题展示。这是本系统的核心功能,也是实现问答模式的基础,是本系统最关键的核心代码部分。第五章系统测试系统测试5.1系统测试方法介绍系统测试主要使用黑盒测试与白盒测试法。1)黑盒测试:黑盒测试也称功能测试或数据驱动测试,黑盒测试时用来检测每个功能是否都能正常使用,黑盒测试主要是用来检查功能实现是否达到预期要求的。黑盒测试方法主要有等价类划分、边值分析、因—果图、错误推测等,主要用于软件确认测试。在黑盒测试中,要测试程序是否能正确的接受数据,传达数据,能否对数据执行期望的操作。对本系统的黑盒测试主要集中在账户模块和问答模块,进行多组用户的注册然后登录,进行修改密码然后重新登录功能正常;用已注册的用户提出问题,然后换另外一个注册用户进行回答问题,分别能在两个用户个人中心显示提出的问题和回答的问题,提问用户采纳答案之后,注册用户的积分能正确的增加提问用户设置的悬赏分。2)白盒测试:白盒测试用来程序的每个部件是否正常的工作了,并非检查功能实现的正确与否,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。“白盒”是对所有逻辑路径进行全面测试的一种测试法。“白盒”法是穷举路径测试。在此我采用动态的白盒测试方法,按照运作流程输入一组问题和回答相关数据,观察程序的运行状况,根据实例数据动态的运行程序。提出简单的诸如1+2的问题,然后用另外一个用户回答问题,再用原用户采纳问题,观察期间数据的流动,看程序是否正确的处理数据。在后期的测试中发现用户注册后无法对个人信息进行相应的管理。后通过添加个人信息管理模块,用户能够方便的修改自己的信息。经过多次编码检查,最后对系统完整的测试之后。该系统在Windows7上进行测试得出如下结论:该系统基本能达到预期要求,但是在数据数量达到一定程度之后运行速度有变慢。5.2系统测试案例对于本系统进行活动图分析并进行测试,具体测试了用户提问,用户回答以及用户管理问题回答的几个活动流程。经过测试以下几个功能都可以完成,本系统的问答功能测试结果是达到了预期的目的,能够较好的为用户提供一个从提问到解决问题的体验。提出的问题能够使用另外一个用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 基金销售协议三篇
- 三年级数学计算题专项练习汇编及答案
- 许昌学院《大学生心理健康教育》2021-2022学年第一学期期末试卷
- 四年级数学(四则混合运算带括号)计算题专项练习与答案汇编
- 自主学习能力的培养与支持计划
- 促进班级合作学习的措施计划
- 徐州工程学院《跟我学素描》2022-2023学年第一学期期末试卷
- 信阳师范大学《形体训练与舞蹈编导基础》2021-2022学年第一学期期末试卷
- 班级主题教育的实施路径计划
- 校园环境美化与文化建设计划
- 建设工程施工项目合伙制实施方案
- 《大学英语》复习题专升本
- 新机场考试通行证模拟试题知识讲解
- 2022年新疆克拉玛依金龙国民村镇银行招聘16名人员模拟试题3套(含答案解析)
- 三度房室传导阻滞护理查房课件
- 讲课比赛精品PPT-全概率公式贝叶斯公式-概率论与数理统计
- 药理学39人工合成抗菌药课件
- 工期定额计算表格
- 小学一年级上册口算练习题(可打印)
- 老年人情绪状态测评忧郁量表
- ping程序的设计及实现报告
评论
0/150
提交评论