ATMJAVA课程设计.docx
- 文档编号:2987859
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:28
- 大小:202.48KB
ATMJAVA课程设计.docx
《ATMJAVA课程设计.docx》由会员分享,可在线阅读,更多相关《ATMJAVA课程设计.docx(28页珍藏版)》请在冰豆网上搜索。
ATMJAVA课程设计
ATM柜员机模拟程序
摘要
使用图形用户界面。
当输入给定的卡号和密码(初始卡号为123456和密码为123456)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行:
查询余额:
初始余额为50000元
ATM取款:
每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。
ATM存款:
不能出现负存款。
修改密码:
只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。
我所设计的ATM柜员机主要是由登录页面模块还由选择服务模块组成,其中选择服务模块又由取款模块、查询余额模块、修改密码模块、退卡模块组成。
一个系统界面的好坏直接影响到用户的操作,界面设计要求样式美观、简单明了、方便易操作。
我设计的界面主要分为窗体、菜单、按钮和文本输入框几个部分,分别执行相应的操作。
关键字:
图形用户界面;ATM;柜员机;模拟程序;模块;
ATMmachinessimulationprogram
Abstract
Usethegraphicaluserinterface.Whentheinputgivencardnumberandpassword(initialcardnumberfor123456andpasswordfor123456),thesystemcanloginATMmachinessystem,userscanaccordingtothefollowingrules:
Inquiresthebalance:
initialbalanceis50000yuanATMwithdrawals:
everytimeamultipleoftheamountof,thetotalwillnotmorethan5000yuan,theamountofwithdrawalsallowsnooverdraft.
ATMdeposits:
can'tnegativedeposits.
Changethepassword:
onlythecorrectpasswordisold,thenewpasswordaccordswitharequirement,andtwoenterthesamecasecanbemodifiedsuccessfullypassword.
IdesignedbyATMmachinesismainlycomposedoftheloginpagemodulebychoiceservicemoduleis,selectingtheservicemodulebywithdrawalsandmodule,inquiresmodule,modifythepasswordbalancemodule,returncardmodules.Asysteminterfacehasadirectinfluenceontheuser'soperation,interfacedesignrequirementsstylebeauty,simpleandclear,maketheoperationeasy.Idesigninterfacearedividedintoform,menu,buttonandtextinputboxsections
Keywords:
graphicaluserinterface;ATM;AutomatedTellerMachine;simulationprogram;module;
1系统需求分析
1.1功能需求分析
本ATM柜员机的主要功能如下所述:
要求使用图形用户界面。
当输入给定的卡号和密码(初始卡号为123456和密码为123456)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行:
●查询余额:
初始余额为50000元
●ATM取款:
每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。
●ATM存款:
不能出现负存款。
●修改密码:
只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。
1.2其他需求分析
(1)性能描述
实时性好、灵活性强、易于不同年龄阶段的人操作。
(2)设计约束
开发工具:
Eclipse8.6
运行环境:
Windows7
能实现用户所定义的各项需求。
(3)界面要求
以Windows窗口形式显示,标题栏为ATM柜员机名称,右上角有最小化按钮、最大化按钮、关闭按钮,不同的窗口中有不同的按钮和选择菜单。
2概要设计
我设计的ATM柜员机主要是由各个Windows窗口组成,它是由登录页面、选择服务、取款、查询余额、修改密码和退卡等功能。
它的各种按钮的事件和功能可以简单的模拟ATM柜员机的要求。
3详细设计
3.1总体设计
我所设计的ATM柜员机主要是由登录页面模块还由选择服务模块组成,其中选择服务模块又由取款模块、查询余额模块、修改密码模块、退卡模块组成。
其功能结构图如下所示:
图1ATM功能结构示意图
3.2ATM柜员机界面设计
我觉得一个系统的界面应该要简单明了,当然样式美观就更好了。
我设计的界面主要是由窗体组成,操作简单。
而每一个窗口则执行相应的功能。
一个系统界面的好坏直接影响到用户的操作,界面设计要求样式美观、简单明了、方便易操作。
我设计的界面主要分为窗体、菜单、按钮和文本输入框几个部分,分别执行相应的操作。
(1)窗体的设计
窗体整个框架使用Frame类构造,Frame有自己的外边框和自己的标题,创建Frame时可以指定其窗口标题,我创建的窗口标题是各个不同功能的模块的名字,比如说查询余额,还有取款等。
相应源代码为:
WindowBox(Strings,Accountact){super(“ATM柜员机”);}、Selection(Strings,Accountact){
super(s);
}
向Frame窗口中添加组件使用add()。
例如:
button1=newButton("存款");
p1.add(button1);
this.add(p1);
每个Frame在其右上角都有三个控制图标,分别代表将窗口最小化、窗口最大化和关闭的操作,其中最小化和最大化操作Frame可自动完成,而关闭窗口操作实现需要书写有关的代码,在我的程序中我采用的是对WINDOWS_CLOSING事件做出响应,调用dispose()方法关闭窗口。
Frame也可以引发WindowsEvent类代表的窗口事件。
相应源代码为:
addWindowListener(newWindowAdapter()//窗口侦听器,以从此窗口接收窗口事件
{publicvoidwindowClosing(WindowEvente)//处理窗口关闭事件
{System.exit(0);}
});
}
(2)窗体的主要结构的设计
我所设计的窗口的主要结构的特点就是每个窗口都对应着一个特定的功能。
比如说报各种各样的错,还有各种查询余额、取款、选择服务等,所以它们都是由各种按钮和文本框,标签组成的,而联系各个窗体成为一个整体的就是各个按钮的监听事件。
所以整个设计就趋向简单化了。
为了定义各个按钮所对应的命令和操作,首先需要将各个按钮注册给实现了动作事件的监听接口ActionListener的监听者,然后为监听者定义actionPerformed(ActionEvente)方法,在这个方法中调用e.getSource()或e.getActionCommand()来判断用户点击的菜单子项,并完成这个菜单子项定义的操作。
3.3各功能模块设计
3.3.1登陆页面模块设计
与ATM柜员机打交道比较多的,也是大家对安全比较关心的问题:
密码。
所以第一个界面就是要输入密码和卡号才能继续服务。
我定义了文本框累的对象tf1,tf2。
抓药是用于输入单行的文本;文本区调用publicStringgetText()方法,获取用户想要的字符串。
用来判断输入的密码和卡号是否正确,如果不正确的话,则弹出密码或卡号错误的警告框,并用dispose()关掉窗口。
此模块相应的部分源代码为:
publicvoidactionPerformed(ActionEvente){
Accountact;
Stringcard;
Stringpwd;
act=newAccount("123456","Devil","123456",50000);//初始化
/*选择各种服务*/
if(e.getSource()==button1){
Stringnumber1,number2;
number1=tf1.getText();
number2=tf2.getText();
/*判断密码和卡号是否正确*/if((act.get_Code().equals(number1))&&(act.get_Password().equals(number2))){
dispose();
/*卡号和密码都正确则进入功能选择窗口*/
Selections=newSelection("选择服务",act);
}else{
dispose();
ErrorWarnew=newErrorWarn("消息!
",act);
}
}
/*退卡*/
if(e.getSource()==button2){
System.exit(0);
dispose();
}
}
3.3.2选择服务模块设计
在选择服务模块中,有各种ATM的服务功能,只要用户在该界面中选择按钮,它就会弹出各个相应的界面。
每一个按钮都有监听器,在选择了按钮后,java.awt.event中的ActionEvent类创建一个事件对象,并将它传递给方法publicvoidactionPerformed(ActionEvente)中的参数e,监视器就会知道所发生的事件,对此事件进行处理。
其中的部分源代码为:
p.add(newLabel("请选择你要的服务"));
this.add(p);
button1=newButton("存款");
p1.add(button1);
this.add(p1);
button2=newButton("取款");
p2.add(button2);
this.add(p2);
button3=newButton("查询余额");
p3.add(button3);
this.add(p3);
button4=newButton("退出");
p4.add(button4);
this.add(p4);
button5=newButton("修改密码");
p5.add(button5);
this.add(p5);
this.addWindowListener(newWindowAdapter(){
publicvoidwindowClosing(Win
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ATMJAVA 课程设计