Skip to content

hs-vae/ATM-Bank-Management

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

前言

自己软件工程实训写的一个项目

模拟ATM自动取款机

包括存款、取款、转账(分为行内和跨行)、登录、修改密码、查询交易信息、打印交易凭条功能

涉及知识:设计模式、网络编程、JDBC、I/O流、SWING、Mysql等。

架构:C/S模式(客户端和服务端)

开发工具:idea、Navicat、IReport(用于打印凭条)

开发语言:Java (Jdk为java13)

数据库:Mysql(8.0.22)

操作系统:Win10

ATM系统需求

ATM自动动取款机是银行在银行营业大厅、超市、商业机构、机场、车站、码头和闹市区设置的一种小型机器,利用一张信用卡大小的胶卡上的磁带〔或芯片卡上的芯片〕记录客户的基本户口资料,让客户可以透过机器进行提款、存款、转帐等银行柜台服务

1) 客户将银行卡插入读卡器,读卡器识别卡的真伪,并在显示器上提示输入密码。

2) 客户通过键盘输入密码,取款机验证密码是否有效。如果密码错误提示错误信息,如果正确,提示客户进行选择操作的业务。

3) 客户根据自己的需要可进行存款、取款、查询账户、转账、修改密码等操作。

4) 在客户选择后显示器进行交互提示和操作确认等信息。

5) 操作完毕之后,客户可自行选择打印或不打印凭条。

ATM系统设计

系统流程和主要的功能

系统类图

登录时序图

image-20210126231644395

存款时序图

image-20210126231607915

取款时序图

image-20210126231617684

查询账户

image-20210126231631561

行内转账时序图

image-20210126231702835

跨行转账时序图

image-20210126231714763

数据库设计

先建立一个atm数据库

再建立三个表

用户信息表t_customer_info

字段包括:卡号、确认编号、用户名字、密码、余额、创建时间、开卡的银行、状态、保存类型

image-20210127000107483

日志表t_log_info

字段包括:日志id、日志信息、日志类型、日志时间、操作人员、日志状态

image-20210126223549711

交易记录表t_record_info

字段包括:交易id、交易时间、交易金额、用户名字、卡号、交易类型、余额

image-20210126223607880

凭条设计

转账、存款、取款的凭条

交易信息的凭条

ATM系统实现

登陆界面

登陆成功后进入主界面

存款界面(演示打印凭条功能,其他功能就不再演示打印凭条功能)

image-20210126234714372

存款成功后提示是否打印凭条

选择保存的路径

凭条已生成到指定的位置(桌面)

查看生成的凭条(注意这里的银行的logo是我自己本地的,你们要使用的话要重新编译jrml文件,图片选择你自己本地的logo,最后生成jasper文件,放在项目的jasper文件夹里)

取款界面

转账界面

交易信息界面

操作后的日志信息表和交易记录表

About

模拟银行的ATM自动取款机

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages