没有合适的资源?快使用搜索试试~ 我知道了~
JAVA课程设计报告ATM存取款系统.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 170 浏览量
2022-06-10
19:14:57
上传
评论
收藏 357KB DOC 举报
温馨提示
试读
26页
JAVA课程设计报告ATM存取款系统
资源推荐
资源详情
资源评论
目 录
1 课程设计题目描述和基本设计要求................................................................2
2 系统需求分析....................................................................................................2
2.1 功能需求分析 2
2.2 其他需求分析 2
3 系统设计............................................................................................................3
3.1 总体设计 3
3.2 ATM 柜员机界面设计 3
3.3 各功能模块设计 4
3.3.1 登陆页面模块设计 4
3.3.2 选择服务模块设计 4
3.3.3 取款模块设计 5
在取款模块中,和其他的界面也是同样的结构。也是有一个文本框
和一个按钮还有标签组成的。用户在文本框中输入他想取的数额,
但是必须是 100 的倍数,而且每一次最多只能取 5000 块。当然了取
款的时候也不能超过卡里的余额,再就是卡里的余额不可以为负,
否则就会弹出报错的窗口。3.3.4 退卡模块设计 5
3.4 异常处理情况说明 5
4 系统实现与测试................................................................................................5
6.1 遇到的问题及解决办法 26
6.2 心得体会 26
ATM 柜员机
1 课程设计题目描述和基本设计要求
ATM 柜员机主要是由各个 Windows 窗口组成,它是由登录页面、选择服务、取款、
查询余额、修改密码和退卡等功能。它的各种按钮的事件和功能可以简单的模拟 ATM
柜员机的要求。
2 系统需求分析
2.1 功能需求分析
主要功能如下所述:
要求使用图形用户界面。当输入给定的卡号和密码(初始卡号为 000000 和密码为
123456)时,系统能登录 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 柜员机打交道比较多的,也是大家对安全比较关心的问题:密码。所以第
一个界面就是要输入密码和卡号才能继续服务。
我定义了文本框累的对象 tf1,tf2。抓药是用于输入单行的文本;文本区调用 public
String getText()方法,获取用户想要的字符串。用来判断输入的密码和卡号是否正确,
如果不正确的话,则弹出密码或卡号错误的警告框,并用 dispose()关掉窗口。
3.3.2 选择服务模块设计
在选择服务模块中,有各种 ATM 的服务功能,只要用户在该界面中选择按钮,它
就会弹出各个相应的界面。每一个按钮都有监听器,在选择了按钮后, java.awt.event
中 的 ActionEvent 类 创 建 一 个 事 件 对 象 , 并 将 它 传 递 给 方 法 public void
actionPerformed(ActionEvent e)中的参数 e,监视器就会知道所发生的事件,对此事件进
行处理。
3.3.3 取款模块设计
在取款模块中,和其他的界面也是同样的结构。也是有一个文本框和一个按钮还有标
签组成的。用户在文本框中输入他想取的数额,但是必须是 100 的倍数,而且每一次
最多只能取 5000 块。当然了取款的时候也不能超过卡里的余额,再就是卡里的余额不
可以为负,否则就会弹出报错的窗口。3.3.4 退卡模块设计
在 退 卡 模 块 设 计 中 , 这 个 方 法 就 更 加 的 简 单 了 , 它 只 是 用 了
if(e.getSource()==button4){//退出
System.exit(0);
dispose();
}
这个方法就可以实现了,这里就不再多说了。
3.4 异常处理情况说明
(1)打开、保存文件时的异常处理
需要处理的异常:IOException
(2)数据库访问时的异常处理
需要处理的异常:SQLException
(3)加载类时的异常处理
需要 处理 的异 常: ClassNotFindException , 当应 用程 序试图 使用 Class 类 中的
forName 方法通过字符串名加载类时,但是没有找到具有指定名称的类的定义。
(4)加载 URL 时的异常
需要处理的异常:MalformedURLException,抛出这一异常指示出现了错误的
URL。或者在规范字符串中找不到任何合法协议,或者无法分析字符串。
4 系统实现与测试
(1)编译运行程序后,将会看到如下的界面,如图 2 所示。如果输入的密码或卡
号不正确的话就会报右下图的错误。
剩余25页未读,继续阅读
资源评论
oligaga
- 粉丝: 51
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功