JAVA课程设计-ATM机模拟系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《Java语言程序设计》
课程设计报告
题目:ATM柜员机
专业:信息与计算科学
学号:23
*名:**
指导教师:***
成绩:
2010 年 12 月 10 日
目录
1课程设计研究背景及意义 (2)
2课程设计题目描述和基本功能设计要求 (2)
3系统需求分析 (2)
3.1 功能需求分析 (2)
3.2 其他需求分析 (3)
4 系统设计 (3)
4.1 总体设计 (3)
4.2 ATM柜员机界面设计 (4)
4.3 各功能模块设计 (5)
4.3.1 登陆页面模块设计 (5)
4.3.2 选择服务模块设计 (6)
4.3.3 取款模块设计 (7)
4.3.4 修改密码模块设计 (8)
4.3.5 查询余额模块设计 (9)
4.3.6 退卡模块设计 (9)
4.4 异常处理情况说明 (10)
5 系统实现与测试 (10)
6 课程设计总结 (13)
6.1 遇到的问题及解决办法 (13)
6.2 心得体会 (14)
参考文献 (14)
附录(源码) (14)
1课程设计研究背景及意义
这次课程设计是通过JAVA编程来实现ATM柜员机的功能。以前,人们用手算取钱,不管从方便的角度还是速度的角度来看都不及现在。电子技术的不断发展使得ATM自动化的功能不断完善。在二十一世纪的今天,A TM柜员机是人们生活中重要的工具,所以,对ATM柜员机的研究的课程设计具有重大意义。
这次课程设计的主要目的是结合面向对象程序设计课程,培养我们面向对象开发的思维,初步了解软件开发的一般流程,提高用JA V A编程的实际动手能力并增强大家对面向对象的了解。这次课程设计的主要内容是独立用JA V A语言开发一个小的应用程序。
2 课程设计题目描述和基本功能设计要求
本次设计的ATM柜员机主要是由各个Windows窗口组成,它是由登录页面、选择服务、取款、查询余额、修改密码和退卡等功能。它的各种按钮的事件和功能可以简单的模拟ATM柜员机的要求。
组员分工:
组长(单焱):负责分配其他组员的任务,构建需求分析,系统实现及异常处理情况,调试程序等,把握ATM柜员机的整体布局。
组员1(刘星):负责登陆界面模块,选择服务模块及退卡模块,编写相应代码。
组员2(王玲玲):负责取款、修改密码、查询余额模块,编写相应代码。
3 系统需求分析
3.1 功能需求分析
本ATM柜员机的主要功能如下所述:
要求使用图形用户界面。当输入给定的卡号和密码(初始卡号为000000和密码为123456)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行:
●查询余额:初始余额为50000元
●ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允
许透支。
●ATM存款:不能出现负存款。
修改密码:只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。
3.2 其他需求分析
(1)性能描述
实时性好、灵活性强、易于不同年龄阶段的人操作。
(2)设计约束
开发工具:Eclipse3.2.
运行环境:Windows 2000以上。
(3)界面要求
以Windows窗口形式显示,标题栏为ATM柜员机名称,右上角有最小化按钮、最大化按钮、关闭按钮,不同的窗口中有不同的按钮和选择菜单。
4 系统设计
4.1 总体设计
本次设计的ATM柜员机主要是由登录页面模块还由选择服务模块组成,其中选择服务模块又由取款模块、查询余额模块、修改密码模块、退卡模块组成。如图:
图1 ATM功能结构示意图
4.2 ATM柜员机界面设计
一个系统的界面应该要简单明了,当然样式美观就更好了。本次设计的界面主要是由窗体组成,操作简单。而每一个窗口则执行相应的功能。
一个系统界面的好坏直接影响到用户的操作,界面设计要求样式美观、简单明了、方便易操作。界面主要分为窗体、菜单、按钮和文本输入框几个部分,分别执行相应的操作。
(1)窗体的设计
窗体整个框架使用Frame类构造,Frame有自己的外边框和自己的标题,创建Frame 时可以指定其窗口标题,我创建的窗口标题是各个不同功能的模块的名字,比如说查询余额,还有取款等。相应源代码为:WindowBox(String s){super(s);} 、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)窗体的主要结构的设计(网格布局)