工学系JAVA课程设计报告模板文档格式.docx
《工学系JAVA课程设计报告模板文档格式.docx》由会员分享,可在线阅读,更多相关《工学系JAVA课程设计报告模板文档格式.docx(33页珍藏版)》请在冰点文库上搜索。
3.2用户登陆模块的设计6
3.2.1.1界面样式7
3.3存取款模块的设计9
3.3.2.1界面样式10
3.3.2.5流程逻辑11
3.3.3退出程序11
四、系统测试11
五、总结12
六、附件(代码、部分图表)12
银行存取款管理系统
一、系统开发的背景
随着时代的发展,计算机在各行各业中得到广泛的应用,尤其在工作量大,重复劳动的领域中,计算机的自动化管理能力更是得到发挥。
该系统涉及的简单银行存取款模拟系统是以Java语言为开发语言,能够解决用银行对客户信息管理等一系列问题,实现客户开设账户、存款、取款、明细查询等操作。
经过测试表明该系统运行稳定且各项功能都能正确运行,基本达到预期的要求。
为了对本学期JAVA学习的检测,因此做此系统,以检查学生的学习情况。
二、系统分析与设计
(一)、系统功能要求
本系统是一套模拟现实银行系统收支管理的软件,通过智能化软件系统,采用先进的技术,实现真正意义上的银行收支,为广大公众和企业提供最大方便;
通过对文件的操作进行数据保存和读取;
用户注册,注册信息写入文件保存;
要求有管理员登录,只有管理员登录后才能进行后续操作;
用户登录首先输入卡号和密码,通过读取文件用户信息验证,验证通过显示操作界面,然后选择存或取及余额查询,系统会自动进行各种计算,最后将信息保存到文件中。
存款及取款要有输入验证,输入金额不能为负数或字母,验证通过写入文件;
查询余额从文件中读取数据。
(二)、系统模块结构设计
功能流程如下图所示:
图1
图2
(三)概要设计
功能结构图:
图3.1
3.1申请帐户
填写注册信息,注册成功后,把用户信息写入文件。
3.2登录
输入帐户号和密码,读取文件内容进行验证,如果存在,登录成功,否则提示无此账户,请确认后重新输入!
!
登录成功后后续操作:
3.2.1.存款
输入的存款金额进行验证,如输入负数或字母,提示请正确输入金额。
存款成功后,写文件,把原有余额数增加!
3.2.2取款
取款成功后,写文件,把原有余额数减少!
当取款金额大于余额,要有提示,并操作不成功。
3.2.3查询余额
显示用户余额。
3.2.4返回上一层
返回到登录界面。
3.3退出
退出系统。
三、系统的设计与实现
3.1管理员登陆模块的设计
3.1.1界面样式
3.1.2验证条件
管理员用户名默认为123,密码为456。
其它输入皆为非法当用户输入合法注册用户后,显示操作界面。
在程序中应用Bank类,运用for循环最多三次验证。
3.2用户登陆模块的设计
在程序中应用mainuser类,显示用户登陆界面。
选择1或2或3,进行操作。
在程序中应用xuanze类,分为1、2、3三种。
3.2.1新用户注册
新用户选择1,进行操作。
在程序中应用newuser类。
3.2.1.1界面样式
图3.2
3.2.1.2输入项
新用户输入姓名、身份证号码、密码及确认密码。
输入两次密码必须一致,不一致需要重新输入。
在程序中定义两个变量pass1和pass2,判断两个变量的值是否相等。
3.2.1.3输出项
新用户注册成功后,系统将自动生成卡号,并有余额10元。
新建userinformation文本,并将信息写入userinformation文本中。
在程序中应用Card类,自动生成卡号。
3.2.2老用户登陆
老用户登陆选择2,进入登陆界面。
在程序中应用olduser类。
3.2.2.1界面样式
图3.3
3.2.2.2验证条件
用户卡号和密码都正确可进入系统,否则重新输入,最多三次。
运用for循环最多验证三次。
3.2.2.3输入项
用户输入卡号和密码,卡号和密码必须都正确。
3.2.2.4输出项
如果用户名和密码完全正确,读出用户信息及账上余额,并可进行存取款操作,否则,提示卡号或密码错误,直到三次输入错误。
在程序中定义count变量,直到变量值为0。
3.2.3退出程序
用户选择3,可退出程序。
3.3存取款模块的设计
用户登录成功后,可进入存取款系统。
在程序中应用xuanze1类。
3.3.1存款
用户选择1,可进行存款操作。
在程序中应用cunkuan类。
3.3.1.1界面样式
图3.4
3.3.1.2验证条件
用户输入的存款金额,金额不能为负数或字母。
3.3.1.3输入项
输入存款金额,要求为数字。
3.3.1.4输出项
新建moneyInformation文本,显示存款后余额,并写入moneyInformation文本中。
3.3.2取款
用户选择2,可进行取款操作。
在程序中应用qukuan类。
3.3.2.1界面样式
图3.5
3.3.2.2验证条件
用户输入的取款金额,金额不能为负数或字母。
3.3.2.3输入项
用户输入的取款数目,要求为数字。
3.3.2.4输出项
如果取款数不大于余额,同时余额不低于10元,读取取款数目,将信息写入文本文件,提示取款成功,返回主界面。
否则,提示取款错误,请重新输入。
3.3.2.5流程逻辑
图3.6
3.3.3退出程序
选择3,可退出程序。
四、系统测试
可以使用jar.exe把一写文件压缩成JAR文件,来发布我们的应用程序,我们把本java应用程序中涉及到的类文件压缩成一个JAR文件,即Bank.jar。
程序详见附录。
测试结果:
图4
五、总结
随着我国信息产业发展迅速以及中国加入世界贸易组织,国内银行之间以及与外国银行之间的竞争也越来越激烈,怎样发展业务以吸引更多顾客是各银行面队的当务之急。
而存取款帐目管理是银行业务流程过程中十分重要且必备的环节之一,在银行业务流程当中起着相当重要的作用。
现在银行的业务越来越多,吸引的客户也越来越多,银行帐目的管理就越显重要。
银行存取款系统是针对银行帐目的日常管理而设计。
银行帐目管理系统不仅要求操作方便而且要求界面简洁,它还需要实现帐目管理,用户查询和查询统计功能。
针对上述情况和要求,采用软件工程的开发原理,依据软件流程过程规范,按照需求分析、概要设计、详细设计、程序编码、测试等过程开发了一个银行账目管理系统。
采用JAVA作为编程语言,实现了银行存取款系统,完成系统管理、存取款帐目管理、查询管理、用户查询等功能。
通过问老师、同学、上网,运用JAVA知识完成了此设计,由于本人知识体系不够,以后需经常上机实践,此设计有许多需更改的地方,望老师得以指点!
六、附件(代码、部分图表)
附录程序
//Bank.java
importjava.io.*;
//使用JavaI/O系统必须import该包
importjava.util.*;
//使用Util中的类
/*
*银行存取款系统的主框架类
*/
publicclassBank
{
/*定义变量*/
staticintcount=3;
//在3次输入密码错误之后退出程序
staticintnum;
//获取服务号
staticStringss="
"
;
staticStringkahao;
//获取卡号
staticStringname,password;
//管理员登录的用户名,管理员登录的密码
staticStringpass1;
//用户密码
staticintmin=100000;
staticdoublemoney6=10.0;
//用户拥有金金额
staticlongjilu;
//获取记录
publicstaticvoidmain(Stringargs[])//管理员登录页面
{
System.out.println("
------------------------------------------"
);
System.out.println("
---------"
欢迎进入银行管理系统"
try
{
for(intk=1;
k<
=3;
k++){//输入用户名和密码,可操作三次
System.out.print("
请输入管理员用户名:
name=input();
请输入管理员密码:
password=input();
if(name.equals("
123"
)&
&
password.equals("
456"
))
//默认管理员用户名为123,密码为456
mainuser();
else
{//管理员用户名或密码输入错误
---------------------------------------"
System.out.println("
您输入的管理员用户名或密码错误,请重新输入!
}
}//管理员用户名或密码输入错误最多三次
您输入的管理员用户名或密码超过错误次数"
系统将退出"
}//管理员用户名或密码输入错误已三次,系统退出
catch(Exceptionee){}//异常处理
}
publicstaticvoidmainuser()//用户主页面
{
---------------------------------"
-----请稍后....----"
Thread.sleep(2000);
catch(InterruptedExceptione)//异常处理
System.out.println(e);
请您选择以下操作:
\n"
----->
用户注册,->
请输入:
1"
//新用户注册选择1
用户登录,->
2"
//老用户登陆选择2
退出程序,->
3"
//退出程序选择3
xuanze();
publicstaticvoidxuanze()//用户根据需要进入选择123
请输入您的选择:
intnum=Integer.parseInt(input());
try{
if(num==1||num==2||num==3)//用户输入1或2或3
switch(num)//多分支语句
case1:
newuser();
break;
//用户选择1进入新用户注册界面
case2:
olduser();
//用户选择2进入老用户登陆界面
case3:
System.exit(0);
//用户选择3退出系统
\t!
请输入1,2,3其中的一个进行选择"
xuanze1();
catch(NumberFormatExceptione)//异常处理,输入的不是1或2或3
------------------------------------------------------"
您的输入的是非法字符,请输入1,2,3其中的一个进行选择"
}
publicstaticvoidnewuser()//新用户注册界面
Stringkahao="
//定义变量
----欢迎新用户注册----"
\n请开始输入您的个人信息"
\n请输入您的姓名:
Stringname1=input();
请输入你的身份证号码:
Stringnumber1=input();
请输入你的密码:
Stringpass1=input();
请再次输入你的密码:
Stringpass2=input();
if(!
pass1.equals(pass2))//两次输入密码必须一致
您输入的密码不一致,请重新输入!
System.out.print("
Stringpass3=input();
Stringpass4=input();
系统给您自动生成的银行卡号:
System.out.println(kahao=card());
您注册成功,请返回登录!
请记住您的卡号和密码,以方便以后使用"
Filefile=newFile("
userInformation.txt"
//新建userInformation文本,将信息存入文档中
FileWriterout=newFileWriter(file,true);
//将信息写入userInformation文本
BufferedWriteroutfile=newBufferedWriter(out);
outfile.write(name1+"
"
outfile.write(number1+"
outfile.write(kahao+"
outfile.write(pass1);
outfile.write("
\r\n"
outfile.flush();
outfile.close();
out.close();
catch(NullPointerExceptione)//异常处理,输入卡号或密码错误最多三次
您的输入的卡号或密码错误,请记清楚后再输"
你还有"
+--count+"
次输入的机会"
if(count==0){System.exit(0);
}
olduser();
catch(IOExceptione)
error"
publicstaticvoidolduser()//老用户登录界面
intlength,i=0,k=0;
Stringstr[]=newString[1000];
//用于分析后的数据存放
Stringtemp[]=newString[1000];
//用于匹配卡号
LinkedListcard1=newLinkedList();
//使用链表实现
----欢迎老用户登陆----"
请输入您的卡号:
kahao=input();
请输入您密码:
pass1=input();
Filefile=newFile("
FileReaderin=newFileReader(file);
//读出userInformation文档中的相应信息
BufferedReaderinfile=newBufferedReader(in);
while((ss=infile.readLine())!
=null)
StringTokenizerfenxi=newStringTokenizer(ss,"
while(fenxi.hasMoreTokens())
str[i]=fenxi.nextToken();
card1.add(str[i]);
i++;
for(intj=0;
j<
card1.size();
j++)//用于匹配卡号
temp[j]=(String)card1.get(j);
if((kahao.equals(temp[2]))&
pass1.equals(temp[3]))
//输入卡号和密码正确,将显示用户资料
\t您输入的卡号和密码完全正确,您将可以做以下操作\n"
Stringname1=temp[0];
Stringnumber1=temp[1];
Stringkahao=temp[2];
Stringpass1=temp[3];
您的用户资料如下:
//显示用户资料
+"
姓名:
+name1);
身份证号:
+number1);
卡号:
+kahao);
密码:
+pass1);
k=0;
break;
else
{k=1;
card1.clear();
if(k==1)//输入卡号或密码错误,最多三次,否则退出系统
if(count==0){System.exit(0);
//重新进入老用户登录页面
//进入存款界面
read();
publicstaticStringcard()//注册新用户系统自动给卡号方法
try{
min=(int)(Math.random()*min+1);
kahao=String.valueOf(min);
Filefile3=newFile("
money