《 JAVA 游 戏 开 发 》 课 程 设 计 报 告
题 目 ATM 柜员机
姓 名:
学 号:
专 业:
班 级:
计算机科学与技术系
2009 年 6 月
目 录
1 课程设计过程概述........................................................................................2
2 课程设计题目描述和基本设计要求............................................................2
3 系统需求分析................................................................................................2
3.1 功能需求分析∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙2
3.2 其他需求分析∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙2
4 系统设计........................................................................................................3
4.1 总体设计∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙3
4.2 ATM 柜员机界面设计∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙4
4.3 各功能模块设计∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙5
4.3.1 登陆页面模块设计∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙5
4.3.2 选择服务模块设计∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙6
4.3.3 取款模块设计∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙8
4.3.4 修改密码模块设计∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙9
4.3.5 退卡模块设计∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙10
4.4 异常处理情况说明∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙10
5 系统实现与测试..........................................................................................11
6 课程设计总结..............................................................................................13
6.1 遇到的问题及解决办法∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙13
6.2 心得体会∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙13
参考文献..........................................................................................................14
附录..................................................................................................................14
ATM 柜员机
1 课程设计过程概述
2009 年 6 月,JAVA 游戏开发课程设计在实验楼三楼机房进行,持续时间为两周。
这次课程设计的主要目的是结合面向对象程序设计课程,培养我们面向对象软件开发的
思维,初步了解软件开发的一般流程,提高用 JAVA 编程的实际动手能力并增强大家对
面向对象的了解。这次课程设计的主要内容是独立用 JAVA 语言开发一个小的应用程序。
我开发了一个 ATM 柜员机。
2 课程设计题目描述和基本设计要求
我设计的 ATM 柜员机主要是由各个 Windows 窗口组成,它是由登录页面、选择服
务、取款、查询余额、修改密码和退卡等功能。它的各种按钮的事件和功能可以简单的
模拟 ATM 柜员机的要求。
3 系统需求分析
3.1 功能需求分析
本 ATM 柜员机的主要功能如下所述:
要求使用图形用户界面。当输入给定的卡号和密码(初始卡号为 000000 和密码为
123456)时,系统能登录 ATM 柜员机系统,用户可以按照以下规则进行:
查询余额:初始余额为 50000 元
ATM 取款:每次取款金额为 100 的倍数,总额不超过 5000 元,支取金额不允
许透支。
ATM 存款:不能出现负存款。
修改密码:只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可
以成功修改密码。
3.2 其他需求分析
(1)性能描述
实时性好、灵活性强、易于不同年龄阶段的人操作。
(2)设计约束
开发工具:JCrator ProV3.5.0
运行环境:Windows 2000 以上
能实现用户所定义的各项需求。
(3)界面要求
以 Windows 窗口形式显示,标题栏为 ATM 柜员机名称,右上角有最小化按钮、最
大化按钮、关闭按钮,不同的窗口中有不同的按钮和选择菜单。
4 系统设计
4.1 总体设计
我所设计的 ATM 柜员机主要是由登录页面模块还由选择服务模块组成,其中选择
服务模块又由取款模块、查询余额模块、修改密码模块、退卡模块组成。其功能结构图
如下所示:
图 1 ATM 功能结构示意图
4.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)窗体的主要结构的设计