基于 SSM 的银行 ATM 系统
1 需求分析
后端采用 SSM 框架实现简单的银行 ATM 系统,实现“登录”、“账户锁定”、“存款”、“取款”、“转账”、“查询”、“修改密码”等功能,具体要求如下:
1.1 用户登陆
用户进入银行系统欢迎页,可用通过输入卡号和密码登录进入到银行系统功能主页面。
当用户未输入卡号或密码离开输入框时,会进行非空检验并在下面给出提示。
输入卡号不存在或者卡号和密码不正确或用户账户锁定点击登录按钮会给出提示信息。
1.2 主页面
主页面会自动查询并显示该用户的卡号和密码以便于用户进行锁定账户和修改密码这两个操作。并且菜单栏还有查询、存款、取款、转账功能项。
·锁定账户:点击锁定账户会跳转到提示页面,并且再登录会提示账户被锁定。
·修改密码:点击修改密码会跳转到修改密码的页面,输入新密码点击确定修改后会自动跳转到欢迎页面。
·查询:点击查询会跳转到查询用户,显示用户的卡号,姓名,余额。
·存款:点击存款会跳转到存款的页面,输入存入金额点击确认存款后会自动跳转到查询页面,显示的余额也是存入后的数据。
·取款:点击取款会跳转到取款页面,输入取出金额点击确认取款会自动跳转到查询页面,显示的金额也是取出后的数据。其中如果输入的金额大于余额,会出现提示信息。
·转账:点击转账会调整转到转账页面,输入目标卡号和转账金额点击确认转账会自动跳转到查询页面,显示的金额也是转账后的数据。其中如果 输入的金额大于余额,会出现提示信息。
1.3 提示页面
用户成功锁定账户或者成功修改密码后都会跳转到该提示页面,读秒结束后返回欢迎页或者点击跳转返回欢迎页。
1.4 各项功能
1.4.1 锁定用户
点击锁定账户会跳转到提示页面,并且再登录会提示账户被锁定。
1.4.2 修改密码
点击修改密码会跳转到修改密码的页面,输入新密码点击确定修改后会跳转到提示页面。
1.4.3 查询
查询该用户的所有信息并显示卡号,姓名,余额。
1.4.4 存款
用户输入存入金额并点击确定,存入成功后会跳转到查询页面。
1.4.5 取款
用户输入取款金额并点击确定,取款成功后会跳转到查询页面,如果输入的金额大于余额,离开输入框时会出现提示。
1.4.6 转账
用户输入目标卡号和转账金额并点击确认转账,转账成功后会跳转到查询页面,如果输入的金额大于余额,离开输入框时会出现提示。
2 系统设计
2.1 用户用例图
该银行 ATM 系统只有一个参与者:用户,用例图如下:
2.2 E-R 图
数据库只有一张用户表,E-R 图如下:
2.3 UML 类图(Class Diagram)
2.4 UML 时序图(Sequence Diagram)
2.4.1 用户登录
2.4.2 查询
2.4.3 账户锁定
2.4.4 修改密码
2.4.5 存款、取款、转账
存款、取款和转账的用例图和修改密码类似,点击后会通过映射的 controller 的 url 地址进入 controller,然后通过 service 来查询数据库返回需要显示在页面上的信息,然后用户输入相应的数据再存入数据库,存款、取款、转账成功后都会跳转到查询页面再进行一次查询(新的余额数值)。转账是接收两个 ID 和金额,一个是登录用户的 ID 和目标账号的 ID,调用存款和取款两个业务来实现转账业务。
3 系统实现
3.1 项目结构
4 系统测试
各个功能在需求分析中都有测试图片
5 系统总结
首先最大的问题就是配置问题,不得不说配置文件的书写真的很繁琐,做这个系统还是直接拿聂老师您给的那些配置文件,但是用到我的项目中又存在一些问题,比如有些地方的 classpath:要改成 classpath*:,还有 mapping 存放路径和 resources 的存放路径问题,最后将 mapping 放在 resources 下面然后让 resources 和 Java 同级,配置问题才得到解决。
然后的问题就是 bootstrap 的学习还有转账功能的实现,因为用 SQL 语言还不会在一个语句中修改两个账户的同一字段,所以就改成了用存款和取款来分别实现转账功能。
取款和转账功能输入的金额如果大于账户余额,焦点离开文本框虽然可以出现提示信息,但是还是可以点击确认按钮。
这学期的 Web 课程是自己选的,想了解一下现在工作的主流的技术,后端学的比较前端扎实一些,前端的 JavaScript 还需要继续学习。
这门课学到了很多,前端后端都有了初步的了解,准备继续在寒假学习 JavaScript 和 Web 基础,然后再深究 Spring 已经 SpringBoot 框架。以后的发展还没想好,大学先尽量学好主流语言和技术。
自评成绩,这次的大作业应该给自己 90 分吧,实现了老师要求的所有功能,也加了一些之前学过的 js 实现的提示信息,缺憾就是 js 里面不完善。
参考文献
- 民生银行社区生活服务系统的设计与实现(山东大学·李京)
- 商业银行中间业务科技支持系统研究(山东大学·张功臣)
- 银行间票据托管系统的设计与实现(山东大学·乔欣)
- 基于SSH的ATM管理系统设计与实现(大连理工大学·刘俊锋)
- 基于ASP.NET的银行电子商务安全支付系统设计与实现(吉林大学·史绩)
- 基于大数据平台的金融设备管理系统设计与实现(华南理工大学·宋胜东)
- 交通银行信用卡坐席系统设计与实现(电子科技大学·冯帅)
- 基于SOA与Tuxedo技术的网上银行系统设计与实现(电子科技大学·于群)
- 现金管理系统的设计与实现(电子科技大学·戴丽君)
- 基于FLEX的ATM机监控系统的设计与实现(南京大学·王智)
- 银行间票据托管系统的设计与实现(山东大学·乔欣)
- 基于SOA与Tuxedo技术的网上银行系统设计与实现(电子科技大学·于群)
- 网上银行管理系统的设计与实现(江西财经大学·罗德洪)
- 基于大数据平台的金融设备管理系统设计与实现(华南理工大学·宋胜东)
- 基于J2EE架构的网上银行管理设计与实现(电子科技大学·李国富)
本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:毕设港湾 ,原文地址:https://bishedaima.com/yuanma/35842.html