配色: 字号:
java课程设计—银行账户管理系统
2012-02-10 | 阅:  转:  |  分享 
  
银行账户管理系统

1课程设计目的

Java语言是面向对象的开发方法是当今世界最流行的开发方法,是当今流行的网络编程语言。它具有面向对象、跨平台、分布应用等特点。它不仅具有更贴近自然的语义,而且有利于软件的维护和继承。

这次课程设计我主要利用已学的Java知识编辑一个银行账户管理程序。通过此次课程设计,来巩固所学Java语言基本知识,JDK、JCreator等开发工具的运用,拓宽常用类库的应用。并通过自己动手,自主得学习,对Java这门课程有更深得了解与认识。

2设计方案论证

2.1背景

随着计算机技术飞速发展及其应用领域的扩大,特别是计算机网络和电子商务的发展,极大地改变了商业银行传统的经营和管理模式。能够为客户提供方便、快捷、安全的服务,也能有效降低银行的运营成本,这是银行管理系统追求的目标。目前,对于现代化银行运营的要求是客户可以实现随时随地的业务交易,银行职员可以进行高效合理的工作管理,实现银行业务电子化。

2.2需求分析

2.2.1功能需求

通过银行管理系统一方面加快了客户的服务,提高的服务质量,另一方面减轻了员工的工作复杂度,提高了工作效益,实现银行帐户管理的系统化、规范化、自动化和智能化。系统具体实现的目标如下:

(1)键盘操作,快速响应。

(2)对用户输入的数据,系统会进行严格的数据检验,尽量避免了人为的错误。

(3)实现银行开户、取款、存款、查询、转账、修改密码等功能。

(4)系统运行稳定,可靠。

(5)系统应人性化,符合用户操作习惯。

(6)使用控制台进行操作

2.2.2性能需求

软件环境:

WindowXP

(2)硬件环境:

Pentium(R)Dual-CoreCPUT7500@2.2GHZ

安装内存(RAM):1.00GB

硬盘空间:160G

2.3总体设计



本程序主要实现银行开户、取款、存款、查询、转账、修改密码等功能。其中包括用户功能和管理员功能。进入程序后首先选择身份,身份确定后再进行相关的操作。

(1)用户功能

用户功能包括:登录模块、主菜单模块、存款模块、取款模块、转账模块和查询模块。

管理员功能

管理员功能包括:添加用户功能、删除用户功能、查询所有用户基本信息功能、打印用户清单功能以及退出功能。

2.4详细设计

2.4.1功能规划

2.4.1.1用户功能

(1)用户登录功能

输入用户名和密码,验证正确后进入系统。用户名和密码在程序中固定写死。











输入

处理

输出



1、用户名

2、密码

1、密码有三次输入机会

2、验证用户名及密码

3、用户名及密码正确后进入主菜单界面。

如果用户名或者密码不正确,给用户一个友好提示并提示还有几次机会



(2)主菜单功能

输出主菜单(开户、存款、取款、查询、转账、修改密码、退出)供用户选择,然后根据用户的输入选择进入不同的系统功能。

输入

处理

输出



1、菜单项编号

1、验证用户输入的菜单项编号是否正确(0~6之间);

2、根据用户的选择进入不同的功能界面。

如果用户输入的菜单项编号不正确,给用户一个友好提示,并要求用户重新输入。



存款功能

输入

处理

输出



1、账户ID

2、存款金额

1、输入的所有信息必填。

2、验证账户ID

3、存款金额大于0.00元

如果用户输入的各项数据不正确,给用户一个友好提示,并要求用户重新输入。







(4)取款功能

输入

处理

输出



1账户ID、

2密码

3取款金额

1、输入的所有信息必填。

2、验证账户ID。

3、验证用户密码。

4、取款金额大于0.00元,小于用户账户余额。



如果用户输入的各项数据不正确,给用户一个友好提示,并要求用户重新输入。







(5)转账功能

输入

处理

输出



1、账户ID

2、密码

3、金额

4、对方账户ID

1、输入的所有信息必填。

2、验证账户ID;

3、验证密码;

4、转账金额大于0.00元,小于账户余额;

如果用户输入的各项数据不正确,给用户一个友好提示,并要求用户重新输入。





查询功能

输入

处理

输出



1、账户ID

2、密码

1、输入的所有信息必填。

2、验证账户ID;

3、验证密码;



如果用户输入的各项数据不正确,给用户一个友好提示,并要求用户重新输入。



(7)退出功能

给客户退出提示,客户确认后,退出程序。

2.4.1.2管理员功能

(1)管理员添加用户功能

输入用户的基本信息,添加账户。

输入

处理

输出



1、用户姓名

2、密码

3、重复密码

4、开户金额

1、开户的所有信息必填

2、录入的数据去除左右空格

3、用户姓名

4、密码

5、密码和重复密码一致

各项信息完全吻合,提示添加用户成功。





(2)管理员删除用户功能

输入用户账号和密码,一致后删除。

输入

处理

输出



1、用户姓名

2、密码

3、重复密码

1、用户姓名

2、密码

3、密码和重复密码一致

如果输入的各项数据不正确则不能删除,用户姓名,账号,密码一致后才可删除。





(3)查询顾客功能

管理员可以查询所有用户的基本信息。

打印清单功能

管理员可以查询用户基本信息,然后进行打印。

(5)退出功能

给管理员退出提示,管理员确认后,退出程序。











2.4.2功能模块图





2.4.3具体实现方法

在程序中定义了四个类,分别为:classDemoCust{}

classCust{}

classAdmin{}

classKB{}

(1)DemoCust类中的方法只有main(),创建第一个菜单选项,即选择登录身份。按1是选择管理员,按2是选择用户,按3是退出。

classDemoCust

{

publicstaticvoidmain(String[]args)

{

Admina=newAdmin();

while(true)

{

System.out.println("");

System.out.println("管理员\t1");

System.out.println("用户\t\t2");

System.out.println("退出\t\t3");

System.out.println("");

intc=KB.scanInt();

switch(c)

{

case1:

{

a.run();

}break;

case2:

{

System.out.println("请输入您的账号");

intID=KB.scanInt();

inti=0;

for(i=0;i
{

Custtemp=(Cust)a.v.get(i);

if(ID==temp.ID)

{

temp.run(ID);

break;

}

}

if(i==a.v.size())

{

System.out.println("用户不存在");

}

System.out.println("欢迎下次光临");

}break;

case3:

return;

}

}

}

}

(2)Cust类中定义的方法有checkPWD()

zhuanZhang(Custc[])

getM(intn)

saveM(intn)

run(Custc[])

printMenu(),

定义的成员变量有:Stringname;

intID;

intpassword;

doublemoney;

staticStringbankName="建设银行";

一个Cust()构造函数

Cust(Stringname,intID,intpassword,doublemoney)

{

this.name=name;

this.ID=ID;

this.password=password;

this.money=money;

}

第二个菜单选项,用户的菜单模块。用户在进行账户和密码输入后,正确则进入菜单功能项,用户的功能有如下,取款、存款、查询、转账以及退出功能。

staticvoidprintMenu()

{

System.out.println("");

System.out.println("取款\t1");

System.out.println("存款\t2");

System.out.println("查询\t3");

System.out.println("转账\t4");

System.out.println("退出\t0");

System.out.println("");

}

Admin类中有Admin(),add(),delete(),printAll(),run()方法。

voidrun()

{

booleanflag=true;

while(flag)

{

System.out.println("");

System.out.println("添加顾客\t1");

System.out.println("删除顾客\t2");

System.out.println("查询顾客\t3");

System.out.println("打印清单\t4");

System.out.println("退出\t0");

System.out.println("");

intcmd=KB.scan.nextInt();

switch(cmd)

{

case1:this.add();break;

case2:this.delete();break;

case3:this.print();break;

case4:this.printAll();break;

case0:flag=false;break;

}

}

管理员添加顾客所需填入的顾客基本信息有:顾客姓名,账号,密码以及开户金额。

voidadd()

{

System.out.println("请输入姓名");

Stringname=KB.scanString();

System.out.println("请输入账号");

intID=KB.scanInt();

System.out.println("请输入密码");

intpassword=KB.scanInt();

System.out.println("请输入开户金额");

doublemoney=KB.scanDouble();



Custtemp=newCust(name,ID,password,money);

v.add(temp);

}

管理员可以查询顾客的基本信息

voidprint()

{

System.out.println("请输入要查询顾客的账号");

intID=KB.scanInt();

inti=0;

for(i=0;i
{

Custtemp=(Cust)v.get(i);

if(temp.ID==ID)

{

temp.print();

break;

}

}

if(i==v.size())

{

System.out.println("没有该顾客");

}

}

KB类中有staticintscanInt(),staticStringscanString(),staticDoublescanDouble()方法。



3运行结果及分析:

运行程序,会出现选择界面,登陆者首先确认身份。

选择管理员后出现管理员菜单模块,管理员的功能有添加用户,删除用户,查询用户,打印清单和退出功能。管理员添加用户时要填写账户的基本信息。如图2所示。









(2)用户进入菜单选项。

选择用户选项时,用户要输入账号和密码,全部正确后,进入主菜单模块,用户可进行选择,用户的功能有存款、取款、查询、转账、退出功能。用户在进行存取款时,存款金额要大于0,取款金额要大于0小于账户余额。用户转账时,要正确输入对方账号,转账余额要大于等于0小于自己账户的余额。用户在操作完毕后退出,用户进行确认后,退出程序。如图3所示。

















图4用户查询界面

















4心得体会

在这次课程设计中,让我学会了如何去完成一个任务,去解决一个问题。当遇到问题要冷静,想办法一点一点的排除障碍,到最后获取成功,这应该就是学习的乐趣。有时候不懂的就需要问别人了,虚心请教,从别人的身上真的能学到自己没有的东西,每一次的挫折都会使我更接近成功。还有学会了在工作中与别人的合作与交流。这次课程设计在老师和同学那里学到了很多东西,使自己在处理问题方面有了很大的提高。

课程设计中要求有扎实的理论基本知识,操作起来才顺心应手,我这时才明白什么是“书到用时方恨少”。这就激发了学习的欲望。“纸上得来终觉浅,绝知此事要躬行!”,在短暂的实训过程中,让我深深感受到自己在实际运用中专业知识的匮乏。以前总以为自己学的还不错,一旦应用到实际就大不一样了。





































参考文献

[1]王国辉,吕海涛.Java数据库系统开发案例精选[M].北京:人民邮电出版社

[2]陈国君,陈锡祯.Java2程序设计基础[M].北京:清华大学出版社

[3]袁海燕.Java实用程序设计100例[M].北京:人民邮电出版社

[4]朱站立、沈伟.Java程序设计实用教程[M].电子工业出版社

[5]印旻编、许伟.Java2从入门到精通[M].北京那个:清华大学出版社

[6]刘彦明.Java语言及其程序设计[M].西安电子科技大学出版社

[7]廖卫东,陈梅.Java程序设计[M].机械工业出版社









classDemoCust

{

publicstaticvoidmain(String[]args)

{

Admina=newAdmin();

while(true)

{

System.out.println("");

System.out.println("管理员\t1");

System.out.println("用户\t\t2");

System.out.println("退出\t\t3");

System.out.println("");

intc=KB.scanInt();

switch(c)

{

case1:

{

a.run();

}break;

case2:

{

System.out.println("请输入您的账号");

intID=KB.scanInt();

inti=0;

for(i=0;i
{

Custtemp=(Cust)a.v.get(i);

if(ID==temp.ID)

{

temp.run(ID);

break;

}

}

if(i==a.v.size())

{

System.out.println("用户不存在");

}

System.out.println("欢迎下次光临");

}break;

case3:

return;

}

}

}

}



























课程设计说明书NO.1







沈阳大学





课程设计说明书NO.1









献花(0)
+1
(本文系薇薇one图书...首藏)