简单的银行管理系统的设计与实现.docx
- 文档编号:23549000
- 上传时间:2023-05-18
- 格式:DOCX
- 页数:19
- 大小:155.23KB
简单的银行管理系统的设计与实现.docx
《简单的银行管理系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《简单的银行管理系统的设计与实现.docx(19页珍藏版)》请在冰豆网上搜索。
简单的银行管理系统的设计与实现
河南机电职业学院
课程设计报告
课程名称面向对象程序设计课程设计
设计题目银行管理系统的设计与实现
专业计算机科学与技术
班级计科18-1
学号XXXXXXX
姓名XXX
完成日期2020.6.12
课程设计任务书
设计题目:
银行管理系统的设计与实现
设计内容与要求:
1.根据课题设计功能需求进行分析、搭建开发环境、分层实现。
2.使用面向对象设计思想实现编码,完成客户常用功能设计与实现(登录、转账、查询余额、存款、取款等),管理员常用功能(打印客户信息列表、导出客户信息等),
3.对课题的设计内容、设计过程和设计问题等进行总结,撰写课程设计报告。
指导教师:
XX
2020年06月08日
课程设计评语
成绩:
指导教师:
XX
年月日
目 录
第1章概述
1.1本设计的背景和意义
现今,人们的金融意识、科技意识己经有了很大的提高。
可是现如今的银行储蓄系统工作效率低,越来越不能满足广大人民群众的需要,人们希望能更方便更省时就可以办理储蓄业务;随着拥有多种银行卡的人群不断增长,人们急切希望有一种通用的银行卡以便随时随地在哪家银行都可以存款提款;现在计算机网络的高速发现使越来越多的人更喜欢在网购物、在家存款取款。
在这样的背景下,很明显现在的银行储蓄系统已经不能满足人们日益增长的需求,急切需要建立一个新的、高效的、方便的、互联的计算机储蓄系统。
特列是银行每天要处理大量的存取款事件,做好存取款是银行工作重要的环节,然而要有效处理必须要有良好的程序和数据管理系统来建立一个良好的软件系统来实现快速、有效、准确、安全的处理银行事物。
1.2采用的开发环境和工具
使用开发工具是IntelliJIDEA2017.3x64开发语言为JAVA,运行环境为JDK1.8
第2章银行管理系统课程设计
2.1课程设计目的
练习JAVA基础语言,熟悉JAVA开发模式以及JAVA基础语言
2.2课程设计需求分析
1、采用模块化MVC设计模式,设计包括管理员和客户的各种功能
2、管理员功能:
查看打印全部客户的部分信息;客户功能:
开户、存取钱转账等
2.3开发环境
系统:
Windows10、使用开发工具是:
IntelliJIDEA2017.3x64开发语言为:
JAVA,运行环境为:
JDK1.8
第3章详细设计与实现
3.1项目整体架构图
3.2各功能模块开发思路
1、管理员查看打印客户信息:
对于银行管理来说是被可以私自修改或删除客户信息的,她只能查看打印客户的部分信息
2、用户
开户:
增加银行客户量
存钱:
修改客户的余额,即增加余额
取钱:
修改客户的余额,即减少余额
转账;修改两个客户的余额,被转帐的客户余额增加量等于转账客户余额的减少量
退出:
客户的业务办理完成离开银行,即所谓的退出程序
3.3各功能模块代码及运行效果图
1、管理员查看打印客户部分信息
2、客户办理新卡
3、客户登陆、存钱、取钱、查看余额
5、客户转账
6、客户修改自己密码并且重新登陆验证
第4章源码
Preson类:
publicclasspreson{
privateStringname;//名字
privateStringaccount;//账号
privateintbalance;//余额
privateStringuesrpwds;//密码
privateStringcard;//身份证号
publicpreson(){
}
publicpreson(Stringname,Stringaccount,intbalance,Stringuesrpwds,Stringcard){
this.name=name;
this.account=account;
this.balance=balance;
this.uesrpwds=uesrpwds;
this.card=card;
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicStringgetAccount(){
returnaccount;
}
publicvoidsetAccount(Stringaccount){
this.account=account;
}
publicintgetBalance(){
returnbalance;
}
publicvoidsetBalance(intbalance){
this.balance=balance;
}
publicStringgetUesrpwds(){
returnuesrpwds;
}
publicvoidsetUesrpwds(Stringuesrpwds){
this.uesrpwds=uesrpwds;
}
publicStringgetCard(){
returncard;
}
publicvoidsetCard(Stringcard){
this.card=card;
}
@Override
publicStringtoString(){
return
"name='"+name+'\''+
",account='"+account+'\''+
",balance="+balance+
",card='"+card+'\'';
}
}
接口Interfaces
publicinterfaceInterfaces{
voidOpenaccount(ArrayList
voidChaxun(ArrayList
voidCunKuang(ArrayList
voidQukuang(ArrayList
voidZhuanzhang(ArrayListlist);//转账
voidnewpassword(ArrayList
voidroot(ArrayListlist);//管理员查看全部信息
}
Dome类
publicclassDomeimplementsInterfaces{
Scannersc=newScanner(System.in);
@Override
publicvoidOpenaccount(ArrayList
presonpreson=newpreson();
intRDnum=(int)((Math.random()*9+1)*1000);//随机生成银行卡号的最后四位
Stringname=null;
intbalance=0;
try{
System.out.println("请输入用户名:
");
name=sc.next();
preson.setName(name);//接收输出
System.out.println("请输入账号密码:
");
Stringuesrpwds=sc.next();
preson.setUesrpwds(uesrpwds);//接收输出
System.out.println("请输入身份证号:
");
Stringcard=sc.next();
preson.setCard(card);//接收输出
System.out.println("请输入金额:
");
balance=sc.nextInt();
preson.setBalance(balance);//接收输出
}catch(Exceptione){
System.out.println("输入的数据非正确数据");
}
Stringaccount="621661340000649"+RDnum;//账号:
preson.setAccount(account);//接收输出
System.out.println("账号:
"+account);
System.out.println("账号名:
"+name);
System.out.println("余额:
"+balance);
System.out.println("创建成功!
");
list.add(preson);
}
@Override
publicvoidChaxun(ArrayList
Iterator
while(iterator.hasNext()){//迭代器、判断是否存在下一个对象元素
presonpreson=iterator.next();//获取下一元素
if(account.equals(preson.getAccount())&&uesrpwds.equals(preson.getUesrpwds())){//判断账号密码是否正确
System.out.println("账号余额:
:
"+preson.getBalance());
break;
}
}
}
@Override
publicvoidCunKuang(ArrayList
/*迭代器*/
Iterator
while(iterator.hasNext()){
presonpreson=iterator.next();
if(account.equals(preson.getAccount())&&uesrpwds.equals(preson.getUesrpwds())){//判断密码账号是否存在相等
System.out.println("请输入存款金额(整数):
");
intnum=sc.nextInt();
if(num>=0){
preson.setBalance(preson.getBalance()+num);
System.out.println("存款成功!
余额为:
"+preson.getBalance());
break;
}else{
System.out.println("存款失败!
余额为:
"+preson.getBalance());
break;
}
}elseif(iterator.hasNext()==false){
System.out.println("查无账号!
请输入正确的账号");
}
}
}
@Override
publicvoidQukuang(ArrayList
/*迭代器*/
Iterator
while(iterator.hasNext()){//判断是否存在下一个对象元素
presonpreson=iterator.next();//获取下一元素
if(account.equals(preson.getAccount())&&uesrpwds.equals(preson.getUesrpwds())){//判断密码账号是否存在相等
System.out.println("请输入取款金额:
");
intm=sc.nextInt();
preson.setBalance(preson.getBalance()-m);
if(m>preson.getBalance()){
System.out.println("取款失败!
");
}else{
System.out.println("取款成功!
余额为:
"+preson.getBalance());
}
break;
}else{
if(iterator.hasNext()==false){
System.out.println("账号或密码不存在!
请输入正确的账号密码");
}
}
}
}
@Override
publicvoidZhuanzhang(ArrayListlist){//转账
System.out.println("请输入转出账号:
");
Stringaccount=sc.next();
System.out.println("请输入转出账户密码:
");
Stringpwd1=sc.next();
System.out.println("请输入转入账号:
");
Stringaccount1=sc.next();
/*迭代器*/
Iterator
while(iterator.hasNext()){
presonpreson=iterator.next();
//判断转出账户是否存在
if(account.equals(preson.getAccount())&&pwd1.equals(preson.getUesrpwds())){
System.out.println("请输入转出金额");
intmoneys=sc.nextInt();
if(preson.getBalance()>=moneys){//判断转出账户金额是否大于或小于所需要金额
/*迭代器在迭代一次*/
Iterator
while(iterator1.hasNext()){
presonpreson1=iterator1.next();
if(account1.equals(preson1.getAccount())&&account!
=account1){//判断转入账户是否存在
preson.setBalance(preson.getBalance()-moneys);//满足条件转出账户扣除金额
preson1.setBalance(preson1.getBalance()+moneys);//满足条件转入账户存入金额
System.out.println("转账成功,转出账号:
"+preson.getAccount()+"转出金额:
"+preson.getBalance()
+"转入账号:
"+preson1.getAccount()+"转入金额"+preson1.getBalance());
break;
}
}
break;
}else{
System.out.println("转账失败!
余额为:
"+preson.getBalance());
}
break;
}else{
if(iterator.hasNext()==false){
System.out.println("请输入正确账户!
");
}
}
}
}
@Override
publicvoidnewpassword(ArrayList
/*迭代器*/
Iterator
while(iterator.hasNext()){//判断是否存在下一个对象元素
presonpreson=(preson)iterator.next();//获取下一元素
if(account.equals(preson.getAccount())&&uesrpwds.equals(preson.getUesrpwds())){//判断密码账号是否存在相等
System.out.println("请输入账号新密码:
");
Stringuesrpwds1=sc.next();
System.out.println("请再次输入新密码:
");
Stringuesrpwds2=sc.next();
if(uesrpwds1.equals(uesrpwds2)){
preson.setUesrpwds(uesrpwds1);
System.out.println("账号修改密码成功!
");
break;
}else{
System.out.println("两次密码不一样");
break;
}
}else{
if(iterator.hasNext()==false){
System.out.println("请输入正确账户或密码!
");
}
}
}
}
@Override
publicvoidroot(ArrayListlist){//管理员查看去全部信息
/*迭代器*/
Iterator
while(iterator.hasNext()){
presonnext=(preson)iterator.next();
System.out.println(next);
}
}
}
Menu类
publicclassMenu{
publicstaticArrayList
Domedome=newDome();
Scannersc=newScanner(System.in);
publicvoidr2()throwsException{
System.out.println("管理员只可以查看客户部分信息,不可更改信息");
System.out.println();
dome.root(list);//打印客户信息
System.out.println();
}
publicvoidr1(){
try{
intinput=0,input1=0;
System.out.println("====================================================");
System.out.println("1:
新客户开户\t2:
老客户办理业务");
System.out.println("=====================================================");
input=sc.nextInt();
if(input==1){
dome.Openaccount(list);
}
if(input==2){
System.out.println("请输入账号:
");
Stringaccount=sc.next();
System.out.println("请输入账号密码:
");
Stringuesrpwds=sc.next();
do{
System.out.println("====================================================");
System.out.println("1:
存款2:
取款3:
转账4:
查余额5:
修改密码0:
退回");
System.out.println("=====================================================");
input1=sc.nextInt();
switch(input1){
case1:
//存款
dome.CunKuang(list,account,uesrpwds);
break;
case2:
//取款
dome.Qukuang(list,account,uesrpwds);
break;
case3:
//转账
dome.Zhuanzhang(list);
break;
case4:
//查询余额
dome.Chaxun(list,account,uesrpwds);
break;
case5:
//修改密码
dome.newpassword(list,account,uesrpwds);
break;
case0:
//退出
break;
default:
System.out.println("输入正确的指令!
");
break;
}
}while(input1!
=0);
}
}catch(Exceptione){
System.out.println("输入正确的数据");
}
}
publicvoidr()throwsException{
list.add(newpreson("大黄","6216613400006494359",2000,"942626","412720202002022221"));
list.add(newpreson("小黄","6216613400006494360",2000,"
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 简单 银行 管理 系统 设计 实现