{"id":20094079,"url":"https://github.com/hs-vae/atm-bank-management","last_synced_at":"2025-10-24T21:40:01.980Z","repository":{"id":144543941,"uuid":"333162980","full_name":"hs-vae/ATM-Bank-Management","owner":"hs-vae","description":"模拟银行的ATM自动取款机","archived":false,"fork":false,"pushed_at":"2021-01-26T17:42:52.000Z","size":16525,"stargazers_count":11,"open_issues_count":0,"forks_count":4,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-04T15:29:10.159Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hs-vae.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-01-26T17:31:04.000Z","updated_at":"2025-03-23T09:56:05.000Z","dependencies_parsed_at":null,"dependency_job_id":"d369d993-7738-44b7-af61-330162875eac","html_url":"https://github.com/hs-vae/ATM-Bank-Management","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hs-vae/ATM-Bank-Management","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hs-vae%2FATM-Bank-Management","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hs-vae%2FATM-Bank-Management/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hs-vae%2FATM-Bank-Management/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hs-vae%2FATM-Bank-Management/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hs-vae","download_url":"https://codeload.github.com/hs-vae/ATM-Bank-Management/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hs-vae%2FATM-Bank-Management/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280872021,"owners_count":26405606,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-24T02:00:06.418Z","response_time":73,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-13T16:49:17.874Z","updated_at":"2025-10-24T21:40:01.961Z","avatar_url":"https://github.com/hs-vae.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 前言\n\n自己软件工程实训写的一个项目\n\n模拟ATM自动取款机\n\n包括存款、取款、转账(分为行内和跨行)、登录、修改密码、查询交易信息、打印交易凭条功能\n\n涉及知识：设计模式、网络编程、JDBC、I/O流、SWING、Mysql等。\n\n架构：C/S模式(客户端和服务端)\n\n开发工具：idea、Navicat、IReport(用于打印凭条)\n\n开发语言：Java (Jdk为java13)\n\n数据库：Mysql(8.0.22)\n\n操作系统：Win10\n\n# ATM系统需求\n\nATM自动动取款机是银行在银行营业大厅、超市、商业机构、机场、车站、码头和闹市区设置的一种小型机器，利用一张信用卡大小的胶卡上的磁带〔或芯片卡上的芯片〕记录客户的基本户口资料，让客户可以透过机器进行提款、存款、转帐等银行柜台服务\n\n1） 客户将银行卡插入读卡器，读卡器识别卡的真伪，并在显示器上提示输入密码。\n\n2） 客户通过键盘输入密码，取款机验证密码是否有效。如果密码错误提示错误信息，如果正确，提示客户进行选择操作的业务。\n\n3） 客户根据自己的需要可进行存款、取款、查询账户、转账、修改密码等操作。\n\n4） 在客户选择后显示器进行交互提示和操作确认等信息。\n\n5） 操作完毕之后，客户可自行选择打印或不打印凭条。\n\n# ATM系统设计\n\n系统流程和主要的功能\n\n![](https://picture.hs-vae.com/ATM系统主要流程.png)\n\n系统类图\n\n![](https://picture.hs-vae.com/图片1.png)\n\n登录时序图\n\n![image-20210126231644395](https://picture.hs-vae.com/image-20210126231644395.png)\n\n存款时序图\n\n![image-20210126231607915](https://picture.hs-vae.com/image-20210126231607915.png)\n\n取款时序图\n\n![image-20210126231617684](https://picture.hs-vae.com/image-20210126231617684.png)\n\n查询账户\n\n![image-20210126231631561](https://picture.hs-vae.com/image-20210126231631561.png)\n\n行内转账时序图\n\n![image-20210126231702835](https://picture.hs-vae.com/image-20210126231702835.png)\n\n跨行转账时序图\n\n![image-20210126231714763](https://picture.hs-vae.com/image-20210126231714763.png)\n\n# 数据库设计\n\n先建立一个atm数据库\n\n再建立三个表\n\n用户信息表t_customer_info\n\n字段包括：卡号、确认编号、用户名字、密码、余额、创建时间、开卡的银行、状态、保存类型\n\n![image-20210127000107483](https://picture.hs-vae.com/用户信息表.png)\n\n日志表t_log_info\n\n字段包括：日志id、日志信息、日志类型、日志时间、操作人员、日志状态\n\n![image-20210126223549711](https://picture.hs-vae.com/日志表.png)\n\n交易记录表t_record_info\n\n字段包括：交易id、交易时间、交易金额、用户名字、卡号、交易类型、余额\n\n![image-20210126223607880](https://picture.hs-vae.com/交易记录表.png)\n\n# 凭条设计\n\n转账、存款、取款的凭条\n\n![](https://picture.hs-vae.com/单挑记录.png)\n\n交易信息的凭条\n\n![](https://picture.hs-vae.com/交易凭条.png)\n\n# ATM系统实现\n\n登陆界面\n\n![](https://picture.hs-vae.com/登录界面.png)\n\n登陆成功后进入主界面\n\n![](https://picture.hs-vae.com/主界面1.png)\n\n存款界面(演示打印凭条功能，其他功能就不再演示打印凭条功能)\n\n![image-20210126234714372](https://picture.hs-vae.com/存款界面.png)\n\n存款成功后提示是否打印凭条\n\n![](https://picture.hs-vae.com/是否打印凭条.png)\n\n选择保存的路径\n\n![](https://picture.hs-vae.com/选择保存路径.png)\n\n凭条已生成到指定的位置(桌面)\n\n![](https://picture.hs-vae.com/生成凭条成功.png)\n\n查看生成的凭条(注意这里的银行的logo是我自己本地的，你们要使用的话要重新编译jrml文件，图片选择你自己本地的logo，最后生成jasper文件，放在项目的jasper文件夹里)\n\n![](https://picture.hs-vae.com/存款凭条.png)\n\n取款界面\n\n![](https://picture.hs-vae.com/取款界面.png)\n\n转账界面\n\n![](https://picture.hs-vae.com/转账界面.png)\n\n交易信息界面\n\n![](https://picture.hs-vae.com/交易信息.png)\n\n操作后的日志信息表和交易记录表\n\n![](https://picture.hs-vae.com/交易表更新.png)\n\n![](https://picture.hs-vae.com/日志表更新.png)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhs-vae%2Fatm-bank-management","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhs-vae%2Fatm-bank-management","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhs-vae%2Fatm-bank-management/lists"}