客户关系管理系统的实现毕业论文目录第一章绪论 (4)1.1 项目背景 (4)1.2 课题现有状况 (5)1.3 课题意义 (5)第二章开发概述 (6)2.1 开发方法 (6)2.2 程序设计思想 (7)2.3程序设计语言 (8)2.4 开发过程 (9)2.5系统的开发方法 (11)第三章系统分析 (13)3.1 可行性分析 (13)3.2系统的主要技术分析 (14)3.2.1 Browser/Server系统的三层体系结构 (14)3.2.2 Java Server Page(JSP)技术 (15)3.2.3 JDBC技术 (16)3.2.4 数据库连接池技术 (17)3.3系统的运行环境和开发平台 (18)3.3.1 硬件设备及操作系统 (18)3.3.2 系统开发平台 (18)3.3.3 系统设计原则 (19)第四章数据库设计 (20)4.1数据库需求设计 (20)4.2 数据库的概念结构设计 (21)4.3 数据库表设计 (23)4.4 数据库的安全性 (26)第五章功能模块设计 (27)第六章程序设计 (30)6.1 系统后台设计 (30)6.1.1 登录系统 (30)6.1.2 系统主窗口 (31)6.1.3 操作管理 (31)6.2 系统前台设计 (39)6.2.1 前台首页 (39)6.2.1 客户留言反馈 (40)第七章软件测试 (40)7.1 软件测试的目的和原则 (41)7.2 测试实例的研究与选择 (43)7.3 测试举例 (44)7.4 客户端兼容性测试 (44)第八章结论 (45)8.1 系统达到的预期目标 (46)8.2 个人总结 (46)参考文献 (48)致谢 (49)第一章绪论客户信息管理系统的基本目标应有三个,一是研究用户、确定市场,二是解决如何提供优质服务吸引和开发客户,三是通过客户研究确定企业的管理机制和管理容。
它不仅是一个企业经营概念,同时也是管理技术。
1.客户为中心的企业管理技术。
即以客户为企业行为指南的管理技术。
在这种管理技术中,企业管理的需要以客户需要为基础,而不是以企业自身的某些要求为基础。
这是一种把企业与客户一体化的管理思想付诸实施的管理技术。
2.智能化的客户数据库。
要实行客户为中心的企业管理技术,必须有现代化的技术,原因就是现代企业所处的是信息时代。
客户为中心的企业管理的中枢,智能化的数据库是所有其它技术的基础。
从某种意义上说,智能化的数据库是企业发展的基本能源。
3.信息和知识的分析技术。
客户为中心的管理思想的实现,是建立在现代信息技术之上的,没有现代信息技术,就无法有效地实现客户为中心的管理技术。
为了实现这种管理技术,企业必须对智能化的客户数据库进行有效地开发和利用,这种开发的基本与核心技术就是信息和知识的分析处理技术。
只有经过分析和处理的信息,才是企业需要的知识使用客户信息管理的概念和技术,企业能快速搜集、追踪和分析每一个客户的信息,进而了解整个市场走势,并确切地知道谁是客户、谁是客户的客户、什么是客户的需要、客户需要什么样的产品和服务、如何才能满足客户的要求,以及满足客户要求的一些重要限制因素。
客户信息管理系统还能观察和分析客户行为对企业收益的影响,使企业与客户的关系及企业盈利都得到最优化。
1.1 项目背景随着现在经济越来越向消费者发展,科技和以人为本的思想贯穿了整个企业发展的始末,只有控制好客户才是企业发展的最佳渠道。
企业要发展,销售是关键,能否让消费者知道,了解,认可自己的产品是企业销售队伍面临的主要问题,因此我们要培养消费者的满意度和忠诚度,这就客观要求企业在客户关系关系管理方面下一定的工夫,通过良好的客户关系的培养,企业才可以得到更大的发展。
但是对于当前大部分网络公司来说,由于公司规模一般比较小,无法独立腾出一个部门来实现对客户关系进行有效管理。
因此,针对这个现状,我们决定开发一个适用于中小型企业的客户关系管理系统。
从行业需求上来说,CRM是解决当前中小公司在管理方面的不便和充分利用电脑的优势实现办公自动的一个比较好的解决方案;从技术角度来说,基于java下的CRM软件的开发无论是在日后更新,维护方面还是运行效率,性能方面,都是十分优越的。
而java技术又作为SUN公司多年来力推的一个技术之一,有着非常广阔的前景,无论是B/S 应用,还是C/S应用,都有其独特的优势。
研究和学习java技术,对将来在工作中实际应用的帮助是不言而喻的。
所以,本课题的研究是有实际意义的。
1.2 课题现有状况根据已经掌握的资料来看,目前国大多数客户关系管理还处于人工记录管理阶段,这种管理方式存在很多缺点,比如:效率低且操作较为繁琐,另外随着管理项目的增加,工作量也将大大增加,这必然增加了管理者的、工作人员的工作量和劳动量,为客户关系管理信息的查找、更新和维护都带来了很多困难。
虽然少部分公司拥有其独立的管理系统,而由于其操作复杂,硬件基础要求较高,很难得到普及。
1.3 课题意义毕业设计是四年学习的总结,同时也是自己综合运用所学知识解决实际问题的一次锻炼。
客户关系管理系统的主要目的是为了方便企业对客户的信息进行录入、修改、查询,提高企业的工作效率。
这一系统的开发成功,解决了手写速度慢、容易出错的现状。
无论是在客户关系查询管理、录入管理等方面都可以帮助企业最迅速最准确的完成所需的工作。
无论是在适用性、灵活性和易操作性方面都显示出了它的强大功能。
第二章开发概述客户关系管理是一种旨在改善企业与客户之间关系的新型管理机制,它实施于企业的市场营销、销售、服务与技术支持等与客户有关的领域,其目标是通过管理与客户间的互动,努力减少销售环节,降低销售成本,实现最终效果的提高。
本文论述了客户关系管理的基本思想,对它的基本含义、发展史、背景、市场等方面作了一个概述,并且讨论了其中的客户忠诚度的基本概念;论述了客户管理信息系统的设计思想,主要实现功能及数据库的结构,并就客户信誉度和客户忠诚度进行了粗略的评算,该系统可作为企业实施CRM的借鉴。
系统基于MVC模式,采用以java为主,JavaScript、HTML等语言为辅进行代码编写,利用了JSP有良好支持,提高了系统的性能;使用性能优异的Mysql 作为数据库系统,保证了数据处理、数据存取过程中的高效、安全;采用了三层结构对代码进行管理,隔离了逻辑层与数据层,为项目的管理以及日后的维护提供了可靠的保障。
2.1 开发方法传统的管理信息系统(Management Information System,MIS)的开发均采用结构化的开发方法。
随着市场的变化,软件的复杂性及变动性不断地增加,结构化开发方法由于思维方式的限制,已不能满足技术特征、管理特征以及经济特征3个方面的要求,致使软件质量不佳,开发成本过高,软件开发周期延迟。
而面向对象技术正是解决这种软件危机的最佳方法。
集Booch方法、OMT方法和OOSE方法的优点于一身并吸收其他流派的建模语言的长处而形成的统一建模语言UML——为公共的、稳定的、表达能力强的、可重用的面向对象分析方法提供了坚实的基础。
本课题实践管理信息系统的开发,将用例驱动的方法与UML建模相结合规系统开发。
用例驱动的方法基于面向对象技术,即从用例[出发,首先将用户需求转化为系统需求(即用例),并根据对用例的描述和分析,得出系统的核心类然后进一步描绘出系统的静态结构和动态行为,以及系统的代码结构和物理配置。
用例将“驱动”需求分析之后设计、实现、测试、配置等阶段的开发,将用例驱动的思想与UML这种面向对象分析设计语言相结合,改变目前管理信息系统开发落后的局面。
2.2 程序设计思想常见的设计思想有两种:结构化和面向对象化,本系统采用的是面向对象的设计思想,下面简单介绍一下两者的不同以及面向对象程序设计的优点。
传统的结构化开发过程包括软件目标的功能分解,以及使用正确的参数和返回值来创建函数。
首先分析需求,确定功能,然后以函数的形式进行建模。
在一个Web应用中很可能有上千个函数,这些函数能够不受限制的互相调用,因此在访问某个变量时,很难保证它不是正在被其他的函数访问或者修改。
用JSP脚本来开发Web应用时就是上面所说的情况。
只使用JSP而不使用任何Bean或自定义标记,在Web应用的规模比较小时还不会出现太多的问题,但是在Web应用的规模增大时就肯定会出现问题。
这些代码也许能够满足功能上的需要,却不能达到非功能性的要求。
在结构化开发方法面临问题的时候,使用面向对象的方法进行分析、设计和开发就可以解决一部分问题。
面向对象的分析和设计方法源于现实生活中的模块化的思想。
对象是提供一组相关功能的实体,对象之间互相作用从而完成一定的任务。
OO开发方法包括对目标的模块化,以及用类的形式对数据和函数进行封装。
面向对象方法主要有以下四个特征:(1)抽象性抽象是对象建模参数的选择,这是进行分析后得到的结果。
这意味着是由分析人员来选择一定的参数,以表示对象,这是对象模型化的第一步。
(2)封装性由于某些原因,类中的数据和方法不需要对其他的对象公开,我们可以将其隐藏在类的部,这是对象模块化过程中很重要的一步。
这个步骤将确保对象的行为以简单的借口出现,而复杂的执行过程都被隐藏了。
比如,JavaBean就可以为Web网页开发人员提供一个简单的接口。
(3)继承性在一个现存对象的基础上创建一个新的对象,这个过程称为继承。
这样我们可以不必重写所有的代码,只需在新对象中编写需要更新的代码就可以了。
比如:Servlet通常是由HTTPServlet派生来的,这意味着Web服务器可以用相同的方法来处理具有从属关系的两个Servlet。
(4)模块化为了减少独立工作小组之间的依赖性,软件系统中必须使用模块。
比如,我们可以定义一个JavaBean来处理应用程序的状态,这样做的优点是可以独立地对模块进行维护,这样就减少了代码之间的相关性。
2.3程序设计语言针对该项目,在综合考虑了此项目的总体特点并对当前流行软件的实用性进行比较之后,我们主要采用JSP作为程序设计代码的开发工具。
使用JSP作为开发工具的主要原因在于利用JSP技术可以建立动态的、高性能的、安全的、跨平台的先进动态。
JSP 技术在加速动态Web 网页开发时的突出特点有以下几个:(1) JSP可以将容的生成和显示进行分离:Web页面开发者可以用HTML或XML 标识进行对最终页面的设计,同时使用JSP Tag 或Java Script 来生成页面上的动态容,其容在逻辑上是被封装在JSP Tag 和Java Bean 中的,并被捆绑在Java Script 中. 因为所有的脚本都在服务器端运行,所以,如果核心逻辑部分被封装在标识或Beans 中,那么Web管理人员或页面设计者将只能编辑JSP页面的显示方式,而不会影响其容的实质。