中国石油大学数据库课程设计联系人客户关系管理系统.docx
- 文档编号:1934608
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:26
- 大小:253.65KB
中国石油大学数据库课程设计联系人客户关系管理系统.docx
《中国石油大学数据库课程设计联系人客户关系管理系统.docx》由会员分享,可在线阅读,更多相关《中国石油大学数据库课程设计联系人客户关系管理系统.docx(26页珍藏版)》请在冰点文库上搜索。
数据库课程设计
课程名称:
联系人客户关系管理系统姓 名:
某XX学 号:
0153247专 业:
计算机科学与技术
批 次:
2018年春层 次:
专升本学习中心:
昌平直属学习中心
请浏览后下载,资料供参考,期待您的好评与关注!
2019年12月6日
第一章客户管理系统分析
1.1系统的设计目标
系统使用简洁的框架结构,可以进行客户的查看、信息录入等操作,实现客户的管理、客户的统计分析、系统维护等模块组成。
以及一些常规的设置和数据库管理等操作。
1.2系统的可行性分析
1.2.1用户群体与市场分析
客户管理系统将能为企业实现有效的客户关系管理。
它既是一种国际领先
的、以“客户价值”为中心的企业管理理论、商业策略和企业运作实践,也是一种以信息技术为手段、有效提高企业收益、客户满意度、雇员生产力的管理软件。
客户管理系统是通过赢得、发展、保持有价值的客户,增加企业收入,优化盈利性,提高客户满意度的商务战略。
通过获得更多的客户线索、更广泛地共享客户信息,协同工作,增加收益,提高给客户的价值,实现企业和客户的"双赢"。
企业希望通过客户管理系统能够了解更多的客户的需求,从而为客户提供个性化的产品和服务,提高客户满意度,与此同时也能够获得更大的利润。
客户管理系统是一种旨在健全、改善企业与客户之间关系的新型管理系统。
指的是企业利用信息技术,通过有意义的交流来了解并影响客户的行为,以提高客户招揽率、客户保持率、客户忠诚度和客户收益率。
客户管理系统是一种把客户信息转换成良好的客户关系的可重复性过程。
利用激励因素来刺激客户进一步消费,并激发其"感激"心理,对保持长期的销售和提高客户保持率十分重要。
1.2.2技术能力分析
根据本系统的功能需求,采用JSP与开源的MySQL数据库引擎进行开发。
由于JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。
网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。
JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
而MySQL作为一种快速的、多线程、多用户和健壮的SQL数据库服务器,根据第三方测试结果,在千万级的数据环境中依然保持较高的执行速度。
因此在技术层面上,是完全可行的。
1.2.3可行性分析总结
综合企业用户群体的特点和不断增长的需求,以及技术、市场前景趋势等因素,客户管理的信息化系统有很大的发展前途,而客户管理系统则是建立在此基础上的,因此本系统的开发是具有可行性的。
1.3系统设计的特点
系统的设计上需要注重安全性和用户操作的流畅性。
因此要在对用户的管理
和资格审核环节做出限定,只有经过审核确认的会员才有权使用,而且需要对管理员进行不同的权限分配。
搜索将在系统功能中占据重要的位置,可以使用多个属性字段进行模糊搜索,并在搜索结果提供比较的通道。
第二章系统的开发技术及主要构架
2.1开发技术的选择
2.1.1JSP编程技术
JavaServerPage或简称为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引擎(JSPengine)转换成一个Servlet,即将”.jsp”文件编译成JavaClass文件。
当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服务器是ApacheGroupJakarta小组开发的一个免费服务器软件,适合于嵌入Apache中使用,而且,它的源代码可以免费获得,你可以自由地对它进行扩充。
Tomcat服务器的兼容性很好,如WebLogic服务器采用其为Web服务器引擎,Jbuilder将其作为标准的测试服务器,Sun公司也将其作为JSP技术应用的示例服务器。
不足之处是它的配置比较麻烦,而且有一些安全性的问题没有解决。
但是Tomcat服务器有众多大软件公司的支持,而且服务器的性能稳定,其发展前景很好。
2.1.2MySQL开源数据库的开发
MySQL是最受欢迎的开源SQL数据库管理系统,它由MySQLAB开发、发布和支持。
MySQLAB是一家基于MySQL开发人员的商业公司,它是一家使用了一种成功的商业模式来结合开源价值和方法论的第二代开源公司。
MYSQL是MySQLAB的注册商标。
它的主要特点和优势主要有以下几个:
MySQL是一个快速、多线程、多用户和健壮的SQL数据库服务器。
MySQL服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass-deployed)的软件中去。
MySQL是一个关系数据库管理系统。
它将数据存放在独立的表格中,以增加存取的速度和灵活性。
“MySQL”中的SQL代表“StructuredQueryLanguage”
(结构化查询语言)。
SQL是用于访问数据库的最通用的标准语言,它是由
ANSI/ISO定义的SQL标准。
MySQL是开源的。
开源意味着任何人都可以使用和修改该软件,任何人都可以从Internet上下载和使用MySQL而不需要支付任何费用。
2.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结构的三层体系结构图如图2-1所示。
图2-1 B/S三层体系结构
在B/S体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。
而其余如数据请求、加工、结果返回以及动态网页生成、对数据库的访问和应用程序的执行等工作全部由WebServer完成。
随着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模式下,集成了解决企事业单位各种问题的服务,而非零散的单一功能的多系统模式,因而它能提供更高的工作效率。
2.3开发工具和开发技术选择
系统开发平台:
MyEclipse2016数据库管理系统软件:
MySQL5.7
运行平台:
Windows7/Windows10
Java开发包:
JDK9.0以上
Web服务器:
Tomcat9.0
本系统采用的MVC架构模式开发技术的具体技术:
AJAX框架:
使用ExtJS技术开发显示层:
使用JSP技术开发
数据访问层:
使用DAO模式开发持久层:
使用Hibernate框架开发
第三章系统功能和流程分析
3.1系统功能模块设计
系统功能结构层次图主要是介绍系统功能的大体层次结构,使读者能够对系统功能有一个更加直观的把握。
系统的软件结构如图3-1所示。
图3-1客户管理系统功能能模块图
3.2整体分析
系统整体主要流程图,系统由登录页面开始,首先实现身份的识别,若和数
据库中的数据匹配,则实现登录,根据系统的权限设置,允许登录者对系统进行权限内操作。
进入管理员界面后,系统包括了营销管理、服务管理、客户管理、库存管理和邮件管理等功能模块。
系统整体流程示意图如图3-2所示。
图3-2系统整体主流程示意图
3.3数据流分析
数据流图(DFD)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。
在数据流图中没有任何的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过程。
将信息处理功能和彼此之间的联系自顶向
下,逐层分解,从逻辑上精确地描述系统应具有的数据加工功能、数据输入、数据输出、数据存储及数据来源和去向(外部实体)等项目。
图3-3系统数据流图
3.4系统E-R图
3.4.1系统总体E-R图
描述各个实体之间的相互关系,例如多个管理员都可以管理客户信息,同样多个客户信息也可以被多个管理员管理,1个管理员可以管理多条服务信息,
具体描述如图3-4所示。
图3-4系统总体E-R图
3.4.2系统管理员实体图
管理员信息包括了管理员密码和用户名以及编号,方便管理员登录和操作设置。
管理员拥有最高权限。
系统管理员实体图如图3-5所示。
密码
用户名
管理员信息
编号
图3-5系统管理员实体图
3.4.3客户信息实体图
为了对客户的信息进行有效地管理,用户需要清楚客户的名称、状态、等级、地区以及客户经理。
客户信息实体图如图3-6所示。
状态
客户编号
客户等级
客户信息
客户名称
客户经理
地区
图3-6客户信息实体图
3.5数据库设计
根据需求分析以及系统功能的需要,系统信息数据存放在MySQL数据表中。
下面给出重要数据表的简单描述。
1.customer(客户信息表)
该表存储了客户的基本信息,主要用于客户信息记录。
字段属性描述如表
3-1所示。
表3-1
客户信息表
字段名
字段类型
字段长度
是否主键
描述
cust_no
Int
100
是
编号
cust_name
Varchar
100
否
cust_region
Varchar
100
否
cust_manager_id
Varchar
100
否
cust_manager_name
Varchar
100
否
cust_level
Varchar
100
否
cust_level_label
Varchar
100
否
cust_satisfy
Varchar
100
否
cust_credit
Varchar
100
否
cust_addr
Varchar
100
否
cust_zip
Varchar
100
否
cust_tel
Varchar
100
否
cust_fax
Varchar
100
否
cust_website
Varchar
100
否
cust_licence_no
Varchar
100
否
cust_chieftain
Varchar
100
否
cust_bankroll
Varchar
100
否
cust_turnover
Varchar
100
否
cust_bank
Varchar
100
否
cust_bank_account
Varchar
100
否
cust_local_tax_no
Varchar
100
否
cust_national_tax_no
Varchar
100
否
5.sys_user(用户信息表)
该表存储了用户信息的基本信息,主要是用户信息的记录,该表的字段属性如表3-2所示。
表3-2用户信息表
字段名
字段类型
字段长度
是否主键
描述
usr_id
Varchar
100
是
编号
usr_name
Varchar
100
否
usr_password
Varchar
100
否
usr_role_id
Varchar
100
否
usr_flag
Varchar
100
否
第四章系统实现
4.1数据库连接
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
本系统使用Hibernate实现数据库的连接,体现了一定的优越性。
4.2用户登录管理
用户登录需要验证用户的用户名和密码,从而保证用户可见和可使用的资源。
管理员和其他用户的登录界面是一样的,单击“登录”按钮后的调用相应函数,它根据用户名和密码,以及用户种类将界面重定向到各类用户的主界面上,登录界面调用了Person和Company类的Login()函数判断用户是否已经登录。
系
图4-1登录界面图
4.4客户管理
客户管理系统主要实现的功能对客户信息、营销信息、服务信息、库存信息、报表信息、邮件信息进行管理。
其中客户管理,具体的操作是进行资料的新建、查询等操作。
客户管理功能界面图如图4-2所示。
其中新建客户信息,包括了客户编号、客户名称、客户地区等详细信息。
新建客户功能界面示意图如图5-10所示。
4.6统计报表
请浏览后下载,资料供参考,期待您的好评与关注!
客户管理系统主要实现的功能对客户信息、营销信息、服务信息、库存信息、报表信息、邮件信息进行管理。
其中统计报表,具体的操作是进行资料的新建、查询等操作。
统计报表功能界面图如图5-12所示。
图5-12统计报表示意图
图4-2客户管理图
4.9系统数据管理
MySQL数据库的最大特点就是提供了很多便于直接使用的操作函数,可以轻松的将复杂的数据库操作由清晰的函数实现。
在系统数据管理这个模块,主要实现了数据备份和数据恢复(即数据库导入)。
第四章系统测试与难点分析
4.1系统运行环境的搭建
本系统的开发和测试均在windows操作系统平台下进行的,使用AMP集成软件包搭建运行环境
Tomcat是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。
为了方便理解,可以这样认为,当在一台机器上配置好Apache服务器,可利用它响应对HTML页面的访问请求。
实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你运行tomcat时,它实际上作为一个与Apache独立的进程单独运行的。
Apache,一种开放源码的HTTP服务器,可以在大多数计算机操作系统中运行,由于其跨平台和安全性而被广泛使用,是最流行的Web服务器端软件之一,被广范应用于前台。
它快速、可靠并且可通过简单的API扩展,Perl/Python等解
请浏览后下载,资料供参考,期待您的好评与关注!
释器可被编译到服务器中。
但是Apache只支持静态网页,如果要在Apache
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中国 石油大学 数据库 课程设计 联系人 客户关系 管理 系统