《UML课程设计ATM系统.doc》由会员分享,可在线阅读,更多相关《UML课程设计ATM系统.doc(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateUML课程设计ATM系统UML课程设计ATM系统课程设计(论文)课程名称: 信息系统开发工具 题 目: ATM存款系统 院 (系): 管理学院 专业班级: 管理科学0901 姓 名: 谢华兴 学 号: 090450106 指导教师: 陈宇玺 2012年 6月 13 日-安建筑科技大学课程设计(论文)任务书专业班级: 管理科学 学生姓名: 谢华兴 指导教师(签名): 一
2、、课程设计(论文)题目ATM存款系统二、本次课程设计(论文)应达到的目的1针对一个实际系统的开发,使学生深刻理解和掌握管理信息系统系统分析、系统设计和系统实施的理论和方法;2巩固和加深理解所学编程语言、开发工具,提高综合应用能力;掌握系统UML建模、界面设计、数据库设计、程序代码设计,提高实践能力;3初步了解学术研究的基本方法与步骤,并通过设计报告(论文)的撰写,了解学术报告(论文)的写作方法。 三、本次课程设计(论文)任务的主要内容和要求(包括原始数据、技术参数、设计要求等) 1、设计内容:开发出一个软件系统,模拟ATM存款的业务过程。2、设计过程:按照系统设计目的、系统需求、系统功能分析与
3、设计、用户界面设计、源程序设计、使用说明等环节整理课程设计的成果,形成设计报告,设计报告应包括的内容:l 系统需求分析:需求描述、系统UML主要用例、主要类图、主要活动图、状态及部署图(如果必要)、业务流程图、数据流图、数据字典附必要的文字说明l 系统设计:功能结构设计、I/O设计、代码设计、界面设计、数据库设计、网络环境。撰写设计总结报告。3设计成果提交:A.设计报告;B.源程序。报告要符合学校格式规范要求。四、应收集的资料及主要参考文献: 1.Eriksson H E, Penker M. UML 2工具箱M. 俞俊平, 余安萍, 徐 敏, 译. 北京: 电子工业出版社, 2004.2.
4、周 飞, 杨根兴, 蔡立志. 基于UML的测试用例生成方法研 究J. 计算机应用与软件, 2009, 26(2): 107-110.3. 张 庆, 雷 航. 一种基于UML状态图的面向对象类级测试模型J. 计算机工程, 2005, 31(21): 75-77. 五、审核批准意见教研室主任(签字) 设计总说明随着信息时代科技的飞速发展,使用ATM存款机、计算机等技术的发展,不仅提高了工作效率,而且大大的提高了其安全性。对于一些复杂的信息,就能够充分的发挥它们的优越性。ATM取款机就是技术发展的产物,相对的一台ATM取款机与ATM存款机的系统是密不可分的。本系统就是为了更方便人们的生活而设计的。A
5、TM存款系统作为一款数据传输的技术,用户信息和资金信息的繁杂,包含很多的数据的管理,以前的都是由一些柜员进行操作,而且手续很多。对于ATM取款系统数据的统计和核实等都是采用卡号进行核对的,对于用户的信息资料、以及资金统计等用人工办理。数据信息处理工作量大,繁琐。数据处理手工操作,工作量大,工作时需实时认真办理,一但出现错误将带来很大的损失,ATM取款系统采取数据库进行管理且由人工进行处理、维护等工作。由于信息一定要准确真实,认真的进行各项核对工作,工作人员和管理员也只是当时对它比较清楚,时间一长,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。关键字:UML,管理信息系统,
6、数据库,ATM系统,JAVA目 录安建筑科技大学课程设计(论文)任务书21 绪论11.1系统简介11.2设计目的11.3设计内容22 需求分析32.1 .需求分析的任务32.2系统UML主要用例和设计43 系统设计103.1 设计思想103.2系统功能模块划分:103.3 ATM存款系统模块图:114数据库的逻辑设计114.1 数据字典114.2具体表125详细设计136源代码19总结22参考文献231 绪论1.1系统简介ATM存款系统的目的就是建立一个客户平台,用户使用此平台进行取款、查询余额、修改密码等业务办理。相对于柜员操作一样的,不过ATM存款系统有的功能有权限设置,一些功能只有银行柜
7、员才能进行的业务办理,由于技术局限,一些业务还需人工进行办理。ATM存款系统的针对的用户群是使用此软件系统并在系统里开户,用户做为系统的服务群体,按照要求首先要在此软件系统里开户办理一个卡号,用户可以使用开户办理得到的卡号登陆ATM存款系统。当用户成功登陆后就可以根据用户的需求进行各项业务的办理,办理完所有的手续后,用户的输入的新资料以及办理的业务处理后的信息都会反馈到数据库并且都会存入到数据库中。这样用户就完成了办理业务。1.2设计目的ATM存款系统是面向特定对象群是在此软件系统开户办理的用户,所以用户进入开户办理时的资料都需要严格核查,用户登陆系统后,应该能根据自己的需要进行各项业务的办理
8、。鉴于软件系统使用环境一般在网络上或银行门口装置机械,为了考虑到软件的安全性,对于每个用户来说,系统的安全性直接影响着自身的利益,同时也有可能也使用此软件的银行带来很的损失。特别是网络环境,到处伴随着危险,ATM取款系统针对这一用户群,采取一些有效的措施,登陆后用户办理完的业务信息反馈到客户端数据库里,做好防止信息被拦截工作。1.3设计内容开发出一个软件系统,模拟ATM存款的业务过程。设计过程:按照系统设计目的、系统需求、系统功能分析与设计、用户界面设计、源程序设计、使用说明等环节整理课程设计的成果,形成设计报告,设计报告应包括的内容:l 系统需求分析:需求描述、系统UML主要用例、主要类图、
9、主要活动图、状态及部署图(如果必要)、业务流程图、数据流图、数据字典附必要的文字说明l 系统设计:功能结构设计、I/O设计、代码设计、界面设计、数据库设计、网络环境。撰写设计总结报告。2 需求分析2.1 .需求分析的任务1) 项目背景及基本描述ATM自动存款机系统作为银行信息化管理的一部分,已经相当普及了。相比传统的手工操作,大大提高了银行的工作效率,同时降低人力、财力、物力的浪费,使得存款,转账等一些银行的日常业务形成一种规范有序的流程,减少信息交流的烦琐过程及其带来的开销,实现银行管理的规范化、自动化。2) 用户分析使用该系统的用户包括两类:管理员和客户。管理员 :系统的超级用户,其对系统
10、的操作包括开户、销户、修改密码。此类用户对计算机有一定的深入了解,对数据库的操作也有一定的基础,其亦可能是此类软件较熟悉的用户,这类用户有能力进行一些复杂的操作,比较数据备份,备份路径等。由于数据库保存着所有客户信息情况,在设计时对这类操作应尽量增加确认操作,以对话框的形式询问是否进行操作。客户:系统的普通用户,其对系统的操作包括存款、查询余额、转账、修改密码等。此类用户的计算机水平一般较低,系统对其操作的要求不应过高,比如菜单项就放在较为突出的地方,方便其操作,尽可能减少输入的数据与次数,避免因操作过多而出现的失误,同时相应菜单应设置带提示性的图标,提交后应弹出提示信息。3) 系统功能需求A
11、TM自动存款机系统相关的主要对象有:用户:使用ATM自动存款机进行现金交易。进行存款、查询余额、设置密码、转账等操作。ATM系统:对用户的需求进行接收,通过与数据库的交互,根据对用户应用服务的响应,更新数据库中用户的信息。银行数据库:对用户的所有信息进行存储更新。因此,可以把系统具体功能描述如下:管理员:开户,销户,修改密码。客户:存款,查询余额,转账,修改密码。主要功能:存款:用户按照系统输入要求输入存款金额,然后放入验钞。查询余额:用户可以查看账户所剩现金余额。修改密码:如果用户想要修改当前密码,通过系统可以设置新密码。转账:用户可以通过该功能将自己账户上的金额转到其他账户 2.2系统UM
12、L主要用例和设计用例分析“存款”用例用例编号:01用例名:存款执行者:.人执行者:客户系统执行者:存款子系统目的:执行存款任务类型:端点 主要的 基本的 级别:一级过程描述: 1.插卡2.输入密码3.输入存款金额确定4.放入存款5.退出系统“查询”用例用例编号:02用例名:查询账户执行者:.人执行者:客户.系统执行者:查询子系统目的:执行查询任务类型:端点 主要的 基本的 级别:一级过程描述: 1.插卡2.输入密码3.查询账号4.人名币查询5.查询打印凭条6.退出系统“修改密码”用例用例编号:0669用例名:修改密码执行者:.人执行者:客户.系统执行者:修改密码子系统目的:执行修改密码任务类型
13、:端点 主要的 基本的 级别:一级过程描述:1.插卡2.输入密码3.修改密码4.输入新密码5.再次输入新密码6.修改成功退出系统“转账”用例用例编号:0668用例名:转账执行者:.人执行者:客户系统执行者:转账子系统目的:执行转账任务类型:端点 主要的 基本的 级别:一级过程描述:1.插卡。2.输入密码3.进入转账界面4.输入转入卡号或账号(只能同行转账)5.再次输入卡号或账号。6.输入转入金额确定。7.退出系统1) 用例图如图2-2-1所示图2-2-12)类图如图2-2-2所示图2-2-23)包图如图2-2-3所示图2-2-34)对象图如图2-2-4所示图2-2-45)时序图如图2-2-5所
14、示图2-2-56)通信图如图2-2-6所示图2-2-67)活动图如图2-2-7所示图2-2-73 系统设计3.1 设计思想ATM存款系统需要满足来两方面的需求,这两个方面分别是用户、柜员管理。用户的需求是进行各项业务的办理;柜员管理人员对用户办理的信息进行操作处理,同时保存在数据库中以便用户查询;柜员的功能最为复杂,他包括对数据库的维护、用户信息维护及分数发布情况进行维护。 用户可以根据开户申请到的卡号和密码登录到系统,登录成功后可进行四种操作,一是取款,二是查询余额,三是修改密码。银行柜员有修改卡信息、卡密码和柜员密码、开户办理、取款、存款、卡登陆等使用权限,所以需对银行柜员登陆到柜员模块进
15、行更多细节上的考虑。3.2系统功能模块划分:银行用户模块:包括用户登录模块、存款模块、取款模块、查询模块、修改密码模块、退出模块。银行柜员模块:包括柜员登录模块、用户信息开户办理、修改密码、查询、取款、存款等模块。3.3 ATM存款系统模块图:4数据库的逻辑设计4.1 数据字典glylnfo表userlnfo表cardlnfo表Translnfo表4.2具体表数据库(bank.mdb)5详细设计用户系统模块 . 功能 取款 查询余额 修改密码 算法 判断角色选择,并激活相应的登陆界面,在这里我使用了if语句,来判断角色的选择。修改界面必须要获取要修改的对象,如果对象为空的话,就不存在修改数据的
16、可能。查询功能则需按方便找的信息入手。这里采用简单查找。取款则必须判断余额是否大于取款金额,是则进行取款,并弹出取款成功。窗体界面及相应代码1 窗体界面说明(1)登录界面此模块所要完成的就是用户或银行柜员的登录,因此对于界面而言,只要用户可以很方便地输入用户名和密码,并且可以很方便地登录就可以了。界面如图设计的用户登陆由用户卡号和密码构成,首先要选择好登陆的模式,然后在用户输入卡号和密码后,就会调用数据库查看此用户名是否存在或密码是否正确。代码如下: 代码如下:public boolean isValid(Connection conn,String cardID,String pass)St
17、ring sql=select * from cardlnfo where cardID=? and pass=?;boolean temp=false;tryreturn temp;String pass=String.valueOf(jPasswordField.getPassword();cardID=String.valueOf(jComboBox.getSelectedItem();con=db.getConn();boolean flag=db.isValid(con, cardID, pass);if(flag)JOptionPane.showMessageDialog(null
18、, 密码错误!请重新输入!); (2).用户登陆成功后的界面 代码如下:这个是查询代码:con=db.getConn();try catch (SQLException ex1) javax.swing.JOptionPane.showMessageDialog(this, ex1.getMessage().toString(); 选择取款金额代码:public void draw(int i)con=db.getConn();ResultSet rs = db.executeQuery(select balance from cardlnfo where cardID=+LoginFrm.c
19、ardID+);trycatch(SQLException ex1) javax.swing.JOptionPane.showMessageDialog(this,ex1.getMessage().toString(); 交易中进度条代码:jProgressBar.setMaximum(100);sim=new Simulate(100);new Thread(sim).start();/线程启动time=new Timer(100,new ActionListener()public void actionPerformed(ActionEvent event)int current=sim
20、.getCurrent();jProgressBar.setValue(current);if(current=sim.getTarget()time.stop();javax.swing.JOptionPane.showMessageDialog(null, 交易成功!);cancel();MainFrm m=new MainFrm();m.setVisible(true););time.start(); 修改密码代码:if ( jPasswordField.getPassword().equals() | jPasswordField1.getPassword().equals() jav
21、ax.swing.JOptionPane.showMessageDialog(this, 任何一栏不能为空!); else try catch (SQLException ex) javax.swing.JOptionPane.showMessageDialog(this, ex.getMessage().toString(); return; 退出代码:int a;a=JOptionPane.showConfirmDialog(null,确实要退出吗?,退出程序,JOptionPane.YES_NO_OPTION);System.out.println(a);if(a=JOptionPane
22、.YES_OPTION)System.exit(-1);6源代码附上部分代码。import javax.swing.*;import java.awt.*;import javax.swing.border.*;import java.awt.event.*;import java.io.*;/*登陆页面首窗口*/class WindowBox extends Frame implements ActionListenerBox baseBox,box1,box2;TextField tf1,tf2;Button button1;Button button2;WindowBox(String
23、s)/构造方法super(s); tf1 = new TextField(6); tf2 = new TextField(6);box1= Box.createVerticalBox;box1.add(new Label(请输入你的卡号); /输入卡号box1.add(Box.createVerticalStrut(8);box1.add(new Label(请输入你的密码);/输入密码box2=Box.createVerticalBox();box2.add(tf1);/box2.add(new TextField(16);box2.add(Box.createVerticalStrut(8
24、);box2.add(tf2);/box2.add(new TextField(16);baseBox=Box.createHorizontalBox();baseBox.add(box1);baseBox.add(Box.createHorizontalStrut(10);baseBox.add(box2);add(baseBox);button1= new Button(确定);/加入按钮button1.addActionListener(this);add(button1);button2 = new Button(退卡);/退卡按钮button2.addActionListener(t
25、his);add(button2);setLayout(new FlowLayout();/*监听器*/this.addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)System.exit(0););setBounds(120,125,200,175);setVisible(true);public void actionPerformed(ActionEvent e)Account act; String card; String pwd;act=new Account(000000,Dev
26、il,123456,50000);/初始化 /*选择各种服务*/if(e.getSource() = button1)String number1,number2;/输入的两个卡号和密码的变量 number1=tf1.getText();number2=tf2.getText();/*判断两次输入的卡号和密码是否正确*/if(act.get_Code().equals(number1)&(act.get_Password().equals(number2)dispose();Selection s = new Selection(选择服务,act);elsedispose();ErrorWar
27、n ew = new ErrorWarn(消息!,act);/报输入密码或卡号不正确if(e.getSource()=button2)System.exit(0);dispose();/退出 总结 制作一款软件还真不是一朝一夕的事情,每件事情你都要认真的去做,去跟同学探讨、交流,在制作ATM取款系统的时候,自己在其中也能学到很多知识,运用老师所交的知识,去制作软件,没有交的可以翻阅书籍,网上找资料,同时自己也能学到一些自己不知道的,不管以后走出社会有没有用到,有没有从事这项工作,这都是一项很值得借鉴的经验。参考文献1.Eriksson H E, Penker M. UML 2工具箱M. 俞俊平, 余安萍, 徐 敏, 译. 北京: 电子工业出版社, 2004.2. 周 飞, 杨根兴, 蔡立志. 基于UML的测试用例生成方法研 究J. 计算机应用与软件, 2009, 26(2): 107-110.3. 张 庆, 雷 航. 一种基于UML状态图的面向对象类级测试模型J. 计算机工程, 2005, 31(21): 75-77.
限制150内