JAVA课程设计论文.docx

上传人:b****3 文档编号:3892435 上传时间:2022-11-26 格式:DOCX 页数:14 大小:270.32KB
下载 相关 举报
JAVA课程设计论文.docx_第1页
第1页 / 共14页
JAVA课程设计论文.docx_第2页
第2页 / 共14页
JAVA课程设计论文.docx_第3页
第3页 / 共14页
JAVA课程设计论文.docx_第4页
第4页 / 共14页
JAVA课程设计论文.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

JAVA课程设计论文.docx

《JAVA课程设计论文.docx》由会员分享,可在线阅读,更多相关《JAVA课程设计论文.docx(14页珍藏版)》请在冰豆网上搜索。

JAVA课程设计论文.docx

JAVA课程设计论文

 

《Java语言程序设计》

课程设计

 

题目:

自动存取款机模拟系统

 

院、系:

计算机信息及技术系

学科专业:

软件工程

学号:

B13060304

学生姓名:

柯东波

指导教师:

刘彩红

 

2015年6月26日

 

一、需求分析

1.1课程设计过程概述

《JAVA课程设计》是一门实践性很强的计算机专业基础课程,更是我们软件工程专业学习完该课程后进行的一次较全面的综合练习。

其目的在于通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本思路和方法;加强学生研发、调试程序的能力;培养学生分析、解决问题的能力;提高学生的实践论文写作能力、学会结合面向对象程序设计课程,培养我们面向对象软件开发的思维,初步了解软件开发的一般流程,提高用JAVA编程的实际动手能力并增强大家对面向对象的了解。

这次课程设计的主要内容是独立用JAVA语言开发一个小的应用程序。

我开发了一个ATM模拟系统。

1.2课程设计编程要求

1.2.1编程要求

可以采用图形用户界面,也可以不用,即可在控制台窗口完成操作。

若使用图形用户界面,则需统一使用Java的Swing组件进行GUI编程(或Applet编程),非Applet程序要求有一个框架窗口,关闭窗口时要注意处理窗口事件退出程序。

(1)程序编码时,必须严格遵守Java程序标识符的一般约定,并要加适量的注释。

(2)程序编码时,注意代码的复用。

(3)系统最好采用三层架构设计模式来实现。

( 三层是指:

界面显示层(UI),业务逻辑层(Business),数据操作层(DataAccess).)

(4)程序编码完成后,一定要进行严密的测试工作。

二、系统需求分析

2.1功能需求分析

本ATM的主要功能如下所述:

要求使用图形用户界面。

当输入给定的卡号和密码(初始卡号为000000和密码为123456)时,系统能登录ATM系统,用户可以按照以下规则进行:

查询余额:

初始余额为50000元

ATM取款:

每次取款金额为100的整数倍,总额不超过5000元,支取金额不允许透支。

ATM存款:

不能出现负存款。

修改密码:

只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。

2.2其他需求分析

(1)性能描述

实时性好、灵活性强、易于不同年龄阶段的人操作。

(2)界面要求

Windows窗口形式显示,标题栏为ATM名称,右上角有最小化按钮、最大化按钮、关闭按钮,不同的窗口中有不同的按钮和选择菜单。

 

三、系统详细设计

3.1总体设计

我所设计的ATM模拟系统主要是由登录页面模块还由选择服务模块组成,其中选择服务模块又由取款模块、查询余额模块、修改密码模块、退卡模块组成。

其功能结构图如下所示:

 

图一ATM功能结构示意图

3.2ATM界面设计

一个系统的界面应该要简单明了,当然样式美观就更好了。

我设计的界面主要是由窗体组成,操作简单。

而每一个窗口则执行相应的功能。

一个系统界面的好坏直接影响到用户的操作,界面设计要求样式美观、简单明了、方便易操作。

我设计的界面主要分为窗体、菜单、按钮和文本输入框几个部分,分别执行相应的操作。

3.2.1窗体的设计

窗体整个框架使用Frame类构造,Frame有自己的外边框和自己的标题,创建Frame时可以指定其窗口标题,我创建的窗口标题是各个不同功能的模块的名字,比如说查询余额,还有取款等。

相应源代码为:

WindowBox(Strings,Accountact){super(“ATM”);}、Selection(Strings,Accountact){

super(s);

}

向Frame窗口中添加组件使用add()。

例如:

button1=newButton("存款");

p1.add(button1);

this.add(p1);

每个Frame在其右上角都有三个控制图标,分别代表将窗口最小化、窗口最大化和关闭的操作,其中最小化和最大化操作Frame可自动完成,而关闭窗口操作实现需要书写有关的代码,在我的程序中我采用的是对WINDOWS_CLOSING事件做出响应,调用dispose()方法关闭窗口。

Frame也可以引发WindowsEvent类代表的窗口事件。

相应源代码为:

addWindowListener(newWindowAdapter()//窗口侦听器,以从此窗口接收窗口事件

{publicvoidwindowClosing(WindowEvente)//处理窗口关闭事件

{System.exit(0);}

});

}

3.2.2窗体的主要结构的设计

我所设计的窗口的主要结构的特点就是每个窗口都对应着一个特定的功能。

比如说报各种各样的错,还有各种查询余额、取款、选择服务等,所以它们都是由各种按钮和文本框,标签组成的,而联系各个窗体成为一个整体的就是各个按钮的监听事件。

所以整个设计就趋向简单化了。

为了定义各个按钮所对应的命令和操作,首先需要将各个按钮注册给实现了动作事件的监听接口ActionListener的监听者,然后为监听者定义actionPerformed(ActionEvente)方法,在这个方法中调用e.getSource()或e.getActionCommand()来判断用户点击的菜单子项,并完

成这个菜单子项定义的操作。

 

四、各功能模块设计

4.1登陆页面模块设计

用过ATM的都对安全比较关心。

所以第一个界面就是要输入密码和卡号才能继续服务。

我定义了文本框类的对象tf1,tf2,用于输入单行的文本;文本区调用publicStringgetText()方法,获取用户想要的字符串。

用来判断输入的密码和卡号是否正确,如果不正确的话,则弹出密码或卡号错误的警告框,并用dispose()关掉窗口。

4.2选择服务模块设计

在选择服务模块中,有各种ATM的服务功能,只要用户在该界面中选择按钮,它就会弹出各个相应的界面。

每一个按钮都有监听器,在选择了按钮后,java.awt.event中的ActionEvent类创建一个事件对象,并将它传递给方法publicvoidactionPerformed(ActionEvente)中的参数e。

4.3取款模块设计

在取款模块中,和其他的界面也是同样的结构。

也是有一个文本框和一个按钮还有标签组成的。

用户在文本框中输入他想取的数额,但是必须是100的倍数,而且每一次最多只能取5000块。

当然了取款的时候也不能超过卡里的余额,再就是卡里的余额不可以为负,否则就会弹出报错的窗口。

 

4.4修改密码模块设计

在修改密码模块中,首先你必须要输入你的旧密码是否正确,否则就会报错。

再一个就是要两次输入你的新密码,且两次药匹配,否则也会报错,然后再重新回到修改密码的界面。

4.5退卡模块设计

在退卡模块设计中,这个方法就更加的简单了,它只是用了if(e.getSource()==button4){//退出

System.exit(0);

dispose();

}

 

五、系统实现及测试

5.1程序的主要界面

5.1.1主界面

打开DOS,编译运行程序后,将会看到如下的界面,如图2所示。

如果输入的密码或卡号不正确的话就会报右下图的错误。

图二

 

5.1.2帐号错误界面

(1)

 

(2)

5.1.3登陆成功

5.2选择服务界面效果

当输入的密码和卡号正确,单击确定后就会进入到选择服务的界面,如图3所示。

然后就可以选择所需要的服务了。

 

5.2.1查询

当点开查询可以查询到当前余额

 

5.2.2取款

(1)取款成功

界面设了5个按钮可供选择同时也可以输入如图4所示。

图4取款界面

 

(2)取款报错

当输入的钱数不是100的倍数或每一次大于5000时就会报图5的错误。

 

图5输入错误1

 

5.2.3存款

(1)存款以手输入的方式模拟现金放入

 

(2)存入后查询

5.2.4修改密码

(1)密码输入不一致

 

(2)密码修改成功

 

 

经过测试,所有的功能基本上都实现了,而且运行正常。

 

六、课程设计总结

6.1遇到的问题及解决办法

在此次课程设计中,我遇到了一些问题,如:

对于面向对象的方法了解不够透彻,运用到实际的软件开发中存在着困难;对于Java语言,只学习到了一些最基本的知识,这导致编写程序时经常出现一些语法错误,而且要在短时间内用Java语言来设计一个具体的系统是一个较大的挑战;还有对于正规开发一个系统的流程不熟悉,适应起来比较慢,编写各个模块相对应的操作时,自己感觉难以动手,这表明所学的知识不能灵活运用到实际中。

对于以上的问题,自己有清楚的认识,解决办法是需要大量阅读相关的书籍,对于书上以及网站上下载的资料中的Java实例必须有清楚的理解,还有就是多跟精通此方面的老师和同学交流,取其精华。

对于实际动手能力及系统开发的流程的适应,必须多进行实际的练习及操作,才能有大的进步。

6.2心得体会

在这次的学年度课程设计中,我主要运用了Java语言的界面设计、异常处理、、Awt控件、Swing控件,输入输出流等,综合运用了Java语言。

我深刻感受到了面向对象语言中类库的强大功能,掌握了运用Java中的类实现某些基本功能,并学会了自己查询使用类的方法,为以后的面向对象语言的自学奠定了基础。

通过这个礼拜的课程设计我真的学到了很多的东西,当然这也和我的同学的帮助是离不开的。

在这次的课程设计中,主要是运用JAVA语言来编写一个小的应用程序,当然还可以用其他的技术来辅助了。

在这个小应用程序当中,我用了Java外还用了Swing控件。

输入输出流等技术。

由于以前学的不是很扎实,而且还有些知识我们都是没有学过的,这就要求我们去查相关的书籍,还有就是和同学之间的交流。

正因为这样,才锻炼了我的自学的能力,还有就是加深了我对各个知识点的认识,并且提

高了我对专业的学习的兴趣,为我以后的学习打下了基础。

此外,我还感受到了面向对象语言的类库的强大的功能,掌握了运用JAVA中的类实现某些基本功能,并学会了自己查询使用类的方法,也就是要会用API文档,为以后更好的学习面向对象语言奠定了基础。

 

参考文献

[1]郑莉JAVA语言程序设计清华大学出版社,2014.7

[2]黄聪明精通JAVA2程序设计[M]北京:

清华大学出版社,2004.4

[3]王文涛,袁海燕JAVA实用程序设计100例[M]北京:

人民邮电出版社,2005.5

[4]雍俊海JAVA程序设计[M]北京:

清华大学出版社,2006.8

[5]刘宝林JAVA程序设计及案例[M]北京:

高等教育出版社,2006.11

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

当前位置:首页 > 工程科技 > 能源化工

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

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