目录
随着社会经济的发展和人民生活水平的提高,银行成为了人们日常生活中不可或缺的一部分。传统的银行业务管理方式已经逐渐无法满足人们对银行服务高效、便捷的需求。因此,银行需要引入信息化技术来改善业务管理和客户服务。
在传统的银行业务管理方式中,往往采用手工操作或简单的电子表格等工具进行管理。这种方式存在信息孤岛、业务流程不规范和数据管理效率低下等问题。不同业务部门之间的信息无法实现共享和互通,导致信息孤岛和信息冗余。由于缺乏标准化的业务管理流程,业务操作容易出现错误和漏洞,增加了银行的风险和成本。同时,数据存储分散、管理混乱,查询和统计数据的效率较低,影响了业务决策的效果。
为了解决这些问题,银行储蓄业务管理系统应运而生。该系统通过建立统一的数据管理平台,实现了资金账户管理、存款业务管理、贷款业务管理、资金运营管理、等级管理等功能。通过自动化和规范化的业务流程,可以提高工作效率和准确性。数据共享和业务流程优化可以降低银行的运营成本和管理成本。同时,增强客户信息管理和风险管理可以提升银行的服务质量和客户满意度。此外,内部控制和风险管理也能加强银行的合规管理和风险防范能力。
该系统的用户分类:
客户:注册,登录,修改密码,修改基本信息,开户,存取款,贷款,销户;
工作员:注册,登录,个人服务信息查询,冻结账户管理,办理开户,办理销户,办理贷款。
超管:注册,登录,工作员管理(信息查看修改维护,入职审批),贷款产品管理(增加产品,修改产品等),等级管理(等级信息查看,以及设置相关的额度)
银行储蓄业务管理系统是银行业务运作的关键系统,旨在提供全面的业务管理和客户服务解决方案。其主要业务需求包括客户信息管理、账户管理、交易管理、等级管理与优惠。
首先,系统应能够记录客户的基本信息,并提供快速查询和修改功能,以便银行工作人员能够更好地了解客户需求,提供个性化的服务。
其次,系统支持各类储蓄账户的开户、销户、修改账户信息等操作,并实时更新账户交易信息,以满足客户不同的金融需求。
交易管理方面,系统记录客户的存款、取款、转账等各种交易信息,并确保账户信息的准确性和及时性。
此外,系统支持等级管理,包括等级信息录入、查询和修改,并根据等级提供相应的优惠服务,如贷款利率优惠、费用减免、存款利息的提升等。通过这些功能的整合和优化,银行可以提高业务管理效率,提升客户服务水平,进而增强竞争力,实现可持续发展。
- 客户信息管理:记录客户的个人基本信息,包括姓名、身份证号、联系方式等,以便银行工作人员进行管理和查询。账户管理:支持各类储蓄账户的开户、销户、修改账户信息等操作,包括定期存款账户、活期存款账户等。
- 交易管理:记录客户的存款、取款、转账等各种交易信息,并实时更新账户余额,确保账户信息的准确性和及时性。
- 客户等级管理:客户等级管理,包括客户级别信息录入、查询、修改,根据客户级别等级提供相应的优惠服务,如贷款利率优惠、费用减免等。
- 交易处理:处理客户的各类交易请求,包括存款、取款、转账等,提高交易效率,减少错误发生的可能性。
- 系统设置与管理:管理员分为不同的级别,拥有不同的权限,例如一部分管理员(工作员),可以办理开户销户,办理贷款,冻结账户解冻等,另一类管理员(超管)可以对系统进行设置和管理,包括入职申请审批,贷款产品管理,工作员管理等,并设置其操作权限。
- 密码修改:该系统使用者可以对自己的密码进行修改,确保账户安全。
图 2.1.1系统功能模块图
图 2.2.1E-R图
客户信息表,包括身份证号、姓名、性别、电话号码、密码、等级、创建日期。具体如下表 2.2.1。
表 2.2.1客户信息表
字段名 |
数据类型 |
主键 |
描述 |
cid |
Int |
是 |
身份证号 |
Cname Csex Ctelnnumber Cpassword Clevel createdate |
Char Varchar Char Char Smallint date |
否 否 否 否 否 否 |
姓名 性别 电话号码 密码 等级 注册日期 |
等级制度表,包括级别、贷款利率优惠率、单次取款上限、存款利率增加率。等级由资产换算,万,十万,百万,千万,亿。具体如下表 2.2.2。
表 2.2.2等级制度表
字段名 |
数据类型 |
主键 |
描述 |
Leveltype |
Int |
是 |
等级 |
Loanrate Takelimit despositrate |
Decimal Int decimal |
否 否 否 |
贷款优惠率 取款额度存款利率提升率 |
管理员信息表,包含账号、密码、姓名、类型、状态、地址。具体如下表 2.2.3。
表 2.2.3管理员信息表
字段名 |
数据类型 |
主键 |
描述 |
mnumber mpassword mname mtype mstatus madress |
char varchar varchar varchar varchar varchar |
是 否 否 否 否 否 |
账号 密码 姓名 种类 状态 地址 |
贷款产品表,包含产品名、贷款利率、贷款金额、状态、增率规则。具体如下表 2.2.4。
表 2.2.4贷款产品表
字段名 |
数据类型 |
主键 |
描述 |
pname prate pnum pstatus rule |
varchar deceimal int varchar decimal(4,3) |
是 否 否 否 否 |
产品名称 基础利率 金额 状态 增率规则 |
服务信息表,包含管理员账号、身份证号、服务时间、服务记录。具体如下表 2.2.5。
表 2.2.5服务信息表
字段名 |
数据类型 |
主键 |
描述 |
mnumber anumber stime srecord |
char char timestamp varchar |
是 是 是 否 |
工作员账号 服务账号 服务时间 服务信息记录 |
账户表,包含卡号、身份证号、密码、余额、账户类型、开户时间、账户状态。具体如下表 2.2.6。
表 2.2.6账户表
字段名 |
数据类型 |
主键 |
描述 |
anumber cid apassword balance atype createdate astatus |
char char varchar decimal varchar date varchar |
是 否 否 否 否 否 否 |
卡号 身份证号 密码 余额 类型 开户日期 状态 |
交易信息表,包含交易编号、身份证号、卡号、时间、金额、类型、交易后余额、交易方。具体如下表 2.2.7。
表 2.2.7交易信息表
字段名 |
数据类型 |
主键 |
描述 |
tnumer cid anumber ttime num type tbalance traner |
int char char timestamp decimal varchar decimal varchar |
是 否 否 否 否 否 否 否 |
交易编号 身份证号 卡号 交易时间 交易金额 交易类型 交易后余额 交易对方 |
借贷表,包含卡号、贷款产品名、贷款开始时间、期限(月)、状态、贷款金额。具体如下表 2.2.8。
表 2.2.8借贷表
字段名 |
数据类型 |
主键 |
描述 |
anumber pname begintime timelimit lstatus lnum |
char varchar date int varchar decimal |
是 是 否 否 否 否 |
卡号 贷款产品名称 办理时间 还贷截止时间 状态 金额 |
还贷表,包含卡号、贷款产品名、还贷日期、状态、还款数额。该表存放的是若干条还款记录,通过更改状态开始还款和逾期等。具体如下表 2.2.9。
表 2.2.9还贷表
字段名 |
数据类型 |
主键 |
描述 |
anumber pname rtime rnum rstatus |
char varchar date decimal varchar |
是 是 是 否 否 |
卡号 贷款产品名称 还贷日期 应还金额 状态 |
存储位置默认放到C盘,存储路径如图 2.2.2
图 2.2.2数据库储路径
- 各个表主码在建表时定义为主码,自动建立了索引,所以无需再建立
- 为交易表的交易时间创建索引(Index_tran_time)
- 为交易信息表的交易类型创建辅助索引(Index_tran_type)
- 为管理员(工作员)的状态建立索引(index_man_status)
-
- 数据库视图设计
- 客户信息管理
- 数据库视图设计
-
- 客户基本信息视图cusinfo(cid,cname,csex,ctelnumber,clevel,createdate)
- 客户持有账户视图(cus_accounts)
-
-
- 贷款管理
- 正常贷款产品的视图loanproducts_on
- 客户逾期贷款视图repay_late(cid,anumber,rtime,rstatus)
- 客户还清贷款视图repay_payoff
- 客户持有的可贷款(信用卡,以及账号状态正常)的账户视图loan_able_account(cid,anumber)
- 客户持有账户的贷款情况的视图(cus_loans_view)
- 工作员管理
-
-
-
-
- 工作员服务信息视图service_info(mnumber,cname,anumber, srecord,stime)
- 离职,休假,在职,入职申请中的员工视图员工视图(man_out,man_res,man_on,man_apply)
- 工作员的账号,姓名的视图(不包含超管)mnumber_name(mnuber,mname)
-
为了方便计算客户总资产,资金流水等,定义了几个函数,具体定义如下表 2.2.10。
表 2.2.10函数
函数名 |
参数 |
功能 |
Search_exist |
无 |
查询用户自定义的账户号码是否已经存在 |
calculate_total_property |
(incid varchar(18)) |
计算客户总资产 |
Sum_out |
(months int, lastdate timestamp ,anumber char(9)) |
计算客户某一账户近期流出资金总额 |
Sum_in |
(months date,lastdate timestamp,anumber char(9)) |
计算客户某一账户近期流入资金总额 |
Calculate_level calculate_point |
(incid char(18)) (incid char(18)) |
计算客户等级的函数 评估某客户的积分用于计算客户贷款额度 |
积分评估说明:根据客户以往还款情况,以及总资产计算,资产每一万加8积分,还清一次积分加1,逾期一次积分减5(不够减则积分为0))
-
-
- 存储过程设计
- 登录注册管理
- 存储过程设计
-
- 客户注册signin(in incid char(18),in incname varchar(20),in incsex char(2),in inctelnumber char(11),in incpassword varchar(12),out result varchar(50))
- 管理员注册worker_sign(:mnum,:mname,:madr,:mpsd,@result)
- 登录 login(in incid,in incpassword,in t char(10),out result varchar(50))
-
-
- 客户信息管理
-
-
- 查询某用户的基本信息 search_info(in incid varchar(18))
-
-
- 账户管理
- 开户 Create_account(in inanumber char(9),in incid char(18),apassword varchar(12),in inbalance decimal(18,2),in atype varchar(8),out result varchar(50))
- 销户delete_account(in anumber char(9),in cid char(18),out result varchar(50))
- 结算存款利息calculate_interest()
- 销户delete_account(in anumber char(9),in cid char(18),out result varchar(50))
- 修改银行卡密码 changepsd(in inanumber char(9),in oldpsd varchar(12),in newpsd varchar(12),out result varchar(50))
- 交易管理
-
-
-
-
-
- 存款In_mon(in inaccount char(9),in num int)
- 取款 out_mon(in inaccount char(9),in num decimal(18,2),out result varchar(50))
- 转账 transer_mon(in inanumber char(9),in outanumber char(10),in num decimal(18,2),out result varchar(50))
- 增加交易信息addtransactioninfo(in inanumber char(9),in tp varchar,in num decimal(18,2),in intraner varchar(20),out result varchar(50));
-
-
-
-
-
- 贷款管理
-
-
-
-
-
- 添加贷款产品 Add_loanpro(in inpname varchar(50),in inprate decimal(4,3),in inpnum int,out result varchar(50))
- 还贷款repay(in inanumber char(10),in inpname varchar(50),in indate date,out result varchar(50))
- 冻结逾期数额过大的账户freeeze_account()
- 根据时间跟新贷款状态,将超时未还的贷款状态设置为逾期search_overdue()
-
-
-
-
- 销户时删除相应的交易记录before行级(delete_case_tran_record)
- 对账户表的余额进行更改时更新用户的登记after行级(update_level)
- 当某账户贷款后根据还款月数和每期应还金额生成n条相应的还款记录after行级(create_repay_record)
- 当还款时判断该贷款是否已经还完,并做相关操作after行级(judge_payoff)
-
-
-
- 每天凌晨更新贷款记录表,将超时未还清的repayment的记录状态设置为“逾期”;
- 每个月根据存款利息跟新余额
-
对银行储蓄业务系统的开发采用的操作系统为windows11,数据库管理系统为mysql以及采用navicat实现数据库的可视化,系统界面的开发采用QT通过高级语言为C++开发,通过ODBC连接QT和mysql。具体配置表格 3.1.1。
表格 3.1.1开发工具和版本说明
名称 |
版本 |
操作系统 数据库管理系统mysql 数据库可视化工具navicat 可视化界面开发工具QT 连接接口ODBC |
Windows11 Ver 8.0.35 for Win64 on x86_64 Navicat Premium 16 Qt 6.5.3 MySQL ODBC 8.4 ANSI Driver |
在qt中通过ODBC连接本地的mysql数据库连接的代码段如下图 3.2.1。
图 3.2.1qt连接mysql代码演示
通过QsqlQuery编写和执行sql语句实现对数据库的增删改查,函数调用以及存储过程调用等等操作。具体代码示例如下在qt中通过ODBC连接本地的mysql数据库连接的代码段如下图 3.2.1。
图 3.2.1qt连接mysql代码演示图 3.2.2。
图 3.2.2qt中执行sql语句操作mysql代码演示
登录界面如下图 3.3.1。账号分位两种,一种是管理员(员工和超管统称为管理员)10位,另外一种是客户账号(身份证号)18位,登录时qt调用login(…)存储过程。管理员登录需要选中下方的圆形按钮,以此登录后打开不同的界面。员工和超管的账号最后一位用x区分最后一位是x的是超管,否则是普通员工。
图 3.3.1登录界面
注册通过调用存储过程signin实现。客户注册的账号为身份证号,管理员的注册账号自定义。客户注册界面如图 3.3.2,管理员员工注册界面如图 3.3.3。
图 3.3.2客户注册
图 3.3.3管理员注册
登录时,客户,工作员,超管都是此界面的子窗口通过登录逻辑和登录/注册按钮实现打开不同的界面。主界面如图 3.4.1。
图 3.4.1主界面