Java程序设计课程设计报告ATM.doc

上传人:b****1 文档编号:231011 上传时间:2022-10-07 格式:DOC 页数:29 大小:1.20MB
下载 相关 举报
Java程序设计课程设计报告ATM.doc_第1页
第1页 / 共29页
Java程序设计课程设计报告ATM.doc_第2页
第2页 / 共29页
Java程序设计课程设计报告ATM.doc_第3页
第3页 / 共29页
Java程序设计课程设计报告ATM.doc_第4页
第4页 / 共29页
Java程序设计课程设计报告ATM.doc_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

Java程序设计课程设计报告ATM.doc

《Java程序设计课程设计报告ATM.doc》由会员分享,可在线阅读,更多相关《Java程序设计课程设计报告ATM.doc(29页珍藏版)》请在冰豆网上搜索。

Java程序设计课程设计报告ATM.doc

《Java程序设计》

课程设计报告

题目:

模拟银行储蓄业务软件

学生姓名:

孙xx学号:

20***********1016

学生姓名:

王xx学号:

20***********1019

系别班级:

14级计算机科学与技术1班

专业(方向):

指导教师:

曹**

信息管理与工程系

2015年12月26日

目录

1系统的需求分析 1

2系统总体设计 1

2.1系统总体设计架构 1

2.2系统各模块设计结构 2

2.2.1用户模块 3

2.2.2管理员模块 4

2.3设计要求 4

2.4系统权限划分 5

3系统详细设计 5

3.1数据类型建立 5

3.2程序模块具体设计 5

3.2.1信息存储模块 5

3.2.2界面功能模块 6

3.2.3用户服务模块 10

3.2.4管理员模块 14

4系统开发环境 18

4.1开发工具 18

4.2应用环境 18

5系统测试 19

6系统不足与改进 25

6.1系统不足 25

6.2改进想法 25

7课程设计总结与心得 26

参考文献 27

1系统的需求分析

当前的银行服务项目较多,一些可以通过独立设备进行的操作的服务项目仍然在专柜进行会造成资源浪费。

并且传统的柜台服务,效率较低。

例如,存取款以及查询存款等不耗时业务,却需要排队等待很长时间。

为了节约时间,节省人力物力,所以有必要把银行部分业务从柜台分离出来,以提高银行整体的工作效率。

随着计算机技术的发展,人们的需求也不断增加。

日常生活中人们越来越多的使用ATM来进行存钱、取钱、转账等银行业务,这个项目的开发是为银行提供一套高效稳定可靠的终端服务平台,为储户登录、存款、取款、查询、转账、手机充值等操作提供便利。

这些已经一本实现,需要提高服务的便捷性和用户界面的友好性。

该系统还主要实现了管理员操作,可以减少实现客户挂失、补卡、开卡等功能的等待时间。

其中的一些术语官方解释如下:

客户 :

在银行办理各种业务的自由人。

 

卡:

客户在银行卡户的凭证之一。

ATM机通过读取卡中信息,进行自助服务。

 

储户 :

在银行办理存款的客户。

 

ATM :

 Auto Teller Machine,分为两部分组成。

一部分是ATM服务器,另一部分是ATM终端。

终端负责和银行卡持有者进行交互,ATM服务器负责处理交易。

一个ATM服务器可以同时连接多个ATM终端。

 

账号:

客户在银行开户的唯一ID。

  

2系统总体设计

2.1系统总体设计架构

系统主要分为两大界面,一个是用户界面,一个是管理员界面。

有各自的进入页面方式,而进入用户界面主要有存款、取款、查询、改密码、转账和手机交费的功能。

管理员界面主要有开户、补办、注销、挂失操作。

在功能实现时,主要有一个公共类用于设置各种信息的类型,另一个类用于存储实例化的用户信息。

一个主界面类,进行进入页面的选择。

然后点击进入用户界面或者管理员界面,两个页面分别包括上述的功能按钮。

可以点击进行选择进入相应的页面进行操作。

每个界面,每个功能都会单独进行一个类的设置。

2.2系统各模块设计结构

该系统分为用户模块和管理员模块。

其中用户模块分为6个模块,管理员分为4个模块。

图2-1用户界面结构示意图

图2-2管理员界面结构示意图

2.2.1用户模块

1、存款:

界面设置——定义各种按钮名称和文本框名称,实例化要添加的文本框、按钮,设置背景图片,向面板上添加按钮和文本框并设置添加位置、大小和按钮的背景颜色,设置窗体大小。

下面的每个用户界面的设置方式基本都相同就不一一列举主要叙述功能的实现。

功能实现——存款的过程相对简单,主要是将文本域内的内容转换为String类型,然后将当前用户的金额加上刚刚转换来的数值,并将其设置到相应的用户信息的变量上即可。

2、取款:

功能实现就是按钮的动作监听。

功能实现有所不同,取款分为储蓄卡和信用卡,通过设置标记来进行标记,用于区分两种卡。

将输入到文本框的内容强制转化,在所有的信息中搜索与该卡号相符的信息,将所有信息保存到新的集合类,进行更改。

进行小窗口的提示输出。

存取款的过程中,面板上会有两个相对其他面板不同的按钮,就是显示存取款金额的按钮,每个按钮都设置相应的监听,如果按动此按钮,则将按钮上的相应信息传给setTest函数,将文本域内设置为相应的数值。

3、查询:

只是需要设置监听动作实现查询按钮的功能。

需要查询时将文本域内的内容强制转换为String类型,在集合类中查找相应内容,并为小窗体显示的函数传入相应的数值。

通过小窗体显示金额。

4、修改密码:

在功能现实时主要考虑原密码是否正确、两次输入的新密码是否一致、输入的密码是否为六位有效字符。

如果正确进入相应的页面,输入错误三次后则吞卡。

两次密码输入不一致则进行小窗口提示,并且调用函数将输入的内容清空,让用户重新输入。

字符串长度不为六位则进行清空重新输入。

5、转账:

在功能现实时需要考虑的问题就是卡号输入是否正确、判断是否输入的是数字、输入卡号的格式是否为三位有效的数字。

输入的卡号是否为当前登录的用户的卡号,如果是则小窗口提示不能为自己转账。

如果正常转出,即余额能满足支出金额时,则在集合类对象中将所取金额减去并进行存储即可。

当转出金额大于卡内余额时需要提示,这里可以通过boolean值来进行标记,判断如果是信用卡则可以透支1000元,如果透支额度超过1000元,提示用户取款不成功。

6、手机交费:

在功能是需要考虑的就是输入的手机号码的判断,利用到了正则表达式。

判断手机号码以常用的两位数字开头,且总的位数为11位的正确数字,还有就是当充值的金额大于卡内金额时,要区分卡是否为信用卡,需要对用户进行提示。

7、利率:

利率是在用户主界面上设置的一个动作监听不是一个单独的类。

将相应的信息get出来,然后将其乘以当前市场的短期存款利率,将获得的数值传入到小窗口提示的函数中,在小窗口进行输出。

2.2.2管理员模块

1、开户:

在功能实现上我们需要考虑的是银行卡的类型有信用卡和储蓄卡两种、进行姓名输入时要判断该用户是否进行过开户,如果已开户则不能再次进行开户。

密码的数位少于6位时,我们需要提示密码请输入不少于6位的数字,在第二次输入密码的时候需要考虑的是两次密码是否一致,当不一致时候需要提示用户,密码输入不一致。

自动进行清空。

2、注销:

注销中需要想到的是用户输入需要注销的卡号有没有存在这个需要判断一下,当输入错误的卡号时需要提示您输入的卡号不存在。

同时还有注销卡号的密码是否输入正确。

输入错误时同样需要提示你输入的密码有误。

注销之后还有一个调查,进行收集用户注销的原因,设置了三个选择的数据。

3、挂失补办:

补办中我们需要考虑的是挂失的卡号和密码,卡号需要满足的是卡号的号码输入正确,同时对应卡号的密码也需要输入正确。

但是如果这个卡被注销过之后我们就不能进行补办,同时提示你这张卡不存在。

2.3设计要求

设计实现模拟银行储蓄业务软件。

能够实现管理员的登录,能够进行账户的开户、账户的查询及账户销户等业务。

用户可以实现存款、取款、转账以功能。

能够结合当前的利率,为储户自动计算相应的存款收益。

2.4系统权限划分

本系统分为用户和管理者两个主面板,用户可以通过自己的卡号和密码进行用户界面的登录。

管理员需要通过身份验证——密码验证,进行管理员界面登录,然后对用户信息进行相应的操作。

3系统详细设计

3.1数据类型建立

管理员密码

字符串

用户帐号

字符串

用户密码

字符串

电话号码

字符串

信用卡与储蓄卡

Boolean

3.2程序模块具体设计

该程序主要分为四个主要模块。

一个是公共类,用于存储用户的信息和实例化的对象信息;一个是用户服务模块,主要包括用户登录界面的设计还有用户各种功能类的实现;还有一个是管理员模块,主要包括管理员的各种业务实现。

并且将信息存储模块单独建立package其他的功能类放到一个package中,进行信息存储与功能的划分。

在所有功能实现后,由一个主要登录界面、一个用户登录界面和一个管理员登陆界面的设置。

主要的登录界面用于选择人员登录,是管理员还是用户。

进入相应界面后就是相应的人员登录口令,登陆后就进入个字的主要面板。

下面具体进行介绍。

3.2.1信息存储模块

建立两个类。

一个是card类,设置用户信息包括的类型变量主要有账户、密码、姓名、存款总金额。

再设置一个布尔类型值,用于判断用户使用的卡片是储蓄卡还是信用卡。

普通储蓄卡标记为true,信用卡标记为false。

privateStringaccount;//账户

privateStringpwd;//密码

privateStringname;//姓名

privatefloattotalMoney;//总金额

privatebooleantype//标记卡的类型

类型变量设置完成后设置一个构造方法,传递参数。

然后设置每个类型的set,get方法。

用于变量的设置和获取。

另一个是CardArray类,在CardArray类中定义一个集合类对象,通过集合类对象来存储用户的分条信息。

在构造成员方法时,将返回类型设置为集合类类型。

并且在类中通过add();方法向集合类中添加实例化的card类的三条用户信息。

3.2.2界面功能模块

(一)主界面(Main):

主界面主要是用于管理员和用户的登录选择。

主要包括界面的设计,按钮的设计和两个按钮的动作监听。

还包含一个使用该系统时系统的时间显示。

设置按钮JButtonbtClient,btServer;、容器和面板Containercontainer=this.getContentPane();JPanelpanel=newJPanel(null);,设置按钮的位置按钮的大小以及字体的设置和按钮背景色。

btClient.setBounds(120,260,140,40);

btServer.setBounds(300,260,140,40);

lTime.setBounds(70,350,100,40);

btClient.setFont(font);

btServer.setFont(font);

lTime.setFont(font);,

//按钮背景色

btClient.setBackground(Color.white);

btServer.setBackground(Color.white);

先设置窗体,窗体的大小this.setSize(580,450);、窗体大小不可变setResizable(false)、位置setLocation(350,170);、可视setVisible(true)、窗体题目setTitle("欢迎来到金苑银行!

");以及窗体关闭按钮的动作添加panel.setLayout(null);。

然后就是界面设计,包括容器和面板的使用以及将相应的按钮添加到panel上。

为使窗体更美观,设置一个方法,将p好的背景图片设置大小和位置在窗体显示。

panel=newJPanel(){

protectedvoidpaintComponent(Graphicsg){//图片设置

ImageIconicon

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 自我管理与提升

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1