该中国银行ATM系统架构为JAVA+mysql+Swing+awt等,针对银行金融这一场景,主要注重的就是数据的安全性和正确性,因此我对该系统的设计如下图所示:
- 该ATM系统是基于中国银行的ATM系统进行设计,对该系统的需求设计如下:
通用:
- 用户开户:开户时,对用户所填写的表单进行检验,系统设计为一人一卡一机号的模式,对用户开户的身份证号,手机号的位数和唯一性做检验。对用户填写的前后确认密码做格式检验和一致性检验。若为银行员工开户,则对密钥做检验,以此来模拟现实应用场景。
- 用户登录:用户可以通过输入正确的账号和密码登录系统。系统需要验证用户的身份,并根据用户的权限显示相应的功能菜单。登录时,对卡号和密码做匹配检验和卡号存在检验。登录时,对密码进行检验,有三次重新输入机会,若三次都错,则自动退出系统。
客户:
- 查询余额:用户登录后可以查询自己的账户余额。系统需要从数据库中获取用户的账户信息,并显示在界面上。
- 存款:用户可以选择存款操作,并输入存款金额。系统需要将存款金额加到用户的账户余额中,并更新数据库中的账户信息。
- 取款:用户可以选择取款操作,并输入取款金额。系统需要检查用户的账户余额是否足够,并将取款金额从用户的账户余额中扣除,并更新数据库中的账户信息。取款时,对取款金额做表单检验;对前后确认密码的一致性、正确性和匹配检验。
- 转账:用户可以选择转账操作,并输入转账金额和目标账户。系统需要检查用户的账户余额是否足够,并将转账金额从用户的账户余额中扣除,并将转账金额加到目标账户的余额中,并更新数据库中的账户信息。转账时,对目标账号和目标账号用户名做匹配检验以及对目标账号做存在检验;对转账金额和账户余额做检验;对前后确认密码做一致性、正确性和匹配检验。
- 修改密码:用户可以选择修改密码操作,并输入新密码。系统需要验证用户的身份,并将新密码更新到数据库中。修改密码时,对原始密码的正确性和格式做检验;对前后确认新密码做一致性和格式的检验。
- 退出系统:用户可以选择退出系统操作,系统需要清除用户的登录状态,并退出中国银行ATM系统。
银行员工:
包括上述的业务界面的全部功能以及后台管理功能,如下:
- 客户个人信息查询:银行员工登录后可以查询该银行所有客户的账户余额。系统需要从数据库中获取客户的个人信息,并显示在界面上。
- 客户账户明细查询:银行员工登录后可以查询该银行所有客户的账户明细。系统需要从数据库中获取客户的账户明细信息,并显示在界面上。
- 退出系统:用户可以选择退出系统操作,系统需要清除用户的登录状态,并退出中国银行ATM系统。