




已阅读5页,还剩52页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java 程序设计程序设计 课程设计课程设计 设计题目 设计题目 ATM 柜员机柜员机 组长 组长 组员 组员 目目 录录 1 1 项目背景介绍项目背景介绍 3 3 2 2 功能定义 功能定义 3 3 3 3 数据之间的联系 数据之间的联系 4 4 4 4 系统用例图 系统用例图 4 4 5 5 数据字典 数据字典 5 5 6 6 项目任务书 项目任务书 6 6 7 7 项目开发计划 项目开发计划 8 8 8 8 项目需求说明书 项目需求说明书 9 9 9 9 项目设计说明书 项目设计说明书 1010 1010 详细设计 详细设计 1111 1111 项目设计说明书 项目设计说明书 1818 1111 项目开发总结 项目开发总结 5656 1 项目背景介绍 项目背景介绍 ATM 机管理系统是银行业务流程过程中十分重要且必备的环节之一 在银行业务流程当中 起着承上启下的作用 其重要性不言而喻 但是 目前许多银行在具体的一些业务流程处 理过程中仍然使用手工操作的方式来实施 不仅费时 费力 效率低下 而且无法达到理 想的效果 本文针对上述问题 采用软件工程的开发原理 依据软件流程过程规范 按照 需求分析 概要设计 详细设计 程序编码 测试 软件应用 软件维护等过程开发了一 个银行 ATM 机管理系统系统 1 1 硬件环境硬件环境 CPU 1G 以上 内存 512M 以上 1 2 软件开发环境软件开发环境 操作系统 Window2003 XP 数据库连接驱动 Java project 集成开发环境 软件开发平台 Eclipse 2 功能定义功能定义 2 1 储户模块储户模块 存款功能 取款功能 转账功能 查询余额功能 2 2 管理模块管理模块 存款管理 销户管理 报表管理 3 数据之间的联系数据之间的联系 一个客户可以有多个卡号 而一个卡号只能被一个客户拥有 一个卡号可以有多条交易记录 而一条交易记录只能属于某个卡号 4 系统用例图系统用例图 客户模块客户模块 人人 人人 人人 人人 人人人人 人人人人 人人人人 人人人人 管理模块管理模块 人人人人人人 人人人人 人人人人 人人人人 人人人人 人人人人 人人人人 人人人人 人人人人人人人人 5 数据字典数据字典 5 1 银行卡数据项银行卡数据项 5 1 1 数据项 ID 含义说明 唯一标识 别名 无 类型 长整型 长度 描述 必填 主键 5 1 2 数据项 卡号 含义说明 银行卡的卡号 别名 无 类型 字符型 长度 20 描述 必填 唯一健 银行的卡号规则和电话号码一样 一般前 8 位代表特殊含义 如某 总行某支行等 假定该行要求其营业厅的卡号格式为 1010 3576 xxxx xxx 开始 每 4 位号 码后有空格 5 1 3 数据项 密码 含义说明 卡号的登录密码 别名 无 类型 字符型 长度 6 描述 必填 6 位数字 开户时默认为 6 个 8 5 1 4 数据项 货币类型 含义说明 该银行卡的使用的货币类型 别名 无 类型 字符型 长度 20 描述 必填 默认为 RMB 5 1 5 数据项 余额 含义说明 银行卡的余额 别名 无 类型 double 长度 描述 默认值为 0 6 项目任务书项目任务书 6 1 设计的目的和要求设计的目的和要求 6 1 1 设计目的 加深学生对面向对象概念以及 JAVA 面向对象程序设计思想的理解和掌握 使学生熟悉开发一个项目的基本过程 培养学生分析问题和解决问题的能力 增强学生的动手能力 为后续学习和应用打下一定的基础 6 1 2 设计要求 四个人一组协作完成 组长分工 并负责组内程序联试 文档质量检查及 与教师联系 每个学生必须独立完成你分工的课程设计部分 所完成的项目软 件需经指导教师检查认可 6 26 2 设计内容设计内容 6 2 1 功能需求 用户登陆 检查用户使用的合法性 客户存款 客户按照自己的需求存入自己想存的钱 客户取款 可按100 200 500 1000元面额取款 并记录取款信息 出款以数字显示 客户转账 客户不用等待人工转账 直接在ATM上很方便得进行转账 查询交易记录 如果客户对所取的钱有什么疑问的话可以查询交易记录 查询余额 客户可很方便的查询自己的余额 以至于取钱不用超支 退出 当客户把一切都做好后就可以退卡 6 2 2 信息需求信息需求 客户存折信息表 客户帐号 客户姓名 客户密码 客户存款日期 客户存款额 元 客户取款信息表 客户帐号 取款日期时间 取款金额 7 项目开发计划项目开发计划 7 1 编写的目的编写的目的 我们的开发目的是在于了解 ATM 柜员机开发项目的流程 把在开发过程中 对各项工作的人员 分工 系统资源条件等问题的安排用文档形式记载下来 以便根据本计划开展和检查本项目工作 保证项目开发成功 7 2 项目概述项目概述 7 2 1 工作内容 1 需求分析 2 软件设计 3 代码设计 实现记事本代码 4 系统测试 测试程序 5 项目总结 收获 7 2 2 产品 1 程序 本软件的程序名称是 ATM AutomaticTellerMachine 采用的编程语言是 Java 语言 2 文件 列出须移交用户的每种文件的名称及内容要点 软件开发计划 项目开发计划 需求分析报告 软件需求规格说明 软件设计文档 源代码 软件标准规范 软件使用说明书 软件使用说明 总结报告 7 2 3 验收标准 程序应能够正常运行 满足设计的各项要求 7 37 3 实施计划实施计划 7 3 1 工作任务的分解与人员分工 对于项目开发中需要完成的各项工作 从需求分析 概要详细设计 代码 实现 测试直到维护 包括文档的编制 审批 打印 分发工作 用户培训工 作 软件安装工作等 按层次进行分解 指明每项任务的负责人和参加人员 姓名职责参加时间 汪颖任务书的编写 部分代码的编辑全部 汪浩设计 开发 编码 ATM机界面的设计与连接 全部 徐锐设计 开发 编码 数据库的设计与连接 全部 邓小雅设计 开发 编码 数据库的设计与连接 全部 7 3 2 进度 需求分析 5 月 9 号 概要设计 5 月 9 号上午 详细设计 5 月 10 号下午 编码实现 5 月 9 号 到 6 月 11 号 测 试 5 月 11 号上午 验 收 5 月 11 号下午 7 47 4 参考资料参考资料 1 Java2 实用教程 耿祥义 张跃平 清华大学出版社出版 2 软件工程国际标准文档 8 8 项目需求说明书项目需求说明书 8 18 1 编写目标编写目标 ATM 取款机是面向特定的某些对象的 所以用户到 ATM 取款机进入系统 操作时应该进行身份验证 用户通过卡号验证进入 ATM 取款机系统后 应该能 根据自己的需要进行取款 存款 转账 查询 修改 取卡等操作 对于每个 用户来说 ATM 自动取款机的功能都就是相同的 但个人需要操作并不相同 管理员进入管理员系统 可以查看和修改用户的信息 管理员系统是基于网络 环境 卡号应从服务器的数据库随机抽取生成的 另外 管理员系统还应该对 用户实现开户 销户 查询 修改等功能 9 9 项目设计说明书项目设计说明书 9 19 1 编写目的编写目的 此软件是为方便广大存取用户 解决存取受时间限制的弊端 它具有取款 转帐 查询余额 修改密码的功能 用户操作完可取卡退出 9 2 系统总体结构设计系统总体结构设计 ATM 柜员机 登录功能 主操作选择 转账余额查询取款修改密码存款退出 10 详细设计详细设计 首先建立一个名为 ATM 柜员机 jpx 的工程文件 然后在工程文件中建 立一个名为 ATM java 的应用程序 然后开始一下设计 1 运行程序 出现 ATM 欢迎界面 1 1 1 界面代码 package com GUI import java awt event ActionEvent import java awt event ActionListener import javax swing JButton import javax swing JFrame import javax swing JLabel import javax swing JPanel import javax swing JTextField import com biz IBank import com view TextView public class Welcome TextView tv static JFrame JF static JButton JB1 JB2 JB3 static JPanel JP1 JP2 JP3 static JLabel JL1 JL2 JL3 static JTextField t1 t2 t3 JTextField textField Registration r new Registration null public static void main String args new Welcome new login login public Welcome JF new JFrame 银行项目 JP1 new JPanel JB1 new JButton 开户 JB1 addActionListener new MyActionListner JB2 new JButton 登录 JB2 addActionListener new MyActionListner JB3 new JButton 退出 JB3 addActionListener new MyActionListner JF add JP1 JP1 add JB1 JP1 add JB2 JP1 add JB3 JF setSize 300 150 JP1 setSize 300 150 JF setDefaultCloseOperation JFrame EXIT ON CLOSE JF setVisible true class MyActionListner implements ActionListener Override public void actionPerformed ActionEvent arg0 Object o arg0 getSource if o JB1 new Registration JF dispose if o JB2 TextView tv new TextView tv denglu IBank bank null Login l new Login bank l denglu new Login JF dispose if o JB3 JF dispose 2 如果没有注册的话可以进行注册 package com GUI import java awt BorderLayout import java awt Container import java awt FlowLayout import java awt event ActionEvent import java awt event ActionListener import javax swing JButton import javax swing JFrame import javax swing JLabel import javax swing JPanel import javax swing JPasswordField import javax swing JTextField import com biz Bank import com exception RegisterException import com test wokao public class Registration private JFrame frame new JFrame 注册 private Container c frame getContentPane private JTextField username new JTextField private JPasswordField password new JPasswordField private JPasswordField passwordAgain new JPasswordField private JTextField type new JTextField private JTextField personId new JTextField private JTextField random new JTextField private JTextField random2 new JTextField private JButton ok new JButton 确定 private JButton cancel new JButton 取消 private Bank bank private long currentId public Registration Bank bank this setBank bank public Bank getBank return bank public void setBank Bank bank this bank bank public long getCurrentId return currentId public void setCurrentId long currentId this currentId currentId public Registration frame setSize 800 600 c setLayout new BorderLayout frame setVisible true JPanel titlePanel new JPanel titlePanel setLayout new FlowLayout titlePanel add new JLabel SUNNY 银行注册界面 c add titlePanel North JPanel fieldPanel new JPanel fieldPanel setLayout null JLabel l1 new JLabel 新 用 户 姓 名 l1 setBounds 80 20 100 20 JLabel l2 new JLabel 密 码 l2 setBounds 80 60 100 20 JLabel l3 new JLabel 再次输入密码 l3 setBounds 80 100 100 20 JLabel l4 new JLabel 用 户 身 份 证 l4 setBounds 80 140 100 20 JLabel l5 new JLabel 账 户 类 型 l5 setBounds 80 180 100 20 JLabel l6 new JLabel 验 证 码 l6 setBounds 80 220 100 20 JLabel l7 new JLabel l7 setBounds 360 220 100 20 fieldPanel add l1 fieldPanel add l2 fieldPanel add l3 fieldPanel add l4 fieldPanel add l5 fieldPanel add l6 fieldPanel add l7 username setBounds 250 20 180 20 password setBounds 250 60 180 20 passwordAgain setBounds 250 100 180 20 personId setBounds 250 140 180 20 type setBounds 250 180 180 20 random setBounds 250 220 180 20 random2 setBounds 500 220 100 20 fieldPanel add username fieldPanel add password fieldPanel add passwordAgain fieldPanel add personId fieldPanel add type fieldPanel add random fieldPanel add random2 c add fieldPanel Center ok addActionListener new MyActionListner cancel addActionListener new MyActionListner JPanel buttonPanel new JPanel buttonPanel setLayout new FlowLayout buttonPanel add ok buttonPanel add cancel c add buttonPanel South public JTextField getUsername return username public void setUsername JTextField username this username username public JPasswordField getPassword return password public void setPassword JPasswordField password this password password public JPasswordField getPasswordAgain return passwordAgain public void setPasswordAgain JPasswordField passwordAgain this passwordAgain passwordAgain public JTextField getType return type public void setType JTextField type this type type public JTextField getPersonId return personId public void setPersonId JTextField personId this personId personId public JTextField getRandom return random public void setRandom JTextField random this random random public JTextField getRandom2 return random2 public void setRandom2 JTextField random2 this random2 random2 class MyActionListner implements ActionListener public void actionPerformed ActionEvent arg0 Object o arg0 getSource if o ok bank wokao bank String name getUsername getText String pass getPassword getText String pass2 getPasswordAgain getText String personId getPersonId getText int type Integer parseInt getType getText int type type getText String name wh String pass 1 String pass2 1 String personId 5858 int type 1 try System out println currentId bank regist name pass pass2 personId type System out println Regist success Your account Id is currentId new RegistraSuccess currentId frame dispose catch RegisterException e System out println e getMessage new Welcome frame dispose if o cancel new Welcome frame dispose 3 登陆界面 package com GUI import java awt BorderLayout import java awt Container import java awt FlowLayout import java awt event ActionEvent import java awt event ActionListener import javax swing JButton import javax swing JFrame import javax swing JLabel import javax swing JPanel import javax swing JPasswordField import javax swing JTextField import com biz Bank import com biz IBank import com biz IBank import com exception LoginException import com test BamMain import com test wokao public class Login private JFrame frame new JFrame 登录 private Container c frame getContentPane private JTextField username new JTextField private JPasswordField password new JPasswordField private JButton ok new JButton 确定 private JButton cancel new JButton 取消 private Bank bank private long currentId public Login Bank bank this setBank bank public Bank getBank return bank public void setBank Bank bank this bank bank public long getCurrentId return currentId public void setCurrentId long currentId this currentId currentId private IBank bank private long currentId public IBank getBank return bank public void setBank IBank bank this bank bank public long getCurrentId return currentId public void setCurrentId long currentId this currentId currentId public Login frame setSize 500 300 c setLayout new BorderLayout frame setVisible true JPanel titlePanel new JPanel titlePanel setLayout new FlowLayout titlePanel add new JLabel SUNNY 银行登陆界面 c add titlePanel North ok addActionListener new MyActionListner cancel addActionListener new MyActionListner JPanel fieldPanel new JPanel fieldPanel setLayout null JLabel l1 new JLabel 用户名 l1 setBounds 80 20 80 20 JLabel l2 new JLabel 密 码 l2 setBounds 80 60 80 20 fieldPanel add l1 fieldPanel add l2 getUsername setBounds 210 20 120 20 getPassword setBounds 210 60 120 20 password addActionListener new MyActionListner username addActionListener new MyActionListner fieldPanel add getUsername fieldPanel add getPassword c add fieldPanel Center JPanel buttonPanel new JPanel buttonPanel setLayout new FlowLayout buttonPanel add ok buttonPanel add cancel c add buttonPanel South public JTextField getUsername return username public void setUsername JTextField username this username username public JPasswordField getPassword return password public void setPassword JPasswordField password this password password class MyActionListner implements ActionListener public void actionPerformed ActionEvent arg0 Object o arg0 getSource if o ok long id Long parseLong getUsername getText String pass getPassword getText long id 100018 String pass 1 bank wokao bank try System out println bank currentId bank login id pass System out println currentId new Business currentId frame dispose catch LoginException e e printStackTrace if o cancel new Welcome frame dispose 4 如果注册了的用户就可以直接进行办理业务 package com GUI import java awt BorderLayout import java awt Container import java awt FlowLayout import java awt event ActionEvent import java awt event ActionListener import javax swing JButton import javax swing JFrame import javax swing JLabel import javax swing JPanel import com biz Bank import com test BamMain public class Business public static long currentId private JFrame frame new JFrame 业 务 private Container c frame getContentPane private JButton cancel new JButton 退出程序 private JButton save new JButton 存 款 private JButton take new JButton 取 款 private JButton move new JButton 转 款 private JButton queryMoney new JButton 查询余额 private JButton queryHistroy new JButton 查询历史记录 private JButton back new JButton 返回主界面 public Business long currentId Business currentId currentId frame setSize 800 600 c setLayout new BorderLayout frame setVisible true JPanel titlePanel new JPanel titlePanel setLayout new FlowLayout titlePanel add new JLabel SUNNY 银行办理业务界面 c add titlePanel North cancel addActionListener new MyActionListner save addActionListener new MyActionListner take addActionListener new MyActionListner queryMoney addActionListener new MyActionListner queryHistroy addActionListener new MyActionListner back addActionListener new MyActionListner move addActionListener new MyActionListner JPanel buttonPanel new JPanel buttonPanel setLayout null save setBounds 100 70 120 40 take setBounds 300 70 120 40 queryMoney setBounds 500 70 120 40 queryHistroy setBounds 200 170 120 40 back setBounds 400 170 120 40 ok setBounds 200 400 120 40 cancel setBounds 450 400 120 40 move setBounds 600 170 120 40 buttonPanel add ok buttonPanel add cancel buttonPanel add save buttonPanel add take buttonPanel add queryMoney buttonPanel add queryHistroy buttonPanel add move buttonPanel add back c add buttonPanel Center class MyActionListner implements ActionListener public void actionPerformed ActionEvent arg0 Object o arg0 getSource if o cancel frame dispose if o save currentId Business currentId new Savemoney currentId System out println currentId frame dispose if o take new Takemoney currentId frame dispose if o queryMoney new Query currentId frame dispose if o queryHistroy new QueryHistory currentId frame dispose if o move new Move currentId frame dispose if o back new Welcome frame dispose 5 如果要存款的用户可以点击存款进行存钱 package com GUI import java awt BorderLayout import java awt Container import java awt FlowLayout import java awt event ActionEvent import java awt event ActionListener import javax swing JButton import javax swing JFrame import javax swing JLabel import javax swing JPanel import javax swing JTextField import com biz Bank import com test BamMain import com test wokao public class Savemoney public static long currentId private JFrame frame new JFrame 存钱 private Container c frame getContentPane private JTextField username new JTextField private JButton ok new JButton 确定 private JButton cancel new JButton 取消 private Bank bank private long currentId public Savemoney Bank bank this setBank bank public Bank getBank return bank public void setBank Bank bank this bank bank public long getCurrentId return currentId public void setCurrentId long currentId Savemoney currentId currentId public Savemoney long currentId Savemoney currentId currentId frame setSize 500 500 c setLayout new BorderLayout frame setVisible true JPanel titlePanel new JPanel titlePanel setLayout new FlowLayout titlePanel add new JLabel 存款 c add titlePanel North JPanel fieldPanel new JPanel fieldPanel setLayout null JLabel l1 new JLabel 存入金额 l1 setBounds 80 20 80 20 fieldPanel add l1 username setBounds 210 20 120 20 fieldPanel add username c add fieldPanel Center ok addActionListener new MyActionListner cancel addActionListener new MyActionListner JPanel buttonPanel new JPanel buttonPanel setLayout new FlowLayout buttonPanel add ok buttonPanel add cancel c add buttonPanel South public JTextField getUsername return username public void setUsername JTextField username this username username class MyActionListner implements ActionListener public void actionPerformed ActionEvent arg0 Object o arg0 getSource if o ok bank wokao bank double money Double parseDouble getUsername getText double money 100 currentId Savemoney currentId System out println currentId bank save currentId money new Business currentId frame dispose if o cancel new Business currentId frame dispose 6 如果要取钱的用户可以点击取款 package com GUI import java awt BorderLayout import java awt Container import java awt FlowLayout import java awt event ActionEvent import java awt event ActionListener import javax swing JButton import javax swing JFrame import javax swing JLabel import javax swing JPanel import javax swing JTextField import com biz Bank import com exception BalanceNotEnoughException import com test BamMain import com test wokao public class Takemoney public static long currentId private JFrame frame new JFrame 取钱 private Container c frame getContentPane private JTextField username new JTextField private JPasswordField password new JPasswordField private JButton ok new JButton 确定 private JButton cancel new JButton 取消 private Bank bank public Takemoney Bank bank this setBank bank public Bank getBank return bank public void setBank Bank bank this bank bank public Takemoney long currentId Takemoney currentId currentId frame setSize 500 500 c setLayout new BorderLayout frame setVisible true JPanel titlePanel new JPanel titlePanel setLayout new FlowLayout titlePanel add new JLabel 取款 c add titlePanel North JPanel fieldPanel new JPanel fieldPanel setLayout null JLabel l1 new JLabel 取款金额 l1 setBounds 80 20 80 20 JLabel l2 new JLabel 密 码 l2 setBounds 50 60 50 20 fieldPanel add l1 fieldPanel add l2 username setBounds 210 20 120 20 password setBounds 110 60 120 20 fieldPanel add username fieldPanel add password c add fieldPanel Center ok addActionListener new MyActionListner cancel addActionListener new MyActionListner JPanel buttonPanel new JPanel buttonPanel setLayout new FlowLayout buttonPanel add ok buttonPanel add cancel c add buttonPanel South public JTextField getUsername return username public void setUsername JTextField username this username username class MyActionListner implements ActionListener public void actionPerformed ActionEvent arg0 Object o arg0 getSource if o ok bank wokao bank double money Double parseDouble getUsername getText try bank withdraw currentId money catch BalanceNotEnoughException e TODO Auto generated catch block e printStackTrace new Business currentId frame dispose if o cancel new Business currentId frame dispose 7 查询历史记录 package com GUI import java awt Borde
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 考点解析-人教版八年级物理《功和机械能》综合训练试卷(含答案详解版)
- 护理临床考试题目及答案
- 宣传部六招考试题及答案
- 数学理论考试题库及答案
- 湖南护理高考试题及答案
- 后备村官考试题型及答案
- 考点攻克人教版八年级《力》定向测评试题(含答案及解析)
- 考点解析人教版八年级上册物理声现象《声音的特性》难点解析试卷(含答案解析)
- 一级技师房管员考试试题及答案
- 呼市三类人员考试题库及答案
- 2025年全国职业病诊断医师培训职业性放射性疾病复习题库及答案
- TCUWA40055-2023排水管道工程自密实回填材料应用技术规程
- 茉莉花常见病虫害及其防治
- 保洁巡查记录表
- 医院陪护投标文件方案-医院陪护方案
- 数字孪生应用技术员职业技能理论考试题库大全(含答案)
- 服装概论高职PPT完整全套教学课件
- fx plc编程口通信协议分析
- 第8课+自制信封(课件)-苏教版劳动三年级上册
- 最新心脏体格检查课件
- 简易呼吸器课件
评论
0/150
提交评论