- 1、本文档共39页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JAVA课程设计报告ATM存取款系统
PAGE
目 录
TOC \o 1-3 \u 1课程设计题目描述和基本设计要求
2 系统需求分析
2.1 功能需求分析
2.2 其他需求分析
3系统设计
3.1 总体设计
3.2 ATM柜员机界面设计
3.3 各功能模块设计
3.3.1 登陆页面模块设计
3.3.2 选择服务模块设计
3.3.3 取款模块设计
3.3.4 退卡模块设计
3.4 异常处理情况说明
4 系统实现与测试
5总程序
6 课程设计总结
6.1 遇到的问题及解决办法
6.2 心得体会
ATM柜员机
1 课程设计题目描述和基本设计要求
ATM柜员机主要是由各个Windows窗口组成,它是由登录页面、选择服务、取款、查询余额、修改密码和退卡等功能。它的各种按钮的事件和功能可以简单的模拟ATM柜员机的要求。
2 系统需求分析
2.1 功能需求分析
主要功能如下所述:
要求使用图形用户界面。当输入给定的卡号和密码(初始卡号为和密码为)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行:
查询余额:初始余额为50000元
ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。
ATM存款:不能出现负存款。
修改密码:只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。
2.2 其他需求分析
(1)性能描述
实时性好、灵活性强、易于不同年龄阶段的人操作。
(2)设计约束
开发工具:JCrator ProV3.5.0
运行环境:Windows 2000以上
能实现用户所定义的各项需求。
(3)界面要求
以Windows窗口形式显示,标题栏为ATM柜员机名称,右上角有最小化按钮、最大化按钮、关闭按钮,不同的窗口中有不同的按钮和选择菜单。
3 系统设计
3.1 总体设计
我所设计的ATM柜员机主要是由登录页面模块还由选择服务模块组成,其中选择服务模块又由取款模块、查询余额模块、修改密码模块、退卡模块组成。其功能结构图如下所示:
图1 ATM功能结构示意图
3.2 ATM柜员机界面设计
一个系统界面的好坏直接影响到用户的操作,界面设计要求样式美观、简单明了、方便易操作。界面主要分为窗体、菜单、按钮和文本输入框几个部分,分别执行相应的操作。
(1)窗体的设计
窗体整个框架使用Frame类构造,Frame有自己的外边框和自己的标题,创建Frame时可以指定其窗口标题,我创建的窗口标题是各个不同功能的模块的名字,比如说查询余额,还有取款等。相应源代码为:WindowBox(String s,Account act){super(“ATM柜员机”);} 、Selection(String s,Account act){
super(s);
}
向Frame窗口中添加组件使用add()。
例如:button1 = new Button(存款);
p1.add(button1);
this.add(p1);
每个Frame在其右上角都有三个控制图标,分别代表将窗口最小化、窗口最大化和关闭的操作,其中最小化和最大化操作Frame可自动完成,而关闭窗口操作实现需要书写有关的代码,在我的程序中我采用的是对WINDOWS_CLOSING事件做出响应,调用dispose()方法关闭窗口。Frame也可以引发WindowsEvent类代表的窗口事件。相应源代码为:
addWindowListener(new WindowAdapter() //窗口侦听器,以从此窗口接收窗口事件
{public void windowClosing(WindowEvent e) //处理窗口关闭事件
{ System.exit(0); }
});
}
(2)窗体的主要结构的设计
我所设计的窗口的主要结构的特点就是每个窗口都对应着一个特定的功能。比如说报各种各样的错,还有各种查询余额、取款、选择服务等,所以它们都是由各种按钮和文本框,标签组成的,而联系各个窗体成为一个整体的就是各个按钮的监听事件。所以整个设计就趋向简单化了。
为了定义各个按钮所对应的命令和操作,首先需要将各个按钮注册给实现了动作事件的监听接口ActionListener的监听者,然后为监听者定义actionPerformed(ActionEvent e)方法,在这个方法中调用e.getSource()或e.getActionCommand()来判断用户点击的菜单子项,并完成这个菜单子项定义的操作。
3.3 各功能模块设计
3.3.1 登陆页面模块设计
与ATM柜员机打交道比较多的,也是大家对安全比较关心的问题:密码。所以第一个界面就是要输入密码和卡号才能继续服务。
我定义了文本框累的
您可能关注的文档
- 2017-2018年事业单位考试《公共基础知识》模拟题1-7(含答案解析).doc
- 2017吨红酸汤加工及5000亩辣椒种植基地扩建项目可行性研究报告.doc
- 2017年特色小镇建设情况调研报告.doc
- 2017精准扶贫年度总结 2017年精准扶贫工作总结.doc
- 2017最新实业有限公司新建年产50000吨特殊钢制品生产线项目环境影响报告书.doc
- 20万吨尿素生产工程项目立项申请报告(可编辑).doc
- 2018年某某学校“做自己的首席安全官—平安校园行”系列活动主题班会活动方案和工作实施方案两套汇编.docx
- 20万辆电动汽车项目投资可研报告(可编辑).doc
- 20万辆ct电动汽车项目可行性研究报告(可编辑).doc
- 20年度范县小型农田水利专项工程建设方案(高效节水项目).doc
文档评论(0)