资源描述
毕业论文(设计)毕业论文(设计)客户关系管理系统客户关系管理系统 摘摘 要要本文介绍了如何使用 JSP 开发一个客户关系管理系统,目的在于让大家共同学习和运用这一语言的体会和收获。本系统是 Intranet 环境下面的电子商务的客户关系管理,通过企业管理技术、电子商务和信息技术的高度集成,帮助企业在全球经济一体化的激烈市场竞争环境中,建立以市场、客户为中心的管理体系,有效管理企业与客户之间的关系,提高客户忠诚度,实现客户价值的最大化。从而提高企业的核心竞争力。企业要想生存发展,就必须与与之息息相关的客户建立起良好的关系,不断发展新客户,以企业高质量的产品、优质的服务、良好的资信吸引新客户;经常维系与老客户的关系,以规范的客户管理方式、温馨的客户关怀、高效的客户服务来提升老客户的忠诚度。由此,客户管理系统应运而生。【关键词】 Struts 框架、Struts 框架的工作原理、样式层、持久层、服务层、控制层。 2AbstractAbstract This article introduced how uses JSP to develop a customerrelations management system management system, the goal lies in letseverybody study and utilize this language together the experience andthe harvest. This system is under the Intranet environment electroniccommerce customer relations management, through the businessmanagement technology, the electronic commerce and the informationtechnology high integration, helps the enterprise in the whole worldeconomic integration intense market competition environment,establishes take the market, the customer as the central managementsystem, effectively manages between the enterprise and the customerrelations, enhances the customer loyalty, realization customer valuemaximization. Thus enhances the enterprise the core competitiveability. The enterprise needs to want to survive the development, mustwith the customer which is closely linked with it establish the goodrelations, unceasingly develops the new customer, by the enterprisehigh grade product, the high quality service, the good capital letterattracts the new customer; Frequently maintains with the old customerrelations, by the standard customer management way, the warm customerconcern, the highly effective customer serves promotes the oldcustomer the loyalty. From this, the customer management systemmanagement system arises at the historic moment. Key word Struts frame, Struts frame principle of work, stylelevel, lasting level, service level, control level.3目目 录录ABSTRACT.2引 言.1第一章 Internet 与企业级应用平台介绍.21.1.Internet 的现状.21.2企业级应用平台.21.3J2EE 及其他相关技术.41.3.1J2EE 技术.41.3.2 J2EE 特点.51.3.3 JSP 简介.71.3.4数据库概述.8第二章 系统分析.92.1 需求分析.92.2 可行性分析.10第三章 总体设计.113.1 项目规划.113.2 系统功能结构图.123.3 数据库设计.123.3 设计目标.153.4 开发及运行环境.16第四章 系统各功能模块的实现.174.2 系统登录.174.2 管理员操作界面.184.3 客户经理操作界面.184.4 销售主管操作界面.20第五章 系统测试.22 45.1 测试项目.225.2 测试方法.23结 论.25致 谢.26参考文献.27 引引 言言21 世纪是信息的时代,是网络的时代,进入信息社会高速发展的时代,数字化革命给所有领域带来新的改变。随着 Internet 的普及,无论人们相隔多么遥远,都有天涯若比邻的感觉。足不出户,便可知天下新近之大事,便可与大洋彼岸的朋友畅谈无阻。网页逐渐融入人们的生活,快速及时地浏览新闻,获取五彩缤纷的网上信息,已成为人们日常生活的一部分,与此同时越来越多的企业建立了自己的 WWW网站,企业通过网站可以展示产品,发布最新动态,与用户进行交流和沟通,与合作伙伴建立联系,以及开展电子商务等。互联网的世界里蕴藏无限生机,这里只有想不到的、没有做不到的。网络发展前景无限,及早与网络结合,与信息时代同步,与高科技汇合,定会给社会各行各业的发展注入新鲜的活力。在网络技术的领域里,传统的商务网站的管理方式有两种,一是静态 HTML 页面,更新信息时需要重新制作页面然后上传页面并修改相应链接,然而随着 Internet 的进一步发展,这种静态Web 站点的开发与维护变得越来越困难,而且不能与浏览者进行有效交互,从而使得这种方法已不多用。二是基于 ASP、PHP 或者 JSP 和脚本语言,将动态网页和数据库结合,通过应用程序来处理信息,这是目前较为流行的做法。客户资源决定企业的核心竞争力。任何一家企业,有钱就可以买到最好的设备、尖端的技术,但却买不到强大的客户资源。面对着竞争对手不断截留我们的客户,各企业商家所关心的不再局限于自身的产品质量、生产设备、员工的素质,更多的是关心自己的销售群体(客户群) ,关心他们的想法、需求、购买目的,并与客户建立好良好的、长期的客户关系,强化与客户的沟通,帮助企业留住老客户的同时,更好地拓展新客户,提升客户价值,从而全面提升企业竞争能力和盈利能力,为企业的发展壮大保驾护航。本文论述的就是采用 JSP + Tomcat + SQL 开发环境开发动态的 Web 客户关系管理系统。 2第一章第一章 Internet 与企业级应用平台与企业级应用平台介绍介绍1.1.1.1.InternetInternet 的现状的现状国际互联网(Internet)是使用公共语言进行通讯的全球计算机网络,它的出现是二十世纪末人类社会最伟大的成就之一。Internet 的迅速普及化,使其逐步地从大学、科研机构走向企业和百姓家庭,其功能也已从信息共享演变为一种大众化的信息传播工具,将我们带入了一个新的信息化的时代。Web 是 Internet 上发展最快、应用最广泛也最实用的超文本信息通信系统,它以客户机/服务器(B/S)模式进行数据通信。服务器端通过 Web Server 可以提供各种服务;客户端可以通过浏览器(Browser)访问多种协议的多媒体信息,依据用户的需要组织和传递信息。用户只需要提出自己的查询要求,具体到什么地方、如何取回信息都由 Web 自动完成。通过浏览器,用户只需用鼠标点击显示屏上高亮度或有下划线的词语,就可将与该词语相关联的文件取回并显示在屏幕上,用户无需关心这些文件存放在 Internet 上的哪台计算机中。人们可以通过 Web 浏览器浏览和检索全球所有 Web 站点的信息,这就使得信息的共享与交流越来越迅速、越来越方便,正因为如此,Web 才成为了目前 Internet 上信息发布与出版的重要途径。1.21.2企业级应用平台企业级应用平台随着计算机和 Internet 的迅速普及,越来越多的企业使用信息自动化管理模式代替原始的纸张管理模式,因此一套针对企业级应用的完善的企业(包括ERP、CRM、OA 等)系统将给企业的信息自动化管理带来一场新的革命。企业级应用程序的开发在不断的发展。企业级应用程序需要设计、编译、开发低价位的、高速的、占用少量资源的程序。从 C、VB 语言到的 C#、Java 语言,从 Lotus 公司的 Notes 平台到微软公司的.net 平台和 Sun 公司的 J2EE 平台,企业级应用平台的发展变化是巨大的。现今两种主流企业级开发平台的开发语言 Java 和 C#在架构上有着惊人的相似:虚拟机技术,基于沙箱的安全模型,分层的命名空间,垃圾回收等。作为一种新语3言,C#加入了基于 XML 的标记,可以被编译器用来直接生成文档,C#的另一个特点:一站式软件(one-stop-shopping software)强调了自解释( self-describing) 的编码方式,即头文件,IDL(Interface Definition Language),GUID 和其他复杂的接口无需再被引用。也即是 C#,VB.NET 等代码片断可以任意的被加入到其他语言中。这无疑在多种语言混合编程的模式中是一次飞跃,但是,其难维护性也是不言而喻的。跨平台是 J2EE 的最大卖点,当开发商完成了符合 J2EE 规范的软件时,其客户可以依据其喜好和实力来选择不同应用服务器:从基于 open source 的免费软件到高端满足 B2B 需求的商业套件来搭建自己的平台。微软的跨平台解决方案是 Web services,它解决的是异种平台上不同应用之间的连通性问题。但在现实中更迫切需要的是如何在异构的平台上构造具有可扩展性,高可靠性,高可用性,故障冗余,错误恢复能力的企业应用。因为缺少了这一点,从结构上讲,.NET 平台还远未完善。以下是两者一个简单的比较表。指指 标标J2EEJ2EE.NET.NET易用性扩展能力多平台支持多语言支持可靠性性能可管理性重用性负载平衡开放标准表 1-1从以上的比较可以看出,J2EE 在很多方面都要优于.NET 平台,特别是对企业而言,内部众多系统的整合、系统的延展性、安全性是更需要注意的议题,而这些都是 J2EE 的优势,也是微软的不足处。而且,现在大型的系统基本都是采用J2EE,在技术上也较.NET 成熟。 41.31.3J2EEJ2EE 及其他相关技术及其他相关技术1.3.11.3.1J2EEJ2EE 技术技术J2EE 不是简单的一门语言、一种工具或一套服务,而是一个标准中间件体系结构,旨在简化和规范多层分布式企业应用系统的开发和部署。J2EE 方案的实施可显著地提高系统的可移植性、安全性、可伸缩性、可重用性和负载平衡。由于基于规范的各 J2EE 平台之间具有良好的兼容性,因此 J2EE 应用系统可以部署在不同的应用服务器上,无需或只需进行少量的代码修改。J2EE 规范定义了一个基于组件的多层企业应用系统开发平台,其逻辑结构如下图所示。图中的椭圆形表示组件,大矩形表示容器,包含向下文字的小矩形表示API,箭头表示访问,箭头线上的文字表示相应的协议。图 1-1组件组件- -容器搭建的体系架构容器搭建的体系架构5J2EE 构架包含以下层:用户层用来与用户交互,并把来自系统的信息显示给用户。J2EE 平台支持不同类型的用户,包括 HTML 用户,Java Applet 和 Java 应用等。Web 层Web 层产生表示逻辑,并接受来自表示客户端的用户反馈,这些表示客户端通常为 HTML 客户端、Java Applets 和其他的 Web 客户端。在所接受的客户端请求的基础上,表示层对用户的请求产生相应的回应。J2EE 平台中,是由 Web容器内的 Servlet 和 Jsp 来实现这一层的。业务层这一层处理应用的核心业务逻辑。业务层为低层业务服务组件提供必要的接口。业务组件通常被实现为 EJB 容器内的 EJB 组件。其中,EJB 容器提供组件生命周期、管理持久性、事务和资源分配等。J2EE 是一个基于组件-容器模型的系统平台,其核心概念是容器。容器是指为特定组件提供服务的一个标准化的运行时环境,Java 虚拟机就是一个典型的容器。组件是一个可以部署的程序单元,它以某种方式运行在容器中,容器封装了 J2EE 底层的 API,为组件提供事务处理、数据访问、安全性、持久性等服务。在 J2EE 中组件和组件之间并不直接访问,而是通过容器提供的协议和方法来相互调用。组件和容器间的关系通过“协议”来定义。容器的底层是 J2EE 服务器,它为容器提供 J2EE中定义的各种服务和 API。一个 J2EE 服务器(也叫 J2EE 应用服务器)可以支持一种或多种容器。在图 2.1 中,每个容器的服务包括两部分:J2SE(Java 2 Platform Standard Edition)和一组扩展的服务,如目录服务、事务管理、数据访问、消息机制、安全性等。1.3.21.3.2 J2EEJ2EE 特点特点独立于硬件配置和操作系统J2EE 运行在 Java 虚拟机(JVM)上,利用 Java 本身的跨平台特性,独立于硬件配置和操作系统。Java 运行环境(JRE)JVM 的可安装版本加上其他一些重要组件几乎可以运行于所有的硬件/OS 组合。因此,通过采用 Java,J2EE 使企业免于高昂的硬件设备和操作系统的再投资,保护已有的 IT 资源。在很多情况下, 6J2EE 还可以直接运行在 EIS 服务器环境中,从而节约网络带宽,提高性能。多层、分布式中间件语法采用多层分布式应用模型,J2EE 将应用开发划分为多个不同的层,并在每一个层上定义组件。各个应用组件根据他们所在的层分布在同一个或不同的服务器上,共同组成基于组件的多层分布式系统。有了 J2EE,分布式系统的开发变得简单了,部署的速度也可以加快。J2EE 组件的分布与服务器环境无关,所有的资源都可通过分布式目录进行访问。这意味着开发人员不再需要为组件和资源的分布问题耗费精力,从而可以有更多的时间专注于业务逻辑的实现,提高开发效率。轻松的企业信息系统集成J2EE 技术出台后不久,很快就将 JDBC、 JMS 和 JCA 等一批标准归纳到自身体系之下,这大大简化了企业信息系统整合的工作量,方便企业将诸如早期投资的系统,ERP 和数据库等多个不同的信息系统进行无缝集成。由于几乎所有的关系型数据库系统都支持 JDBC,因此只需借助必要的 JDBC 驱动程序,J2EE 应用就可以和所有主流数据库系统进行通信。类似的,目前业界正冒出一批基于 Java 连接器体系标准的 EI 适配器,也用于提供各类早期投资的系统和ERP/CRM 的无缝集成。灵活性、可移植性和互操作性利用 Java 的跨平台特性,J2EE 组件可以很方便地移植到不同的应用服务器环境中。这意味着 J2EE 的应用系统可以部署在不同的应用服务器上,在全异构环境下,J2EE 组件仍可彼此协同工作。这一特征使得装配应用组件首次获得空前的互操作性。例如,安装在 IBM Websphere 环境下的 EJB,一方面可以直接与 Websphere 环境下的 CICS 直接交互,另一方面也可以通过安装在别处的 BEA Weblogic 服务器上的EJB 进行访问。引进面向服务的体系结构随着 Web 服务以及 SOAP 等开放标准的出现,企业异构系统之间的互操作性成为可能。J2EE,作为一个可扩展平台,很自然需要加入 Web 服务特性。为此,Sun7公司发布了一整套称为“JAX 包”的 API,支持从 XML 语法分析、XML 绑定、SOAP 消息发送、注册表查寻、XML RPC 到 XML 消息传递等所有各种 Web 服务需求。Web 应用服务器上广泛采用的标准J2EE 是首个获得业界广泛认可和采纳的中间件标准。目前几乎所有的一流 Web应用服务器,如 BEA 的 Weblogic、IBM 的 Websphere、HP 的应用服务器、Sun 的iPlanet 和 Macromedia 的 Jrun 等,都是基于 J2EE 的。而且,有了 J2EE,企业的应用开发对于某个特定的开发商或应用服务供应商的依赖性更小。应用组件只要符合 J2EE 规范,完全可以部署在不同的应用服务器上。为了确保不同厂商的 J2EE 应用服务器的兼容性和一致性,Sun 公司发布了 J2EE 兼容性测试包。1.3.31.3.3 JSPJSP 简介简介JSP 是英文 Java Server Pages 的缩写,它是 Sun 公司首创的一种新型动态网页编程技术。JSP 不但完全拥有 Servlet 的技术优点,而且 JSP 源代码能够直接嵌入HTML 之中,使得程序开发更为简化和快速。由于 JSP 技术是从 Java 编程语言中的Servlet 技术扩展而来的,JSP 当然也实现了 Servlet 所具有的动态页面与静态页面分离以及程序代码与硬件平台的无关性。JSP 同当前主流的 ASP、PHP 网络编程语言相比,它具有以下几个优点: 平台无关性:差不多所有的平台上,都可以见到一直的 Java Servlet/JSP 的Web Server/Application Server 系统,它可以让用户在任意的环境下做开发,在任意的环境中做部署,在任意的环境中扩展功能,相比之下,ASP 与 PHP 的局限性也是显而易见的。 可移植性强:JSP 继承了 Java 的一切特征,它使得 JSP 代码在一次编译之后,可以在任意的地方运行。 运行效率高:第一次请求一个 JSP 页面时,运行效率也许会比较低,但在此之后,JSP 的运行效率比 ASP、PHP 要高出许多。 8利用 JSP 技术开发的网站新闻管理系统,实现了网站新闻的动态管理,因为可以用来动态发布新闻信息,所以使得对信息的管理更加及时、高效,提高了工作效率。1.3.41.3.4数据库概述数据库概述从 20 世纪 50 年代中期开始,计算机的应用由科学研究部门逐步扩展至企业、行政部门。至 60 年代,数据处理成为计算机的主要应用。数据库技术作为数据管理技术,是计算机软件领域的一个重要分支,产生于 60 年代末。现已形成相当规模的理论体系和实用技术。数据库(Database)DB 是统一管理的相关数据的集合。数据库管理系统(Database Managerment System)DBMS 是位于用户和操作系统之间的一层数据管理软件,为用户或应用程序提供访问 DB 的方法,包括 DB 的建立、查询、更新及各种数据控制。数据库系统(Database System)DBS 是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机软、硬件和数据资源组成的系统,即采用了数据库技术的计算机系统。数据库技术:是一门研究数据库的结构、存储、管理和使用的软件学科。9第二章第二章 系统分析系统分析信息时代的今天,各企业商家所关心的不再局限于自身的产品质量、生产设备、员工的素质,更多的是关心自己的销售群体(客户群) ,关心他们的想法、需求、购卖目的。众所周知,顾客就是我们的上帝,我们只有满足了上帝的需求,上帝才能给我们带来一切。一个企业要生存、要发展,就是要不断的满足客户的需求,无论我们做出什么样的决策,最终都是为了这个的目。每个领域都有自身生存法则,但无论这个法则如何变化,为客户服务的宗旨是不会变的。作为企业,我们只有不断地挖掘新客户,维护好和老客户的关系,占领市场客户群体的绝大多数份额,才能在整个领域取得一席之地。海尔总裁张瑞敏指出:“客户资源决定企业核心竞争力” ,上个世纪 80 年代是物品短缺的时代,而现在,信息时代是客户短缺的时代。企业发展所需的各种资源(包括人力、物力、生产力)都是可以创造的,但每个领域中的客户资源确是有限的,所以通过创新(产品的创新、企业管理的创新、服务的创新)来抢占有限的客户资源、维护好企业和客户之间的关系、了解客户的需求动向,成为企业生存发展面临的重大问题。2.12.1 需求分析需求分析通过调查研究,要求系统满足以下功能:由于操作人员的计算机知识水平有限,要求有良好的人机界面,可以很简单方便的管理各种客户信息。方便的数据查询功能。管理客户的详细信息:包括客户的基本信息。为了更好的对现有客户进行管理,建立客户流失管理,对流失的客户进行流失原因进行记录。记录对客户进行的服务,建立完善的服务体系。 10建立客户开发计划,对客户开发的结果及详细信息进行记录。2.22.2 可行性分析可行性分析目前,大多数企业内部的客户管理还处于手工管理阶段,工作起来效率很低,不能及时了解各类客户的实际情况,也无法快速地进行客户信息的查询等操作;不便于动态及时地了解客户的需求及反馈信息,致使企业不能更好地适应当前经济形势发展的需要。手工管理还存在着许多弊端,由于不可避免的人为因素,经常造成数据的遗漏、误报。计算机信息化管理有着储存信息量大、速度快等许多优点,提供给用户的处理信息及时、准确、快捷,同时也能提高企业员工的自身素质。11第三章第三章 总体设计总体设计3.13.1 项目规划项目规划客户管理系统是一个典型的数据库开发应用程序,本系统分为三级用户权限,包括管理员、销售主管理、客户经理三种权限。管理员:对用户进行管理,包括销售主管、客户经理用户信息的增删改查。销售机会管理客户经理有开发新客户的任务,在客户经理发现销售机会时,应在系统中录入该销售机会的信息。销售主管也可以在系统中创建销售机会。所有的销售机会由销售主管进行分配,每个销售机会分配给一个客户经理。客户流失分析对客户流失的信息进行详细的记录,包括客户的名称、客户经理、客户流失的原因进行记录,方便对造成客户流失的原因进行分析。客户服务分析客户服务是客户管理的重要工作。通过客户服务我们的销售团队可以及时帮助客户解决问题、打消顾虑,提高客户满意度。还可以帮助我们随时了解客户的动态,以便采取应对措施。客户开发计划销售经理可对自己分配的客户进行客户开发计划制订,制定完客户开发计划后,客户经理按实际执行情况填写计划中每个步骤的执行效果。在开发计划结束的时候,根据开发的结果不同,设置该销售机会为“开发失败”或“开发成功” 。客户信息管理客户信息是公司资产的构成部分之一,应对其进行妥善保管、充分利用。每个客户经理有责任维护自己负责的客户信息,随时更新。在本系统中,客户信息将得到充分的共享,从而发挥最大的价值。 12产品管理对产品的详细信息进行查看,包括单价、型号、名称等。库存信息对产品的库存信息进行管理。3.23.2 系统功能结构图系统功能结构图图 1 客户管理系统功能结构图3.33.3 数据库设计数据库设计本系统数据库采用 SQL Server 2005 数据库,系统数据库名称为 db_Client。数据库 db_Client 中包含 18 张表。(1)sales_opportunities(销售机会表) 表 B.1 表 sales_opportunities 的结构字段名数据类型长度是否主键描述idnumeric(19, 0) numvarchar(30)客户编号13opp_fromvarchar(50)机会来源custom_namevarchar(30)客户名称winnumeric(19, 0)成功机率remarkvarchar(50)备注信息contact_namevarchar(50)联系人contact_phonevarchar(50)联系电话opp_desvarchar(200)概要create_namevarchar(50)创建人create_datedatetime创建时间opp_tovarchar(50)机会分配给谁opp_to_datedatetime分配时间statusvarchar(20)状态(1)deve_plan(开发计划表) 表 B.1 表 deve_plan 的结构字段名数据类型长度是否主键描述idnumeric(19, 0) opp_idvarchar(30)机会 IDdeve_datevarchar(50)开发时间deve_planvarchar(30)计划项deve_resultnumeric(19, 0)结果(1)customer(客户信息表) 表 B.1 表 customer 的结构字段名数据类型长度是否主键描述idnumeric(19, 0) customer_numvarchar(30)客户编号customer_namevarchar(80)客户名称customer_managevarchar(30)客户经理areavarchar(30)地区addressvarchar(100)地址codevarchar(50)邮编 14phonevarchar(50)联系电话faxvarchar(50)传真webvarchar(50)网址(1)customer_lost(客户流失表) 表 B.1 表 customer 的结构字段名数据类型长度是否主键描述idnumeric(19, 0) customer_namevarchar(80)客户名称customer_managevarchar(30)客户经理last_orderdatetime上次下单时间lost_datedatetime确认流失时间lost_reasonvarchar(50)流失原因stepvarchar(200)措施statusvarchar(30)状态(2)customer_service(服务信息表) 表 B.1 表 customer 的结构字段名数据类型长度是否主键描述idnumeric(19, 0) numvarchar(30)编号service_typevarchar(30)服务类型titlevarchar(80)概要customer_namevarchar(30)客户名称desvarchar(200)服务请求create_namevarchar(50)创建人create_datedatetime创建时间statusvarchar(30)状态detal_namevarchar(30)处理人detalvarchar(200)处理情况detal_datedatetime处理时间15(3)product(产品信息表) 表 B.1 表 product 的结构字段名数据类型长度是否主键描述idnumeric(19, 0) product_namevarchar(50)产品名称numvarchar(30)型号batchvarchar(80)批次unitvarchar(30)单位pricevarchar(30)单价remarkvarchar(100)备注storagevarchar(30)仓库allocationvarchar(30)货位surplusvarchar(30)剩余件数(4)loginuser(用户信息表) 表 B.1 表 product 的结构字段名数据类型长度是否主键描述idnumeric(19, 0) namevarchar(30)登录名passwordvarchar(50)密码phonevarchar(50)电话user_typevarchar(30)用户类型3.33.3 设计目标设计目标本系统是针对中小型企业客户管理现状,通过网络实现对客户的管理,主要实现如下目标:对客户信息进行管理,包括(客户经理、电话、银行帐号)进行全面管理。及时查看库存信息,对库存信息进行管理。强大的客户信息、联系人信息的管理功能。及时了解客户的服务情况及服务处理。 16实现各种信息查询功能。对用户输入的数据,系统进行严格的数据检验,尽可能排除人为的错误。对操作用户的管理。数据保密性强,为每个用户设置相应的权限级别。系统运行稳定、安全可靠。3.43.4 开发及运行环境开发及运行环境硬件平台:CPU:P4 1.8GHz;内存:512MB 以上。软件平台:操作系统:Windows xp;数据库:SQL Server 2005;开发工具包:JDK Version1.6;JSP 服务器:Tomcat;浏览器: IE6.0 及以上;分辨率:最佳效果 1024768。17第四章第四章 系统各功能模块的实现系统各功能模块的实现4.24.2 系统登录系统登录客户关系管理系统分为三种用户权限,用户登录时系统会自动判断用户所属的权限,登录界面如下:图 1 系统登录界面主要代码如下:LoginuserWebAction:public String logon() log.debug(logon + 开始);List list = loginuserService.findPageInfoLoginuser(loginuser, null);if(list = null)HttpServletRequest request = ServletActionContext.getRequest(); request.setAttribute(messageInfo, 用户名或密码错误!);return fail;Loginuser loginuser = (Loginuser) list.get(0);HttpServletRequest request = ServletActionContext.getRequest(); 18 request.getSession().setAttribute(currentUser, loginuser);log.debug(logon + 结束);return success;4.24.2 管理员操作界面管理员操作界面管理员可对用户信息进行管理,用户管理主界面如下:图 2 用户管理界面4.34.3 客户经理操作界面客户经理操作界面客户经理主要对销售机会、客户开发计划、客户信息管理、客户流失管理、服务创建、服务处理、产品信息、库存信息进行管理,客户经理主界面如下:19图 3 客户经理主界面图 4 销售机会管理 20图 5 新增销售机会4.44.4 销售主管操作界面销售主管操作界面销售主管主要对销售机会、客户流失分析、客户服务分析进行管理及查看,销售主管主界面如下:图 6 客户经理主界面21图 7 新增销售管理 22第五章第五章 系统测试系统测试5.5.1 1 测试项目测试项目在系统开发过程中采用了多种措施保证软件质量,但是实际开发过程中还是不可避免地会产生差错,系统中通常可能隐藏着错误和缺陷,不经周密测试的系统投入运行,将会造成难以想象的后果,因此系统测试是开发过程中为保证软件质量必须进行的工作。大量统计资料表明,系统测试的工作量往往占开发总工作量的 40%以上。因此,我们必须重视测试工作。由于程序中隐藏的缺陷只在特定的环境下才有可靠显露,系统缺陷通常是由于对某些特定情况考虑不周造成的。因此测试不是为了表明程序正确;成功的测试也不是没有发现错误的测试。有意义的软件测试应该是从“破坏”软件系统的角度出发,精心设计最有可以暴露程序系统缺陷的测试方案。因此软件测试的目标应该是以尽可能少的代价和时间找出软件系统中潜在的错误和缺陷。从产品角度看,测试计划中的测试项目包括软件结构中的分系统层、子系统层、功能模块层、程序模块层中的各类模块,从测试本身看,分为单元测试,组合测试,确认测试等。测试对象是随不同阶段而异的,最基本、最初的测试是单元测试,后面的组合测试、确认测试都是以被测过的模块作为测试对象的。(1)单元测试:单元测试也称模块测试或程序测试,单元测试是对每个模块单独进行的,验证模块接口与设计说明书是否一致,对模块的所有主要处理路径进行测试且与预期的结构进行对照,还要对所有错误处理路径进行测试。对源码进行审查,对照设计说明书,表态地检查源程序是否符合功能的逻辑要求,是进行单元测试前的重要工作工。单元测试一般是由程序员完成,也称程序调试。(2)组合测试组合测试也称集成测试或子系统测试,通常采用自顶向下测试和自底向上测试两种测试方法。组合测试的对象是指已经通过单元测试的模块,不是对零散模块进23行单个测试,而是用系统化的方法装配和测试软件系统,是一个严格的过程,必须认真地进行,其计划的产生和单元模块测试的完成日期要协调起来,这种测试应在系统目标机上进行,造成系统应用的环境条件,除了开发部分项目负责人参加以外,还应该有相应系统的用户参加,给评审员进行演示。(3)确认测试确认测试是对通过组合测试的软件进行的,这些软件已经存于系统目标设备的介质上,确认测试的目的是表明软件是可以工作的,并且符合“软件需求说明书”中规定的全部功能和性能要求。确认测试是按照这些要求定出的“确认测试计划”进行的。测试工作是由一个独立的组织进行,而且测试要从用户的角度出发。(4)系统测试系统测试是对整体性能的测试,主要解决各子系统之间的数据通信和数据共享问题以及检测系统是否达到用户的实际要求,系统测试的依据是系统分析报告。系统测试应在系统的整个范围内进行,这种测试不只对软件进行,而是对构成系统的硬、软件一起进行。系统测试与建构同时进行或略慢。系统测试需要确认从头到尾的功能正常才算完成,应当尽量避免系统测试延到项目末尾进行。(5)用户验收测试在系统测试完成后,进行用户的验收测试,它是用户在实际应用环境中所进行的真实数据测试。在具体的测试中,一般应遵循以下原则:由程序设计者之外的人进行测试;测试用例应由两部分组成:输入数据和预期输出结果;应选用不合理的输入数据与非法输入测试;不仅要检验程序是否实现预期功能,还应检查程序是否做了不应该做的工作;集中测试容易出错的程序模块;对程序修改以后,必须重新进行测试。5.25.2 测试方法测试方法一般来说,对程序测试有两种测试方法:如果已经知道了软件系统应具有的功能,可通过测试来对每个功能是否都能正常使用;如果知道程序的内部工作过程,可以通过测试来检测程序内部是否按照规格说明书的规定正常进行。前一种方法称 24为黑盒测试,后一种方法称为白盒子测试。黑盒测试又称为功能测试,白盒子测试又称为结构测试。经过几个月的毕业设计,因为时间和任务的性质的关系,没有完全按照上述的测试方法进行系统的测试,但经过一些简单的步骤的测试,证明本系统具有相当程序的稳定性。25结结 论论JSP 从推出至今时间也不算漫长,由于它具有开发简单,功能强和灵活等优点,现在已被广泛接受,成为开发动态网络站点的主要技术之一,有人声称 JSP 已在Web 开发领域悄悄地进行着一场革命。今天已有上万个 Web 站点使用了 JSP 技术,其中包括许多 Internet 中最大的站点。有人估计,在过去几年中,JSP 开发人员已达百万之多,预计在今后的发展过程当中将会越来越多。JSP 正慢慢成为动态 Web 应用程序开发环境的主流。本文是利用 Struts 框架实现的,它的特点是提供了通用的、简洁明了的 Web 应用实现方法,可以发现在 Struts 支持的 Web 应用中。没有固定写死的文件名称、Action 类、控制器类名称,基本上所有可以扩展修改的部分都是通过配置文件管理的,所有网页内的文字都可以放在 properties 文件中。这样建立 Web 应用时,编写的程序更加便于管理、易于移植。应用国际化也更容易实现。本实例利用 Struts 框架进行初步的实现,读者可以通过 Struts 网站提供的范例程序和在互联网上搜索已有的基于 Struts 的 Web 程序来了解关于 Struts 的更多使用方法和应用窍门。 26致致 谢谢 经过近两年半的学习和研究,我的毕业设计已经接近尾声。由于知识的欠缺和经验的匮乏,难免有许多考虑不周全的地方,如果没有导师的督促指导,以及学弟和室友们的支持,想要完成此次毕业设计是难以想象的。首先要感谢我的导师,他在学习和科研方面给了我大量的指导,并为我们提供了良好的科研环境,让我学到了知识,掌握了科研的方法,也获得了实践锻炼的机会。他严谨的治学态度、对我的严格要求以及为人处世的原则将使我受益终身。在该论文完稿之际,谨向导师表示最衷心的感谢。祝愿他身体健康,全家幸福!我还要感谢我的同学,他们给了我最多帮助和鼓励。他们丰富的开发经验给我提供了很多启示,他们是我学习、工作和生活上的伙伴,也是面对困难和挑战时的战友,他们的学习态度使我受益匪浅。特别感谢我的室友和其他朋友们,感谢他们对我的关心和督促,是他们的认真和执着感染着我,使我能顺利完成毕业论文的撰写。27参考文献参考文献1.JSP 数据库系统开发完全手册 人民邮电出版社 2006 年 3 月2.SQL Server 数据库开发实例解析 机械工业出版社 2006 年 1 月3.JSP 工程应用与项目实践 机械工业出版社 2005 年 2 月4.软件工程 中央广播电视大学出版社 2001 年5.SQL Server2000 系统管理 飞思科技产品研发中心 电子工业出版社 2001 年6.数据库基础与应用 中央广播电视大学出版社 1997 年7.JSP 动态网站编程 清华大学出版社 2001 年 9 月8.J2EE 网络开发技术 人民邮电出版社 2000 年 11 月9.JSP 与网页数据库设计 中国铁道出版社 2001 年 2 月10.J2EE 编程基础与实例 机械工业出版社 2002 年 9 月11.24 小时学通 JSP 潇湘工作室译 人民邮电出版社 2000 年 1 月12.JSP 实用编程技术 中国水利水电出版社 2000 年 1 月
展开阅读全文