毕业设计说明书
CRM客户关系管理系统
学 院: 计算机科学与技术学院 专 业: 计算机科学与技术专业 学生姓名:
学 号:
指导教师:
2012 年 06 月
摘要
摘 要
客户资源是企业的重要资源,而对于客户资源的合理管理,关乎着企业的生存与发展。客户关系管理系统简称CRM的引入,就是改善这一问题的重要措施。CRM作为管理企业和客户关系的主要管理平台,不仅可以对客户的关系进行管理,还可以记录企业同客户之间的业务活动。
该系统用JSP和MySQL实现了客户信息的管理、统计、分析、查询以及管理员对系统维护等功能。客户管理系统有着很好的应用前景,随着计算机技术和网络技术的发展,它的功能将会得到不断的发展和完善。本系统可以根据实际应用的具体情况,适当加以修改,以便更好应用。本系统操作简单,灵活性好,系统安全性高,运行稳定。
本文详细介绍了客户关系管理系统开发和设计的全过程。
关键词:客户关系,管理系统,客户,JSP ,MySQL
Ⅱ
英文摘要
Abstract
Customer resources is an important enterprise resources, and to the customer resource to rational management, for the enterprise's survival and development. Customer relationship management system as the introduction of CRM, is to improve the problem of the important measures. CRM as a management enterprise and customer relationship management of the main platform, can not only to the customer relationship management, can also record enterprise with the customers, business between activities.
This system USES JSP and MySQL realize customer information management, statistics, analysis, inquires the and administrators to system maintenance etc. Function.
Customers management system has a good application prospect, along with the computer technology and network technology development, its function will be constant development and improvement. This system can according to the specific circumstances of practical application, proper, in order to better be amended application. This system operation simple, flexibility is good, the system has high security, steady operation.
Key words: CRM,Management System, corporate customer,JSP ,MySQL
II
目
目录
摘 要 .............................................................................................................................I Abstract ......................................................................................................................... II 目录 .............................................................................................................................. III 第一章 引言 ......................................................................................................... - 5 -
1.1 系统的开发背景 .................................................................................... - 5 -
1.1.1客户管理系统的发展 ..................................................................... - 5 - 1.1.2 客户管理的现状 ............................................................................ - 5 - 1.2 系统实现的目标 .................................................................................... - 6 - 1.3 系统开发的意义 ....................................................................................... - 7 - 第二章 客户管理系统分析 ................................................................................. - 8 -
2.1 系统的设计目标 ....................................................................................... - 8 - 2.2 系统的可行性分析 .................................................................................. - 8 -
2.2.1 用户群体与市场分析 .................................................................... - 8 - 2.2.2 技术能力分析 ................................................................................. - 8 - 2.2.3 可行性分析总结 ............................................................................ - 9 - 2.3 系统设计的特点 ....................................................................................... - 9 - 第三章 系统的开发技术及主要构架 ................................................................. - 6 -
3.1 开发技术的选择 ....................................................................................... - 6 -
3.1.1 JSP编程技术................................................................................ - 6 - 3.1.2 MYSQL开源数据库的开发 .......................................................... - 8 - 3.1.3 JAVA语言概述................................................................................ - 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.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 5.7 5.8 5.9 第六章
6.1 6.2
统计报表 ................................................................................................. - 23 - 库存管理 ................................................................................................. - 24 - 邮件管理 ................................................................................................. - 24 - 系统数据管理 ......................................................................................... - 25 - 系统测试与难点分析 ........................................................................... - 26 - 系统运行环境的搭建 ............................................................................ - 26 - 系统的测试 ............................................................................................. - 27 - 6.2.1系统关键部分测试分析 ............................................................... - 27 - 6.2.2 测试结果分析与说明 .................................................................. - 27 - 6.2.3 系统安全与性能 .......................................................................... - 27 - 6.3 开发技巧和难点分析 ............................................................................ - 27 - 结束语 ..................................................................................................................... - 30 - 参考文献 ................................................................................................................. - 31 - 致谢及声明 ............................................................................................................. - 32 -
第一章 引言
第一章 引言
1.1 系统的开发背景
1.1.1客户管理系统的发展
随着市场的开放,各个企业之间的竞争逐渐加剧,并且也从独立的企业与企业之间的竞争发展成为了一个个群集之间的竞争。在这些群集中,不同的企业扮演着不同的角色,比如有原料供应商、制造商、分销机构、零售商等。在企业与企业之间需要进行大量的信息交互、流程管理和对各种异常情况的处理,前者主要是针对一些动态的数据信息即供应链管理,后者则是更多的是一些静态资料的管理即合作伙伴信息管理。对于普通的中小企业来说,资金和人力都很有限,因此对于定制比较复杂的供应链管理来说是不现实的。中小企业更倾向于首先把散乱的资料、协议有效的管理起来,在一定程度上有效的提高工作效率和企业信息化建设的进程。因此,在这样一种市场需求下,一款通用性强、功能实用、易于上手,面向全行业中小企业的企业管理系统就产生了。
企业的客户资源才会是最重要的资源。在21世纪,客户管理得到了网络技术的充分支持。此时客户也有条件要求企业尊重他们,并对服务的质量和及时性等方面提出更高要求。网络时代到来,使得顾客可以有更大的选择权,市场由原来的供方主导转变为顾客主导。企业在处理与客户的关系时,被动地处理顾客的抱怨、解答顾客的问题,顾客服务并未成为整体服务产品的核心。在这种情况下,企业越来越感觉到没有信息技术支持的客户关系管理系统(CRM)力不从心。于是CRM系统便应运而生。并将成为21世纪企业竞争获胜的通行证 。何谓客户关系管理,客户关系管理是企业为赢得顾客的高度满意.建立起与客户的长期良好关系所开展的工作。本项目将详细展示该系统的开发与实现。
1.1.2 客户管理的现状
对于企业来说最重要的是客户,而这些客户又分为了不同的客户群体,例如有小客户、大客户,有正在联系的客户、有即将联系的客户等等。而且这些客户又可能属于不同的行业,不同的区域地区。这时如何对这些客户进行有效的管理,进而指导企业对客户的下一步行动,从而提升企业的价值,成了企业发展的关键所在。
第一章 引言
传统的客户管理是采用人工手动记录的方式,通过通信员将客户的信息记录在通信本上而实现的。但是这种方式记录非常慢,而且容易出错,对于后期的查找和维护也是非常困难的。不难看出,企业想在竞争激烈的市场中占有一席之地,就必须牢牢把握住客户。
目前,企业管理系统已经逐步被企业所使用,功能也在不断的完善。而客户管理系统作为客户管理中的一个重要组成部分,也是值得重视的。
鉴于以上的原因,通过对客户管理的具体工作进行分析,编写了客户管理系统,用来方便的管理客户方面的工作。
系统通过对各种信息的录入、编辑、查询、删除等各个功能的实现,基本上可以满足企业部门的需要,在很大的程度上提高客户管理的效率和合理性,以及统计数据的真实性。
系统的功能和传统管理模式相比较,毫无疑问会大大提高客户信息管理的运作效率,辅助提高企业的管理水平,为减少差错,节省人力,为以后统计各类信息,提供有效的技术保障。
目前,客户管理系统已经越来越多的应用到了很多企业之中,并起到了良好的效果。
1.2 系统实现的目标
整个客户关系管理系统都要以客户为中心,从而简化各类与客户关系的信息,如销售、服务以及支持等等。在构建CRM系统时,还应当注意与其他管理系统的协调,例如人力资源管理系统、进销存管理系统等等。例如现在系统的使用者是某中小型企业,系统通过该系统来改善现有客户的管理混乱状态,从而加强企业和客户之间的联系。
本系统主要对客户信息的管理。一方面录入客户信息、并对客户各方面的信息进行分析;另一方面根据客户反馈的信息,及时统计各种相关数据并根据数据做出分析,发现问题并给出措施建议。
本课题就是要开发一个基于web的客户管理系统。
依据客户管理需要完成的内容,结合宽带开通业务的实际需要,本系统要完成的主要的功能分析如下:
1.客户基本信息的录入。主要包括基本资料,协议资料,交费和任务的登记。
2.登录的权限设置。对于不同的角色能够赋予不同的权限。
3.营销管理。为了更好的开发客户,需要设置销售机会管理模块和客户开发计划管理。
第一章 引言
4.客户联系人管理。这是为了能够与客户更好的交流,从而提高工作效率。 5.客户的服务管理。在创建了客户联系人之后,为了能够更好的保证服务质量,减少客户流失,需要对不同客户的不同服务项目进行归类管理。
6.统计报表。为了更好的查询和分析数据,需要对客户构成、客户贡献与客户服务进行分析。
1.3 系统开发的意义
客户管理系统主要是将客户信息管理、人物管理、客户交费、投诉管理、查询报表等多功能于一身的客户管理软件,操作简单方便,界面美观大方,能满足企业进行客户管理的需求,客户管理系统通过准确、智能、高效、创新的营销策略,协助企业不断提高销售额、提升客户忠诚度。
第二章 客户管理分析
第二章 客户管理系统分析
2.1 系统的设计目标
系统使用简洁的框架结构,可以进行客户的查看、信息录入等操作,实现客户的管理、客户的统计分析、系统维护等模块组成。以及一些常规的设置和数据库管理等操作。
2.2 系统的可行性分析
2.2.1 用户群体与市场分析
客户管理系统将能为企业实现有效的客户关系管理。 它既是一种国际领先的、以“客户价值”为中心的企业管理理论、商业策略和企业运作实践,也是一种以信息技术为手段、有效提高企业收益、客户满意度、雇员生产力的管理软件。
客户管理系统是通过赢得、发展、保持有价值的客户,增加企业收入,优化盈利性,提高客户满意度的商务战略。通过获得更多的客户线索、更广泛地共享客户信息,协同工作,增加收益,提高给客户的价值,实现企业和客户的\"双赢\"。
企业希望通过客户管理系统能够了解更多的客户的需求,从而为客户提供个性化的产品和服务,提高客户满意度,与此同时也能够获得更大的利润。
客户管理系统是一种旨在健全、改善企业与客户之间关系的新型管理系统。指的是企业利用信息技术,通过有意义的交流来了解并影响客户的行为,以提高客户招揽率、客户保持率、客户忠诚度和客户收益率。客户管理系统是一种把客户信息转换成良好的客户关系的可重复性过程。利用激励因素来刺激客户进一步消费,并激发其\"感激\"心理,对保持长期的销售和提高客户保持率十分重要。
2.2.2 技术能力分析
根据本系统的功能需求,采用JSP与开源的MySQL数据库引擎进行开发。由于JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。而MySQL作为一种快速的、多线程、多用户和健壮的SQL数据库服务器,根据第三方测
第二章 客户管理分析
试结果,在千万级的数据环境中依然保持较高的执行速度。因此在技术层面上,是完全可行的。
2.2.3 可行性分析总结
综合企业用户群体的特点和不断增长的需求,以及技术、市场前景趋势等因素,客户管理的信息化系统有很大的发展前途,而客户管理系统则是建立在此基础上的,因此本系统的开发是具有可行性的。
2.3 系统设计的特点
系统的设计上需要注重安全性和用户操作的流畅性。因此要在对用户的管理和资格审核环节做出限定,只有经过审核确认的会员才有权使用,而且需要对管理员进行不同的权限分配。搜索将在系统功能中占据重要的位置,可以使用多个属性字段进行模糊搜索,并在搜索结果提供比较的通道。
第三章 系统的开发技术及主要架构
第三章 系统的开发技术及主要构架
3.1 开发技术的选择
3.1.1 JSP编程技术
Java Server Page或简称为JSP是由Sun公司在Java语言上开发出来的一种动态网页制作技术,它提供了一种建立动态网页的简单方法,并为开发人员提供了一个Server端框架,基于这个框架,开发人员可以综合使用 HTML,XML,JAVA语言以及其他脚本语言,灵活,快速地创建和维护动态网页,特别是目前的商业系统。作为JavaTM 技术的一部分,JSP能够快速的开发出基于所有Web服务器和应用服务器环境,独立于平台的应用程序,而且具有非常强的可伸缩性。同时,JSP把用户界面从系统内容中分离开来,使得设计人员能够在不改变底层动态内容的前提下改变网页布局。
JSP编程技术的优势在于:
1. 一次编写,到处运行。在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改。
2. 系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/PHP的局限性是显而易见的。
3. 强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。
4. 多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。
JSP的运行原理:
在JSP第一次获得来自于客户端浏览器的请求时,JSP文件将被JSP引擎(JSP engine)转换成一个Servlet,即将”.jsp”文件编译成Java Class文件。当Servlet引擎接收到请求后,如果设置了使用最新的JSP,它就会去找JSP文件,检查该文件在上次编译后是否改动过。如果改动过,就会重新编译生成新的Servlet,最终将请求转交给编译好的Servlet引擎执行。
第三章 系统的开发技术及主要架构
在编译时如果发现JSP文件有任何语法错误,转换过程将中断,并向客户端发出出错信息;如果编译成功,则所转换产生的Servlet代码被编译,然后该Servlet被JSP引擎加载到内存中。此时JSP引擎还请求了jspInit()方法的执行,并对此Servlet初始化。JspInit()方法在Servlet的生命周期中只被请求一次,然后将被调用来处理客户端的请求和回复操作。对于所有随后对该JSP文件的请求,服务器将检查该JSP文件自最后一次被存取后是否经过修改。如果没有修改,则将请求交还给还在内存中的Servlet的jspService()方法,执行回复操作。由于Servlet始终驻于内存,所以响应是非常快的。JSP页面在第一次访问时由于要转化和编译,运行速度较慢,但是当第二次访问该页时,由于文件已经被编译成字节码文件了,所以速度非常得快。
JSP页面的组成:
JSP页面看上去像标准的HTML和XML页面,并附带有JSP引擎能够处理和解析执行的代码与组件。通常,JSP代码和组件用于创建在最终页面上显示的文本。通常来说,JSP页面包括编译指令,声明,表达式等内容。
(1)编译指令:使用JSP编译指令(〈%@ 和 %〉内的)来指定所使用的脚本语言,Servlet实现的接口,Servlet扩展的类,Servlet导入的软件包。JSP指令的一般语法形式为:<%@ 指令名=“值”%>。
(2)声明:用于声明合法的变量和方法。与任何语言相同,JSP语言使用变量来保存数据。这些变量用declaration元素声明,声明的语法为<%!
declaration(s) %>。当页面被初始化的时候,JSP页面中的所有声明都被初始化。除了简单的变量,方法也能被声明。声明不对当前的输出流产生任何影响。
(3)表达式:通过计算表达式所得到的结果来表示某个值。表达式的形式为:<%=expression>。表达式求值的结果被强制转换为一个字符串,并插入到当前的输出流中。
JSP运行环境:
要运行JSP(注意,不是浏览JSP页面),需要有支持Jsp的服务器。这里分2种情况:一种是自身就支持JSP的服务器,如Jrun,Weblogic,JSWDK等;而另一种则是在不支持JSP的服务器上安装JSP引擎的插件,如在IIS,Apache等服务器上安装WebSphere,tomcat,Resin等插件。其中主流服务器是Weblogic和tomcat.
Tomcat服务器是Apache Group Jakarta小组开发的一个免费服务器软件,适合于嵌入Apache中使用,而且,它的源代码可以免费获得,你可以自由地对它进行扩充。Tomcat服务器的兼容性很好,如WebLogic服务器采用其为Web服务器引擎,Jbuilder将其作为标准的测试服务器,Sun公司也将其作为JSP技术应用的示例服务器。不足之处是它的配置比较麻烦,而且有一些安全性的问题没有解决。但是
第三章 系统的开发技术及主要架构
Tomcat服务器有众多大软件公司的支持,而且服务器的性能稳定,其发展前景很好。
3.1.2 MySQL开源数据库的开发
MySQL是最受欢迎的开源SQL数据库管理系统,它由MySQL AB开发、发布和支持。MySQL AB是一家基于MySQL开发人员的商业公司,它是一家使用了一种成功的商业模式来结合开源价值和方法论的第二代开源公司。MYSQL是MySQL AB的注册商标。
它的主要特点和优势主要有以下几个:
MySQL是一个快速、多线程、多用户和健壮的SQL数据库服务器。MySQL服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass-deployed)的软件中去。
MySQL是一个关系数据库管理系统。它将数据存放在独立的表格中,以增加存取的速度和灵活性。“MySQL”中的SQL代表“Structured Query Language”(结构化查询语言)。SQL是用于访问数据库的最通用的标准语言,它是由ANSI/ISO定义的SQL标准。
MySQL是开源的。开源意味着任何人都可以使用和修改该软件,任何人都可以从Internet上下载和使用MySQL而不需要支付任何费用。
3.1.3 JAVA语言概述
JAVA语言是由Sun公司开发的一种很新的计算机语言,它的历史很短。JAVA语言的发展史是简短而曲折的。由于它与网络的良好结合,使得它在刚发布时就引起了轰动。因为JAVA语言没有兼容低版本计算机语言的负担,所以它在采用计算机新技术方面比传统的计算机语言显得更为纯粹,JAVA语言的特点也更为鲜明。它的特点与其历史发展是相关的。
JAVA语言的特点:
1. 简单性。JAVA语言是在C和C++计算机语言的基础上进行简化和改进的一种新型计算机语言。它去掉了C和C++种最难正确应用的指针和最难理解的多继承技术等内容,通过垃圾自动回收机制简化了程序内存管理,统一了各种数据类型在不同操作系统平台上所占用的内存大小。
2. 网络特性。JAVA语言是目前对网络支持最全面,与网络关系最密切的计算机语言之一。其对互联网络有着良好的支持。
3. 面向对象。JAVA语言在面向对象特性上比C++语言更为彻底的一种语言。
第三章 系统的开发技术及主要架构
面向对象模型是一种模拟人类社会和人解决实际问题的模型,因此更符合人们的思维习惯,而且容易扩充和维护。它的缺点是程序在开发的过程中往往会变得越来越庞大。
4. 平台无关性。平台无关性又称为可移植性。JAVA语言的设计目标是让其程序不用修改就可以在任何一种计算机平台上运行。解决异构操作系统兼容性问题是一个很艰巨的任务。虽然JAVA语言并没有完全实现最初的设计目标,但在这方面确实是同类语言中做的最好的。
5. 鲁棒性。鲁棒性指的是程序执行的稳定性,常常也称为健壮性。JAVA语言的垃圾自动回收机制和异常处理机制以及它的简单性在很大程度上保证了程序的鲁棒性。
6. 安全性。在网络上运行的JAVA语言是符合网络安全协议的。在执行JAVA程序的过程中,JAVA虚拟机对程序的安全性进行检测。一般说来,JAVA程序是安全的,它不会访问或修改不允许访问的内存或文件。
7. 多线程性。多线程性主要用来处理复杂事务或需要并行的事务。组成JAVA虚拟机的各个程序本身一般也采用多线程机制。采用多线程机制是提高程序运行效率的一种方法,但同时也增加了程序的设计难度。
8. 解释性。JAVA语言是一种解释执行的语言。这是JAVA语言的一个缺点,因为解释执行的语言一般会比编译执行的语言的执行效率要低。
3.2 系统的主要架构及开发模式
该客户管理系统采用B/S模式,服务器采用轻量级应用服务器Tomcat,该服务器运行时所占用的系统资源小,支持负载平衡与邮件服务等开发应用系统常用的功能。有着良好的跨平台性和安全性,可以运行在包括windows、linux、mac等操作系统上。用户客户端使用各种浏览器都能够进行正常的浏览和操作。需要注意的是在程序的开发过程中,程序和路径相关的要考虑到不同的操作系统的文件目录结构。
B/S结构,即Browser/Server(浏览器/服务器)结构,就是只安装维护一个服务器(Server),而客户端采用浏览器(Browse)运行软件。它是随着Internet技术的兴起,对C/S结构的一种变化和改进。主要利用了不断成熟的WWW浏览器技术,结合多种Script语言(VBScript、JavaScript等)和ActiveX技术,是一种全新的软件系统构造技术。
B/S三层体系结构采用三层客户/服务器结构,在数据管理层(Server)和用户界面层(Client)增加了一层结构,称为中间件(Middleware),使整个体系结构成为三层。三层结构是伴随着中间件技术的成熟而兴起的,核心概念是利用中间件将
第三章 系统的开发技术及主要架构
应用分为表示层、业务逻辑层和数据存储层三个不同的处理层次。三个层次的划分是从逻辑上分的,具体的物理分法可以有多种组合。中间件作为构造三层结构应用系统的基础平台,提供了以下主要功能:负责客户机与服务器、服务器与服务器间的连接和通信;实现应用与数据库的高效连接;提供一个三层结构应用的开发、运行、部署和管理的平台。这种三层结构在层与层之间相互独立,任何一层的改变不会影响其它层的功能。B/S结构的三层体系结构图如图3-1所示。
图3-1 B/S三层体系结构
在B/S体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。而其余如数据请求、加工、结果返回以及动态网页生成、对数据库的访问和应用程序的执行等工作全部由Web Server完成。随着Windows将浏览器技术植入操作系统内部,这种结构已成为当今应用软件的首选体系结构。显然B/S结构应用程序相对于传统的C/S结构应用程序是一个非常大的进步。
B/S三层体系结构的主要优点:
•B/S模式提供灵活的信息交流和信息发布服务。B/S模式借助Internet强大的信息发布与信息传送能力可以有效地解决企业内部的大量不规则的信息交流
•可共享性。单个应用服务器可以为处于不同平台的客户应用程序提供服务,在很大程度上节省了开发时间和资金投入;
•较好的安全性。在这种结构中,客户应用程序不能直接访问数据,应用服务器不仅可控制哪些数据被改变和被访问,而且还可控制数据的改变和访问方式 。
•三层模式成为真正意义上的“瘦客户端”,客户端计算机不需要很高的硬件配置,也无需特殊的软件配置要求,只要有web浏览器就可以使用系统。
•B/S模式提供了一致的用户界面:B/S模式的应用软件都是基于Web浏览器的,这些浏览器的界面都很相似。对于无用户交互功能的页面,用户接触的界面都是一致的,从而可以降低软件的培训费用。
•在B/S模式下,外部的用户亦可通过通用的浏览器进行访问。
•B/S模式的结构易于扩展:由于Web 的平台无关性,B/S模式结构可以任
第三章 系统的开发技术及主要架构
意扩展,可以从一台服务器、几个用户的工作组级扩展成为拥有成千上万用户的大型系统。
•B/S模式具有更强的信息系统集成性:在B/S模式下,集成了解决企事业单位各种问题的服务,而非零散的单一功能的多系统模式,因而它能提供更高的工作效率。
3.3 开发工具和开发技术选择
系统开发平台:MyEclipse7.0 数据库管理系统软件:MySQL5.0
运行平台:Windows 2000/Windows XP/Windows 2003/Win7 Java开发包:JDK5.0以上 Web服务器:Tomcat 6.0
本系统采用的MVC架构模式开发技术的具体技术: AJAX框架:使用ExtJS 技术开发 显示层:使用JSP技术开发 数据访问层:使用DAO模式开发 持久层:使用Hibernate 框架开发
第四章 系统功能分析和流程设计
第四章 系统功能和流程分析
4.1 系统功能模块设计
系统功能结构层次图主要是介绍系统功能的大体层次结构,使读者能够对系统功能有一个更加直观的把握。系统的软件结构如图4-1所示。
客户关系管理系统客户管理营销管理库存管理服务管理权限管理邮件管理
图 4-1 客户管理系统功能能模块图
4.2 整体分析
系统整体主要流程图,系统由登录页面开始,首先实现身份的识别,若和数据库中的数据匹配,则实现登录,根据系统的权限设置,允许登录者对系统进行权限内操作。进入管理员界面后,系统包括了营销管理、服务管理、客户管理、库存管理和邮件管理等功能模块。系统整体流程示意图如图4-2所示。
第四章 系统功能分析和流程设计
开始重试登录管理员成功登陆进入管理员界面营销管理服务管理客户管理库存管理邮件管理信息配置信息处理审核添加修改删除信息处理信息删除退出
图4-2 系统整体主流程示意图
4.3 数据流分析
数据流图(DFD)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。在数据流图中没有任何的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过程。将信息处理功能和彼此之间的联系自顶向下,逐层分解,从逻辑上精确地描述系统应具有的数据加工功能、数据输入、数据输出、数据存储及数据来源和去向(外部实体)等项目。
第四章 系统功能分析和流程设计
客户基本信息营销信息客户信息管理基本信息基本信息信息编辑信息删除信息信息编辑信息基本信息信息营销管理信息删除管理员个人信息登录系统信息权限管理服务信息信息信息信息服务管理信息信息信息编辑统计报表邮件管理信息删除图4-2 系统数据流图
4.4 系统E-R图
4.4.1 系统总体E-R图
描述各个实体之间的相互关系,例如多个管理员都可以管理客户信息,同
样多个客户信息也可以被多个管理员管理,1个管理员可以管理多条服务信息,具体描述如图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 客户信息实体图
第四章 系统功能分析和流程设计
4.4.5 服务信息实体图
为了对服务进行更有效的管理,提高工作效率和工作质量,必须包括客户服务信息管理。对于客户信息的管理,需要了解服务创建人、服务创建时间、服务请求、服务类型等。服务信息实体图如图4-7所示。
创建时间编号创建人概要服务信息状态客户服务请求服务类型
图4-7 服务信息实体图
4.4.6 邮件信息实体图
为了方便与客户之间的联系,能够及时了解客户的状态和接受客户的反馈信息,需要加入邮件功能。邮件信息实体图如图4-8所示。
时间标题邮件信息收件人图4-8 邮件信息实体图
发件人
第四章 系统功能分析和流程设计
4.5 数据库设计
根据需求分析以及系统功能的需要,系统信息数据存放在MySQL数据表中。下面给出重要数据表的简单描述。
1.customer(客户信息表)
该表存储了客户的基本信息,主要用于客户信息记录。字段属性描述如表4-1所示。
表4-1 客户信息表 字段名 cust_no cust_name cust_region cust_manager_id cust_manager_name cust_level cust_level_label cust_satisfy cust_credit cust_addr cust_zip cust_tel cust_fax cust_website cust_licence_no cust_chieftain cust_bankroll cust_turnover cust_bank cust_bank_account cust_local_tax_no cust_national_tax_no 字段类型 Int Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar 字段长度 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 是否主键 是 否 否 否 否 否 否 否 否 否 否 否 否 否 否 否 否 否 否 否 否 否 描述 编号 2.cst_service(服务信息表)
该表存储了记录服务的基本信息,主要用于服务信息的记录。字段属性描述如表4-2所示。
表4-2 服务信息表 字段名 svr_id 字段类型 Varchar 字段长度 100 是否主键 是 描述 编号
第四章 系统功能分析和流程设计
svr_type svr_title svr_cust_no svr_cust_name svr_status svr_request svr_create_id svr_create_by svr_create_date svr_due_id svr_due_to svr_due_date svr_deal svr_deal_id svr_deal_by svr_deal_date svr_result svr_satisfy Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 否 否 否 否 否 否 否 否 否 否 否 否 否 否 否 否 否 否
3.email(邮件信息表)
该表存储了邮件信息的基本信息,主要是邮件信息的记录,该表的字段属性如表4-3。
表4-3邮件信息表
字段名 id Title Contents Tos AddTime 字段类型 Varchar Varchar Varchar Varchar Varchar 字段长度 100 100 100 100 100 是否主键 是 否 否 否 否 描述 编号
4.sal_chance(营销信息表)
该表存储了营销信息的基本信息,主要是营销信息的记录,该表的字段属性如表4-4。
表4-4 营销信息表 字段名 chc_id chc_source chc_title chc_rate chc_linkman 字段类型 Varchar Varchar Varchar Varchar Varchar 字段长度 100 100 100 100 100 是否主键 是 否 否 否 否 描述 编号
第四章 系统功能分析和流程设计
chc_tel chc_desc chc_create_id chc_create_by chc_create_date chc_due_id chc_due_to chc_due_date Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar 100 100 100 100 100 100 100 100 否 否 否 否 否 否 否 否
5.sys_user(用户信息表)
该表存储了用户信息的基本信息,主要是用户信息的记录,该表的字段属性如表4-5所示。
表4-5 用户信息表 字段名 usr_id usr_name usr_password usr_role_id usr_flag 字段类型 Varchar Varchar Varchar Varchar Varchar 字段长度 100 100 100 100 100 是否主键 是 否 否 否 否 描述 编号
第五章 系统实现
第五章 系统实现
5.1 数据库连接
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
本系统使用Hibernate实现数据库的连接,体现了一定的优越性。
5.2 用户登录管理
用户登录需要验证用户的用户名和密码,从而保证用户可见和可使用的资源。管理员和其他用户的登录界面是一样的,单击“登录”按钮后的调用相应函数,它根据用户名和密码,以及用户种类将界面重定向到各类用户的主界面上,登录界面调用了Person 和Company类的Login() 函数判断用户是否已经登录。系统的登录界面图如图5-6所示。
图5-6 登录界面图
第五章 系统实现
5.3 销售管理
客户管理系统主要实现的功能对客户信息、营销信息、服务信息、库存信息、报表信息、邮件信息进行管理。其中销售管理,具体的操作是进行资料的新建、查询等操作。销售管理功能界面图如图5-7所示。
图5-7 销售管理示意图
其中新建销售机会,销售机会的新建和查询包括客户名称、概要和联系人等。新建销售机会功能界面图如图5-8所示。
图5-8 新建销售机会示意图
5.4客户管理
客户管理系统主要实现的功能对客户信息、营销信息、服务信息、库存信息、报表信息、邮件信息进行管理。其中客户管理,具体的操作是进行资料的新建、查询等操作。客户管理功能界面图如图5-9所示。
图5-9 客户管理示意图
其中新建客户信息,包括了客户编号、客户名称、客户地区等详细信息。新建客户功能界面示意图如图5-10所示。
第五章 系统实现
图5-10 新建客户示意图
5.5服务管理
客户管理系统主要实现的功能对客户信息、营销信息、服务信息、库存信息、报表信息、邮件信息进行管理。其中服务管理,具体的操作是进行资料的新建、查询等操作。服务管理功能界面图如图5-11所示。
图5-11 服务管理示意图
5.6 统计报表
客户管理系统主要实现的功能对客户信息、营销信息、服务信息、库存信息、
第五章 系统实现
报表信息、邮件信息进行管理。其中统计报表,具体的操作是进行资料的新建、查询等操作。统计报表功能界面图如图5-12所示。
图5-12 统计报表示意图
5.7 库存管理
客户管理系统主要实现的功能对客户信息、营销信息、服务信息、库存信息、报表信息、邮件信息进行管理。其中库存管理,具体的操作是进行资料的新建、查询等操作。库存管理功能界面图如图5-13所示。
图5-13 库存管理示意图
5.8 邮件管理
客户管理系统主要实现的功能对客户信息、任务信息、票据信息、交费信息、投诉信息进行管理。其中邮件管理,具体的操作是进行资料的查看、提交、删除。
第五章 系统实现
5.9 系统数据管理
MySQL数据库的最大特点就是提供了很多便于直接使用的操作函数,可以轻松的将复杂的数据库操作由清晰的函数实现。在系统数据管理这个模块,主要实现了数据备份和数据恢复(即数据库导入)。
第六章 系统测试与难点分析
第六章 系统测试与难点分析
6.1 系统运行环境的搭建
本系统的开发和测试均在windows操作系统平台下进行的,使用AMP集成软件包搭建运行环境
Tomcat 是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。为了方便理解,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。
Apache,一种开放源码的HTTP服务器,可以在大多数计算机操作系统中运行,由于其跨平台和安全性而被广泛使用,是最流行的Web服务器端软件之一,被广范应用于前台。它快速、可靠并且可通过简单的API扩展,Perl/Python等解释器可被编译到服务器中。
但是Apache只支持静态网页,如果要在Apache环境下运行JSP 的话就需要一个解释器来执行JSP网页,而这个JSP解释器就是Tomcat,。当然还是需要JDK,因为需要JDK来提供连接数据库的驱动。所以要运行jsp的web服务器平台就需要Apache+tomcat+JDK。Tomcat可以处理动态页面,但在静态页面的处理上,确不如Apache迅速。 基于以上原因,一个现实的网站使用一个Apache作为Web服务器,为网站的静态页面请求提供服务;并使用Tomcat服务器作为一个Servlet/JSP插件,显示网站的动态页面。
采用apache+tomcat这样的结构具有很突出的优点,主要体现在具有更好的可扩展性和安全性。这种类型的站点的主要特点是每一个页面都可能是动态生成的,但这些数据中主要部分还是静态的(比如,各类图像GIF、JPG、PNG,流式媒体等),这种结构的优点是兼有可扩展性和安全性。
根据本系统的实际开发需求的需要,此处仅仅使用Tomcat 服务器。
第六章 系统测试与难点分析
6.2 系统的测试
6.2.1系统关键部分测试分析
测试分为两个部分:
第一部分主要就是测试系统所要求的最基本的功能,主要侧重于用户的使用流程。基本的用户使用相当流畅,但是在客户信息搜索功能上,虽然能够使用关键字搜索到客户信息,但是还有所欠缺,而且可以使用的事故属性关键字还太少。
第二部分主要是针对后台管理的测试,由于后台管理功能模块较为集中,是整个系统的核心所在,特别是对用户的审核、对管理员的权限分配以及对信息的处理都完全符合系统设计初期的功能要求。因此从整体上来说,系统的设计和实现是成功的。
6.2.2 测试结果分析与说明
从整体的测试结果来看,在大中型的商务应用中,JSP与MySQL的结合具有相当的优势。
首先就是缩短了开发时间,JSP与MySQL提供的大量固有的函数库直接在程序中使用,提高了程序的运行效率。虽然系统的功能还显得弱小,但是系统的优良性能已经得到了很好的体现。
6.2.3 系统安全与性能
系统设计过程中,对代码中出现的可能对系统造成安全威胁的字符进行过滤和字符的转换,在一定程度上提高了系统运行的安全性。同时所采用的编程语言和数据库的特性足以承受大量的数据读取和写入。
6.3 开发技巧和难点分析
大部分 Web程序都不会局限于局域网,而是在整个互联网都可以访问。这时面对的用户群都非常广了,而这些用户当中可能会有一些“破坏分子”。对于他们来说攻击手段非常多,但是最简单同时最有效的就是大量的恶意注册和登录,例如在一秒钟之内注册5000个用户。这时系统的大部分资源都消耗殆尽,从而导致系统崩溃。
第六章 系统测试与难点分析
既然有攻击手段,肯定会有相应的防御手段。防止用户大量恶意注册和登录最有效的办法就是生产图形验证码。用户只有正确输入图形验证码上显示的数字或者字母才能继续进行注册或者登录。这样用户就无法再短时间内,多次进行注册和登录了。
结束语
结束语
在系统的开发过程中,充分的借鉴了参考资料中的优秀代码段和设计思想,使用面向对象的编程方式与JSP结合,基本实现了系统的需求。而且使用到了模版和程序分离的模式,对于系统管理员来说,前台的设计工作将变的更加轻松。而优秀的开源数据引擎MySQL本身所具有的良好性能,对于繁杂而且庞大的数据处理有明显的优势,这就为系统的使用提供了稳定性和安全性。
在过去几个月的设计和开发过程中,通过老师的指导、主动的收集资料,已有知识的整合,对构建大型系统尤其是商务应用系统有了进一步的认识,更加熟悉在JSP中使用面向对象的编程思想,对如何进一步提高JSP与MySQL系统的安全性有了更多的思考。
然而,作为客户管理系统,在信息管理实现过程中,本身需要有良好的性能来防范可能出现的任何漏洞,对程序代码本身的安全性要求相当高,从这个方面来看,还需要进一步的工作来完善,在确保功能流程的前提下为用户提供体验性好而且可信任的服务。
参考文献
参考文献
[1] 王能斌.数据库系统原理.第1版.北京:电子工业出版社, 2001 [2] 郑人杰.殷人昆等. 实用软件工程.北京.清华大学出版社.1997.4 [3] 萨师煊.王珊.数据库系统概论第二版北京高等教育出版社1991 [4] 严蔚敏.吴伟民.数据结构.北京清华大学出版社.1987 [5] 谢希仁.计算机网络.第二版.大连.大连理工大学出版社.1996
[6] 龚沛曾 陆慰民 杨志强编著.Visual Basic 程序设计教程.高等教育出版社.2000 [7] 周霭如,管士鸿.Visual Basic 程序设计教材.第1版. 北京:清华大学出版社, 2002 [8] 宋德富 张强华 计算机专业英语教程 第1版 北京: 高等教育出版社 1999 [9] 周桓,王殊宇.JSP项目开发全程实录.清华大学出版社2008-6 [10] 孙鑫.Struts 2深入详解.电子工业出版社.2008-7
[11] 孙卫琴.基于MVC的Java Web设计与开发.电子工业出版社.2004-8 [12] 徐明华.Java Web整合开发与项目实战.人民邮电出版社.2009-2 [13] 耿祥义,张跃平. JSP使用教程(第2版). 清华大学出版社.2007-10 [14] 孙卫琴.Tomcat与Java Web开发技术详解(第2版).电子工业出版社 2009-1 [15] (英)萨默维尔(Sommerville,I).软件工程.机械工业出版社. 2007-4 [16] 朱少民.全程软件测试.电子工业出版社.2007-9
[17] (德)斯皮勒.软件测试基础教程(第2版).人民邮电出版社. 2009-4 [18] 郁莲.软件测试方法与实践.清华大学出版社.2008-11
参考文献
致谢及声明
四年的大学生活转瞬即逝,在师长、亲友全力支持下的求学生涯也将要结束。但是新的征程又将开始。回顾求学之路,走的辛苦却也收获满囊。在论文即将付梓之际,思绪万千,心情久久不能平静。
本次毕业设计的顺利完成,需要感谢周围师长、同学给予的无私的帮助和支持。
首先要感谢指导老师赵金铃老师。赵老师治学严谨、学识渊博,赵老师带给我的影响使我终身受益。其次感谢我的同学给予的帮助。
衷心感谢所有帮助过我的人们。
- 32 -
因篇幅问题不能全部显示,请点此查看更多更全内容