已阅读5页,还剩41页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
加速知识积累的问答网站设计与实现加速知识积累的问答网站设计与实现袁伟 集美大学计算机工程学院(集美大学计算机工程学院, 福建, 厦门361021) 格式对吗?摘要 当前下计算机网络发展迅速,,本系统结合当下一些问答网站的功能,去进行分析设计,能够实现了用户的注册登录,用户提出问题,用户回答问题,用户查询问答记录等基础问答功能。,此外,为了实现加速知识的目标的,本系统特别添加了用户个人问答管理功能和问题展示功能,用户进入个人管理界面可以查询提出的问题和回答的问题的历史记录。;问题系统的开发技术?展示功能能简洁的向用户展示优质问题推荐,显示待解决的问题和目前用户积分排行。本系统采用积分排行的方式激励用户积极学习和共享知识。通过这几个方面的功能来实现加速知识积累的问答网站系统。另外本系统采用JSP技术,SSH框架采用搭建,另有了以下的创新功能:通过AJAX异步技术来实现问题输入的查询、,问题分类的查询等。本系统对于加速知识积累有着极大的帮助,能为需要的用户提供定向的知识积累作用。关键字问答系统 知识积累信息检索 AJAX JSPDesign and implementation of the question answering website to accelerate knowledge accumulationAbstract The computer network is developing rapidly now,This system combines some of the Q & A site features, analysis and design, user registration log in, ask questions, answer questions, inquiries and other basic questions and answers questions and answers recorded function. Furthermore, in order to accelerate the realization of knowledge The goal of this system is particularly user add personal quiz show management features and functionality issues into personal management interface can be queried to ask questions and answer questions of history. Problems display function show features concise display quality issues recommended to the user, display problem to be solved and the current user integral ranking. This ranking system uses integral way encourage users to actively learn and share knowledge. Through these aspects of functionality to achieve accelerated accumulation of knowledge Q & A site system. The system uses JSP technology, SSH framework to build, and another the following innovative features: through asynchronous AJAX technology to achieve the problem input query, question classification inquiries. For this system to accelerate the accumulation of knowledge has a great help to provide orientation for the role of knowledge accumulated user need.The system combines the functions present some questions and answers website, to analysis and design, enables the user registration log users ask questions, you answer questions, the user query Q record and other basic questions and answers feature, in addition to achieve accelerated knowledge of the purpose of this system is particularly Add a personal Q & a management and problem display function, the user enters the history of personal management interface to query the issues raised and to answer questions; question display function can compact display quality issues recommended to the user, display problem to be solved and the present user Ranking points. This ranking system uses integral way encourage users to actively learn and share knowledge. Through these aspects function to achieve the accumulation of knowledge Q & A site system.Further innovative features of the present system uses: AJAX asynchronous technology to implement the query input problem, the problem of classification of inquiries. For this system to accelerate the accumulation of knowledge has a great help to provide orientation for the role of knowledge accumulated user needs.KeywordsQuestion Answering System Information Retrieval AJAX JSP目 录第一章 引言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.1MY SQL数据库简介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参考文献33第一章 引言51.1背景分析51.2设计概要61.2.1研究目标61.2.2研究内容61.2.3设计流程61.2.4难点分析71.3本章小结7第二章 开发环境与相关技术82.1开发环境搭建82.2相关软件与技术介绍82.2.1JSP技术简介82.2.1MY SQL数据库简介82.2.3MyEclipse简介92.2.4AJAX技术介绍92.2.5SSH框架介绍102.3本章小结11需求分析12第三章 123.1国际网络问答社区研究分析123.1.1网络问答服务系统123.1.2问答动机123.1.3问答内容133.2功能分析及用例图133.4问答辅助功能设计183.5本章小结18第四章 详细设计194.1数据库设计194.1.1数据库需求分析194.1.2重点表详细分析204.2详细E-R模型214.3系统原理与代码实现234.3.1系统原理与静态类图234.3.2系统顺序图244.4加速知识创新功能254.5本章小结265.1系统测试方法介绍275.2系统测试案例28结论33致谢语34参考文献35字体对吗?46加速知识积累的问答网站设计与实现第一章 第一章 引言本章主要介绍本系统的研究背景分析与设计概要,通过背景分析来阐述该系统的研究意义与发展现状,从课题要实现的目标来进行设计分析概要,对本系统进行一个介绍。1.1背景分析随着互联网的快速发展,用户交换和分享信息的途径也越来越多样化,用户的信息需求也不断提升,传统的信息获取方式已难满足用户精准的信息需求1 蒋楠,王鹏.程社会化问答服务中用户需求与信息内容的相关性评价研巧一以“百度知道”为例J.信息资源管理学报,2013(3):35-45.。“网站”是一种网络上的新兴媒体,通过Internet已经成为一个实时的,多媒体的信息传播渠道。中文互联网世界已经出现了知乎,百度知道,天涯问答等一批网络问答网站或社区,这些网站的出现代表学习知识已经不再依赖于传统媒介而是转向更为方便的互联网。截至到2013年9月,百度知道己累计解决5亿多个问题,约有5000万贡献答案的用户,平均每个闽题都有超过两个人回答2揭秘你所不知道的百度EB/OL./portal/20130910/211823.shtml3.shtml.。腾讯旗下的捜搜问问化则已收录上亿条已解决问题,同时在线人数超过千万。相关数据表明,2008年2月至7月,百度知道月访问量在百度捜索月访问量中占比超过12%,腾讯捜捜问问对腾巧捜索的月访问次数贡献率也达30.1% 3张中峰,李秋丹.社区问答系统研究综述J.计算机科学,2010,37(11):19-23,54.。尽管他们在信息传播率上有着无与伦比的效率,但是也因为网络世界信息繁杂往往伴随着大量的无意义信息,问题与答案的质量参差不齐,不过瑕不掩瑜,问答的网站的出现确实在解决问题积累知识方面有无可替代的效率,人们越来越倾向于通过网络获取知识。问答社区倡导开放性,这些问题的答案将加入问答社区的资源库中,满足其他用户需求,这到知识共享的目的。4Kang M, Kim B, Gloor P, et al.Understanding the effect of social networks on user behaviors in community Driven knowledge services J Journal of the American Society for Information Science and Technology,2011,62(6):1066-1074.针对对不同分类下的各类问题的问答,问答网站的用户可以积累起专门领域的大量知识,再通过等级表现出价值与信用,便于用户认可回答者。通过对答题者的限制或让用户自己认可答案来达到回答问题的目的,以知识分享为首要目的。通过明确的问答定位与搜索网站以及论坛网站区分开,知识问答网站就是这样一个系统。基于积累知识的目的,在老师的指导下我设计了这个问答网站,能够提供一个释疑答惑的功能,用户可以将自己有疑问的知识点放在网站上,然后其他用户能够为其解答,对于问题进行栏目划分分清类别,此外能够对用户进行等级分级来达到划分用户知识积累程度,对于提问与回复作为关键功能进行开发设计。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难点分析由于互联网的普及,作为主要其主要载体文字的提炼,知识的传播需求得到了大大的提升,因此搜索引擎、问答网站、学习网站等等传播知识的网站比比皆是,这是一个比较成熟的系统,虽然可借鉴的地方很多,但是如何做出特色却是一个难点,毕竟受限于视界,能做出创新的地方很少,因此把其用作与固定领域国定圈子内的问答网站是一个更好的选择。把本网站定位与一个互动式的分享社区,类似于知乎网一样,期望以关系社区形式,帮助用户寻找答问题和答案的网络问答社区。5宁菁菁.基于“弱关系理论”的知识问答社区知识传播社区研究一以知乎网为例J.新闻知识,2014(2).。1.3本章小结本章通过对课题的分析,进行调查分析,大致了解了课题研究的背景,问答网站的发展与现况。结合这些调查再进行粗略的系统设计分析,建立了一个基本的设计概念。第一章 第二章 开发环境与相关技术居中本章介绍了搭建本项目需要的开发环境以及相关技术的概述,本项目使用MY SQL作为数据库,在MYECLIPSE 10上搭建SSH框架。另外使用AJAX技术完善系统。2.1开发环境搭建1) 安装MYECLIPSE 102) 安装MY SQL 5.03) 为项目提供SSH支持2.2相关软件与技术介绍2.2.1JSP技术简介JSP:(Java Server Pages)是是由Sun公司倡导,许多公司参与一起建立的一种动态页面技术标准,在静态页面中嵌入Java代码片段,再由Web服务器中的JSP引擎来进行编译并执行嵌入的Java代码片段,生成的页面信息返回给客户端。JSP技术在动态网也的建设中由其强大而特别的功能,它主要要用于创建支持跨平台Web服务器的动态网页。JavaServerPages技术实现与用户的交互,利于扩展,需要基于B/S技术的动态网页。作为Java技术的一部分,JSP能够快速开发基于Web,独立与平台的应用程序。2.2.1MY SQL数据库简介MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言-结构化查询语言(SQL)进行数据库管理。MySQL名字的来历MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司,在2008年1月16号被Sun公司收购。MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。MYSQL既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB 2312、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整合帮助MyEclipse 10发布了,该版本使用最高级的桌面和Web开发技术,包括 HTML5和 Java EE 6,支持 JPA 2.0、JSF 2.0 、Eclipselink 2.1以及OpenJPA 2.0。MyEclipse10对检索功能以及错误查询功能更加强大,包括对js文件的错误查询。2.2.4AJAX技术介绍Ajax实际上它不是一种技术,是好几种技术的集合,是一种用于创建更好更快以及交互性更强的Web应用程序的技术。传统的网页(不使用 AJAX)遇到更新内容的情况的时候,只能重新加载整个页面。但是AJAX 是一种不需要重新加载整个页面的情况下,就能够完成更新部分网页的技术。AJAX = 异步 JavaScript 和 XML。通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。Ajax 的核心是 JavaScript 对象 XMLHttpRequest,是一种支持异步请求的技术。使用 AJAX技术,可以让应用程序更加完善和友好。2.2.5SSH框架介绍著名的软件大师Ralph Johnson对框架(Framework)进行了如下的定义: 框架是整个系统或系统的一部分的可重用设计,由一组抽象的类及其实例间的相互作用方式组成。框架一般具有很高的可重用性,能够实现即插即用,而且稳定性较高,对团队合作也很友好。SSH框架分为表示层框架Struts、业务逻辑层框架Spring、数据持久层框架Hibernate三个框架。图2-1增加空格,全文修改 SSH架构图表示层框架Struts是以JSP Model2为基础实现的一个框架,主要分为模型、视图、控制器三个方面。主要设计理念是用控制器将表现逻辑和业务逻辑解耦,以提高系统的可维护性、可扩展性和可重用性。Spring是一个解决了许多在J2EE开发中常见的问题的强大框架。 Spring 有良好的业务管理机制,而且比较支持对接口编程。Spring的架构的基础是利用JavaBean的IOC容器。Spring提供了一个用标准Java语言编写的AOP框架,它给POJOs提供了声明式的事务管理和其他企业事务-如果你需要-还能实现你自己的aspects。这个框架足够强大,使得应用程序能够抛开EJB的复杂性,同时享受着和传统EJB相关的关键服务。Spring还提供了可以和IoC容器集成的强大而灵活的MVC Web框架。Hibernate是一个对象关系映射框架,Hibernate是目前最为流行的O/R mapping框架,Hibernate使程序员可以对数据库的操作比较轻松,因为他实现了数据库和对象间的自动映射。O/R mapping技术是为了解决关系型数据库和面向对象的程序设计之间不匹配的矛盾而产生的。Hibernate的这些性能使得其能够完成数据持久化的重任。在SSH框架的组合模式中,三者各司其职,相互配合。Struts主要技术是Servlet和Jsp,其MVC模式能够让我们的逻辑更清楚,做出来的程序有清晰的层次。Spring则是让我们管理业务对象有了一个一致的方法,能养成对接口编程的有益习惯。Hibernate对我们提供完全面向对象的数据库操作,完美的解决了数据持久化的问题,由于其对JDBC的轻量级封装,我们对关系型数据库的操作会变得相当轻松。2.3本章小结开发环境的搭建是实现软件开发的基石,只有先建立好完善的开发环境,才能够更好的进行软件开发,正确的认识到开发环境的意义是很有必要的,相关技术是开发的支柱,各个技术的应用才能实现系统的功能,是整个系统的灵魂。第三章需求分析第3章 需求分析本章要根据实际要求来进行需求分析,对需要实现的功能和必须解决的问题进行详细分析,确定需要做什么和要达到的基本效果。只有正确的认识软件系统需要的功能,才能正确得到需求分析应有的效果。3.1国际网络问答社区研究分析在进行本系统分析前先进行对比调查分析,对于国内外已建成的各种网络问答社区的动态进行研究分析。有关在线问答社区的研究可依其三个关键要素分为三部分-网络问答服务系统、问答动机及问答内容6蔡志线,赖玲玲.虚拟社群的咨询分享行为J.图书咨询学刊,2011(9):161-196.。对于网络问答服务主要需要关注的是其运作的模式和类型;然后是对问答动机的研究,需要了解用户提出问题或浏览的动机;最后是要关注内容物,分析其问答数量质量排行这些方面。这三个方面是相互关联的,也能为需求分析提供主要的参考价值。3.1.1网络问答服务系统网络问答服务系统对人们的网络生活有了大大的改变,过去人们需要得到知识的时候往往是通过搜索引擎去进行搜索,然后过滤分析得到的海量的资料,而问答服务则可以使社区里的成员收到其他成员筛选分析,并且理解组织后的成果。而且现在很多用户也是通过搜索引擎搜索问题然后转到显示答案的问答网站,比如百度知道这类最常用到的网站。Evans7Evans B,Kairam S,Pirolli P.Do your friends make you smarter?An analysis of social strategies in online information seekingJ.Journal of the American Society for information Science and Technology,2012,63(10):2020-2036.等人开展了一项行为观察实验,比较问答系统和搜索引擎的使用,最后发现两者其实任务绩效是接近的,但是交换的信息类型不一样。尤其问答网站的提问者会由于多个回答者的不同答案往往可以接受到更为深入的解决方案,成员间的认知协助能有效提高相互的认知水平。3.1.2问答动机对于在线问答提问者的动机层面研究,其中包含为什么使用,对其服务和获取信息的期望。用户是因为某种需求使用问答网站,并且期望获得答案或者信息,满足其需求。网络环境丰富的信息量其实也促进了用户的动机。蔡志欣、赖玲玲的研究表明了虚拟社区其实质是另外一种社会网络,用户在社区中同样有着社区性的互动,互动程度的高低也带动着用户分享知识的意愿。另外社群中也有着激励机制,比如积分、等级、称号等等激烈机制能使用户通过分享而获取其他人的认可和肯定提升成就感,如此也能促使有大量知识的使用者更加乐意去提供知识。网络问答服务还有一些其他优点,包括成本较低(绝大多是为免费服务),社区参与度高,资本组成也相对简单。不过相对的答案的质量是参差不齐的,毕竟是依靠群体智慧的问答模式8Surowiecki J.The wisdom of crowds:Why the many are smarter than the few and how collectiveive wisdom shapes business,economies,societies and nationsJ.Library Journal,2005(1):55.。综合各个调查网站,大概可以得出知识贡献的五个动机-享受帮助、知识的自我效能、自我价值、学习和社区信用奖励,这几个因素与问答中知识的贡献量和质量息息相关。3.1.3问答内容问答网站中,成员基本依靠问答互动作为交流方式,需要知识的用户通过在网站提出问题寻求答案,其他有能力有知识的用户可以选择其希望解决的问题进行讨论解答或者评论9Kim Y,Choi T Y,Yan T,et al.& Dooley,K.Structural Investigation of supply net-work:a social network analysis approach.Journal of Management Operations,20,2-011,29(3):194-211.。在相互问答的讨论中,信息以文字的形式被记录在网站中,并且通过图片,声音,视频等等多媒体辅助可以使知识的表示方式更加多元化更为清楚。近年来,对于问答的内容相关性作为内容质量的评判标准已经受到了很多研究人员的质疑,通过大量的研究和探索,研究者们制定了一些新的评估标准。比如Bary与Schamber进行了定量定性的分析之后,给出了一些描述标准,涉及深度/范围/特征、准确性/有效性、清晰度,同时也指出这几个标准有着很高的重复度10Barry C L and Schamber L.Userscriteria for relevance evaluation:Across-Situation comparisonJ.information Processing & Management,1998:34(2/3):219-236.。3.2功能分析及用例图本系统是一个问答社区。问答社区其目的在于营造一个信息交流的环境,吸引对讨论主题感兴趣的成员于讨论区内公开地发表意见、分享经验及交换信息11Xu G,Ma W Y.2006,Building Implicit links from content content for forum searchC/In SIGIR06:Proceedings of the 29th annual international ACM SIGIR Conference on research and development in information retrieval.2006:300-307.。课题要求是开发一个面向某专业领域的问答网站,利用独特的技术加速知识的验证和积累。首先要进行简单的分析: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-11用户个人管理栏目表字体对吗,表格居中用户ID:xxxx 等级xxxx 积分:xx用户密码:确认密码:提示问题:问题答案:真实姓名:性别:备注:提出的问题:回答的问题:该表有基础的用户管理功能,可以管理自己账号相关信息,设置密码提示答案这些常用功能,同时记录一些个人隐私信息和备注,另外针对本系统特别增加了用户提出过的问题和回答过的问题的记录,供用户需要的时候查询用。3.5本章小结本章先研究已有的问答网站模式,进行分析提取需求,建立一个设计概念,进而将概念设计进一步转化为模型层次的设计,虽然还比较粗略,不过作出了问答网站的所需要的基本结构和功能,为进一步的去设计和实现提供了有效的指导。 第4章 第四章 详细设计居中本章对本网站的一些表和结构进行详细分析设计,完成实际的开发和设计。对于设计中的一些细节和关键进行详细描述,并对要实现的功能进行详细设计。实现预期要完成的功能并解决一些难点问题。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. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 初中数学复习资料与考点分析
- 企业送车服务合同范本
- 冰淇淋店买卖合同范本
- 党建共享共建合同范本
- 剧组外联租车合同范本
- 农村红砖出售合同范本
- 公司资金入股合同范本
- 农村种植买卖合同范本
- 修车售车租车合同范本
- 办公厂房修建合同范本
- 店面库房管理办法
- 人教七年级英语上册Reading Plus《Unit 3》课件
- 《生成式人工智能》 课件 第4章 Transformer模型
- (新交际英语2024版)英语二年级上册Unit 2课件
- 双镜联合治疗肾结石讲课件
- 肿瘤病人疼痛管理
- VDA5测量系统分析培训
- vivo内部管理制度
- 2025+CSCO肿瘤治疗所致血小板减少症(CTIT)诊疗指南解读
- 【企业绩效考核研究的国内外文献综述4000字】
- 集资建房合同协议
评论
0/150
提交评论