《客户关系管理系统毕业设计基于JSP的CRM电子教案.doc》由会员分享,可在线阅读,更多相关《客户关系管理系统毕业设计基于JSP的CRM电子教案.doc(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Good is good, but better carries it.精益求精,善益求善。客户关系管理系统毕业设计基于JSP的CRM-摘要客户资源是企业的重要资源,而对于客户资源的合理管理,关乎着企业的生存与发展。客户关系管理系统简称CRM的引入,就是改善这一问题的重要措施。CRM作为管理企业和客户关系的主要管理平台,不仅可以对客户的关系进行管理,还可以记录企业同客户之间的业务活动。该系统用JSP和MySQL实现了客户信息的管理、统计、分析、查询以及管理员对系统维护等功能。客户管理系统有着很好的应用前景,随着计算机技术和网络技术的发展,它的功能将会得到不断的发展和完善。本系统可以根据实际应用
2、的具体情况,适当加以修改,以便更好应用。本系统操作简单,灵活性好,系统安全性高,运行稳定。本文详细介绍了客户关系管理系统开发和设计的全过程。关键词:客户关系,管理系统,客户,JSP,MySQL-AbstractCustomerresourcesisanimportantenterpriseresources,andtothecustomerresourcetorationalmanagement,fortheenterprisessurvivalanddevelopment.CustomerrelationshipmanagementsystemastheintroductionofCRM,i
3、stoimprovetheproblemoftheimportantmeasures.CRMasamanagemententerpriseandcustomerrelationshipmanagementofthemainplatform,cannotonlytothecustomerrelationshipmanagement,canalsorecordenterprisewiththecustomers,businessbetweenactivities.ThissystemUSESJSPandMySQLrealizecustomerinformationmanagement,statis
4、tics,analysis,inquirestheandadministratorstosystemmaintenanceetc.Function.Customersmanagementsystemhasagoodapplicationprospect,alongwiththecomputertechnologyandnetworktechnologydevelopment,itsfunctionwillbeconstantdevelopmentandimprovement.Thissystemcanaccordingtothespecificcircumstancesofpracticala
5、pplication,proper,inordertobetterbeamendedapplication.Thissystemoperationsimple,flexibilityisgood,thesystemhashighsecurity,steadyoperation.Keywords:CRM,ManagementSystem,corporatecustomer,JSP,MySQL目录摘要IAbstractIII目录IV第一章引言-1-1.1系统的开发背景-1-1.1.1客户管理系统的发展-1-1.1.2客户管理的现状-1-1.2系统实现的目标-2-1.3系统开发的意义-3-第二章客户
6、管理系统分析-4-2.1系统的设计目标-4-2.2系统的可行性分析-4-2.2.1用户群体与市场分析-4-2.2.2技术能力分析-4-2.2.3可行性分析总结-5-2.3系统设计的特点-5-第三章系统的开发技术及主要构架-6-3.1开发技术的选择-6-3.1.1JSP编程技术-6-3.1.2MYSQL开源数据库的开发-8-3.1.3JAVA语言概述-8-3.2系统的主要架构及开发模式-9-3.3开发工具和开发技术选择-11-第四章系统功能和流程分析-12-4.1系统功能模块设计-12-4.2整体分析-12-4.3数据流分析-13-4.4系统E-R图-14-4.4.1系统总体E-R图-14-4.
7、4.2系统管理员实体图-15-4.4.3营销信息实体图-16-4.4.4客户信息实体图-16-4.4.5服务信息实体图-17-4.4.6邮件信息实体图-17-4.5数据库设计-18-第五章系统实现-21-5.1数据库连接-21-5.2用户登录管理-21-5.3销售管理-22-5.4客户管理-22-5.5服务管理-23-5.6统计报表-23-5.7库存管理-24-5.8邮件管理-24-5.9系统数据管理-25-第六章系统测试与难点分析-26-6.1系统运行环境的搭建-26-6.2系统的测试-27-6.2.1系统关键部分测试分析-27-6.2.2测试结果分析与说明-27-6.2.3系统安全与性能-
8、27-6.3开发技巧和难点分析-27-结束语-30-参考文献-31-致谢及声明-32-第一章 引言1.1 系统的开发背景1.1.1客户管理系统的发展随着市场的开放,各个企业之间的竞争逐渐加剧,并且也从独立的企业与企业之间的竞争发展成为了一个个群集之间的竞争。在这些群集中,不同的企业扮演着不同的角色,比如有原料供应商、制造商、分销机构、零售商等。在企业与企业之间需要进行大量的信息交互、流程管理和对各种异常情况的处理,前者主要是针对一些动态的数据信息即供应链管理,后者则是更多的是一些静态资料的管理即合作伙伴信息管理。对于普通的中小企业来说,资金和人力都很有限,因此对于定制比较复杂的供应链管理来说是
9、不现实的。中小企业更倾向于首先把散乱的资料、协议有效的管理起来,在一定程度上有效的提高工作效率和企业信息化建设的进程。因此,在这样一种市场需求下,一款通用性强、功能实用、易于上手,面向全行业中小企业的企业管理系统就产生了。企业的客户资源才会是最重要的资源。在21世纪,客户管理得到了网络技术的充分支持。此时客户也有条件要求企业尊重他们,并对服务的质量和及时性等方面提出更高要求。网络时代到来,使得顾客可以有更大的选择权,市场由原来的供方主导转变为顾客主导。企业在处理与客户的关系时,被动地处理顾客的抱怨、解答顾客的问题,顾客服务并未成为整体服务产品的核心。在这种情况下,企业越来越感觉到没有信息技术支
10、持的客户关系管理系统(CRM)力不从心。于是CRM系统便应运而生。并将成为21世纪企业竞争获胜的通行证。何谓客户关系管理,客户关系管理是企业为赢得顾客的高度满意建立起与客户的长期良好关系所开展的工作。本项目将详细展示该系统的开发与实现。1.1.2客户管理的现状对于企业来说最重要的是客户,而这些客户又分为了不同的客户群体,例如有小客户、大客户,有正在联系的客户、有即将联系的客户等等。而且这些客户又可能属于不同的行业,不同的区域地区。这时如何对这些客户进行有效的管理,进而指导企业对客户的下一步行动,从而提升企业的价值,成了企业发展的关键所在。传统的客户管理是采用人工手动记录的方式,通过通信员将客户
11、的信息记录在通信本上而实现的。但是这种方式记录非常慢,而且容易出错,对于后期的查找和维护也是非常困难的。不难看出,企业想在竞争激烈的市场中占有一席之地,就必须牢牢把握住客户。目前,企业管理系统已经逐步被企业所使用,功能也在不断的完善。而客户管理系统作为客户管理中的一个重要组成部分,也是值得重视的。鉴于以上的原因,通过对客户管理的具体工作进行分析,编写了客户管理系统,用来方便的管理客户方面的工作。系统通过对各种信息的录入、编辑、查询、删除等各个功能的实现,基本上可以满足企业部门的需要,在很大的程度上提高客户管理的效率和合理性,以及统计数据的真实性。系统的功能和传统管理模式相比较,毫无疑问会大大提
12、高客户信息管理的运作效率,辅助提高企业的管理水平,为减少差错,节省人力,为以后统计各类信息,提供有效的技术保障。目前,客户管理系统已经越来越多的应用到了很多企业之中,并起到了良好的效果。1.2 系统实现的目标整个客户关系管理系统都要以客户为中心,从而简化各类与客户关系的信息,如销售、服务以及支持等等。在构建CRM系统时,还应当注意与其他管理系统的协调,例如人力资源管理系统、进销存管理系统等等。例如现在系统的使用者是某中小型企业,系统通过该系统来改善现有客户的管理混乱状态,从而加强企业和客户之间的联系。本系统主要对客户信息的管理。一方面录入客户信息、并对客户各方面的信息进行分析;另一方面根据客户
13、反馈的信息,及时统计各种相关数据并根据数据做出分析,发现问题并给出措施建议。本课题就是要开发一个基于web的客户管理系统。依据客户管理需要完成的内容,结合宽带开通业务的实际需要,本系统要完成的主要的功能分析如下:1客户基本信息的录入。主要包括基本资料,协议资料,交费和任务的登记。2登录的权限设置。对于不同的角色能够赋予不同的权限。3营销管理。为了更好的开发客户,需要设置销售机会管理模块和客户开发计划管理。4客户联系人管理。这是为了能够与客户更好的交流,从而提高工作效率。5客户的服务管理。在创建了客户联系人之后,为了能够更好的保证服务质量,减少客户流失,需要对不同客户的不同服务项目进行归类管理。
14、6统计报表。为了更好的查询和分析数据,需要对客户构成、客户贡献与客户服务进行分析。1.3系统开发的意义客户管理系统主要是将客户信息管理、人物管理、客户交费、投诉管理、查询报表等多功能于一身的客户管理软件,操作简单方便,界面美观大方,能满足企业进行客户管理的需求,客户管理系统通过准确、智能、高效、创新的营销策略,协助企业不断提高销售额、提升客户忠诚度。第二章 客户管理系统分析2.1系统的设计目标系统使用简洁的框架结构,可以进行客户的查看、信息录入等操作,实现客户的管理、客户的统计分析、系统维护等模块组成。以及一些常规的设置和数据库管理等操作。2.2系统的可行性分析2.2.1用户群体与市场分析客户
15、管理系统将能为企业实现有效的客户关系管理。它既是一种国际领先的、以“客户价值”为中心的企业管理理论、商业策略和企业运作实践,也是一种以信息技术为手段、有效提高企业收益、客户满意度、雇员生产力的管理软件。客户管理系统是通过赢得、发展、保持有价值的客户,增加企业收入,优化盈利性,提高客户满意度的商务战略。通过获得更多的客户线索、更广泛地共享客户信息,协同工作,增加收益,提高给客户的价值,实现企业和客户的双赢。企业希望通过客户管理系统能够了解更多的客户的需求,从而为客户提供个性化的产品和服务,提高客户满意度,与此同时也能够获得更大的利润。客户管理系统是一种旨在健全、改善企业与客户之间关系的新型管理系
16、统。指的是企业利用信息技术,通过有意义的交流来了解并影响客户的行为,以提高客户招揽率、客户保持率、客户忠诚度和客户收益率。客户管理系统是一种把客户信息转换成良好的客户关系的可重复性过程。利用激励因素来刺激客户进一步消费,并激发其感激心理,对保持长期的销售和提高客户保持率十分重要。2.2.2技术能力分析根据本系统的功能需求,采用JSP与开源的MySQL数据库引擎进行开发。由于JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持
17、可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。而MySQL作为一种快速的、多线程、多用户和健壮的SQL数据库服务器,根据第三方测试结果,在千万级的数据环境中依然保持较高的执行速度。因此在技术层面上,是完全可行的。2.2.3可行性分析总结综合企业用户群体的特点和不断增长的需求,以及技术、市场前景趋势等因素,客户管理的信息化系统有很大的发展前途,而客户管理系统则是建立在此基础上的,因此本系统的开发是具有可行性的。2.3系统设计的特点系统的设计上需要注重安全性和用户操作的流畅性。因此要在对用户的管理和资格审核环节做出限定,只有经过审核确认的会员才有权使用,而且需要对管理员进行不
18、同的权限分配。搜索将在系统功能中占据重要的位置,可以使用多个属性字段进行模糊搜索,并在搜索结果提供比较的通道。第三章 系统的开发技术及主要构架3.1开发技术的选择3.1.1JSP编程技术JavaServerPage或简称为JSP是由Sun公司在Java语言上开发出来的一种动态网页制作技术,它提供了一种建立动态网页的简单方法,并为开发人员提供了一个Server端框架,基于这个框架,开发人员可以综合使用HTML,XML,JAVA语言以及其他脚本语言,灵活,快速地创建和维护动态网页,特别是目前的商业系统。作为JavaTM技术的一部分,JSP能够快速的开发出基于所有Web服务器和应用服务器环境,独立于
19、平台的应用程序,而且具有非常强的可伸缩性。同时,JSP把用户界面从系统内容中分离开来,使得设计人员能够在不改变底层动态内容的前提下改变网页布局。JSP编程技术的优势在于:1.一次编写,到处运行。在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改。2.系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/PHP的局限性是显而易见的。3.强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,J
20、ava显示了一个巨大的生命力。4.多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。JSP的运行原理:在JSP第一次获得来自于客户端浏览器的请求时,JSP文件将被JSP引擎(JSPengine)转换成一个Servlet,即将”.jsp”文件编译成JavaClass文件。当Servlet引擎接收到请求后,如果设置了使用最新的JSP,它就会去找JSP文件,检查该文件在上次编译后是否改动过。如果改动过,就会重新编译生成新的Servlet,最终将请求转交给编译好的Servlet引擎执行。在编译
21、时如果发现JSP文件有任何语法错误,转换过程将中断,并向客户端发出出错信息;如果编译成功,则所转换产生的Servlet代码被编译,然后该Servlet被JSP引擎加载到内存中。此时JSP引擎还请求了jspInit()方法的执行,并对此Servlet初始化。JspInit()方法在Servlet的生命周期中只被请求一次,然后将被调用来处理客户端的请求和回复操作。对于所有随后对该JSP文件的请求,服务器将检查该JSP文件自最后一次被存取后是否经过修改。如果没有修改,则将请求交还给还在内存中的Servlet的jspService()方法,执行回复操作。由于Servlet始终驻于内存,所以响应是非常快
22、的。JSP页面在第一次访问时由于要转化和编译,运行速度较慢,但是当第二次访问该页时,由于文件已经被编译成字节码文件了,所以速度非常得快。JSP页面的组成:JSP页面看上去像标准的HTML和XML页面,并附带有JSP引擎能够处理和解析执行的代码与组件。通常,JSP代码和组件用于创建在最终页面上显示的文本。通常来说,JSP页面包括编译指令,声明,表达式等内容。(1)编译指令:使用JSP编译指令(%和%内的)来指定所使用的脚本语言,Servlet实现的接口,Servlet扩展的类,Servlet导入的软件包。JSP指令的一般语法形式为:。(2)声明:用于声明合法的变量和方法。与任何语言相同,JSP语
23、言使用变量来保存数据。这些变量用declaration元素声明,声明的语法为。当页面被初始化的时候,JSP页面中的所有声明都被初始化。除了简单的变量,方法也能被声明。声明不对当前的输出流产生任何影响。(3)表达式:通过计算表达式所得到的结果来表示某个值。表达式的形式为:。表达式求值的结果被强制转换为一个字符串,并插入到当前的输出流中。JSP运行环境:要运行JSP(注意,不是浏览JSP页面),需要有支持Jsp的服务器。这里分2种情况:一种是自身就支持JSP的服务器,如Jrun,Weblogic,JSWDK等;而另一种则是在不支持JSP的服务器上安装JSP引擎的插件,如在IIS,Apache等服务
24、器上安装WebSphere,tomcat,Resin等插件。其中主流服务器是Weblogic和tomcat.Tomcat服务器是ApacheGroupJakarta小组开发的一个免费服务器软件,适合于嵌入Apache中使用,而且,它的源代码可以免费获得,你可以自由地对它进行扩充。Tomcat服务器的兼容性很好,如WebLogic服务器采用其为Web服务器引擎,Jbuilder将其作为标准的测试服务器,Sun公司也将其作为JSP技术应用的示例服务器。不足之处是它的配置比较麻烦,而且有一些安全性的问题没有解决。但是Tomcat服务器有众多大软件公司的支持,而且服务器的性能稳定,其发展前景很好。3.
25、1.2MySQL开源数据库的开发MySQL是最受欢迎的开源SQL数据库管理系统,它由MySQLAB开发、发布和支持。MySQLAB是一家基于MySQL开发人员的商业公司,它是一家使用了一种成功的商业模式来结合开源价值和方法论的第二代开源公司。MYSQL是MySQLAB的注册商标。它的主要特点和优势主要有以下几个:MySQL是一个快速、多线程、多用户和健壮的SQL数据库服务器。MySQL服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass-deployed)的软件中去。MySQL是一个关系数据库管理系统。它将数据存放在独立的表格中,以增加存取的速度和灵活性。“MySQL
26、”中的SQL代表“StructuredQueryLanguage”(结构化查询语言)。SQL是用于访问数据库的最通用的标准语言,它是由ANSI/ISO定义的SQL标准。MySQL是开源的。开源意味着任何人都可以使用和修改该软件,任何人都可以从Internet上下载和使用MySQL而不需要支付任何费用。3.1.3JAVA语言概述JAVA语言是由Sun公司开发的一种很新的计算机语言,它的历史很短。JAVA语言的发展史是简短而曲折的。由于它与网络的良好结合,使得它在刚发布时就引起了轰动。因为JAVA语言没有兼容低版本计算机语言的负担,所以它在采用计算机新技术方面比传统的计算机语言显得更为纯粹,JAV
27、A语言的特点也更为鲜明。它的特点与其历史发展是相关的。JAVA语言的特点:1.简单性。JAVA语言是在C和C+计算机语言的基础上进行简化和改进的一种新型计算机语言。它去掉了C和C+种最难正确应用的指针和最难理解的多继承技术等内容,通过垃圾自动回收机制简化了程序内存管理,统一了各种数据类型在不同操作系统平台上所占用的内存大小。2.网络特性。JAVA语言是目前对网络支持最全面,与网络关系最密切的计算机语言之一。其对互联网络有着良好的支持。3.面向对象。JAVA语言在面向对象特性上比C+语言更为彻底的一种语言。面向对象模型是一种模拟人类社会和人解决实际问题的模型,因此更符合人们的思维习惯,而且容易扩
28、充和维护。它的缺点是程序在开发的过程中往往会变得越来越庞大。4.平台无关性。平台无关性又称为可移植性。JAVA语言的设计目标是让其程序不用修改就可以在任何一种计算机平台上运行。解决异构操作系统兼容性问题是一个很艰巨的任务。虽然JAVA语言并没有完全实现最初的设计目标,但在这方面确实是同类语言中做的最好的。5.鲁棒性。鲁棒性指的是程序执行的稳定性,常常也称为健壮性。JAVA语言的垃圾自动回收机制和异常处理机制以及它的简单性在很大程度上保证了程序的鲁棒性。6.安全性。在网络上运行的JAVA语言是符合网络安全协议的。在执行JAVA程序的过程中,JAVA虚拟机对程序的安全性进行检测。一般说来,JAVA
29、程序是安全的,它不会访问或修改不允许访问的内存或文件。7.多线程性。多线程性主要用来处理复杂事务或需要并行的事务。组成JAVA虚拟机的各个程序本身一般也采用多线程机制。采用多线程机制是提高程序运行效率的一种方法,但同时也增加了程序的设计难度。8.解释性。JAVA语言是一种解释执行的语言。这是JAVA语言的一个缺点,因为解释执行的语言一般会比编译执行的语言的执行效率要低。3.2系统的主要架构及开发模式该客户管理系统采用B/S模式,服务器采用轻量级应用服务器Tomcat,该服务器运行时所占用的系统资源小,支持负载平衡与邮件服务等开发应用系统常用的功能。有着良好的跨平台性和安全性,可以运行在包括wi
30、ndows、linux、mac等操作系统上。用户客户端使用各种浏览器都能够进行正常的浏览和操作。需要注意的是在程序的开发过程中,程序和路径相关的要考虑到不同的操作系统的文件目录结构。B/S结构,即Browser/Server(浏览器/服务器)结构,就是只安装维护一个服务器(Server),而客户端采用浏览器(Browse)运行软件。它是随着Internet技术的兴起,对C/S结构的一种变化和改进。主要利用了不断成熟的WWW浏览器技术,结合多种Script语言(VBScript、JavaScript等)和ActiveX技术,是一种全新的软件系统构造技术。B/S三层体系结构采用三层客户/服务器结构
31、,在数据管理层(Server)和用户界面层(Client)增加了一层结构,称为中间件(Middleware),使整个体系结构成为三层。三层结构是伴随着中间件技术的成熟而兴起的,核心概念是利用中间件将应用分为表示层、业务逻辑层和数据存储层三个不同的处理层次。三个层次的划分是从逻辑上分的,具体的物理分法可以有多种组合。中间件作为构造三层结构应用系统的基础平台,提供了以下主要功能:负责客户机与服务器、服务器与服务器间的连接和通信;实现应用与数据库的高效连接;提供一个三层结构应用的开发、运行、部署和管理的平台。这种三层结构在层与层之间相互独立,任何一层的改变不会影响其它层的功能。B/S结构的三层体系结
32、构图如图3-1所示。图3-1B/S三层体系结构在B/S体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。而其余如数据请求、加工、结果返回以及动态网页生成、对数据库的访问和应用程序的执行等工作全部由WebServer完成。随着Windows将浏览器技术植入操作系统内部,这种结构已成为当今应用软件的首选体系结构。显然B/S结构应用程序相对于传统的C/S结构应用程序是一个非常大的进步。B/S三层体系结构的主要优点:B/S模式提供灵活的信息交流和信息发布服务。B/S模式借助Internet强大的信息发布与信息传送能力可以有效地解
33、决企业内部的大量不规则的信息交流可共享性。单个应用服务器可以为处于不同平台的客户应用程序提供服务,在很大程度上节省了开发时间和资金投入;较好的安全性。在这种结构中,客户应用程序不能直接访问数据,应用服务器不仅可控制哪些数据被改变和被访问,而且还可控制数据的改变和访问方式。三层模式成为真正意义上的“瘦客户端”,客户端计算机不需要很高的硬件配置,也无需特殊的软件配置要求,只要有web浏览器就可以使用系统。B/S模式提供了一致的用户界面:B/S模式的应用软件都是基于Web浏览器的,这些浏览器的界面都很相似。对于无用户交互功能的页面,用户接触的界面都是一致的,从而可以降低软件的培训费用。在B/S模式下
34、,外部的用户亦可通过通用的浏览器进行访问。B/S模式的结构易于扩展:由于Web的平台无关性,B/S模式结构可以任意扩展,可以从一台服务器、几个用户的工作组级扩展成为拥有成千上万用户的大型系统。B/S模式具有更强的信息系统集成性:在B/S模式下,集成了解决企事业单位各种问题的服务,而非零散的单一功能的多系统模式,因而它能提供更高的工作效率。3.3开发工具和开发技术选择系统开发平台:MyEclipse7.0数据库管理系统软件:MySQL5.0运行平台:Windows2000/WindowsXP/Windows2003/Win7Java开发包:JDK5.0以上Web服务器:Tomcat6.0本系统采
35、用的MVC架构模式开发技术的具体技术:AJAX框架:使用ExtJS技术开发显示层:使用JSP技术开发数据访问层:使用DAO模式开发持久层:使用Hibernate框架开发第四章 系统功能和流程分析4.1系统功能模块设计系统功能结构层次图主要是介绍系统功能的大体层次结构,使读者能够对系统功能有一个更加直观的把握。系统的软件结构如图4-1所示。图4-1客户管理系统功能能模块图4.2整体分析系统整体主要流程图,系统由登录页面开始,首先实现身份的识别,若和数据库中的数据匹配,则实现登录,根据系统的权限设置,允许登录者对系统进行权限内操作。进入管理员界面后,系统包括了营销管理、服务管理、客户管理、库存管理
36、和邮件管理等功能模块。系统整体流程示意图如图4-2所示。图4-2系统整体主流程示意图4.3数据流分析数据流图(DFD)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。在数据流图中没有任何的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过程。将信息处理功能和彼此之间的联系自顶向下,逐层分解,从逻辑上精确地描述系统应具有的数据加工功能、数据输入、数据输出、数据存储及数据来源和去向(外部实体)等项目。图4-2系统数据流图4.4系统E-R图4.4.1系统总体E-R图描述各个实体之间的相互关系,例如多个管理员都可以管理客户信息,同样多个客户信息也可以被多个管理员管理,1个管
37、理员可以管理多条服务信息,具体描述如图4-3所示。图4-3系统总体E-R图4.4.2系统管理员实体图管理员信息包括了管理员密码和用户名以及编号,方便管理员登录和操作设置。管理员拥有最高权限。系统管理员实体图如图4-4所示。图4-4系统管理员实体图4.4.3营销信息实体图营销信息包括了创建人、客户名称、编号、客户成功几率、联系人等重要信息,这些信息的管理关系着公司营销的业绩,是一项非常重要的模块。营销信息实体图如图4-5所示。图4-5营销信息实体图4.4.4客户信息实体图为了对客户的信息进行有效地管理,用户需要清楚客户的名称、状态、等级、地区以及客户经理。客户信息实体图如图4-6所示。图4-6客
38、户信息实体图4.4.5服务信息实体图为了对服务进行更有效的管理,提高工作效率和工作质量,必须包括客户服务信息管理。对于客户信息的管理,需要了解服务创建人、服务创建时间、服务请求、服务类型等。服务信息实体图如图4-7所示。图4-7服务信息实体图4.4.6邮件信息实体图为了方便与客户之间的联系,能够及时了解客户的状态和接受客户的反馈信息,需要加入邮件功能。邮件信息实体图如图4-8所示。图4-8邮件信息实体图4.5数据库设计根据需求分析以及系统功能的需要,系统信息数据存放在MySQL数据表中。下面给出重要数据表的简单描述。1customer(客户信息表)该表存储了客户的基本信息,主要用于客户信息记录
39、。字段属性描述如表4-1所示。表4-1客户信息表字段名字段类型字段长度是否主键描述cust_noInt100是编号cust_nameVarchar100否cust_regionVarchar100否cust_manager_idVarchar100否cust_manager_nameVarchar100否cust_levelVarchar100否cust_level_labelVarchar100否cust_satisfyVarchar100否cust_creditVarchar100否cust_addrVarchar100否cust_zipVarchar100否cust_telVarchar
40、100否cust_faxVarchar100否cust_websiteVarchar100否cust_licence_noVarchar100否cust_chieftainVarchar100否cust_bankrollVarchar100否cust_turnoverVarchar100否cust_bankVarchar100否cust_bank_accountVarchar100否cust_local_tax_noVarchar100否cust_national_tax_noVarchar100否2cst_service(服务信息表)该表存储了记录服务的基本信息,主要用于服务信息的记录。字段
41、属性描述如表4-2所示。表4-2服务信息表字段名字段类型字段长度是否主键描述svr_idVarchar100是编号svr_typeVarchar100否svr_titleVarchar100否svr_cust_noVarchar100否svr_cust_nameVarchar100否svr_statusVarchar100否svr_requestVarchar100否svr_create_idVarchar100否svr_create_byVarchar100否svr_create_dateVarchar100否svr_due_idVarchar100否svr_due_toVarchar100
42、否svr_due_dateVarchar100否svr_dealVarchar100否svr_deal_idVarchar100否svr_deal_byVarchar100否svr_deal_dateVarchar100否svr_resultVarchar100否svr_satisfyVarchar100否3email(邮件信息表)该表存储了邮件信息的基本信息,主要是邮件信息的记录,该表的字段属性如表4-3。表4-3邮件信息表字段名字段类型字段长度是否主键描述idVarchar100是编号TitleVarchar100否ContentsVarchar100否TosVarchar100否AddT
43、imeVarchar100否4sal_chance(营销信息表)该表存储了营销信息的基本信息,主要是营销信息的记录,该表的字段属性如表4-4。表4-4营销信息表字段名字段类型字段长度是否主键描述chc_idVarchar100是编号chc_sourceVarchar100否chc_titleVarchar100否chc_rateVarchar100否chc_linkmanVarchar100否chc_telVarchar100否chc_descVarchar100否chc_create_idVarchar100否chc_create_byVarchar100否chc_create_dateVa
44、rchar100否chc_due_idVarchar100否chc_due_toVarchar100否chc_due_dateVarchar100否5sys_user(用户信息表)该表存储了用户信息的基本信息,主要是用户信息的记录,该表的字段属性如表4-5所示。表4-5用户信息表字段名字段类型字段长度是否主键描述usr_idVarchar100是编号usr_nameVarchar100否usr_passwordVarchar100否usr_role_idVarchar100否usr_flagVarchar100否第五章 系统实现5.1数据库连接Hibernate是一个开放源代码的对象关系映射框
45、架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。本系统使用Hibernate实现数据库的连接,体现了一定的优越性。5.2用户登录管理用户登录需要验证用户的用户名和密码,从而保证用户可见和可使用的资源。管理员和其他用户的登录界面是一样的,单击“登录”按钮后的调用相应函数,它根据用户名和密码,以及用户种类将界面重定向到各类用户的主界面上,登录界面调用了Pers