银行客户管理系统.docx
《银行客户管理系统.docx》由会员分享,可在线阅读,更多相关《银行客户管理系统.docx(16页珍藏版)》请在冰豆网上搜索。
银行客户管理系统
摘要
银行业务流程中的客户关系管理CRM(CustomerRelationshipManagement)是利用计算机和网络来实现的对客户管理的信息系统,它简化了销售、客户服务和技术支持等业务的流程,显著地减少了管理方的工作量。
本文通过对现代银行实际的客户管理情况进行调研,作了CRM系统的需求分析;再采用MySQL数据库和MyEclipse8.0作为开发工具,开发了一个基于MVC框架的B/S模式的客户管理系统,其中包括账户管理、客户信息管理、客户业务管理和客户信息查询等功能模块;最后对系统进行了测试和性能分析。
整个系统的特点是操作简单、界面友好、灵活实用、安全可靠。
关键字:
CRM,B/S,客户,数据库,管理,MVC
第1章绪论
1.1论文的背景及意义
市场经济的发展过程也是企业营销理念不断变革,深化发展的过程。
从西方市场经济发展的历程来看,企业的营销理念经历了,生产观念、产品观念、推销观念、营销观念,重视市场以市场为中心成为前一时期企业经营理念的经典。
但随着科学技术与社会经济的发展,产品日益丰富,市场格局发生了巨大变化。
市场的性质由卖方市场迅速向买方市场转化,市场竞争急剧升级,日趋激烈、残酷。
无数事实告诉人们:
自然界中适者生存的定律在市场中已经成为企业经营的真谛!
无数企业为了适应适者生存的定律,不得不进行营销观念和营销方式的变革。
旧的市场营销的理念正在逐步推出市场,取而代之是新的客户关系管理的营销理念。
一个以客户为中心的营销理念正以迅雷不及掩耳之势向市场的各个领域伸展。
以客户为中心成为目前市场营销的新思想、新潮流,成为企业追逐的新星。
可见以客户为中心对企业经营有着重大的意义。
随着计算机技术飞速发展,信息技术全面地渗透到人类社会的各个方面,信息化成为世界和社会发展的大趋势。
企业的管理从人工到自动化、智能化和高效性。
计算机在企业管理中应用的普及,利用计算机实现现代企业客户的管理也势在必行。
客户是企业的生存之本,客户信息的资料对企业来说至关重要。
为了适应现代信息管理,节省人力、物力和财力,在此次研究,针对银行客户管理中存在的客户资源利用率低等问题,开发了这个银行客户管理系统。
通过这样的系统,可以做到信息的规范管理、科学的统计和快速的查找,充分利用计算机的功能实现对客户的管理的自动化控制从而减少管理方面的工作量。
1.2开发方法的选择
增量模型:
增量模型也叫渐增模型,如下图所示。
是用增量模型开发软件的时候,吧软件产品作为一系列的增量构建来设计,编码,继承和测试。
每个构建有多个相互作用的模块构成,并能完成特定的功能。
使用增量模型的时,第一个增量往往实现软件的基本需求,提供核心的功能。
例如,在银行客户管理系统中,第一个功能实现管理员与用户的开户,销户,登录,修改密码功能。
第二个增量实现存款,取款,转账,查看个人信息功能,第三个增量构建实现取款,存款,转账的相关信息的查询与打印。
第四个增量构建完成数据的备份与还原。
把软件分解成增量构件的时候,应该使构件的规模适中,规模过大或者过小都不好。
最佳分解方法因软件产品的特点和开发人员的习惯而异。
分解时唯一遵守的约束条件是,当把新构件集成到现有软件的时候,所形成的产品是可测试的。
增量模型的优点:
1,分批的想用户提交产品,真个软件产品被分解成许多个增量构件。
开发人员一个一个构件的向用户提交产品。
从第一个构件交付之日起,用户就能做一些有用的工作;2,逐步增加产品功能可以使用户有较充裕的时间学习和适应新产品,从而减少一个全新的产品可能给客户组织带来的冲击。
俗话说,onecoinhastwosides.当然,增量模型也肯定优缺点。
在每个新的增量构件集成到现有的软件体系中来的时候,必须不破坏现有的已经开发出来的产品。
此外必须把软件的体系结构设计的便于按这种方式进行扩充。
向现有的产品中加入新构件的过程必须简单,方便。
也就是说,软件体系结构是开放的。
但是从长远观点来看,具有开放结构的软件具有真正的优势,这样的软件的可维护性明显高于封闭的软件。
1.4开发目标
本系统是将现代化的计算机技术和传统银行业务工作相结合,按照银行的工作流程设计完成的.为了使系统在银行对客户管理中发挥更大的作用,实现工作过程的计算机化,提高工作效率和工作质量,现提出如下的系统开发目标:
1、系统应具有实用性、可靠性和适用性,同时注意到先进性。
2、因为该系统涉及到客户信息的真实性,所以该系统要具有一定的保密性和权限控制。
3、窗口界面要多用按钮和快捷键,少用菜单,窗口的各个控键布局要合理、美观,尽量减少用户的操作。
4、能够显示客户信息,可以实现数据的录入、更新、删除、查询等功能。
5、注意数据的安全性,具有数据备份和恢复的功能.
1.5论文的主要研究的内容
本论文是以银行客户管理系统的开发为背景,论文主要在系统调查研究的基础上对系统进行了系统分析,分析了系统的可行性、明确用户需求;并对数据库进行设计,分析了该系统数据库的结构和数据库安全性措施;根据模块化原理,将系统分为了几大功能模块,并对各部分功能进行了分析:
采用结构化程序设计的思想,提出系统尤其是数据查询子系统的程序设计思路;然后,对本系统的测试和安装进行了分析。
全文共分为绪论、系统需求分析、系统总体分析与设计、系统各功能模块和具体实现、系统的性能分析、开发总结、致谢、参考文献。
1.6本人主要工作
在系统调查研究的基础上对系统进行了系统分析,分析了系统的可行性、明确用户需求;并对数据库进行设计,分析了该系统数据库的结构和数据库安全性。
对整个系统进行编码,测试,集成。
措施:
根据增量模型原理,饭前课后,一个一个构件的完成。
第2章系统的需求分析
2.1系统需求分析
2.1.1系统设计目标
(1)实用性
系统要具有良好的用户界面,便于掌握、操作和维护,尽量减少前台用户的操作环节和应用系统的复杂性,同时,在保证系统性能可以满足需求的前提下尽量使系统投资最省,保护本行现存的IT资产,尽量利用己有的企业信息系统方面的投资。
(2)安全性
系统应从软件、硬件等多方面考虑信息数据的安全性和可靠性,针对可能涉及金融机密或敏感信息,应能控制和区分用户的权限以防止越权使用数据信息,以防止潜在的黑客攻击等事件的发生。
(3)高效性
系统应具有较高的业务处理能力和容错性。
(4)可拓展性
系统要具有良好的可拓展性,能在系统实施后适应需求变化并能实现高效的开发。
2.1.2系统开发设计的思想
(1)系统应符合银行客户管理的规定,满足银行相关人员日常使用的需要,并达到操作过程的直观、方便、实用、安全等要求。
(2)系统采用模块化程序设计方法,即便于系统功能的各种组合和修改,又便于未参与开发的技术人员补充和维护。
(3)系统应具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改、备份等操作。
(4)尽量采用现有软硬件环境及先进的管理系统开发方案,从而达到充分利用现有资源,提高系统开发水平和应用效果的目的。
2.1.3开发和运行的环境
开发工具:
MyEclipse8.0,MySQL5.x。
运行环境:
Windowsxp,IE8.0。
2.2系统的具体功能
系统功能的分析是在开发的总体任务的基础上完成的。
本例中的银行客户管理系统需要的功能主要有:
(1)管理员管理:
管理员登陆、修改密码、注销、数据库备份与恢复、退出。
(2)账户的管理:
开户、销户、挂失、取消挂失。
(3)客户信息管理:
客户身份验证、客户信息查询、密码修改、注销。
(4)客户业务管理:
存款、取款、转账、查询余额、信息打印。
(5)客户基本查询:
客户基本信息查询、客户取款信息查询、客户存款信息查询、客户转账信息查询。
(6)帮助:
关于、帮助。
在系统功能分析的基础上,根据Delphi7程序编制的特点,得到下图所示的系统功能模块图。
图2.1银行客户管理系统功能模块图
2.3系统可行性分析
可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。
也就是说可行性研究的目的不是解决问题,而是确定问题是否值得去解决,研究在当前的具体条件下,开发新系统是否具备必要的资源和其它条件。
一般说来,应从经济可行性、技术可行性、运行可行性等方面分析系统可行性。
2.3.1技术可行性分析
技术可行性要考虑现有的技术条件是否能够顺利完成开发工作,软硬件配置是否满足开发的需求等。
本银行客户管理系统所选用的开发语言delphi7.0的界面灵活而友好,用户可以迅速的建立数据库;它支持客户机/服务器(C/S)结构,能与其它软件实现数据共享和数据交换;它具有面向对象编程的能力,它既支持交互环境,又支持编程环境,且具有向下兼容性,对数据的完整性和一致性进行控制,以保证只对有效的数据进行处理.它提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性.系统调试相对简单,当前的计算机硬件配置也完全能满足开发的需求,软件方面:
由于目前单机模式相对发展成熟,故软件的开发平台成熟可行。
因此系统在技术上是绝对可行的。
2.3.2经济可行性
主要从对项目的经济上进行分析评价,一方面是支出的费用,包括设备购置费、管理和维护费用、人员工资和培训费等,另一个是取得的收益。
这是个小型的管理系统,从投入的人力,财力与物力来讲是非常之小的,从节省人力方面,可以让管理人员从繁与复杂的工作中解脱出来,做更多的工作,可以给银行客户管理提高一个层次。
所以在经济上是可行的。
2.3.3运行可行性
随着科学技术的进步和社会经济的发展,计算机在现实生活、工作中扮演越来越重要的角色,PC机价格不断的下降,银行从硬件到软件都投入了大量的人力、物力、财力,在业务上配置了一定数目的能够熟练操作计算机的人员,可以快速、方便地使用计算机进行日常工作。
由上可知,开发银行客户管理系统具有可行性。
第3章系统的总体分析与设计
3.1数据库设计
数据库在一个信息管理系统中占有相当重要的地位,数据库结构设计的好坏将直接对应用系统的效率,以及实现的效果产生影响。
合理的数据库结构设计可以提高数据的存储效率,保证数据的完整和一致。
设计数据库系统时应该首先充分了解用户各个方面的需求,包括现有的及将来可能增加的需求。
数据库设计一般包括如下几个步骤:
1、数据库需求分析;
2、数据库概念结构设计;
3、数据库逻辑结构设计。
3.1.1数据库需求分析
数据库需求分析是数据库结构设计的第一阶段。
这个阶段主要是收集基本数据、数据结构以及数据处理的流程,组成一份详细的数据字典,为以后的进一步设计打下基础。
针对本实例,通过对银行客户管理的内容和数据流程分析,设计的数据项和数据结构如下:
(1)管理员信息表。
包含的数据项有:
管理员号码、口令。
(2)客户基本信息表。
包含所有的用户信息,数据项有:
账号、密码、客户姓名、身份证、余额,状态、住址,开户时间。
(3)客户存款信息表。
包含的数据项有:
管理员号码、客户账号、存款时间、存款金额、余额。
(4)客户取款信息表。
包含的数据项有:
管理员号码、客户账号、取款时间、取款金额、余额。
(5)客户转账信息表。
包含的数据项有:
管理员号码、客户账号、客户转账账号、转账时间、转账金额、余额。
3.1.2数据库概念设计
在需求分析阶段数据库设计人员充分调查并描述了用户的应用需求,但这些应用需求还是现实世界的具体要求,下面,应该首先把他们抽象为信息世界的结构,才能更好的、更准确地用某一个DBMS实现用户的这些要求。
概念结构独立于数据库逻辑结构,也独立于支持数据库的DBMS。
它是现实世界与机器世界的中介,它一方面能够充分反映现实世界,包括实体和实体之间的联系,同时又易于向关系、网状、层次等各种数据模型转换。
它是现实世界的一个真实模型,易于理解,便于和不同属性计算机的用户交换意见,使用户易于参与,当现实世界需求改变时,概念结构又可以很容易的相应调整。
概念结构四类方法:
自顶向下:
即首先定义全局概念结构的框架,然后逐步细化。
自底向上:
即首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构。
逐步扩张:
首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步形成其它概念结构,直至总体概念结构。
混合策略:
即将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策略中设计的各局部概念结构。
本系统采用自底向上的方法:
1.将现实世界中一组具有某些共同特性和行为的对象可以抽象为一个实体。
在本系统中,可以把银行中所有的客户抽象为客户实体。
对象和实体之间是“ismemberof”的关系。
2.对象类型的组成成分可以抽象为实体的属性。
在本系统中,把客户账号、姓名、密码、账户余额等可以抽象为客户实体的属性。
组成成分与对象类型之间是“ispartof”的关系。
3.实际上实体与属性是想对应而言的,很难有截然划分的界限,同一事物,在一种应用环境作为“属性”,在另一种环境中就必须作为“实体”。
在本系统中,银行里的账户是“客户”实体中的属性.表明该账户属于哪个客户,但在另一种环境中,由于需要考虑账号、账户余额等,这时,它们就需要作为实体了。
在系统的数据库设计中,先要对系统分析得到的数据字典中的数据存储进行分析,才能够得出系统的关系模式。
而E-R图就是用来进行数据结构分析的。
E-R设计方法是一种通过E-R图来描述现实世界信息结构的DB设计方法。
E-R图包括:
实体、属性和联系三种基本因素。
习惯上用“方框”表示实体,用“椭圆框”表示实体的属性,用“菱形框”表示联系,如图3.1所示:
图3.1E-R图的表示
E-R图的画法是:
把有联系的实体(方框)通过联系(菱形框)连接起来,注明联系方式,再把实体的属性(椭圆框)连到相应实体上。
首先设计能够满足用户需求的各种实体,以及它们之间的关系,为以后的逻辑结构设计打下基础。
这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。
根据上面的设计规划本实例的实体有:
管理员实体、客户实体、账户实体。
实体和实体之间的关系E-R图如图3.2所示:
图3.2系统实体E-R图
管理员信息实体E-R图如图3.3所示:
图3.3管理员信息实体的E-R图
账户信息实体E-R图如图3.4所示:
图3.4账户信息实体E-R图
客户信息实体的E-R图如图3.5所示:
图3.5客户信息实体E-R图
3.1.3数据库逻辑设计
在上面的实体以及实体之间的关系基础上,形成数据库中的表格以及表格之间的关系。
银行客户管理系统数据库中的各个表格的设计结果如下面的几个表格所示。
每个表格表示在数据库中的一个表。
表3-1BMS管理系统的用户口令表
列名
数据类型
长度
可否为空
说明
BMS_ID
CHAR
20
NOTNULL
用户名(主键)
BMS_PSWD
CHAR
20
NOTNULL
口令
表3-2CLIENT客户基本信息表
列名
数据类型
长度
可否为空
说明
CLIENT_ID
CHAR
20
NOTNULL
账号(主键)
CLIENT_NAME
CHAR
20
NOTNULL
客户姓名
CLIENT_PSWD
CHAR
6
NOTNULL
客户密码
CLIENT_IDENTITY
CHAR
18
NOTNULL
客户身份证
CLIENT_ALL
MONEY
8
NOTNULL
余额
CLIENT_STATUS
CHAR
4
NUTNULL
现在状态
CLIENT_ADDRESS
CHAR
40
NULL
客户住址
CLIENT_DATE
DATETIME
8
NOTNULL
开户时间
表3-3BANKIN银行客户存款信息表
列名
数据类型
长度
可否为空
说明
BMS_ID
CHAR
20
NOTNULL
操作员ID号
CLIENT_ID
CHAR
20
NOTNULL
客户账号
BANKIN_TIME
DATETIME
8
NOTNULL
存款时间
BANKIN_MONEY
MONEY
8
NOTNULL
存款金额
CLIENT_ALL
MONEY
8
NOTNULL
余额
表3-4BANKOUT银行客户取款信息表
列名
数据类型
长度
可否为空
说明
BMS_ID
CHAR
20
NOTNULL
操作员ID号
CLIENT_ID
CHAR
20
NOTNULL
客户账号
BANKOUT_TIME
DATETIME
8
NOTNULL
取款时间
BANKOUT_MONEY
MONEY
8
NOTNULL
取款金额
CLIENT_ALL
MONEY
8
NOTNULL
余额
表3-5银行客户转账信息表
列名
数据类型
长度
可否为空
说明
BMS_ID
CHAR
20
NOTNULL
操作员ID号
CLIENT_ID
CHAR
20
NOTNULL
客户账号
TRANSFER_ID
CHAR
20
NOTNULL
客户转账账号
BANKTRANSFER_TIME
DATETIME
8
NOTNULL
转账时间
BANKTRANSFER_MONEY
MONEY
8
NOTNULL
转账金额
CLIENT_ALL
MONEY
8
NOTNULL
余额
3.2功能模块设计
模块化就是把程序分为若干个模块,每个模块完成一个子功能,把这些模块集中起来组成一个整体,可以完成指定的功能并满足问题的要求。
开发具有独立功能而且和其他模块之间没有相互作用的模块,就可以做到模块独立。
模块的独立程度可以由两个定性的标准来度量,这两个标准分别称为内聚和耦合。
耦合衡量不同模块彼此间相互依赖的紧密程度;内聚衡量一个模块内部各个元素彼此结合的紧密程度。
设计时,应力求提高模块的内聚程度,降低模块间的耦合程度。
银行客户管理系统此标准可分为管理员登陆、输入数据、查询数据、系统维护等四个功能子模块。
后三个模块下各有相应的子模块
3.2.1系统输入子模块设计
银行客户信息量很大,不定期都会有新的数据产生,同时有报废的数据淘汰,根据这些要求,数据输入子模块应具有插入、删除等功能。
本系统主要输入子模块如下:
1.客户开户
完成对客户信息的添加。
3.2.2系统查询子模块设计
当银行客户管理员需要查询有关客户信息时,就可以进入查询模块,此模块具备单一查询和组合查询功能,其基本功能如下:
1.客户基本信息查询
按账号或客户身份证号查询客户基本信息。
2.客户余额查询
按账号查询余额
3.客户取款信息查询
按账号查询客户取款信息。
4.客户存款信息查询
按账号查询客户存款信息。
5.客户转账信息查询
按账号查询客户转账信息。
3.2.3系统维护子模块设计
在系统维护子模块里,银行客户管理员可以实现对客户信息的维护,主要功能如下:
1.管理员密码修改
跟据管理员编号修改管理员密码。
2.管理员注销
退出当前管理员操作。
3.数据库备份
备份数据库中客户信息。
4.数据库恢复
恢复已备份的数据库。
5.销户
根据账号或客户身份证号删除该客户所有信息。
6.挂失
根据账号或客户身份证号对账号进行挂失。
7.解挂
根据账号或客户身份证号对账号进行解挂。
8.客户存款
根据要求修改账户余额信息。
9.客户取款
根据要求修改账户余额信息。
10.客户转账
根据要求修改账户余额信息。
11.客户密码修改
根据客户账号修改客户账号密码。
第4章系统的性能分析
4.1系统的安全性和可靠性
系统安全和系统可靠性是系统正常运行的先决条件,是实现所有应用要求的基础。
事实证明,尽管使用需求少的非常合理、非常全面、非常先进,而系统没有合适的可靠性和安全性,仍然是一个无用的系统,或是一个无信誉的系统。
根据银行服务对象、运行情况及资源约束,应具有安全高效的通信机制,身份认证,权限检查,以解决客户信息系统的安全性、保密性问题,防止信息泄密和对保密信息的非法侵入,这里的系统安全应包括计算机硬件、操作系统及系统信息等方面的安全问题;而系统可靠性应包括系统设备的可靠性、系统软件的可靠性、系统应用软件的可靠性及系统数据的可靠性等方面。
4.1.1系统的安全性
(一)安全系统的需求定义
(1)系统提供用户登录功能(进行用户身份验证),并且用户名和用户编号是唯一的。
用户在登录界面上填写任意的用户名和用户密码(中文或英文);系统提供登录过程中的出错处理机制和操作成功处理机制。
(2)系统对非法用户具有替告功能,例如:
单用户表中不存在的用户企图登录系统,系统应该要求用户输入合法用户名和用户密码,并警告用户的操作。
(二)系统安全
(1)计算机硬件安全要求
为了保障数据信息的安全性,应考虑防电磁辐射,重要的服务器硬件设备的电磁兼容性应满足国家相关标准的要求。
(2)操作系统安全要求
操作系统的安全稳定是整个系统的核心,达到C2级。
操作系统应具有防病毒措施。
(3)信息安全要求
操作系统的安全水平应在不影响系统功能的情况下尽可能地考虑信息媒体的安全性。
首先内部人员对数据的访问操作要进行控制,对用户、信息及操作进行分类授权,防止越权操作,避免数据遭到破坏。
[10]
4.1.2系统的可靠性
(一)硬件可靠性
硬件的可靠性分为网络及网络设备可靠性和服务器硬件可靠性两部分。
网络及网络设备的可靠性由公用网和局域网及其设备组成,公用网及其设备的可靠性由大环境决定,我们能左右的成分很少;局域网及其设备的可靠性是整个系统的重要指标之一,在设备选择时应考虑到所选设备的可靠性及其售后服务质量。
服务器的可靠性是整个系统最基本的可靠性指标,对服务器的选择应充分考虑其可靠性和售后服务质量,更重要的是服务器应该有冗余配置或备份设备,以保障数据库服务器可每天24小时运行,其平均故障恢复时间不应大于1小时。
另外,主机房供电必须经过UPS,UPS必须能够保证系统在市电断电后持续30分钟以上,服务器等关键设备采用主备工作方式或有备份设备和手段。
(二)系统软件可靠性
为了保障系统软件的可靠性,考虑到本系统的规模和资金投入,数据库服务器的操作系统选用Windows2000SERVER,数据库管理系统选用Delphi7
(三)应用软件可靠性
应用软件的设计采用面向对象和模块化设计方法,以提高软件模块的独立性和可靠性,从而达到提高应用软件可靠性的目的。
在设计应用软件时,认真贯彻软件工程中有利于提高可靠性的原则和方法;对运行中可能发生的故障应能自动排解。
4.2系统的调试和测试
软件测试是保证软件质量的关键步骤,是对软件规格说明、设计和编码的最后复审。
(一)测试的目的
软件测试是保证系统质量的关键,就是在软件投入生产性运行之前,尽可能的发现该软件中出现的问题及运行错误,并进行修改。
软件工程的根本目标是开发出高质量的完全符合用户需要的软件,因此,通过测试发现错误并加以解决,这才是软件测试的根本目的。
软件测试在软件生命周期中横跨两个阶段。
通常在编写出每个模块之后就对它做必要的测试,即单元测试,此时,模块的编写者和测试者是同