Springboot银行客户管理系统 毕业设计-附源码250903

本论文主要论述了如何使用JAVA语言开发一个银行客户管理系统,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,springboot框架进行开发。在引言中,作者将论述银行客户管理系统的当前背景以及系统开发的目的,后续章节将严格按照软件开发流程,对系统进行各个阶段分析设计。

银行客户管理系统的主要使用者分为管理员和用户与客户经理,实现功能包括管理员:首页、用户管理、存款服务、信用卡信息、客服咨询、银行卡信息、支付结算、信用卡交易、信用卡还款、挂失业务、密码修改、信用卡限额修改用户首页、存款服务、信用卡信息、客服咨询、银行卡信息、支付结算、信用卡交易、信用卡还款、挂失业务、密码修改、信用卡限额修改等功能。由于本网站的功能模块设计比较全面,所以使得整个银行客户管理系统信息管理的过程得以实现。

本系统的使用可以实现银行客户管理系统管理的信息化,可以方便管理员进行更加方便快捷的管理。

关键词:银行客户管理系统;JAVA语言;MYSQL数据库;springboot框架

Abstract

   This paper mainly discusses how to use java language to develop a bank customer management system. This system will carry out the work of each stage in strict accordance with the software development process, using B / S architecture and springboot framework. In the introduction, the author will discuss the current background of bank customer management system and the purpose of system development. The subsequent chapters will analyze and design the system in each stage in strict accordance with the software development process.

The main users of the bank customer management system are divided into administrators, users and customer managers. The functions include administrators: home page, user management, deposit service, credit card information, customer service consultation, bank card information, payment and settlement, credit card transaction, credit card repayment, loss reporting business, password modification, credit card limit modification, and users; Home page, deposit service, credit card information, customer service consultation, bank card information, payment and settlement, credit card transaction, credit card repayment, loss reporting business, password modification, credit card limit modification and other functions. Because the functional module design of this website is relatively comprehensive, the information management process of the whole bank customer management system can be realized.

The use of this system can realize the informatization of bank customer management system management and facilitate the administrator to manage more conveniently and quickly.

Key words: bank customer management system; Java language; Mysql database; Springboot framework

目   录

1 绪论

1.1研究背景

1.2研究现状

1.3研究内容

2 系统关键技术

2.1 Spring Boot框架

2.2 JAVA技术

2.3 MYSQL数据库

2.4 B/S结构

3 系统分析

3.1 可行性分析

3.1.1 技术可行性

3.1.2经济可行性

3.1.3操作可行性

3.2 系统性能分析

3.3 系统功能分析

3.4系统流程分析

3.4.1登录流程

3.4.2注册流程

3.4.3添加信息流程

3.4.4删除信息流程

4 系统设计

4.1系统概要设计

4.2系统结构设计

4.3系统顺序图设计

4.3.1登录模块顺序图

4.3.2添加信息模块顺序图

4.4数据库设计

4.4.1数据库E-R图设计

4.4.2数据库表设计

第5章 系统详细设计

5.1用户功能模块

5.2管理员功能模块

6 系统测试

6.1 测试定义

6.2 测试目的

6.3测试方案

(1)模块测试

(2)集成测试:

(3)验收测试:

6.4系统分析

7 结论

参考文献

谢辞

绪论

1.1研究背景

 随着网络不断的普及发展,银行客户管理系统依靠网络技术的支持得到了快速的发展,首先要从用户的实际需求出发,通过了解用户的需求开发出具有针对性的银行客户关系管理功能,利用目前网络给用户带来的方便快捷这一特点对系统进行调整,设计的系统让用户的使用起来更加方便,本系统的主要目的就是给用户带来方便[1]同时随着电子商务的发展网上银行客户管理系统已经受到广大用户的关注

互联网发展至今,已经解决了很多我们解决不了的难题,使得我们工作更加便捷,提高了我们的工作效率。目前各行各业都在运用网络信息管理程序,不同的用户也都接触到信息管理,特别是在各大电商行业广泛的应运起来。通过对当前网络环境发展的分析与总结,开发银行客户管理系统可以改变以往的手工统计方式,改变传统线下银行客户关系管理的状态,由于用户的不断增多,使用传统的线下管理模式已经远远不能满足于用户需求了,而且越来越多的国有企业也在开通线上进行咨询等一系列信息,所以开发一个银行客户管理系统可以解决不利于线下咨询的问题,同时管理员可以利用网络对银行客户关系管理信息进行管理,设计的网站保证信息的完整安全,这样才能提高工作效率,保证系统安全正常的运行[2]

1.2研究现状

在国外他们的信息技术的发展是我国的许多倍,从1946年诞生在美国的世界上第一台计算机开始,国外的信息技术就一直在飞速地发展,一些计算机应用软件也纷纷出现,软件技术也一直在不断完善和更新[3]。软件行业早已遍布各个地方。

在国内,我国信息技术发展起步比较晚,后期慢慢的不断地进行优化和改革,才让我们的信息技术上升到新的阶段。在现在软件开发的技术经过大量研究和生活实践基本能够达到独立开发系统应用的水平,生活中的各个行业也把软件操作替换成传统的记录模式。软件行业正是现在比较热门的行业[4]

随着产品购买人数不断增加,所以网上银行客户管理系统的开发给用户带来了足够的便利,用户通过系统来满足生活中的需求,因此,由于信息的增加,信息处理系统也随之增加,通过网络来满足现代用户需求[5]。此次开发设计主要是实现银行客户管理系统,结合java技术以及MYSQL数据库进行设计,弥补目前在线银行客户关系管理网站中的不足,来开发出一款即方便又实用的银行客户管理系统,并且设计的程序具有界面整洁、功能强大等特性,从全局来说,银行客户管理系统的设计解决了信息零散,该系统实现,可以投入到真实环境中,这样不仅能解决以上提及的问题,让信息管理更准则。

1.3研究内容

银行客户管理系统的开发和设计根据用户的实际情况出发,对系统的需求进行了详细的分析,然后进行系统的整体设计,最后通过测试使得系统设计的更加完整,可以实现系统中所有的功能,在开始编写论文之前亲自到图书馆借阅springboot框架书籍,MYSQL数据库书籍等编程书籍,然后针对开发的银行客户管理系统,去网上查找了很多别人做好的系统,参照他们的设计结果,来对自己的系统进行更加详细的系统的设计,将系统中所有的功能结果一一列举出来,然后进行需求分析,最后对所有的功能模块进行编码,最后完成系统的整体测试,实现系统的正常运行[6]

这次编写的论文包含了6个部分的内容,具体内容如下:

第一部分绪论:文章主要从课题背景以及研究现状综合阐述了开发此系统的必要性。

第二部分相关技术:系统开发用到的各种技术都大致做出了简介。

第三部分系统分析:对系统的可行性分析以及对所有功能需求进行详细的分析,来查看该系统是否具有开发的可能。

第四部分系统设计:功能模块设计和数据库设计这两部分内容都有专门的表格和图片表示。

第五部分系统实现:进行系统主要功能模块的界面展示。

第六部分系统测试:测试系统的每一个功能是否能够正常运行,是否可以满足用户的需求。

2 系统关键技术

 2.1 Spring Boot框架

Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等等。Spring框架具有控制反转(IOC)特性,IOC旨在方便项目维护和测试,它提供了一种通过Java的反射机制对Java对象进行统一的配置和管理的方法。Spring框架利用容器管理对象的生命周期,容器可以通过扫描XML文件或类上特定Java注解来配置对象,开发者可以通过依赖查找或依赖注入来获得对象。Spring框架具有面向切面编程(AOP)框架,SpringAOP框架基于代理模式,同时运行时可配置;AOP框架主要针对模块之间的交叉关注点进行模块化。Spring框架的AOP框架仅提供基本的AOP特性,虽无法与AspectJ框架相比,但通过与AspectJ的集成,也可以满足基本需求。Spring框架下的事务管理、远程访问等功能均可以通过使用SpringAOP技术实现。Spring的事务管理框架为Java平台带来了一种抽象机制,使本地和全局事务以及嵌套事务能够与保存点一起工作,并且几乎可以在Java平台的任何环境中工作。

2.2 JAVA技术

JAVA语言是目前软件市场上应用最广泛的语言开发程序。可以在多种平台上运用的,兼容性比较强,适应市面上大多数操作系统,不会出现乱码的现像,其扩展性和维护性都更好,具有分析问题和解决问题的能力,是面向过程的程序设计方便我们编写的代码更强壮。

JAVA相对其它语言来说,比较简单,编译起来更方便一些,安全可靠性高。不完全统计,现在全世界大约有2000多万人在使用它,JAVA既可以镶嵌使用又可以独力的使用。JAVA大致可以分成两个部分,一种部分是JAVA负责的编译,另一种是JAVA负责的运行。JAVAC++语言很相像,但JAVA在编程时是一种以对象为导向的方式来进行编译的,使得编出来的软件可以单机使用,也可以在互联网上使用,检查出错更为方便。JAVA分布式、体系结构中立的特点也使得其存储更快,编议更简单。面向对象包括四个特点,一是封装,就是说在定义类的时候可以实现一定的功能和属性。二是抽象,属于类的一种,可以把一个具有共同属性的类封装在一个抽象里,便于简单编议。三是继承,顾名思义就是带有前者的特性。还有一个就是多态的特点,可以多种一起运用,表现了它可扩展性好[8]

2.3 MYSQL数据库

网站的开发必须配套相应数据库,数据库具有一定的组织结构,能够存放和管理数据信息,在以前数据库的功能仅仅是数据保存和管理操作,但是时代的变迁和发展,现在的数据库演变成了数据处理的方式,数据库从最开始的简单存放数据表格信息到现在的能够存放成千上万数据的大型数据库,期间还是经历了许多的改革。

本次开发的银行客户管理系统使用的数据库是MYSQL数据库,该数据库运行速度快,安全性能也很高,而且对使用的平台没有任何的限制,所以被广泛应运到系统的开发中。MySQL是一个开源和多线程的关系管理数据库系统,MySQL是开放源代码的数据库,具有跨平台性,虽然功能未必强大,导致很多人都了解这个数据库的基本应用,在数据库中,总共建立了10几个表,这里面每个表都是相对应的,都各自有各自的联系,数据库意义重大,如果没有数据库的链接,就没办法运行程序,这显然可以看见数据库与程序的重要性,是紧密相连接的[9]

2.4 B/S结构

B/S(浏览器/服务器)结构是目前主流的网络化的结构模式,它能够把系统核心功能集中在服务器上面,可以帮助系统开发人员简化操作,便于维护和使用。只需要用户在用户端安装360浏览器、谷歌浏览器、QQ浏览器等当前大众浏览器,在电脑里面安装sqlservermysql数据库等数据库[10]。安装好的浏览器与服务器端的数据库进行信息数据的交互。很多专门软件能够做到的事情,采用B/S结构模式也能实现,它能够结合Web浏览器技术,ActiveX技术以及多种脚本语言等技术。帮助程序开发者节约了不少开发成本。目前B/S结构成为程序开发主流结构,它最好的地方就是没有地点限制还不用专门安装软件,笔记本或者电脑能够上网就能访问系统。系统使用B/S进行开发在后期系统维护上面就会很省事,不用什么问题都在服务器上面操作,简单的用户端处理就解决部分问题,开发出来的程序跟用户交互性上面也会增强,还可以实时刷新浏览器进行程序局部的数据信息更新。

 

图2-1 B/S模式三层结构图

3 系统分析

3.1 可行性分析

在系统开发之初要进行系统可行分析,这样做的目的就是使用最小成本解决最大问题,一旦程序开发满足用户需要,带来的好处也是很多的。下面我们将从技术上、操作上、经济上等方面来考虑这个系统到底值不值得开发。

3.1.1 技术可行性

银行客户管理系统采用springboot框架JAVA编程语言和MYSQL数据库进行开发设计,作为计算机专业学生,在学校期间就接触到许多关于编程方面的知识,当然也包括各种编程软件,对他们的了解度也比较系统,所以技术开发上面还是有一定把握。

3.1.2经济可行性

我在设计该系统的时候主要是从节约成本出发,然后进行具体的系统的设计,在系统的设计过程中由于采用的所有工具以及技术支持全部都是免费的,因此不需要有任何的成本就可以进行该系统的设计。所用到的所有资源都是免费的,只要有网络就可以进行下载使用,不需要支付相应的费用,因此该项目在经济方面是完全可以实行的。

3.1.3操作可行性

本人自己就是学生,程序开发经验不足,在界面设计上面不会设计太复杂,要讲究简单好看,操作上要方便,不能让用户觉得不流畅。用户一旦进入操作界面,界面上就会有相应提示,跟着操作提示就可以找到对应的功能操作模块,对于用户来说免培训就能使用。

从上面几个部分的可行性分析得出,这次开发的银行客户管理系统在开发上面没有什么大问题,值得开发。

3.2 系统性能分析

1)系统响应效率:页面响应时问应该在3秒以内,最长不能超过4秒,并支持至少10000人同时在线所有系统。

2)界面简洁清晰:系统界面要求简单明了,容易操作,符合用户操作习惯。

3)储存性高:因为银行客户管理系统中有很多的信息需要存储,因此对于系统的存储量有很大的要求,需要有一个强大的数据库的支持才能确保所有的信息都能安全稳定的进行存储。

4)易学性:该系统在操作上必须简单好上手,没有很多复杂的操作,只需要简单的进行学习就能操作该系统。

5)稳定性需求:开发的银行客户管理系统要求运行稳定,运行过程中无界面不清楚、字体模糊等现象。

3.3 系统功能分析

银行客户管理系统主要包括大功能模块,即客户经理功能模块、管理员功能模块和用户功能模块

1)管理员模块:系统中的核心用户是管理员,管理员登录后,通过管理员功能来管理后台系统。主要功能有:首页、用户管理、存款服务、信用卡信息、客服咨询、银行卡信息、支付结算、信用卡交易、信用卡还款、挂失业务、密码修改、信用卡限额修改、系统管理等功能。管理员用例图如图3-1所示。

 

图3-1 管理员用例图

2)用户:首页、存款服务、信用卡信息、客服咨询、银行卡信息、支付结算、信用卡交易、信用卡还款、挂失业务、密码修改、信用卡限额修改等功能,用户如图3-2所示。

 

图3-2 用户用例图

3.4系统流程分析

3.4.1登录流程

登录模块主要满足管理员以及用户的权限登录,用户登录流程图如图3-4所示。

 

图3-4 登录流程图

3.4.2注册流程

未有账号的用户可进入注册界面进行注册操作,用户注册流程图如图3-5所示。

 

图3-5 注册流程图

3.4.3添加信息流程

用户在添加信息时,信息编号自动生成,系统会对添加的信息进行验证,验证通过则添加至数据库,添加信息成功,反之添加失败。添加信息流程如图3-6所示。

 

图3-6 添加信息流程图

3.4.4删除信息流程

用户可选择要删除的信息进行信息删除操作,在删除信息时系统提示是否确定删除信息,是则删除信息成功,系统数据库将信息进行删除。删除信息流程图如图3-7所示。

 

图3-7 删除信息流程图

4 系统设计

4.1系统概要设计

银行客户管理系统选择B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式。适合在互联网上进行操作,只要用户能连网,任何时间、任何地点都可以进行系统的操作使用。系统工作原理图如图4-1所示:

 

图4-1 系统工作原理图

4.2系统结构设计

整个系统是由多个功能模块组合而成的,要将所有的功能模块都一一列举出来,然后进行逐个的功能设计,使得每一个模块都有相对应的功能设计,然后进行系统整体的设计。

银行客户管理系统结构图如图4-2所示。

 

图4-2 系统功能结构图

4.3系统顺序图设计

4.3.1登录模块顺序图

登录模块主要满足了管理员以及用户的权限登录,登录模块顺序图如图4-3所示。

 

图4-3 登录顺序图

4.3.2添加信息模块顺序图

管理员以及用户登录后均可进行添加信息操作,添加信息模块顺序图如图4-4所示。

 

图4-4 添加信息顺序图

4.4数据库设计

一个好的数据库可以关系到程序开发的优劣,数据库设计离不开表结构的设计,还有表与表之间的联系,以及系统开发需要设计的数据表内容等信息。在进行数据库设计期间,要结合实际情况来对数据库进行针对性的开发设计[12]

4.4.1数据库E-R图设计

银行客户管理系统采用的是MYSQL数据库,数据存储快,因为银行客户管理系统,主要的就是对信息的管理,信息内容比较多,这就需要好好的设计一个好的数据库,分类要清楚,不能添加信息的时候,造成信息太过混乱,设计好的数据库首先就需要先把各个实体之间的关系表达明确,系统的E-R图如下图所示:

1用户信息实体图如图4-6所示:

 

     图4-6 用户信息实体图

2存款服务信息实体图如图4-7所示:

 

图4-7 存款服务信息实体图

4.4.2数据库表设计

将数据库概念设计的E-R图转换为关系数据库。在关系数据库中,数据关系由数据表组成,但是表的结构表现在表的字段上。

bank_card_information

字段名称

类型

长度

不是null

主键

字段说明

bank_card_information_id

int

11

主键

银行卡信息ID

user_name

int

11

用户名

bank_card_no

varchar

64

银行卡号

full_name

varchar

64

姓名

id

varchar

255

身份证

bank_card_balance

varchar

64

银行卡余额

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

credit_card_information

字段名称

类型

长度

不是null

主键

字段说明

credit_card_information_id

int

11

主键

信用卡信息ID

user_name

int

11

用户名

card_number_

varchar

64

信用卡号

full_name

varchar

64

姓名

id

varchar

255

身份证

quota

varchar

64

额度

limit_limit

varchar

64

限制额度

remaining_quota

varchar

64

剩余额度

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

credit_card_limit_modification

字段名称

类型

长度

不是null

主键

字段说明

credit_card_limit_modification_id

int

11

主键

信用卡限额修改ID

user_name

int

11

用户名

full_name

varchar

64

姓名

card_number_

varchar

64

信用卡号

quota

varchar

64

额度

limit_limit

varchar

64

限制额度

examine_state

varchar

16

审核状态

examine_reply

varchar

255

审核回复

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

credit_card_payment

字段名称

类型

长度

不是null

主键

字段说明

credit_card_payment_id

int

11

主键

信用卡还款ID

user_name

int

11

用户名

card_number_

varchar

64

信用卡号

full_name

varchar

64

姓名

repayment_date

date

0

还款日期

repayment_amount

varchar

64

还款金额

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

credit_card_transactions

字段名称

类型

长度

不是null

主键

字段说明

credit_card_transactions_id

int

11

主键

信用卡交易ID

user_name

int

11

用户名

card_number_

varchar

64

信用卡号

full_name

varchar

64

姓名

transaction_date

date

0

交易日期

transaction_amount

varchar

64

交易金额

transaction_reason

text

0

交易原因

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

customer_service_consultation

字段名称

类型

长度

不是null

主键

字段说明

customer_service_consultation_id

int

11

主键

客服咨询ID

user_name

int

11

用户名

type_of_consultation

varchar

64

咨询类型

consultation_content

text

0

咨询内容

staff_response

text

0

工作人员答复

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

deposit_service

字段名称

类型

长度

不是null

主键

字段说明

deposit_service_id

int

11

主键

存款服务ID

user_name

int

11

用户名

bank_card_no

varchar

64

银行卡号

full_name

varchar

64

姓名

deposit_date

date

0

存款日期

deposit_amount

varchar

64

存款金额

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

loss_reporting_business

字段名称

类型

长度

不是null

主键

字段说明

loss_reporting_business_id

int

11

主键

挂失业务ID

user_name

int

11

用户名

full_name

varchar

64

姓名

bank_card_type

varchar

64

银行卡类型

card_number

varchar

64

卡号

reasons_for_loss_reporting

varchar

64

挂失原因

date_of_loss_report

date

0

挂失日期

remarks

varchar

64

备注

examine_state

varchar

16

审核状态

examine_reply

varchar

255

审核回复

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

ordinary_users

字段名称

类型

长度

不是null

主键

字段说明

ordinary_users_id

int

11

主键

普通用户ID

user_name

varchar

64

用户名

full_name

varchar

64

姓名

gender

varchar

64

性别

bank_card_no

varchar

64

银行卡号

card_number_

varchar

64

信用卡号

id

varchar

255

身份证

examine_state

varchar

16

审核状态

recommend

int

11

智能推荐

user_id

int

11

用户ID

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

password_modification

字段名称

类型

长度

不是null

主键

字段说明

password_modification_id

int

11

主键

密码修改ID

user_name

int

11

用户名

full_name

varchar

64

姓名

bank_card_type

varchar

64

银行卡类型

card_number

varchar

64

卡号

original_password

varchar

64

原密码

new_password

varchar

64

新密码

confirm_new_password

varchar

64

确认新密码

examine_state

varchar

16

审核状态

examine_reply

varchar

255

审核回复

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

payment_settlement

字段名称

类型

长度

不是null

主键

字段说明

payment_settlement_id

int

11

主键

支付结算ID

user_name

int

11

用户名

bank_card_no

varchar

64

银行卡号

full_name

varchar

64

姓名

payment_date

date

0

支付日期

payment_amount

varchar

64

支付金额

transaction_reason

text

0

交易原因

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

第5章 系统详细设计

5.1用户功能模块

银行客户管理系统,在用户首页可以查看首页、银行产品、银行公告、留言反馈、个人中心、后台管理等内容,如图5-1所示。

 

图5-1系统功能界面图

   

   登录、 用户注册,在用户注册页面可以填写用户名、密码、姓名、年龄、手机、邮箱、身份证信息进行注册、登录,如图5-2所示。

图5-2用户注册、登录界面图

个人信息,在个人信息页面中通过填写用户名、密码、姓名、年龄、性别、手机、邮箱、身份证等信息,还可以根据需要对个人信息进行修改、删除如图5-12所示。

 

图5-3个人信息界面图

存款服务管理,在存款服务管理页面中可以查看用户名、姓名、手机、账户、金额、存款日期等信息内容,并且根据需要对已有存款服务管理进行修改或删除等其他详细操作,如图5-4所示。

 

图5-4存款服务管理界面图

信用卡信息管理,在信用卡信息管理页面中可查看用户名、信用卡号、姓名、身份证、额度、限制额度、剩余额度等内容进行编辑、交易或还款操作,如图5-5所示。

 

图5-5信用卡信息管理界面图

5.2管理员功能模块

管理员登录,通过填写注册时输入的用户名、密码、角色进行登录,如图5-6所示。

 

图5-6管理员登录界面图

管理员登录进入银行客户管理系统可以查看首页、存款服务、信用卡信息、客服咨询、银行卡信息、支付结算、信用卡交易、信用卡还款、挂失业务、密码修改、信用卡限额修改、系统管理等信息如图5-7所示。

 

图5-7管理员功能界面图

用户管理,在用户管理页面中可以通过填写用户名、密码、姓名、性别、手机、银行卡号、信用卡号、编辑卡号、身份证等内容进行修改、删除,如图5-8所示。

 

图5-8用户管理界面图

银行卡信息管理,在银行卡信息管理页面中可以填写用户名、银行卡号、姓名、身份证、银行卡余额等信息,并可根据需要对已有账户进行编辑、存款、支付等操作,如图5-9所示。

 

图5-9银行卡信息管理界面图

客服咨询管理,在客服咨询管理页面中可以填写用户名、咨询类型、咨询内容、工作人员答复等信息,并可根据需要对已有客服咨询管理进行修改或删除等详细操作,如图5-10所示。

 

图5-10客服咨询管理界面图

挂失业务管理,在挂失业务管理页面中可以查看用户名、姓名、银行卡类型、卡号、挂失原因、挂失日期、备注等内容,并且根据需要对挂失业务进行详情,修改或删除等详细操作,如图5-11所示。

 

图5-11挂失业务管理界面图

信用卡限额修改,在信用卡限额修改页面中可以查看用户名、姓名、、信用卡号、额度、限制额度等内容,并且根据需要对已有信用卡限额管理进行详情,修改等详细操作,如图5-12所示。

 

图5-12客户信息管理界面图

6 系统测试

一个系统设计好后,就会进入测试阶段,测试的目标是检验设计好的网站是否可以正常无误的运行,尽可能的发现网站的问题,已使后期网站投入使用后网站尽少出错[12]

6.1 测试定义

系统测试主要是判断系统是否可以正常运行,功能模块是否可以实现操作。程序代码中是否有错误出现。测试程序是开发过程中的一个主要问题。就算系统完成的再好,再进行程序测试时也会发现一个从来没有被发现的错误信息。

测试不仅是系统开发的开始,而且应该贯穿整个系统的整个生命周期。评估系统质量的方法不局限于系统编码和过程,应该与软件设计工作和历史需求分析密切相关。系统错误,不一定是代码错误,可能是阶段的设计摘要和设计细节存在问题,问题也可能出现在需求分析阶段[13]。从实际情况来看,最初的问题很可能是一个小错误,根据按钮的原理,按钮后的按钮位错将是所有位错。该系统的原因也同样适用,随着后续的开发工作,误差将越来越严重。因此就应该对系统进行测试,在一开始就发现系统中存在的问题,就能保证以后系统能够正常稳定的运行。在测试系统中,开发人员应该站在用户的角度来处理测试工作,而现在主要的测试方法是黑盒测试。测试的目的可以概括为以下几点:首先,用户界面和用户需求是一致的,设置界面和设计风格统一;第二,创新设计接口规范设计标准,具有独特的审美特征;最后,人类传统的接口以满足审美需求,不能盲目地追求一种独特的,合理的规划布局,符合审美标准。

6.2 测试目的

测试的目的在于要对系统的稳定和可操作性能进行对照检查。对于软件的开发利用最终的目的在最后的测试和试用,这是一个不可缺少的重要环节。对于软件开发者而言,在对每一个单独的功能进行编排时候,都要有单独的测试,并通过测试阶段才可以研发多个功能性软件,这样既缩短了研发时间,也可以在的单个的早期测试中发现问题,以免融合后的软件,在查找问题时就很难快速解决或者急速定位问题。

银行客户管理系统开发设计完成后,需要对其进行系统测试,测试的主要目的就是发现并找出系统中存在的问题,并及时的进行解决,确保系统可以正常稳定的运行下去,在进行系统测试的时候,在一定要非常的认真、仔细,切记不能粗心,不能放过一个漏洞,测试时候一定不要着急,要按照之前指定好的测试步骤一步一步进行,并且将测试的结果进行详细的记录,我们在进行测试的时候做好选择自动化的测试,这样既可以节省时间而且也能确保测试的准确性,如果采用人工测试的方法就不会这么的方便,由于人工测试有很多不确定的因素,在测试过程中很可能会出现一些问题,用机器测试就不会出现任何的问题,而且机器不会疲惫会一直二等工作下去。在测试的时候一定要非常专注,时刻关注着测试的结果,一但发现异常及时进行修改,最后,测试完之后的文档应该保存下来,方便以后测试时用到。系统测试的方法有很多,对于本银行客户管理系统的测试,我们使用了测试用得最多的黑盒测试方法来对该系统进行测试。

6.3测试方案

对测试计划的把握是测试方案的重中之重。所有的技术难点应该都被包含在这个测试计划之中。而且我们要保证能与目标形成一致性,以至于能够测试出一些主要存在的错误和一些错误的漏洞。可以完美解决这些问题就只有白盒测试或者黑盒测试[14]

构造测试是白盒测试的另一个名字,了解与分析程序的结构以及性能功用的,从而我们可以得到最终想要的结果并且观察出是不是每一条程序都能得到。

性能测试是黑盒测试别称,程序本身的运作通过程序的进程来观察,主要是看一下程序是不是能够像我们预期的目标那样发展,看一看我们的程序最终能不能完整的得到我们最后想要的功能和储存想得到的数据,到最后看一下我们的这个程序完整性能不能达到要求。

1)模块测试

单元测试就是模块测试,顾名思义就是测试每个模块所承担的功能是否能够实现,这个测试就是为了找出代码在实际的设计运转中某一些小的程序所出现的偏差,很好地改正这些错误,就说明我们模块测试进行很成功过。

2)集成测试:

集成测试就是对系统的测试以及对他子系统的一些性能测试,他检查的事系统的包装程序信息。找出其中的问题。他的优势主要有以下这几点:

软件耗费较少。

可以提前发现端口的错误。

更好的地位系统中错误的位置。

从底部往上面进行的方案针对于偏下层的结构,而中间的结构就采用折中的方法。

3)验收测试:

终于到了结尾性的工作了。就是为了给用户看一下我们的系统功能是否达到了预期的效果。我采用了性能测试也就是黑盒测试对系统进行测试。

其结果是分别是:

有一定的差异在用户的需求。

再者就是结果与之差不了多少。

到了最后了,我们发现的问题都是与用户的需求存在一定的关联。

1、登录测试

 测试点:登录

测试的目标:输入账号密码以及验证码后系统会自动进行验证是否正确。

所用的环境:Windows10IE浏览器。

输入信息:用户名、密码。

步骤:

1)首先我们打来浏览器,进入该系统的登录界面。

2)在进入页面登录部分以后可以进行对用户名、密码进行测试,具体测试输入情况如下表6.1所示。

表6.1 登录测试

情况

用户名输入

密码输入

期望结果

(1)

15546219225

1244566

提示用户名或者密码错误,或账号未经审核

(2)

aaaaa

123456

提示用户名或密码错误,或者账号未经审核

(3)

15546219225

hangguowei

登陆成功

6.4系统分析

银行客户管理系统设计要求基本都可以达到,此系统具有完整的软件功能,良好的用户界面,能够正确的处理错误信息,而且能够准确的提出错误的种类。但是系统测试时也出现了一些系统的不足和缺陷,所以在今后的日子里我会对其视觉上的不足作出修改,其次系统的代码和数据库出现了非常多的冗余现象,都是因为对编程技术的应用不够熟练,在日后我会加强自己的自身学习和能力,减少这样的冗余现象。

经过对上述的测试结果分析,本银行客户管理系统无论是在技术方面,还是操作方面,还是经济方面都是完全可以实行的,并且经过测试,该系统操作简单,所有的功能都可以实现,因此该系统可以满足用户的使用需求,值得被推广。

总体说来,软件通过测试。

7 结论

本文研究了银行客户管理系统的设计与实现,在文章开端首先对个研究背景、研究现状和研究内容作了简单的介绍,然后通过系统分析,引申出本系统研究的主要内容。

通过对Java技术和MYSQL数据库的简介,从硬件和软件两反面说明了银行客户管理系统的设计与实现的可行性,本文结论及研究成果如下:实现了JavaMYSQL相结合构建的银行客户管理系统,我感触到学习一门新技术,最重要的是实践,只有多动手才能尽快掌握它,一个系统的开发,经验是最重要的,经验不足,就难免会有许多考虑不周之处。要想吸引更多的用户,系统的界面必须要美观、有特色、友好,功能要健全。

由于在此之前对于Java知识并不了解,所以从一开始就碰到许多困难,例如一开始的页面显示不规范、数据库连接有问题已经无法实现参数的传递等等,不过通过我不断的查阅相关的资料,以及向老师同学请教,最后出现的所有的问题都得到了解决,通过这次的系统开发,我学到了很多的知识,也明白了自己在哪些方面有不足的地方,尤其是学会如何从大量的信息中筛选出所需有用的信息,同时我更加深刻的体会到了,虽然书本上的大部分知识都是有价值,正确的,但实际上每个人编程的思路和对数据处理的方法、思想都是不同的,这就要求我们一定要通过实践才能找到解决问题的方案。在此次毕业设计活动中,我不断的提高了自己,也得到了宝贵的经验,我相信这些对我以后的发展都会有很大帮助。

通过这次银行客户管理系统的开发,让我学到了更多的知识,同时通过这次系统的设计也让我明白了自己在哪方面有不足,以后加以学习争取可以开发住更多有用的适用的系统软件,本次系统的设计提高了我的编程水平,为了我今后系统的开发打下了结实的基础。

参考文献

[1]  王玉英. 基于Java的MySQL数据库访问技术[J]. 现代计算机:专业版, 2018, 19(14):63-66

[2]  陈Maydene Fisher, Jon Ellis, Jonathan Bruce著. JDBC API Tutorial and Reference, Third Edition. 11 June, 2018[3] Jason Brittain Ian F.Darwin[美]. Tomcat权威指南. 北京:中国电力出版社,2018.

[4] 石正喜. MySQL数据库实用教程. 北京:北京师范大学出版社 2019

[5] 张海潘.软件工程理论[M] .北京:清华大学出版社,2017.

[6]  Patrick O’Neil Elizabeth O’Neil[英]等.数据库-原理、编程与性能(第二版 影印版)[M].北京:高教育出版社,2017.

[7] 王雨竹. MySQL入门经典. 北京:机械工业出版社 2017[8] 邓子云.Java网络编程从基础到实践[M].北京:电子工业出版社,2019.

[9]  陈圣国.Java信息系统设计与开发实例[M].北京:机械工业出版社,2019.

[10]  Todd Cook. Java从入门到精通[W].北京:电子工业出版社,2019.

[11] Bruce Eckel. Thinking in java(English Edition). 北京:机械工业出版社,2019

[12] Hsiao I H, Sosnovsky S, Brusilovsky P. Guiding students to the right questions: adaptive navigation support in an e-learning system for Java programming[J]. Journal of Computer Assisted Learning, 2018, 26(4):270-283.

[13] Vegh A. MySQL Database Server[M]. Web Development with the Mac®. Wiley Publishing, Inc., 2019,179-194

[14] Rasoolzadegan A, Barforoush A A. Reliable yet flexible software through formal model transformation (rule definition)[J]. Knowledge & Information Systems, 2019, 40(1):79-126

[15]韩思凡.Web开发中的JSP与HTML的基础应用[J].科学技术创新,2020(14):71-72.

[16]NastitiAndini,DaehaKim,JongAhnChun.Operationalsoilmoisturemodelingusingamulti-stageapproachbasedonthegeneralizedcomplementaryprinciple[J].AgriculturalWaterManagement,2020,231.

[17]A.D.Titisari,D.Phillips,I.W.Warmada,Hartono,A.Idrus.40Ar/39ArgeochronologyofthePongkorlowsulfidationepithermalgoldmineralisation,WestJava,Indonesia[J].OreGeologyReviews,2020,119.

[18]FranciscoOrtin,OscarRodriguez-Prieto,NicolasPascual,MiguelGarcia.HeterogeneoustreestructureclassificationtolabelJavaprogrammersaccordingtotheirexpertiselevel[J].FutureGenerationComputerSystems,2020,105.

[19]SatyaKrismatama,IndahRiyantini,IwangGumilar,LantunParadhitaDewanti.SelectivityofFishingGearforScomberomorusguttatus(Bloch&Schneider,1801)CommoditiesinPangandaranFishingGround,WestJava[J].AsianJournalofFisheriesandAquaticResearch,2020.

[20]ZhongXiangfu,PlaAlbert,RaynerSimon.Jasmine:aJavapipelineforisomiRcharacterizationinmiRNA-Seqdata[J].Bioinformatics,2020

谢辞

本次毕业设计圆满的结束了,通过这次毕业设计我学到了很多的知识,也提高了我软件开发的能力,在系统开发设计的过程中,出现了很多的问题,但是通过老师和同学们的帮助,最后所有的问题都得到了解决,因此我要感谢在此过程中对我帮助的老师和同学们,感谢指导老师帮助我选课题,给我做详细的讲解,给我提供设计所需要的各种设备,也经常询问我进度与成果,再有难点的时候给我解决思路,帮助我顺利完成。没有他的指导,也不会有我今天所展现出的成果。

首先我要感谢我的指导老师,指导老师在教学任务繁忙的情况下,抽出时间帮助我纠正我在设计当中出现的问题,并耐性地为我的论文作校正,是他的定期检查和指导使得我们的毕业设计高质量完成。他在我整个课题开发和设计的过程中,为程序的设计、框架的设计、代码的撰写方面以及论文框架的设计提供了很多宝贵的意见,并且为我推荐了许多有用的资料和文献,他的指导和建议使我受益匪浅,有了指导老师的辅导和指点,我论文才能够顺利完成。老师的认真负责的工作态度和治学严谨之道使我们这些即将踏入社会的毕业生受益匪浅。

然后要感谢我的同学们,感谢大家对我这次毕业设计的帮助,也感谢大家在大学生活中对我的陪伴,使得我的大学生活过的很快乐。

另外,我还要感谢父母,感谢一直以来对我的支持,让我能够顺利的完成我的学业,没有你们也就没有我的今天,感谢你们无私的付出,未来我一定会报答你们的。

最后,感谢在座的所有参加我论文答辩的老师们,感谢大家的聆听,你们辛苦了。

点赞+收藏+关注  →  私信领取本源代码、数据库

  • 8
    点赞
  • 20
    收藏
  • 打赏
    打赏
  • 3
    评论
1、背景:客户信息的管理银行企业管理的一个重要内容。随着时代的进步,银行企业的客户也逐渐变得多起来;当今资金流动越来越频繁,使得银行管理工作也变的越来越复杂。以前人们使用传统的人工方式管理客户信息,这种管理方式存在着许多缺点,如效率低下、保密性差等。另外,时间一长将产生大量的文件和数据,这对于信息的查找、更新和维护来说都带来了不少的困难。所以,如何有效率地管理银行客户信息,成为银行管理中一个重要的问题。如果能实现管理的自动化,无疑将给银行管理带来很大的方便。 2、目的:客户信息管理系统是针对数据库作的一个系统,主要是为了将公司的客户统一起来进行管理,方便为客户服务,对客户信息的快速了解,能有效地帮助公司对客户的信息快捷地了解,方便查询,使工作效率提高。 3、意义:通过对客户信息管理系统对企业的实际需求,实现了客户基本信息的输入、修改、查询等功能,并能够按时间和客户区域对业务情况进行统计,自主设定查询条件,实现对业务数据的综合查询。使银行能够全面地、及实地了解与客户相关的合作信息。 4、主要内容:对每位客户都有详细记录,可以查询客户的基本信息,资产状况及用户级别等信息,添加,删除,查询,修改客户信息。 5、完成课题的条件:对银行管理客户信息的相关需求作充分的了解,同时也要掌握客户的需求,针对双方的需求开发此系统,使该系统的功能相对齐全。后期还要不断地同客户进行交流,以对系统进行进一步地修改、完善。
项目名称:Bank Account Management System 银行账户管理系统 简称BAM 项目描述:这是一个基于C/S结构的银行账户在线管理系统,用户可以通过ATM终端界面来操作自己的银行账户. 项目实施方式:这是一个同步练习,随着达内CoreJava课程的深入,这个项目将趋于完整,学员的任务是随着知识点的深入,完成每一个进阶的项目要求. 项目一 练习1:(面向对象基础语法) 写一个账户类(Account),属性: id:账户号码 长整数 password:账户密码 name:真实姓名 personId:身份证号码 字符串类型 email:客户的电子邮箱 balance:账户余额 方法: deposit: 存款方法,参数是double型的金额 withdraw:取款方法,参数是double型的金额 构造方法: 有参和无参,有参构造方法用于设置必要的属性 练习2:(封装) 将Account类作成完全封装,注意:要辨别每个属性的set/get方法是否需要公开 练习3:(继承,多态) 银行客户分为两类,储蓄账户(SavingAccount)和信用账户(CreditAccount),区别在于储蓄账户不允许透支,而信用账户可以透支,并允许用户设置自己的透支额度. 注意:CreditAccount需要多一个属性 ceiling 透支额度 为这两种用户编写相关的类 同时要求编写Bank类,属性: 1.当前所有的账户对象的集合,存放在数组中 2.当前账户数量 方法: 1.用户开户,需要的参数:id,密码,密码确认,姓名,身份证号码,邮箱,账户类型(int),返回新创建的Account对象 2.用户登录,参数:id,密码 返回Account对象,提示 用s1.equals(s2)判断s1和s2两个字符串内容是否相等 3.用户存款,参数:id,存款数额,返回修改过的Account对象 4.用户取款,参数:id,取款数额,返回修改过的Account对象 5.设置透支额度 参数:id,新的额度 ,返回修改过的Account对象.这个方法需要验证账户是否是信用账户 用户会通过调用Bank对象以上的方法来操作自己的账户,请分析各个方法需要的参数 另外,请为Bank类添加几个统计方法 1.统计银行所有账户余额总数 2.统计所有信用账户透支额度总数 写个主方法测试你写的类 项目二 练习4:(语言高级特性,三个修饰符) 1.修改Account类,银行用户的账号(id)是自动生成的,初始值为100000,第一个开户的用户id为100001,第二个为100002,依此类推. 提示:构造对象的时候采用static属性为id赋值 2.对于Account类,有两个方法,存款方法和取款方法,请修改这两个方法. 存款方法改为不允许子类修改 取款方法根据不同的子类而不同,因此,改为抽象方法,在两个子类中分别实现 3.将Bank类作成单例 项目三 练习5:(接口) 为SavingAccount和CreditAccount各自添加一个子类 LoanSavingAccount类:用户可以贷款,不可以透支 LoanCreditAccount类:用户可以贷款,可以透支 说明:贷款和透支是不一样的,透支指的是账户余额小于0,而贷款用户需要一个贷款额的属性. 在ATM机上,用户可以选择贷款,也可以选择还贷款,而还贷款就是要把账户余额上的资金转到贷款额上 例如:用户余额10000元,贷款额100000元,用户可以选择还款5000元,则用户余额变为5000,贷款额变为95000元. 利用接口来抽象出LoanSavingAccount类和LoanCreditAccount类的共性 接口中的方法: requestLoan:贷款 payLoan:还贷 getLoan:获取用户贷款总额 为Bank类添加三个方法, 贷款:参数 id,贷款额,返回修改过的Account对象 还贷款:参数 id,还款额,返回修改过的Account对象 统计所有账户贷款的总数 练习6:(Object) 为Account类及其子类添加toString方法和equals方法 项目四 练习7:(Exception) 为BAM添加几个异常类 BalanceNotEnoughException :用于取钱的时候余额不足的情况(包括账户余额超过透支额的情况) RegisterException:用于开户异常的情况,例如密码两次输入不一致等情况 LoginException:用户登录异常的情况,例如id错误,密码错误 LoanException:贷款额不能为负数,如果用户试图将贷款额置为负数,则会抛出这个异常 以上四个异常类有一个共同的父类 BusinessException 并妥善的处理这些异常 项目五 练习8:(集合) 改写Bank类,采用集合的方式来管理多个Account对象 为Bank类添加一个方法 打印所有用户的总资产排名 说明:一个用户可能会有多个账号,以身份证号为准.总资产指多个账户余额的总和,不需要考虑贷款账户的贷款额 项目六 练习9:(GUI) 为BAM添加用户界面 需要以下几个类: BAMClient 其中会包含一个Frame,这是用户主界面 MainPanel:主界面,用户可以选择开户或者登录 RegisterPanel:用户开户具体用到的界面 LoginPanel:用户登录需要的界面 BusinessPanel:界面上会显示账户的功能 至少包括存款和取款,对于可透支的用户,还允许用户修改透支额度,对于贷款用户,还允许用户贷款和还贷款 注:本练习的界面布局不做要求,请阅读现有代码,添加事件处理代码 提示:在开户或者登录之后都会跳到BusinessPanel,而用户点击了交易之后,界面停留在BusinessPanel 要随时注意在BusinessPanel上根据数据的变化更新显示信息 项目七 在该加资保护的地方加上,没有标准 项目八 练习10:(I/O) 修改Bank类,账户信息会采用对象序列化的方式存放在文件中.当Bank对象生成的时候会读取文件,设置账户集合.当账户信息改变的时候,会随时更新文件 设计一个FileDAO类(文件数据访问对象),负责对文件的访问,包括存放账户,提取账户等方法,在Bank类中,会通过FileDAO对象来访问文件 注意:如果已有的账户对象会存在文件中,那么为新的账户对象分配id的做法也应相应的改变,过去的用static属性的做法不再合适,应该改为,把下一个可用的id存放在一个文件中,每创建一个新对象的时候都会读取这个文件,获得新对象的id,并且修改文件中的id,使其加1.这个工作可以放在Account类的构造方法中 项目九 练习11:(网络) 在现有的BAM中,用户是通过界面直接访问Bank对象的,将其改为C/S结构,由界面充当客户端,通过TCP协议访问服务器端的Bank对象. 提示:客户端和服务器端需要通过对象来传递信息,这里会使用对象序列化技术.

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:游动-白 设计师:我叫白小胖 返回首页
评论 3

打赏作者

weixin_61498557

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值