版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 数学与计算机工程学院本科毕业设计(论文)(2012届)设计题目 基于Ajax的在线客服系统的设计与实现 Design And Implementation Of Online Customer Service System Based On Ajax 学院 数学与计算机工程学院 专业 计算机科学与技术 班级 2008级02班 学号 作者姓名 全球: 指导老师 职称 目录摘要1英文摘要2绪论3第一章 概 述41.1.相关技术概述41.1.1.软件工程方法41.1.2.数据库设计51.1.3.Ajax概述61.2.开发环境与开发工具81.2.1.J2EE81.2.2.Tomcat101.2.3.
2、JSON111.2.4.SQLServer200511第二章 系统需求分析与概要设计132.1.系统业务流程分析与设计132.2.系统功能结构分析与设计142.3.数据库概念模型设计152.4.数据字典16第三章 系统设计与实现183.1.软件流程设计183.1.1.软件总体设计183.1.2.各模块流程设计183.2.系统设计203.2.1.系统的架构设计203.3.操作面板设计213.3.1.管理员管理面板213.3.2.登录模块设计223.3.3.客服人员管理窗口233.3.4.客服人员与网站客户之间的聊天窗口设计24第四章 主要功能模块测试274.1.软件测试概述274.2.软件测试的
3、目标274.3.软件测试的方法274.3.1.静态测试274.3.2.动态测试284.3.3.黑盒测试与白盒测试284.4.主要功能模块的测试294.4.1.登陆的测试294.4.2.客户注册页面测试30第五章 结束语31致 谢32参考文献33基于Ajax的在线客服系统的设计与实现 摘要:在线客服系统是一种网页形式的即时通讯软件平台的统称,为企业提高形象、加强企业与企业网站访客的互动,为企业进行网络营销提供很好的平台。Ajax作为Web 2.0的代表技术之一,弥补了传统Web应用程序的不足,它是对传统 Web 技术一次革命。它具有很强的生命力,代表了未来 Web 应用开发的趋势。它是在线客服系
4、统实现实现的最好最强技术之一。本文采用Ajax技术设计并实现了一个在线客服系统。此系统具有在线聊天、客服评价、客服管理、客户管理、聊天记录管理等功能。关键词:在线客服;Ajax;即时通讯Design And Implementation Of Online Customer Service System Based On AjaxABSTRACT:Online customer service system is a kind of webpage form of instant messaging software platform collectively, for enterprises
5、 to improve the image, strengthens the enterprise and enterprise website visitor interaction, for the enterprise network marketing provides a good platform. Ajax as a Web 2.0 representative technologies, make up for the traditional Web application deficiency, It is the traditional Web technology rev
6、olution. It has the very strong vitality, it represents the future of Web application development trend. It is the online customer service system to realize the best technology of. This paper uses the Ajax technology to design and implement an online customer service system. This system has the adva
7、ntages of online chat, Customer service evaluation, customer management, customer management, chat records management and other functions.Key words: Online customer service; Ajax; Instant messaging绪 论随着我们对互联网使用,我们对网络也变得越来越挑剔,总是感到网络不够快,数据刷新不够及时,无用数据占用过多的网络资源。与此同时越来越多的企业建立了自己的网站,作为公司形象和产品的展示窗口,并且不惜重金通
8、过搜索引擎来提高网站的知名度和流量,如何抓住来访的过客,让网站从单一的信息发布窗口变成信息交流窗口,却是一个摆在企业眼前的迫切需要解决的问题。但是Ajax 等富客户端技术为我们解决了诸多问题。Ajax 无论说它是对传统 Web 技术的改进还是革命,其实质都是:它具有很强的生命力,确实代表了未来 Web 应用开发的趋势。也许 Ajax 并不是唯一的选择,但 Ajax 的功能是大家有目共睹的。Ajax 技术虽有诸多缺点,但是其局部刷新、异步调用等特点使得它成为在线客服系统首选技术。在线客服系统,作为传统电话不可替代的辅助手段,充分利用互联网的优势,实现网站访客与企业的即时互动,帮助企业抓住一切可能
9、存在的机会,将给企业与客户的沟通带来革命性的变化。如上所述,学习和研究 Ajax 技术对于一个软件开发人员是相当必要的。Ajax 技术成为企业客服系统不可缺乏的技术。Ajax 客服无论在成本、维护、工作效率都优其他技术实现的系统。它无需安装任何软件或插件,在浏览器上就可以及时进行远程会话,而且占用极少的网络资源。所以 Ajax 技术在网络客服系统中具有非常重要的实用价值。第一章 概 述1.1.相关技术概述1.1.1.软件工程方法软件工程以计算机理论及其他相关学科的理论为指导,采用工程化的概念、原理、技术和方法进行软件的开发和维护,把经实践证明的科学的管理措施与最先进的技术方法结合起来。软件工程
10、研究的目标是:“以较少的投资获得高质量的软件”。软件工程包括三个要素:方法、工具和过程。软件工程方法为软件开发提供了 “如何做” 的技术; 软件工具为软件工程方法提供了自动的或半自动的软件支撑环境; 过程是为了获得高质量的软件所需要完成的一系列任务框架,它规定了完成各项任务的工作步骤。 软件工程研究的主要内容有四个方面:1、软件开发方法,主要讨论软件开发的各种方法及其工作模型,它包括多方面的任务,如软件系统需求分析、总体设计,以及如何构建良好的软件结构、数据结构及算法设计等,同时讨论具体实现的技术。2、软件工具为软件工程方法提供支持,研究计算机辅助软件工程,建立软件工程环境。3、软件工程管理,
11、是指对软件工程全过程的控制和管理,包括计划安排、成本估算、项目管理、软件质量管理。4、软件工程标准化与规范化,使得各项工作有章可循,以保证软件生产效率和软件质量的提高。软件工程目标:生产具有正确性、可用性以及开销合宜的产品。正确性指软件产品达到预期功能的程度。可用性指软件基本结构、实现及文档为用户可用的程度。开销合宜是指软件开发、运行的整个开销满足用户要求的程度。软件工程过程:生产一个最终能满足需求且达到工程目标的软件产品所需要的步骤。软件工程过程主要包括开发过程、运作过程、维护过程。它们覆盖了需求、设计、实现、确认以及维护等活动。需求活动包括问题分析和需求分析。问题分析获取需求定义,又称软件
12、需求规约,它生成功能规约。设计活动一般包括概要设计和详细设计。概要设计建立整个软件系统结构,包括子系统、模块以及相关层次的说明、每一模块的接口定义。详细设计产生程序员可用的模块说明,包括每一模块中数据结构说明及加工描述。实现活动把设计结果转换为可执行的程序代码。确认活动贯穿于整个开发过程,实现完成后的确认,保证最终产品满足用户的要求。维护活动包括使用过程中的扩充、修改与完善。伴随以上过程,还有管理过程、支持过程、培训过程等。软件工程的原则是指围绕工程设计、工程支持以及工程管理在软件开发过程中必须遵循的原则。软件生命周期是软件工程最基本的重要概念。通常把软件从开始研制(形成概念)到最终软件被废弃
13、不用这整个阶段称为软件的生命期。为了能对软件进行有条不紊、有步骤的开发和管理。而软件工程采用的生命周期法学就是从时间的角度对软件开发和维护的复杂问题进行分解,我们把软件生命周期依次划分为若干个阶段,每个阶段都有相对独立的任务,然后逐步完成。应该遵循的基本原则是:各阶段的任务彼此间尽可能相对独立,同一阶段各项任务的性质尽可能相同,从而降低每个阶段任务的复杂程度,简化各阶段之间的联系,有利于软件开发工程的管理。在完成各阶段的任务时,应该采用适合阶段任务特点的系统化的技术方法即结构分析或结构设计技术。1.1.2.数据库设计数据库是MIS(管理信息系统)、DDS(决策支持系统)、OAS(办公室自动化系
14、统)、ECS(电子商务系统)的基础和重要组成部分,数据库设计是指对一个给定的应用环境构造(设计)最优的数据模型,然后据此建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求。需求分析是数据库设计的最基础工作,充分了解用户的组织机构、业务规则、数据需求、完整性约束条件、事务处理和安全性要求等,画出组织机构图、业务流程图,详细描述用户应用环境的业务流程、数据需求。进一步完成概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库的运行和维护。这一设计阶段是在需求分析的基础上,设计出能够满足用户需求的各种实体,以及他们之间的关系,为后面的逻辑结构设计打下基础。这个阶段不用考虑所
15、采取的数据库管理系统、操作系统类型和机器类型等问题。本系统使用的是E-R图进行数据库概念结构设计。1.1.3.Ajax概述Ajax(Asynchronous JavaScript and XML)是结合了Java技术、XML以及JavaScript等编程技术,可以让开发人员构建基于Java技术的Web应用,并打破了使用页面重载的惯例。Ajax Web引用模型如图1-1所示Ajax是使用客户端脚本与Web服务器交换数据的Web应用开发方法。这样,Web页面不用打断交互流程进行重新加裁,就可以动态地更新。使用Ajax,用户可以创建接近本地桌面应用的直接、高可用、更丰富、更动态的Web用户界面。图1
16、-1 Ajax Web引用模型异步JavaScript和XML(Ajax)不是什么新技术,而是指这样一种方法:使用几种现有技术包括级联样式表(CSS)、JavaScript、XHTML、XML和可扩展样式语言转换(XSLT),开发外观及操作类似桌面软件的Web应用软件。异步这个词是指Ajax应用软件与主机服务器进行联系的方式。如果使用旧模式,每当用户执行某种操作、向服务器请求获得新数据,Web浏览器就会更新当前窗口。如果使用Ajax的异步模式,浏览器就不必等用户请求操作,也不必更新整个窗口就可以显示新获取的数据。只要来回传送采用XML格式的数据,在浏览器里面运行的JavaScript代码就可以
17、与服务器进行联系。JavaScript代码还可以把样式表加到检索到的数据上,然后在现有网页的某个部分加以显示。在面向消费者的诸多应用当中,Google的Gmail和Google Maps就是最常见的例子。然而,Ajax应用软件厂商越来越把目光瞄准了企业。譬如说,Ajax在线客服。不过Ajax应用软件的适用领域具有一定的局限性。因为它们利用了一些最新的Web技术,所以只能在某些Web浏览器里面运行不过Ajax适用的浏览器正越来越多。Ajax使用步骤:1工具不同的浏览器创建不同的 XMLHttpRequest ,分为IE内核浏览器和非IE内核浏览器。代码如图1-2所示。图1-2 根据浏览器创建XM
18、LHttpRequest2Ajax运行流程如图1-3所示。图1-3 Ajax运行流程3创建回调函数得到服务器回应数据。如图1-4所示。图1-4 回调函数得到服务器响应数据1.2.开发环境与开发工具本系统基于以下软件设备和硬件设备环境:1. 硬件设备:Intel(R) Pentium(R) Dual-Core CPU 2.50GHz ,2.0GB内存,320G硬盘,显示器分辨率为1280x1024。2. 软件设备:操作系统采用Windows XP作为系统软件。本系统基于Oracle 公司的J2EE标准进行设计,采用目前比较流行的技术SERVLET和JSP来完成整个系统的实现,WEB服务器彩Tom
19、cat应用服务器来完成,数据库亦采用免费的SQLServer。1.2.1.J2EEJ2EE是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。J2EE是一种利用Java 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE技术的基础就是核心Java平台或Java 2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如编写一次、随处运行的特性、方便存取数据库的JDBC API、CORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对 EJB(Enterprise Ja
20、vaBeans)、Java Servlets API、JSP(Java Server Pages)以及XML技术的全面支持。J2EE的优势在于J2EE为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制:1.保留现存的IT资产:由于企业必须适应新的商业需求,利用已有的企业信息系统方面的投资,而不是重新制定全盘方案就变得很重要。这样,一个以渐进的(而不是激进的,全盘否定的)方式建立在已有系统之上的服务器端平台机制是公司所需求的。J2EE架构可以充分利用用户原有的投资,如一些公司使用的BEA Tuxedo、IBM CICS, IBM Encina,、Inprise VisiBroker
21、以及Netscape Application Server。这之所以成为可能是因为J2EE拥有广泛的业界支持和一些重要的企业计算领域供应商的参与。每一个供应商都对现有的客户提供了不用废弃已有投资,进入可移植的J2EE领域的升级途径。由于基于J2EE平台的产品几乎能够在任何操作系统和硬件配置上运行,现有的操作系统和硬件也能被保留使用。2.高效的开发:J2EE允许公司把一些通用的、很繁琐的服务端任务交给中间件供应商去完成。这样开发人员可以集中精力在如何创建商业逻辑上,相应地缩短了开发时间。高级中间件供应商提供以下这些复杂的中间件服务。3.状态管理服务:让开发人员写更少的代码,不用关心如何管理状态,
22、这样能够更快地完成程序开发。4.持续性服务:让开发人员不用对数据访问逻辑进行编码就能编写应用程序,能生成更轻巧,与数据库无关的应用程序,这种应用程序更易于开发与维护。5.分布式共享数据对象CACHE服务:让开发人员编制高性能的系统,极大提高整体部署的伸缩性。6.支持异构环境:J2EE能够开发部署在异构环境中的可移植程序。基于J2EE的应用程序不依赖任何特定操作系统、中间件、硬件。因此设计合理的基于J2EE的程序只需开发一次就可部署到各种平台。这在典型的异构企业计算环境中是十分关键的。J2EE标准也允许客户订购与J2EE兼容的第三方的现成的组件,把他们部署到异构环境中,节省了由自己制订整个方案所
23、需的费用。7.可伸缩性:企业必须要选择一种服务器端平台,这种平台应能提供极佳的可伸缩性去满足那些在他们系统上进行商业运作的大批新客户。基于J2EE平台的应用程序可被部署到各种操作系统上。例如可被部署到高端UNIX与大型机系统,这种系统单机可支持64至256个处理器。(这是NT服务器所望尘莫及的)J2EE领域的供应商提供了更为广泛的负载平衡策略。能消除系统中的瓶颈,允许多台服务器集成部署。这种部署可达数千个处理器,实现可高度伸缩的系统,满足未来商业应用的需要。8.稳定的可用性:一个服务器端平台必须能全天候运转以满足公司客户、合作伙伴的需要。因为INTERNET是全球化的、无处不在的,即使在夜间按
24、计划停机也可能造成严重损失。若是意外停机,那会有灾难性后果。J2EE部署到可靠的操作环境中,他们支持长期的可用性。一些J2EE部署在WINDOWS环境中,客户也可选择健壮性能更好的操作系统如Sun Solaris、IBM OS/390。最健壮的操作系统可达到99.999%的可用性或每年只需5分钟停机时间。这是实时性很强商业系统理想的选择。1.2.2.TomcatTomcat可以运行Servlet和JSP,是一个小型的轻量级应用服务器,它性能稳定、扩展性好、源码开放,是开发中小型Web应用系统的首选。Tomcat既是一个开放源码、免费支持JSP和Servlet技术的容器,同时又是一个Web服务器
25、软件,受到了Sun公司的大力推荐和支持。因此,Servlet和JSP的最新规范都可以在Tomcat的新版本中得到实现。1 容易配置安装。下载Tomcat,设定一些配置,就完成了。不需要花费时间将Web服务器的连接器整合至其它的Web服务器中。2 有较佳的安全防护。相对于其它以C、C所编写的Web服务器,Tomcat比较能忍受远程缓冲区溢位的攻击。因为Tomcat的Java虚拟机是位于 网络及操作系统之间,它可以防止几乎所有类型的缓冲区溢位攻击。使用Tomcat的安全防护领域,可以指定对各个资源的访问。3 容易移植。可以将Tomcat服务器(以及应用程序)移植到不同的服务器、操作系统甚至架构上。
26、因为Tomcat是以可跨平台语言Java编写的,因此可以将其整个目录结构的内容复制到其它计算机或服务器上运行,而完全不需要任何改变。1.2.3.JSONJSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C+, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。JSON建构有两种结构:1“名称/值”对的集合(A colle
27、ction of name/value pairs)。不同的语言中,它被理解为对象(object),记录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组(associative array)。2值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。应用Ajax的时候XMLHttpRequest会返回一个串类型数据,未解析但来难度。但JSON提供了一种更适合Ajax应用的标准数据交换格式。JSON(JavaScript Object No
28、tation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。提高开发效率,和机器解析速度。1.2.4.SQLServer2005美国Microsoft公司推出的一种关系型数据库系统。SQLServer是一个可扩展的、高性能的、为分布式客户机/服务器计算所设计的数据库管理系统,实现了与WindowsNT的有机结合,提供了基于事务的企业级信息管理系统方案。SQLServer被广泛地应用在Internet上的网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多网站为了降低网站总体拥有 成本而选择了SQLServer作为网站数据库。SQLServer的特
29、性:1高性能设计,可充分利用WindowsNT的优势。2系统管理先进,支持Windows图形化管理工具,支持本地和远程的系统管理和配置。3强壮的事务处理功能,采用各种方法保证数据的完整性。4支持对称多处理器结构、存储过程、ODBC,并具有自主的SQL语言。 SQLServer以其内置的数据复制功能、强大的管理工具、与Internet的紧密集成和开放的系统结构为广大的用户、开发人员和系统集成商提供了一个出众的数据库平台5真正的客户机/服务器体系结构。6丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。7具有很好的伸缩性,可跨越从运行Windows 95/98的膝上型电脑到运行Windo
30、ws 2000的大型多处理器等多种平台使用。8对Web技术支持,使用户能够很容易地将数据库中的数据发布到Web页面上。第二章 系统需求分析与概要设计需求分析是软件定义时期的最后一个阶段,也是设计数据库的一个起点,它确定了系统必须完成哪些工作,提出完整、准确、清晰和具体的要求,直接影响到后面各个阶段的设计,以及设计结果是否合理和实用。2.1.系统业务流程分析与设计本系统所要完成的功能如下:登录模块:系统根据不同身份的用户登录,显示不同的页面,进行各项功能的操作,本系统一共有四种用户身份:管理员、客服人员以及前端用户。客服系统管理员:系统管理员模块要完成系统的用户及角色管理。网站客服人员模块要完成
31、的功能包括:与网站客户聊天、维护客服字典。网站用户模块要完成的功能包括:查看在线客服列表、与客服人员沟通。根据以上业务需求分析可得出主要业务流程如图2-1所示。图2-1 登陆模块业务流程图2-2 客服模块业务流程图图2-3 网站用户模块业务流程图图2-4 管理员模块业务流程图2.2.系统功能结构分析与设计依据需求分析结果结合业务流程图可知,系统需要管理以下相关实体及操作:图2-5 系统功能模块图1、实体:管理员、聊天记录、客服、客户;2、操作:实体的检索功能;实体的数据维护功能。本系统功能模块设计如下图2-5所示。2.3.数据库概念模型设计本阶段是在需求分析的基础上,把用户需求抽象为信息结构,
32、建立出一个面向问题的概念模型。用E-R图描述实体。用这种方法表示的概念模型又称为E-R模型。E-R模型中包含“实体”、“联系”、和“属性”等三个基本成分,其中:实体是指客观世界中存在的并可以相互区分的事物。用方框表示,方框内为实体的名称;联系:是指客观世界中的事物彼此间的联系。用菱形表示,菱形内为联系的名称。属性:是指实体或联系所具有的性质。用椭圆表示,椭圆内为属性名称。使用线段将其和相应的实体连接起来。系统中包含的实体描述如下:1系统用户实体如图2-6所示。图2-6 系统用户实体属性图2聊天记录实体如图2-7所示。图2-7 聊天记录实体属性图3在线用户实体如图2-8所示。图2-8 在线用户实
33、体属性图4本系统的实体关系图如图2-9所示。图2-9 系统实体E-R图2.4.数据字典 本设计数据库构建了两张表:1系统用户表。用户由管理员、客服人员、客户组成,详细参考表2-1。2客服聊天记录表。用于保存客服聊天记录,详细请参考表2-2。3客服评价表。用于查看客户对客服的评价,详细请参考表2-3。表2-1 系统用户表字段名称数据类型字段大小索引说明idIntPrimary编号userLoginNameVarchar20登录名userPasswordVarchar10密码isOnlineInt 客服是否状态isAdminInt是不是管理员、客服、客户表2-2 客服聊天记录表字段名称数据类型字段
34、大小索引说明idintPrimary编号fromUservarchar20发送人toUservarchar20接收人msgvarchar500内容shijianDate发送时间表2-3 客服评价表字段名称数据类型字段大小索引说明idintPrimary编号userLoginNamevarchar20评价的客服contentvarchar200评价内容pJdengjiint 满意度第三章 系统设计与实现3.1.软件流程设计3.1.1.软件总体设计系统设计要回答的中心问题是系统“怎么做”,即如何实现需求分析说明书中规定的系统功能。在这一阶段,要根据实际的技术条件、经济条件和社会条件,确定系统的实施
35、方案,即系统的物理模型。系统总流程图如图3-1所示。图3-1 系统总流程图3.1.2.各模块流程设计用户登录模块功能:用户在登录界面登录后,可进入相应权限的工作界面。用户登录流程图如图3-2所示。图3-2 用户登录流程图系统管理员模块功能:系统管理员登录成功后,可以对客服经理和客服人员进行增、删、改和查询操作,也可以对系统的角色进行增删改和查询的操作。 系统管理员模块的流程图如图3-3所示。图3-3 系统管理员模块流程客服人员模块功能:客服人员登录成功后,可以对客服字典进行管理,包括增删改和查询操作,同时可以和网站客户进行聊天,为客户解答疑问。客服人员模块的流程如图3-4所示。图3-4 客服人
36、员模块流程图3.2.系统设计本系统基于B/S结构采用MVC模式进行设计。MVC架构分层的好处就在于代码清晰,结构分明,有利于修改、维护和复用,这已经成为大家分层的一个最有说服力的原因。3.2.1.系统的架构设计系统的J2EE为基础,通过在web.XML中配置servlet实现页面跳转。软件系统的开发分为Entity bean、DAO、Service三层:Entity bean 代表业务处理对象,它存储在持久的存贮机制如数据库中,例如,一个Entity bean 代表一个帐户存单,它是存储在关系数据库中存单表的一行。Entity bean 的信息不一定存储在关系数据库中,它也可以存储在对象数据库
37、中、文件中或其他别的存储机制中。Entity bean 可以被多个客户端共享。由于多个客户端可能改变相同的数据,所以Entity bean 在事务管理下工作是很重要的。通常情况下,每一个Entity bean 都有一个唯一的对象标识符,也叫主键,这个主键可以让客户端定位一个Entity bean。Entity bean 的持久性可以被 Entity bean 自己管理,也可以让 Java 容器管理,Entity bean自己管理要求开发人员在Entity bean中提供数据存取代码。例如客户的Entity bean要调用 SQL 语句来通过 JDBC 存取关系数据库。Service是业务层。业
38、务才是系统核心。但是在实际的开发中,我们过多的关注了表现层和DAO层,业务的变更最直观的体现是表现在页面上,表现层的变化是必须得,但是表现层的变化更多的体现在流程的变化。我们也经常喜欢去过度的处理 DAO层,业务的变更直接体现到SQL上的变更,一个个业务逻辑被翻译成一条条复杂的SQL语句。它存在的意义完全成了连接表现层和DAO的简单桥梁。DAO是数据访问层。有时候也称为是持久层,其功能主要是负责数据库的访问。简单的法就是实现对数据表的Select、Insert、Update、Delete的操作。以及对象实体的持久化。3.3.操作面板设计3.3.1.管理员管理面板本系统的菜单采用在浏览器主窗体中
39、的左侧设置菜单栏,系统管理员根据菜单项来执行对应功能模块的操作。菜单的界面如图3-5左边所示。图3-5 系统管理员登录菜单3.3.2.登录模块设计登录用户输入正确的用户名和密码即可登录系统,本系统的登录用户分为三类:系统管理员,客服人员。如果用户输入的用户名和密码不正确,不能登录。登录窗口如图3-6所示。图3-6 系统登录窗口判断用户是否正确登录的部分重要代码:resp.setContentType(text/html;charset=GBK);String loginName =req.getParameter(loginName);String pwd = req.getParameter
40、(PWD);PrintWriter out = resp.getWriter();out.print();CsUser csUser = csUserDao.findNameAnduserPassword(loginName, pwd); if(csUser = null)out.print();out.print(alert(账号或密码错误!);out.print();out.print(重新登录);else if(csUser.getIsAdmin()=2)out.print();out.print(alert(登录成功!);out.print();req.getSession().set
41、Attribute(csUser, csUser);resp.sendRedirect(admin/manager.jsp);3.3.3.客服人员管理窗口管理员登录成功后,系统会显示出相关的功能菜单,管理员可以对聊天记录进行管理,管理界面如图3-7所示。图3-7 聊天记录管理窗口聊天记录管理窗口实现的部分窗口ahref=./DelMsgServlet?id=删除3.3.4.客服人员与网站客户之间的聊天窗口设计客服人员与网站客户之间的沟通采用的时Ajax技术实现的,通过定时刷新页面来显示聊天记录,在刷新页面时,Ajax定时向服务器发送请查询数据库,服务器响应给客户端JSON字符串,然后解析JSO
42、N字符串,使用Dome编程在在聊天面板添加显示数据。 客服人员与客户之间聊天窗口的区别在于客服人员还要定时刷新请求服务的用户,如果有变化时要及时更新请求用户列表。聊天窗口如图3-8所示。图3-8 客服人员与网站客户之间的聊天窗口聊天窗口部分重要代码如下 function ChatSend(obj) var fromUser = document.getElementById(csUser).value; var toUser = document.getElementById(kfUser).value; var ChatValue = document.getElementById(msg)
43、.value; var maxID = document.getElementById(maxId).value;var url ;If(ChatValue=null)Url=./ToCusMsg?fromUser=+fromUser+&toUser=+toUser+&maxId=+maxID;elseurl= ./ToCusMsg?fromUser=+fromUser+&toUser=+toUser+&ChatValue=+ChatValue+&maxId=+maxID; var xmlhttp;xmlhttp=null;if (window.XMLHttpRequest) xmlhttp=
44、new XMLHttpRequest(); else if (window.ActiveXObject) xmlhttp=new ActiveXObject(Microsoft.XMLHTTP); if (xmlhttp!=null) xmlhttp.open(post,url,true); xmlhttp.onreadystatechange=state_Change; xmlhttp.send(null); else alert(Your browser does not support Ajax); function state_Change()if (xmlhttp.readyStat
45、e=4) if (xmlhttp.status=200) var jsonStr = xmlhttp.responseText; alert(xmlhttp.responseText); var JsonObj=eval(+jsonStr+); for(var i=0;iJsonObj.array.length;i+)$(ChatContent).innerHTML+=toUser+说:+JsonObj.arrayi.msg+; document.getElementById(maxId).value=JsonObj.countId; var o = obj.ChatValue; if (o.
46、value.length0) $(ChatContent).innerHTML += you说:+o.value+; o.value=; $(ChatContent).scrollTop=$(ChatContent).scrollHeight; if (document.getElementById) ( function() if (window.opera) document.write(); )(); 第四章 主要功能模块测试4.1.软件测试概述软件测试是软件开发过程中最关键的阶段。当测试成功时可以尽早发现产品中存在的问题并及时解决。尽早解决可以使软件发布后维护的费用降低。测试的目的是为
47、了保证软件的质量,满足设计的要求和客户的要求:因此软件测试是保证质量的关键步骤,也是对软件的规格说明、设计和编码的最后复审。4.2.软件测试的目标测试是指“用意在于发现错误而执行一个程序的过程”,一个成功的测试是指它成功地发现了一个尚未发现的错误。软件进行测试,可以分为单元测试、编码测试和综合测试,单元测试可以测试单一模块的功能并确定其功效;编码测试可以测试各模块之间的连接是否有效;综合测试是对软件最后的审定软件的各项功能是否齐全有效,是否能顺利完成设计的目的。4.3.软件测试的方法软件测试方法一般分为动态测试方法与静态测试方法。动态测试方法中又根据测试用例的设计方法不同,分为黑盒测试与白盒测
48、试两类。4.3.1.静态测试静态测试是采用人工检测和计算机辅助静态分析的手段对程序进行检测,方法如下:1、 人工检测:是指不依靠计算机运行程序,而靠人工审查和评审软件。2、 计算机辅助静态分析:指利用静态分析软件工具对被测试程序进行特性分析,从程序中提取一些信息,来检查可能出错的变量、参数与代码等。4.3.2.动态测试动态测试与静态测试相反,主要是设计一组输入数据,然后通过运行程序来发现错误。一般有两种方法:黒盒测试和白盒测试。4.3.3.黑盒测试与白盒测试1. 黑盒测试黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用。在测试时,把程序看
49、作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当接收输入数据而产生正确的输出信息,并且保持外部信息的完整性。在功能测试中,被测软件的输入域和输出域往往是无限域,因此穷举测试通常是不可行的。必须以某种策略分析软件规格说明,从而得出测试用例集,尽可能全面而又高效地对软件进行测试。下面就说明几种功能测试的方法:1)等价类划分所谓等价类,就是指某个输入域的集合,集合中的每个输入对揭露程序错误来说是等效的,把程序的输入域划分成若干部分,然后从每个部分中选取少数代表性数据作为测试用例,这就是等价
50、类划分方法。它是功能测试的基本方法。2)因果图法因果图是一种形式语言,由自然语言写成的规范转换而成,这种形式语言实际上是一种使用简化记号表示数字逻辑图。因果图法是帮助人们系统地选择一组高效测试用例的方法,此外,它还能指出程序规范中的不完全性和二义性。3)边值分析实践证明,软件在输入、输出域的边界附近容易出现差错,边值分析是考虑边界条件而选取测试用例的一种功能测试方法。所谓边界条件,是相对于输入和输出等价类直接在其边缘上,稍高于和稍低于其边界的这些状态条件。边值分析是对等价类划分的有效补充。黑盒测试主要是为了发现以下几类错误:(1)是否有不正确或遗漏的功能?(2)在接口上,输入是否能正确的接受?
51、能否输出正确的结果?(2)是否有数据结构错误或外部信息(例如数据文件)访问错误?2.白盒测试白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能。其主要方法有逻辑驱动、基路测试等,主要用于软件验证。白盒法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。白盒法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。但即使每条路径都测试了仍然可能有错误。第一,穷举路径测试决不能查出程序违反了设计规范,即程序本身错误的程序。第二,穷举路径测试不可能查出程序中因遗漏路径而出错。第三,穷举路径测试可能发现不了一些与数据相关的错误。与功能测试不同的是,结构测试涉及程序内部结构。尽管用户更倾向于基于程序规格说明的功能测试,但是结构测试能发现潜在的逻辑错误,而这种错误往往是功能测试发现不了的。它们各有利弊,常常结合使用。白盒测试主要是想对程序模块进行如下检查:(1) 对程序模块的所有独立的执行路径至少测试一遍。(2) 对所有的逻辑判定,取“真”与取
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 蜂产品品评员岗前纪律考核试卷含答案
- 印染成品定等工岗前安全培训考核试卷含答案
- 钽钠还原火法冶炼工岗前理论考核试卷含答案
- 木制家具工岗位品牌建设考核试卷含答案
- 设备点检员保密意识评优考核试卷含答案
- 裂解汽油加氢装置操作工操作规程能力考核试卷含答案
- 平板显示膜涂布工道德知识考核试卷含答案
- 飞机数字化装配工岗中基础综合考核试卷含答案
- 酱类制品制作工岗中创新思维考核试卷含答案
- 蒸吸工岗前压力应对考核试卷含答案
- GB 1589-2026汽车、挂车及汽车列车外廓尺寸、轴荷及质量限值
- 2026年黑龙江省佳木斯市辅警考试试卷带答案
- 教科版初中物理九年级上册(提高版)(全册知识点考点梳理、重点题型分类巩固练习)(家教、补习、复习用)
- 2024秋新人教版小学一年级艺术唱游·音乐上册《第一单元 奇妙的声音世界》教案设计
- DB5301-T 98-2023 改性磷石膏综合利用矿山生态修复环境风险评估规范
- 肩关节脱位护理
- 小学数学分层作业设计课题研究计划
- 设备采购 投标方案(技术方案)
- 2023年公共营养师之二级营养师真题练习试卷A卷附答案
- 第四讲 坚持以人民为中心PPT习概论2023优化版教学课件
- 整车DTS测量规范
评论
0/150
提交评论