• 562.00 KB
  • 2023-01-02 05:30:45 发布

-在线咨询服务系统的设计学士学位论文.doc

  • 38页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
提供全套,各专业毕业设计目录摘要1ABSTRACT2第1章绪论31.1研究背景及选题意义31.1.1研究背景31.1.2选题意义31.2国内外在线咨询服务研究现状41.2.1在线咨询服务的国内现状41.2.2国外在线咨询服务研究现状41.3在线咨询服务的特点51.4研究的意义和价值51.5研究内容6第2章在线咨询系统的需求分析72.1软件需求分析72.1.1软件需求分析的定义72.1.2软件需求分析的层次72.2在线咨询系统的需求分析82.2.1在线系统业务需求分析82.2.2系统用户需求分析92.2.3系统功能需求分析9 2.3系统的用例分析112.3.1角色划分112.3.2系统的用例分析112.4系统业务流程分析132.4.1用户业务流程132.4.2管理员业务流程132.5本章小结13第3章在线咨询服务系统的设计方案143.1系统的设计原则143.2系统的设计153.2.1系统的功能设计153.2.2系统的总体设计163.2.3系统的运行模式163.3数据库设计173.3.1数据库分析183.3.2系统需要的数据库表183.4系统实现采用的关键技术203.4.1MD5加密技术203.4.2AJAX技术203.5本章小结21第4章在线咨询服务系统的实现224.1系统的开发环境22 4.1.1WEB服务器224.1.2开发语言234.1.3数据库系统234.2系统主要功能的实现244.2.1用户登陆功能的实现244.2.2表单咨询的设计与实现254.2.3管理员管理的实现264.2.4屏蔽字添加和删除的实现264.3系统测试274.3.1系统测试的目的274.3.2系统的功能测试274.3.3系统的性能测试284.3.4系统的测试结果284.4本章小结29第5章结论与展望305.1结论305.2展望30参考文献31附录一32致谢36 摘要在线咨询系统又叫在线客服、网页即时通讯、网站在线客服,相对于传统的电话客服系统,具有易部署,低成本,易管理的特点。在线咨询系统是随着互联网的发展而迅速兴起的新的通讯手段。本文首先讨论了在线咨询系统的概念和国内外关于在线咨询系统的研究现状及服务形式,对在线咨询系统的相关技术进行了深入的探讨,分析规划了在线咨询系统的要求和具有的功能,对数据库的结构进行了分析和设计,对系统中包含的各模块进行了详细设计及实现。论文的最后对本系统的设计进行了总结,并展望了在线咨询系统未来的发展。本系统基于浏览器/服务器(B/S)结构进行部署,编程语言采用PHP语言,开发平台选择ZendStudio,数据库选择SqlServer2005。关键词:在线咨询;数据库;程序设计35 ABSTRACTOnlineconsultingsystemhasanothernamecalledonlinecustomerservice,instantmessaging,webpages,onlinecustomerservice,comparedwithtraditionaltelephonecustomerservicesystem.Ithasthefeaturesofeasydeployment,lowcostandeasymanagement.WiththedevelopmentoftheInternet,onlineconsultingsystemspringsupandbecomesnewmeansofcommunication.Firstly,thispaperdiscussedtheconceptofonlineconsultingsystemanddomesticandforeignresearchstatusaboutonlineconsultingsystemandservicepattern.SecondlyIhaveadeepdiscussionontheconsultingsystemofonlinetechnology,analyzeandplanrequirementsandfunctionsoftheonlinecounselingsystem.ThirdlyIcarryontheanalysisanddesignofdatabasestructure.FourthlyIfocusoneachmodulecontainedinthesystemwhichIdesignandrealizeindetail.Intheend,Icarryontheconclusionaboutthedesignofthissystem,andprospectthefuturedevelopmentofonlineconsulting.Thissystemconductsthedeploymentbasedonbrowser/Server(B/S)structure,andprogramminglanguagesusethePHPlanguage,developmentplatformchoiceZendStudio,databaseselectSqlServer2005.Keywords:onlineconsultation;database;systemdesign35 第1章绪论在线咨询工作是被咨询者为解答单个用户的疑问而开展的一项工作,是用户服务工作的重要组成部分[1]。传统咨询是以文献为根据,通过个别解答的方式有针对性地向用户提供具体的文献、知识或问题解答途径的一项服务。但由于受到时间、地点、技术以及人员素质的限制,它的服务方式比较单一,服务手段落后,文献支撑系统不完备,因此其适用范围很小,影响力也不是很大。随着数字化信息环境的日益普及,传统咨询服务受到了极大挑战,在内容和形式上都难以满足用户的需要,在网络环境下,在线咨询服务从内容到形式都发生了巨大的变革,网络技术的发展消除了这些不利因素对在线咨询工作的影响,不仅为我们提供了丰富的信息资源和先进的信息交流手段,而且使咨询用户之间溶为一体,形成了全新的用户信息咨询服务模式—在线咨询服务[2]。1.1研究背景及选题意义1.1.1研究背景随着21世纪计算机、通讯和网络得到了迅速的发展和壮大,使信息资源和信息传递可在办公室、实验室、宿舍或家中任何可以上网的计算机上得以实现。在线咨询系统是社会文化的重要载体,是用户了解社会、交流思想感情的重要平台,是学生表达诉求,宣泄感情的重要渠道。在线咨询系统的建设直接影响着社会文化塑造与学生的心理培育。其内容涉及社会的管理、学校教学与管理、生活与环境以及学生的爱情与交友,大多是学生关注的热点和焦点,发言者络绎不绝,观点也五花八门,一些内容影响到人才的培养与学校的稳定,这就使社会和高校的教育工作面临着新的机遇和挑战。因此,网络媒体要尊重网络传播规律,加大引导力度,建立起有效的双向沟通机制,消除沟通障碍,维护社会稳定,促进社会的健康发展[3]。1.1.2选题意义在线咨询系统,是传统参考咨询在网络时代的继承、延伸和发展。在线咨询服务是与数字图书馆系统、图书馆信息服务机制和用户服务机制相结合的一种新型信息服务模式。在线咨询服务是未来数据服务的发展趋势,是体现数据服务能力和水平的重要标志。它延伸了参考咨询服务的空间,是新型的参考咨询模式,35 在线咨询服务在用户服务实践方面意义深远,它提供多种咨询方式,使用户不再拘泥传统的咨询方式,可利用网络在任何时间、地点进行咨询,被咨询员对用户在利用网站的过程中出现的问题给予及时解答,提高咨询的效率和质量及时解决用户在利用网站方面的各种问题。1.2国内外在线咨询服务研究现状1.2.1在线咨询服务的国内现状目前国内高校图书馆开展的网上在线咨询服务主要有三种形式:一是交友软件服务模式,譬如众所周知的交友软件QQ。二是BBS方式,BBS系统的核心技术是CGI、ASP动态页面的论坛区和数据库的接口技术。使用单位有:深圳市图书馆。他们利用BBS系统多样化的形式和风格,向读者开展实时和非实时的在线参考咨询服务。三是基于实时交互技术的在线参考咨询服务,即实时问答方式。西南交通大学图书馆目前就采用这种方式。该软件由计算机开发人员利用SERVERLET/JSP技术自行开发。应用该软件的服务器环境为SERVERLET,架构引擎为ApacheJservServlet。该系统的特点是操作简便,解答问题范围广泛和全面,解答的读者面较广[4]。1.2.2国外在线咨询服务研究现状国外在线咨询开展较早,技术也较为成熟。如美国宾州大学商学院自1999年起开始使用InternetChat技术来提供实时参考咨询服务。用户通过浏览器进入网站点击“实时咨询服务”链接即可启动聊天室系统。被咨询人员可并行使用自己的浏览器进行检索,可直接拷贝检索结果,可将网页推送给用户,可将用户在线转给另一位被咨询人员[5]。美国加州大学Irvine分校图书馆从1997年开始利用网络会议技术为远程用户提供在线咨询服务。他们利用市售的AppleVideoPhoneKit网络会议软件在科学图书馆参考咨询部与医学院计算机实验室之间建立定时的网络会议连接,学生和被咨询人员可通过图像、声音来传递咨询问题,可通过聊天模块来传递文字信息,可通过白板模块来绘图,同时还可开启并发浏览器窗口进行数据库检索,并将结果拷贝到聊天模块或白板上进行传输。美国一些图书馆还建立24/7实时咨询系统,提供全天候的在线咨询服务,如加州洛杉矶地区的MetroplitenCooperativeLibrarySystem。35 1.3在线咨询服务的特点在线咨询与传统咨询服务相比具有以下特点1.跨越时间、空间限制在线咨询服务使用电子邮件、表单咨询、实时在线咨询等网络传递信息方式,用户不论在何时、在何地都可以获得所需的咨询服务。在线咨询是一种及时的服务,对答复时限的要求同其对答案的质量要求一样重要。2.以用户为中心的个性化服务在线咨询服务适应用户需求多样性的特点,也适应用户行为的变化,同时延伸了咨询服务的空间。在线咨询面对的是一个个用户,通过电子邮件或实时交谈,深入了解用户咨询的性质,提供更加切合需要的答复。3.基于知识信息提供的服务基于知识信息提供的服务。在线咨询服务是一个系统,它利用现代信息技术,如网络技术、知识管理系统等,挖掘提供者和需求者的显性和隐性知识,刺激用户潜在的需求,拓宽专业人员和学科专家的知识覆盖面,使知识单元更多相互连接,发生必要的关系,形成知识收集、管理和发布。管理员与各方面咨询专家建立密切联系,共同探讨疑难问题,对问题进行分析判断和逻辑推理,满足用户高层次、研究性信息服务。4.丰富的信息资源互联网的迅速发展和信息资源的迅猛增加促进了在线咨询服务的发展,同时也激发了用户多元化的信息需求。任何一个图书馆都无法满足用户的全部信息需求。而在线咨询的信息来源打破了传统图书馆馆藏局限,被咨询者可以利用网上大量的信息资源为用户提供服务。1.4研究的意义和价值在线咨询系统是随着互联网而迅速兴起的新的通讯手段,网页即时通讯相对于流行的即时通讯工具,如QQ、MSN35 等相比,则有无需客户端、与网站紧密集成、保密性好、并能分析各种结果等优点。在线客服能够和网站配合,让用户通过网站与世界联通。当网站使用在线咨询系统以后,网站就不仅仅是网络上一个站点,而变成了一个与客户沟通、交流的平台。用户将拥有一个属于自己或者属于企业的即时通讯的平台,与用户通讯的可以是企业的员工或企业的客户。1.5研究内容网站包括前台页面和后台数据库。数据库主要保存用户、帖子、评论、屏蔽字等一些表。网站主要实现用户的发帖及评论,实现管理员对用户、帖子、屏蔽字的管理。阻止数据库注入等一些网络攻击,保护用户及数据的安全。前台用于显示给用户,以及登陆、注册和查询等功能。35 第2章在线咨询系统的需求分析需求分析是系统开发过程中非常重要的一个阶段,在此阶段,需要对目标系统提出完整、准确、清晰、具体的要求。需求分析是一个不断认识问题、逐步细化系统“做什么”的过程,其基本任务就是回答系统必须“做什么”这个问题。需求分析的结果是整个系统开发的基础,后面的每个阶段都要根据它来实施,因此,需求分析是否良好关系到整个项目的成败和软件产品的质量,它是系统开发周期的关键性阶段[6]。2.1软件需求分析2.1.1软件需求分析的定义在系统工程及软件工程中,需求分析指的是在创建一个新的或改变一个现存的系统或产品时,确定新系统的目的、范围、定义和功能时所要做的所有工作。需求分析是软件工程中的一个关键过程。在这个过程中,系统分析员和软件工程师确定顾客的需要。只有在确定了这些需要后他们才能够分析和寻求新系统的解决方法。在软件工程的历史中,很长时间里人们一直认为需求分析是整个软件工程中最简单的一个步骤,但在过去十年中越来越多的人认识到它是整个过程中最关键的一个过程。假如在需求分析时,分析者们未能正确地认识到顾客的需要的话,那么最后的软件实际上不可能达到顾客的需要,或者软件无法在规定的时间里完工[7]。2.1.2软件需求分析的层次软件需求可以按照层次进行划分,主要包括业务需求、用户需求、功能需求、非功能需求等四个层次。层次关系如图1所示。35 业务需求非功能需求用户需求功能需求软件需求规格图1软件需求的层次1.业务需求系统的业务需求反映了用户的对系统的目标要求,由用户先提出需求意见并和系统开发人员进行详细的商讨、分析来确定。2.用户需求用户需求来源于对用户的业务调查,是从用户的角度描述系统的需求,要综合考虑用户自身的特性与要求,并参照行业规范进行业务分析的结果,应尽量避免涉及系统内部的设计特性。因此用户需求可通过自然语言、图表等形式进行叙述。3.功能需求功能需求是比用户需求更为详细和专业的需求描述,是系统实现的依据。功能需求描述系统所应提供的功能和服务,包括系统应该提供的服务、对输入如何响应及特定条件下系统行为的描述。4.非功能性需求非功能性需求是对功能需求的限制性要求,包括系统的性能需求、可靠性需求、可用性需求、安全需求等。2.2在线咨询系统的需求分析2.2.1在线系统业务需求分析35 传统的咨询服务由于受到时间、地点的限制,使其为用户提供服务的便利性大打折扣,而在线咨询服务系统从根本上克服了传统服务的缺点,极大的提升了参考咨询服务中的信息导航作用,它是用户和被咨询者之间沟通的桥梁,它能利用现代化的服务手段为用户提供方便、快捷的服务,是一种全新的、全方位的咨询服务模式,是传统咨询服务在社会信息化过程中的必然发展趋势。2.2.2系统用户需求分析1.系统应提供用户管理功能,如:用户、管理员注册,登录,信息修改等功能,通过身份验证进入不同的功能页面。2.为用户提供多种个性化的咨询服务方式。用户可通过提交咨询表单的方式进行咨询,由被咨询者进行解答后把答案发送给用户,用户登录系统同时就看到对应问题的答案;其次,用户也可以通过E-mail给特定的咨询专家发送电子邮件进行咨询,咨询专家通过E-mail给用户发送答案。3.被咨询者可利用多种方式为用户提供咨询服务,被咨询者可根据用户提交的表单进行解答。4.管理员可对用户的信息进行管理和维护。2.2.3系统功能需求分析在线咨询系统可增强用户和被咨询者之间的交流互动,使用户能够在网络上就可以进行问题咨询。系统应实现用户身份验证、实时在线咨询、表单咨询等功能,整个系统由四个功能模块来实现:用户模块、咨询贴子模块、管理员模块、系统管理模块。如图2所示。在线咨询系统用户模块咨询帖子模块管理员模块系统管理模块图2在线咨询系统模块分析35 1.用户模块用户模块主要实现用户的权限管理,根据用户的不同角色,进入不同的页面,分配给用户相应的使用权限,主要由用户身份确认、权限管理等部分组成。用户身份确认包括用户名和密码的设置,用户需要先注册为正式用户后,才能登录系统提出需要解答的问题,同时也可查看已经给出的相关咨询问题的答复。在用户进行提问后,系统会将用户提出的问题保存起来,方便用户进行浏览。2.咨询帖子模块咨询帖子模块主要包含E-mail表单咨询和实时咨询两个模块。用户可根据自己的意愿通过相应的方式提出问题,同时也可选择被咨询者的回复方式。用户按网站预先设置的内容通过网络在线填写表单,然后点击“提交”按钮就可将需要咨询的问题发送到数据库。被咨询者登录后,就可看到用户提交的表单,即可进行回复。预先设计的表单的质量会影响到此种咨询服务方式的效果。一个好的表单既要方便用户填写,又可使被咨询者从中获取到全面的用户需求信息。这种咨询方式为被咨询者提供了与用户进行沟通的新方式,使得被咨询者能够为用户提供个性化定制服务,根据不同用户的需求,向不同用户传递不同的信息,实现用户一对一的服务。实时咨询模块的功能与聊天室有点相似,在咨询过程中,用户和被咨询者需要实时接收相互的交谈内容。通过实时咨询,用户和咨询服务人员能够进行实时信息交流,迅速掌握并满足用户的信息需求。通过这种方式可以更快地明确用户所面对的问题,并很直观地向用户演示解决的途径。被咨询者可以监视用户的状态,他能及时看到来自不同终端的连接和提问,并进行回答。而对于用户来说他只需要看到自己与该咨询员之间的对话记录。无刷新实时咨询系统中被咨询者与用户的交流是一对一的。因此,实时咨询是一种非常便捷的咨询服务方式。该模块的实现需要采用Ajax技术。3.管理员模块管理员系统主要负责与对用户提出的问题进行接收、解答、发送、保存,被咨询者根据用户的不同需求既可以通过表单来回复用户提出的问题,也可以通过实时在线咨询解答用户通过网络实时提出的各种问题,但只有经过系统管理员授权的咨询员才可以登录到此模块。35 4.系统管理模块系统管理员进入该模块后,可以实现用户管理(包括用户和被咨询者)以及系统运行、系统的技术支持及数据库维护方面的工作。2.3系统的用例分析2.3.1角色划分在线咨询服务需要多人相互配合,他们在在线咨询服务中起着各自不同的作用,共同确保咨询服务系统功能的实现,本文根据需要把人员分成2类。如图3所示。系统用户系统管理员用户用户图3角色划分例图1.用户在线咨询服务是一项以用户为中心的服务,用户因素在整个服务系统中所起的作用是非常关键的,用户在注册后可通过表单和在线咨询提出问题。被咨询者负责对用户提出的问题的内容进行判断,包括用户的咨询问题是否属于服务的范围,并通过表单或实时咨询及时回答用户提出的相关专业的咨询问题。2.系统管理员负责系统的管理和维护、保障系统的正常运行并进行数据、用户、被咨询者信息的维护和管理,及时更新相关的信息等。2.3.2系统的用例分析1.用户系统35 用户可使用本系统的功能有:(1)用户通过WEB表单提交咨询的问题。(2)用户通过E-Mail提交咨询的问题。(3)查看自己曾咨询的问题。(4)维护自己的个人信息,包括查询并修改自己的基本信息。经过以上分析,我们可以设计出用户的操作用例图,如图4所示。Web表单咨询E-mail咨询实时在线咨询查看我的咨询图4用户使用系统的例图2.管理员系统针对系统管理员,本系统提供的功能和操作:(1)对用户的个人信息进行管理和维护;(2)对被咨询者的信息进行管理和维护。经过以上分析,我们可以设计出管理员的操作用例图,如图5所示。用户信息维护用户管理图5管理员维护系统的例图35 2.4系统业务流程分析2.4.1用户业务流程用户在注册通过管理员审核后,登录系统进行相关操作,包括通过表单向被咨询者咨询问题,也可通过发E-mail的形式向被咨询者提出问题,被咨询者通过实时在线咨询的方式解答用户提出的问题。2.4.2管理员业务流程管理员拥有系统的最高权限,其权限包括对注册用户进行审核、查看所有用户的资料信息、为用户分配权限,进行用户的管理等操作,同时还要对数据库进行维护。2.5本章小结本章首先对在线咨询系统进行了需求分析,着重从业务需求、用户需求和功能需求等三个方面进行了详细的分析。并对系统进行了用例分析给出了用例分析图。35 第3章在线咨询服务系统的设计方案3.1系统的设计原则系统设计原则与设计方法由于针对同一份系统功能说明书,不同设计人员可能会采用不同的设计方法,又因为设计者间存在经验和水平方面的差异,所以会设计出存在质量优劣的不同方案[8]。进行系统设计时可以参考如下原则进行,也可以按这些原则对已经设计好的不同设计方案进行比较和选择。1.简单和经济原则以满足预定目标、能实现系统分析阶段所确定的功能为前提,设计系统时应本着让系统尽量简单的原则。在设计过程中,系统结构合理清晰,尽量简化数据处理过程,尽量让使用者在使用软件时操作方便,尽可能减少使用者手工输入的数据部分。在系统设计中,应考虑软件运行中的维护与修改难易程度,尽量避免一切不必要的复杂化。简单和经济的原则可以减少开发和处理费用,可以提高系统效益,同时也便于软件开发与应用中的管理。2.整体性原则由于开发出的系统一定要成为一个统一的整体,系统设计时应做到在信息、代码、采集、信息通信等方面保持一致,即做到整个系统的数据处处如一,实现数据的全局共享。实现系统的功能时要尽量保持完整,设计用户界面时风格应统一,采用的设计规范要标准,开发的程序结构要规范,描述语言要一致。3.先进性和可扩充性原则在系统设计中应采用成熟的、先进的、符合国际主流标准的计算机系统、软件开发技术、计算机网络、数据库技术和软件开发工具,确保所开发的系统具有较好的可移植性和可操作性,从而保证系统能较好地在较长的一段时间里发挥作用。系统设计阶段完成的系统网络及软件系统设计应满足便于安装、配置、使用和维护,并在满足现有业务需求的基础上,充分考虑软件应用中扩充和升级的需要。4.灵活性和适应性原则35 系统设计当中应意识到,要让系统对外界环境的变化有较强的适应性。设计中应尽量采用模块化结构进行系统设计,尽量提高各模块间的独立性,减少模块间的数据依赖。设计中应构造开放式的系统软件、硬件平台和环境支持,使系统能满足用户不断变化的使用要求,容易改进和更新。还应使软件系统具有较好的开放性和结构的可变更性,以便于应用的修改与功能扩充。5.可靠性原则系统的可靠性是指在运行过程中系统硬件和软件具有抵抗异常情况的干扰、保证系统正常工作的能力。衡量系统可靠性的指标有平均故障间隔时间与平均维护时间。平均故障间隔时间说明了系统运行中的安全状况问题,平均维护时间则可以表现系统可维护性的优劣。只有可靠的系统,才能为用户提供高质高效的支持,得到用户的信任。系统必须可靠,否则就没有利用价值。6.安全性原则安全性是指系统的防病毒功能和保密功能。现在互联网给人们搭建了一个良好的交流平台,但也使得计算机网络犯罪有机可乘,当前如何保证系统的安全已经成为确定系统设计方案很重要的一项因素。为此在设计软件系统和相关的硬件网络时,应选用经过实践检验的、稳定可靠的产品和技术,配置具有安全管理功能的设备,从而使系统具有一定的容错能力、抗毁坏能力和快速恢复能力。设计中还应在操作系统、互联网络访问和数据库管理控制等环节采取严格的安全措施,如为不同的用户设置不同级别的权限,保证系统不受黑客、病毒的破坏。3.2系统的设计3.2.1系统的功能设计在系统的需求分析阶段,本文已从系统的业务需求、用户需求和功能需求三个方面进行了详细的分析,根据系统需求分析的结论,确定本系统应具有以下功能模块。1.用户模块用户模块中主要包括:用户的注册、登陆,用户可以修改个人信息,查看本人咨询过的问题。2.咨询模块咨询模块中提供了多种咨询方式供用户使用,包括E-mail咨询、表单咨询、实时在线咨询,用户可以根据个人的需求,选择不同的咨询方式进行咨询。3.系统管理员模块35 系统管理员模块主要对系统中的用户和被咨询者进行管理,并且对整个系统进行管理,保证系统的正常运行。3.2.2系统的总体设计本系统的用户通过首页,进入登陆页面,通过用户身份验证(系统根据用户权限)进入不同的管理页面,用户通过管理页面进行具体的操作。如图6所示。首页loginProcess.php操作处理数据库login.php用户类型用户名密码图6系统总体设计3.2.3系统的运行模式B/S架构是互联网兴起后的的一种网络结构模式,这种模式是基于浏览器和服务器的[9]。由于统一了客户端,将系统功能实现的核心部分都集中到服务器上,所以简化了系统的开发,维护和使用。在B/S架构中,客户机上只需要安装一个浏览器,服务器上安装大型的数据库,如Oracle或SQLServer等,客户端的浏览器通过Web服务器与服务器端的数据库进行数据交互。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式访问和操作共同的数据库;它还能有效地保护数据平台和管理访问权限,从而保证了服务器和数据库的安全。B/S体系结构是把二层C/S结构的事务处理逻辑模块从客户机的任务中分离出来,由Web服务器单独组成一层来负担其任务,这样客户机的压力减轻了,把负荷分配给了Web服务器。三层体系结构如图7所示。35 浏览器Web服务器数据库图7三层体系结构本系统采用B/S模式,因此客户端仅使用浏览器就可完成各模块的基本功能。所有功能都是通过后台服务器和前台客户浏览器之间的交互来完成的。数据库服务器负责与系统相关的数据的维护和管理。通过Web服务器和数据库服务器之间的信息交换以获得必需的数据。可以使用专用的数据库访问组件得以实现;减少了数据库访问的开发时间和维护成本,让开发者把精力都投入到系统的业务逻辑实现上。用户、被咨询者和系统管理员通过网络利用系统浏览器向咨询服务器提交请求,参考咨询服务器根据用户的请求作相应的响应,并在需要时从数据库服务器中检索数据,最终把服务结果通过浏览器反馈给用户。如图8所示。浏览器Internet在线咨询服务器数据库服务图8基于web的在线咨询系统运行模式3.3数据库设计数据库设计是在线咨询系统设计的重要内容,是信息系统开发和建设的重要组成部分,具体说,数据库的设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够高效的进行数据存储和查询,满足用户的各种应用需求(信息要求和处理要求)[10]。数据库设计人员必须深入实际与用户密切结合,对应用环境、专业业务有具体深入的了解才能设计出符合具体领域要求的数据库应用系统。35 为保证本系统平台的无关性,本系统采用MicrosoftSQLServer2005作为数据库管理系统,采用标准的SQL语言建立起符合本系统需求的数据表,数据表之间相互独立[11]。当应用需求发生部分变更时,系统仅需要修改与之相关的部分不用对整个数据表的结构进行更改,发生变更部分也仅限于修改、追加或删除程序模块或新的数据表,不需要大范围的修改原有程序代码或原有表定义,降低了数据库维护的复杂度。3.3.1数据库分析数据库系统是本系统实现的基础。数据库设计的合理性和优劣性直接影响到整个系统开发的成败及系统的可管理性。在设计过程中,本着数据库系统设计的基本原则,根据系统的需求,在用户模块、咨询员模块、咨询模块设计了多个数据库基本表,实现对相关数据的处理。数据库中确定的一些基本的需求有以下几个方面:1.保存用户、咨询员和系统管理的的基本信息;2.表单咨询的信息;3.提出问题的信息;4.实时在线咨询的信息。3.3.2系统需要的数据库表根据系统功能设计的要求以及功能模块的划分,对数据库进行了分析,确定为保证系统功能的顺利实现,需建立以下各表:1.用户信息表(t_user)用户信息表(t_user)主要用于保存已注册用户的信息,每个号码(t_user_uid)在所有的用户中都具有唯一性。因此,可以将用户uid作为主键。如表1所示。35 表1用户信息表名称类型备注t_user_uid(用户名)Varchar(32)主键t_user_password(密码)Varchar(32)Notnullt_user_photo(头像)Varchar(50)t_user_introduction(个人简介)Varchar(500)t_user_email(邮箱)Varchar(128)t_user_registrationDate(注册日期)datetimet_user_birthday(生日)datet_user_isGag(是否禁言)Tinyint(1)0否;1是t_user_isRoot(是否为管理员)Tinyint(1)0否;1是2.贴吧表(t_tieba)贴吧表保存提出的问题,其他用户给出解答,如表2所示。表2贴吧表名称类型备注t_tieba_id(编号)Int(8)主键auto_incrementt_tieba_title(标题)Varchar(32)Notnullt_tieba_useruid(发帖者uid)Varchar(32)外键于t_user_uidt_tieba_datetime(发帖日期)datetimet_tieba_content(帖子内容)textNotnull3.回复表(t_comment)回复表用来对用户的问题进行解答及询问,如表3所示。表3回复表名称类型备注t_comment_tieziid(帖子编号)Int(8)外键于t_tieba_idt_comment_useruid(回复者用户名)Varchar(32)外键于t_user_uidt_comment_datetime(评论时间)Datetime35 t_comment_content(回复内容)Varchar(2000)Notnull4.屏蔽字(t_maskWord)管理员利用此表对用户的发言进行管理,屏蔽需要屏蔽的字。如表4所示。表4屏蔽字名称类型备注t_maskWord_idInt(8)主键auto_incrementt_maskWord_content(屏蔽字)Varchar(32)Notnull3.4系统实现采用的关键技术3.4.1MD5加密技术一般情况下,用户的密码存储在数据库中,但是若不采取任何保密措施,以明文的形式保存密码,数据库的管理人员或是采取不良手段进行数据库的人就可以很轻松的等到用户的信息。为了增加系统的安全性,很有必要对数据库进行加密处理。MD5的现在使用最普遍的加密技术。MD5的全称是Message-DigestAlgorithm5(信息-摘要算法),MD5将任意长度的“字节串”变换成一个128bit的大整数,它是一个不可逆的字符串变换算法。本系统使用php内置的MD5加密函数对用户密码进行加密,原理就是在用户注册时,MD5将用户密码计算成MD5值后写入数据库,用户登录时,系统把用户输入的密码计算成MD5值再和数据库中保存的MD5值进行比较,进而确定输入的密码是否正确。通过这样的步骤,系统在不知道用户密码的情况下就可以确定用户身份的合法性。3.4.2AJAX技术AJAX全称为“AsynchronousJavaScriptandXML”(异步JavaScript和XML),是一种用于提高客户端交互能力的网页开发技术。Ajax技术整合了在浏览器中可以通过JavaScript脚本实现的所有技术,并以一种全新的方式来使用这些技术,使得Web应用开发焕发了新的活力。与传统的Web应用程序不同,基于Ajax的应用程序不是以静态页面集合的方式来实现Web应用的。从Ajax的角度来看,Web应用由少量的页面组成,每个页面则是一个小型的Ajax应用Ajax组件可以内置到使用JavaScript脚本进行开发的每个页面中。XMLHttp35 Request对象是Ajax技术最核心的部分,它允许开发者以异步的方式向服务器发出请求并得到返回结果,从服务器获取需要的数据后,通过使用DOM实现动态的显示交互,在JavaScript脚本中更新页面中的部分内容。在Ajax应用开发模型中可以通过JavaScript实现在不刷新整个页面的情况下,对部分数据进行更新,从而降低网络流量,给用户带来更好的体验。Ajax应用与传统Web应用的区别主要有以下两点:使用Ajax技术可以实现局部刷新的Web应用。Ajax使用JavaScript脚本与服务器进行数据交换在用户操作过程中WEB页面不用打断交互过程进行重新加载,即可动态地更新,响应速度非常快。使用异步方式与服务器通信,不需要打断用户的其它操作,具有更加迅速的响应能力。交互在页面之内完成,不需要切换整个页面。合理地运用Ajax技术,能够给网页增添许多友好的刷新效果,为应用程序实现更好的用户体验。本论文使用AJAX技术主要用于:(1)用户登录。用户点击登录按钮后,登录框消失,欢迎词改变,但用户却几乎感觉不到首页的变化。(2)前台无刷新实时咨询。3.5本章小结本章主要运用软件工程的基本方法对系统功能进行了详细的介绍和分析,给出了系统各个功能模块的主要功能,包括系统的运行模式,对系统的模块进行划分和分析,系统包含的工作流程以及对数据库包括的数据表进行了分析设计。使整个系统的设计思路更加清晰,使用户和软件测试等人员对系统有了更加深刻的理解。为系统的具体实现和代码的编写工作做了很好的铺垫。35 第4章在线咨询服务系统的实现本系统的主要目的是用于解答用户提出和遇到的各种问题,使用户和被咨询者之间能更快、更方便的进行交流,用户有问题不必亲自自己去解决,只须登陆的到此系统,通过使用本系统的一些功能就可解决大部分问题。该系统主要内容包括:用户注册、表单咨询、在线咨询等。4.1系统的开发环境本系统采用Apache+php+mysql的组合方式进行开发。它选择HTML作为客户端,后台数据库使用SQLserver2005数据库,这种选择能够实现很多的系统性能并且工作效率很高。4.1.1WEB服务器Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一[12]。ApacheHTTPServer(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。本来它只用于小型或试验Internet网络,后来逐步扩充到各种Unix系统中,尤其对Linux的支持相当完美。Apache有多种产品,可以支持SSL技术,支持多个虚拟主机。Apache是以进程为基础的结构,进程要比线程消耗更多的系统开支,不太适合于多处理器环境,因此,在一个ApacheWeb站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器。到目前为止Apache仍然是世界上用的最多的Web服务器,市场占有率达60%左右。世界上很多著名的网站如Amazon、Yahoo!、W3Consortium、FinancialTimes等都是Apache的产物,它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的Unix、Windows、Linux系统平台上)以及它的可移植性等方面[13]。35 4.1.2开发语言PHP(PHP:HypertextPreprocessor的缩写,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,入门门槛较低,易于学习,使用广泛,主要适用于Web开发领域[14]。PHP独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。PHP的优势:开放源代码,所有的PHP源代码事实上都可以得到;免费性,和其它技术相比,PHP本身免费且是开源代码;快捷性,程序开发快,运行快,技术本身学习快。嵌入于HTML,因为PHP可以被嵌入于HTML语言,它相对于其他语言[15]。编辑简单,实用性强,更适合初学者;跨平台性强,由于PHP是运行在服务器端的脚本,可以运行在UNIX、LINUX、WINDOWS、MacOS下;效率高,PHP消耗相当少的系统资源;图像处理,用PHP动态创建图像,PHP图像处理默认使用GD2。且也可以配置为使用imagemagic进行图像处理;面向对象,PHP4,PHP5中,面向对象方面都有了很大的改进,PHP完全可以用来开发大型商业程序;专业专注,PHP支持脚本语言为主,同为类C语言。4.1.3数据库系统MicrosoftSQLServer2005是由美国微软公司所推出的新一代关系数据库,是一个全面的为企业级的用户提供用于进行数据管理的数据库解决方案,它为用户提供了一个安全、可靠、高效的平台用于企业数据管理和商业智能方面的应用。SQLServer2005能够在多个平台、程序和设备之间共享数据,更易于与内部和外部系统连接,在安全性、可靠性、扩展性和可管理性等方面有很大提高,不仅能够确保企业级数据业务的实时稳定运行,还能够提高管理效率、降低操作复杂度和维护成本。SQLServer2005成为企业级市场可信赖平台的原因有几个方面:1.性能优异:微软同AMD、Bull、惠普、英特尔、NEC和Unisys等合作伙伴的基准测试证明,在标准硬件上微软的SQLServer2005能够实现破纪录的性能,同时,在高端服务器上则具有优良的可伸缩性(Scalability35 )以处理企业级OLTP(联机事务处理)和数据仓库的需求。2.高稳定性:SQLServer2005对数据平台安全模型进行了重大提升,能够对数据的安全性进行更为准确、更为灵活的控制。其中包含超过260项安全新特性,并具有内置数据加密、缺省安全保证设置以及全新的基于角色的安全机制。其安全性能优于其它厂商,比如2005年SQLServer实现全年无安全公告;2006年SQLServer2005发布后安全公告数量仅为2,远远低于其它数据库产品的安全公告数量。3.高可靠性:SQLServer2005数据镜像技术提供业界最快的数据冗余解决方案,实现秒级切换。高扩展性方面提供TB级海量数据存储支撑,支持64位高性能运算。4.2系统主要功能的实现4.2.1用户登陆功能的实现用户登陆功能主要包括两个子模块:新用户注册和已注册用户登录模块。点击页面上的链接就可以登录或者注册。1.用户注册:首先用户点击注册,点击“注册”进入注册页面,需要填写用户名、密码等相关信息。确定无误后点击“注册”,系统将对输入的数据提交到数据库中判断是否合法,判断用户的输入信息格式与系统预设的信息格式是否一致,用户名是区别用户的唯一标识,系统在设计数据表时把用户名设计为判断用户身份的主键值,因此用户名具有不可重复性。在注册新用户前,系统提供了对用户名检查的功能,首先判断需要注册的用户名在数据库中是否存在。若用户名已存在,将会给注册者发出提示信息,提示注册者另选其它名称;若不存在,就对用户输入的密码进行MD5加密,并把用户信息存储到数据库中,系统将用户的注册信息显示给用户,并自动进入用户界面。2.用户登录:已注册用户直接进入登录界面进行登录,登录时要求用户输入用户名、密码。点击“登陆”后,系统对用户密码进行加密。若输入不正确,则给出“用户名或密码有错误”的提示,并刷新页面,如果输入正确,再通过数据库验证用户输入的用户名和密码是否正确,验证无误后,使用Session35 对象保存用户的登录信息,进入用户界面,并显示用户上次登录系统的具体时间。然后提示用户进入不同的界面,使用系统提供的各种功能。系统在用户库中设置一个字段isRoot来控制用户的权限。登陆界面如图9所示,注册界面如图10所示。图9用户登陆界面图10注册界面4.2.2表单咨询的设计与实现1.表单提交的实现系统预先设计了表单内容,表单包括的内容有问题主题、具体内容等。用户按要求填写表单中的各项内容,然后提交。被咨询者登录后在一定时间内对问题加以解答,解答内容依照统一格式规范,解答内容完成后提交,用户登录后即可看到对问题的回复。2.实时在线咨询的设计与实现实时在线咨询需要用户和咨询员同时在线,其实现的进程与在线聊天的形式非常相似,在咨询过程中,用户和咨询员都可实时接收相互的交谈内容,咨询员能够在线回答用户提出问题,在线咨询的设计方案利用Ajax技术和数据库推技术,实现无刷新实时咨询。在线咨询流程图如图11所示。35 用户登陆用户提出问题等待其他人解答双方咨询用户退出问题解答图11在线咨询过程4.2.3管理员管理的实现本系统为管理员提供了用户管理、帖子管理和屏蔽字管理。管理员用账号登陆后,就会跳转到用户的管理界面,如图12所示。图12管理员的管理界面4.2.4屏蔽字添加和删除的实现本系统对屏蔽字也进行了相应的管理。管理员进入屏蔽字管理界面后,可以查看已有的屏蔽字,还可以进行屏蔽字的增加和删除,如图13所示。35 图13屏蔽字管理界面4.3系统测试本系统软件设计完成后需要对其进行测试后才能投入使用,测试是软件开发过程中的重要组成部分,是在软件投入使用之前对整个系统开发过程包括需求分析、系统分析、系统设计和系统实施和编码的最终审查,是用来对一个程序系统的品质和性能是否符合开发之前所提出的要求的确认,它是软件质量保证的关键步骤。4.3.1系统测试的目的系统测试的目的:是通过对本参考咨询系统进行测试,检测并发现系统是否存在问题,确认本系统是否满足用户的实际需要、是否符合系统的需求设计和功能设计,通过测试找出软件中的错误并加以改正,保证系统在正式投入使用时能够正常运行,并为改进性能提供依据,系统经过测试后会生成一系列的测试报告,使之成为软件项目验收的重要组成部分。总之,系统测试是为了验证各阶段所完成的工作是否满足需求分析和详细设计要求,识别出期望的结果和真正结果之间的差别,以便修正系统设计和代码实现中的潜在错误,保证系统运行的正确性和功能完备性,提高系统运行的性能。4.3.2系统的功能测试系统的功能测试主要包括:35 1.界面测试:通过测试保证系统页面中各元素布局的协调性,确保不同的页面风格具有一定的统一性,使用户在界面中的操作具有很好的便利性。2.链接测试:系统的链接测试就是要保证系统页面关联的正确性,确保所有的页面都是存在的,系统中不存在孤立的页面。3.数据库测试:数据库在Web应用技术中起着重要的作用,Web应用系统中的管理、运行、查询和实现用户对数据存储的请求操作都是由数据库提供空间。数据库测试包括测试实际数据的正确性和数据的完整性以确保数据没有被误用,以及数据库结构设计得是否正确,同时也对数据库应用进行功能性测试。4.3.3系统的性能测试性能测试通过考察系统在模拟实际运行环境中的表现确定被测试系统的性能是否满足系统预期达到的性能要求。1.压力测试:通过在实际的服务器中安装后,经过实际测试发现系统能够承受较大规模的访问,系统具有很好的可靠性和稳定性。2.安全性测试:检查系统对非法侵入的防范能力及系统本身所存在的安全问题。在安全性测试中,测试人员通过模拟各种方法的系统入侵来检验系统是否有安全隐患。系统安全设计的准则是,使非法侵入的代价超过被保护信息的价值。3.兼容性测试:兼容性测试主要包括两个方面。一个是平台测试,现在有很多不同类型的操作系统,在系统发布之前,在各种操作系统下对WEB系统进行兼容性测试,发现系统的兼容性良好,没有出现不兼容的情况。4.3.4系统的测试结果系统在设计的过程中针对每个模块进行了测试,在所有模块都设计完成并集成后对进行了测试,在测试过程中也发现了一些小问题,并针对这些问题进行了修改,确保系统的正常运行。通过测试发现,系统基本达到了预先设计的效果,主要表现在以下几个方面:1.该系统的使用给用户带来极大的方便,用户在网上就可提出各种问题,而不必亲自向他人咨询。2.用户利用实时咨询模块,使得提出的问题能够及时得到回答,节约了咨询问题的等待时间。35 本系统的测试结果表明,系统的各功能模块已经基本上达到了设计的要求。存在较少的不完全正确的地方,通过不断的调试程序代码,基本上都已经得到了解决。系统的适用性得到了显著增强。4.4本章小结本章首先确定了系统的开发运行平台,介绍了实现数据访问的数据库连接技术,就系统需要实现的各个功能进行了详细的介绍,并对系统进行了测试。35 第5章结论与展望5.1结论随着我国咨询事业的建设和发展,网络应当利用在线咨询系统文献信息数字化、网络化的优势,积极为广大用户提供全方位的服务,使用户能够快速、方便、高效的享受现代化的咨询服务。在线咨询代表了未来咨询服务的发展方向,它的应用和发展赋予了咨询服务新形式、新内容和新方法,使咨询服务更具及时性,更加贴近用户,更有针对性,让用户真正享受到满意的服务。本文首先介绍了在线咨询服务的起源、特点以及图内外的发展和研究现状,详细分析了在线咨询系统的特点、服务模式及功能要求。根据网站的需求特点设计了系统的框架结构、数据库结构及主要的功能模块。本系统具有提供表单咨询、实时咨询等多种咨询方式,为用户更好的利用资源提供了一个方便、快捷的工具。5.2展望我国的在线咨询服务与国外相比还处于发展的初级阶段,随着我国在线咨询建设更深入的发展,它必将是咨询服务建设的重要组成部分,是网站利用现代化技术为用户提供服务的最重要的表现形式。随着网络应用的不断发展,在线咨询服务必将进一步发展,呈现以下趋势:1.更加多样化的咨询服务形式。随着信息技术的不断发展,用户对于实时咨询的方式也提出了更高的要求,不再满足于使用文字进行交流咨询,应通过视频和语音及电子白板等工具为用户提供更直接,更方便的咨询服务。2.开展联合在线咨询服务。咨询人员由于自身知识能力的局限和可利用资源范围的限制,不可能完全准确的回答用户的所有问题,为了提高服务质量和效率,应当建立联合在线咨询服务。因此,联合在线咨询服务将会是今后咨询服务发展的方向。35 参考文献[1]崔宏业.Web2.0网站开发A[M].黑龙江:大学建桥学院出版社,2010:58~88.[2]曾楠,郑灵翔,陈辉煌.基于MVC模式的嵌入式Web设计方法[J].厦门大学学报,2006,(02):196~198.[3]刘高原,张平国,胡建红.基于MVC模式的WEB管理系统的实现[J].华东交通大学学报,2006,(01):87~90.[4]韩希义.计算机网络基础[M].北京:高等教育出版社,2004:55~71.[5]NARAMORE.PHP5、APACHE、MYSQL网络开发[M].北京:电子工业出版社,2005:87~101.[6]邵煜.PHP和MYSQLWEB开发[M].北京:机械工业出版社,2005:69~98.[7]陈浩.PHP程序设计[M].北京:电子工业出版社,2005:53~87.[8]焦桐顺.Php\mysql数据库开发指南[M].北京:电子工业出版社,2001:73~97.[9]潘凯华,邹天思.PHP开发实战宝典[M].北京:清华大学出版社,2010:98~109.[10]仝春灵.数据库原理与应用SQLServer2000[M].北京:电子工业出版社,2000:54~66.[11]徐孝凯,贺佳英.数据库基础与SQLServer应用开发[M].北京:清华大学出版社,2008:143~160.[12]王国荣.ActjveServerPages&Web数据库[M].北京:北京人民邮电出版社,2000:80~107.[13]明日科技.PHP函数参考大全[M].北京:人民邮电出版社,2007:18~108.[14]PETERMOULDING.PHP技术内幕[M].北京:中国水利水电出版社,2003:57~71.[15]邹天思,孙鹏.PHP从入门到精通[M].北京:清华大学出版社,2008:35 81~89.附录一conn=mysql_connect($this->host,$this->user,$this->password);if(!$this->conn){die("连接数据库失败!".mysql_error());}mysql_select_db($this->database,$this->conn);mysql_query("setnamesutf8");}//完成数据库查询selectpublicfunctionexecute_dql($sql){$result=mysql_query($sql,$this->conn)ordie(mysql_error());$arr=mysql_fetch_assoc($result);mysql_free_result($result);mysql_close($this->conn);35 return$arr;}//publicfunctionexecute_dql($dql){//$result=mysql_query($sql,$this->conn)ordie(mysql_error());//$row=mysql_fetch_assoc($result);//$arr[]=$row;//mysql_free_result($row);//mysql_close($this->conn);//return$arr;//}//ypublicfunctionexecute_dqlarray($sql){$result=mysql_query($sql,$this->conn)ordie(mysql_error());while($row=mysql_fetch_assoc($result)){$arr[]=$row;}mysql_free_result($result);mysql_close($this->conn);return$arr;}//分页的数据//$sql1="select*from表名limit0,6;";35 //$sql2="selectcount(id)from表名;";publicfunctionexecute_dql_fenye($sql1,$sql2,$fenyePage){$result=mysql_query($sql1,$this->conn)ordie(mysql_error());$arr=array();while($row=mysql_fetch_assoc($result)){$arr[]=$row;}mysql_free_result($result);$fenyePage->result_array=$arr;$result=mysql_query($sql2,$this->conn)ordie(mysql_error());if($row=mysql_fetch_row($result)){$fenyePage->rowCount=$row[0];$fenyePage->pageCount=ceil($row[0]/$fenyePage->pageSize);}mysql_free_result($result);mysql_close($this->conn);}//查询总数publicfunctionexecute_dqlCount($sql){$result=mysql_query($sql,$this->conn)ordie(mysql_error());if($row=mysql_fetch_row($result)){$result=$row[0];35 }mysql_close($this->conn);return$result;}//完成增,删,改dml语句publicfunctionexecute_dml($sql){$result=mysql_query($sql,$this->conn);if(!$result){return0;//操作失败}else{if(mysql_affected_rows($this->conn)>0){return1;//操作成功}else{return2;//表示没有行数受影响}}mysql_close($this->conn);}}35