用Java 技术并实现一个基于TCP协议通信的银行ATM系统。
客户端GUI和服务端GUI均采用Swing实现。
客户端模拟银行ATM 用户界面;服务器端负责处理用户的操作请求(如登录、查询余
额、取款、存款、转账等)并返回相应结果,要求支持多客户端同时操作。
点击空白处退出提示
用Java 技术并实现一个基于TCP协议通信的银行ATM系统。
客户端GUI和服务端GUI均采用Swing实现。
客户端模拟银行ATM 用户界面;服务器端负责处理用户的操作请求(如登录、查询余
额、取款、存款、转账等)并返回相应结果,要求支持多客户端同时操作。
(一)客户端(ATM机)基本功能
1. 登录
使用银行账号与密码登录ATM机,要求每个用户的银行账号唯一
发送登录请求给服务器
登录验证成功显示主菜单界面;失败则显示提示信息并重新返回登录界面
2. 主菜单功能(成功登录后)
查询余额
存款
取款
转账:当前帐户向同银行的其他账户转账
修改密码、邮箱等信息
退出登录:通知服务器结束服务线程,并关闭与服务器的网络连接。
超时未操作,如30秒,自动退出主菜单,返回登录界面
3. 网络通信
与服务器建立 TCP 连接(Socket)
发送用户请求,接收服务器响应
正确处理异常情况(如服务器断开、超时等)
(二)服务器端基本功能
1. ATM连接管理
监听客户端连接;
为每个ATM客户端连接创建独立线程进行交互处理(多线程),当ATM客户端退出主
菜单后,结束对应的服务线程。
2. ATM操作处理
根据ATM客户端请求,执行相应操作:
(1) 登录验证
(2) 查询余额
(3) 存/取款/转账操作
(4) 密码修改
3. 持久化
有关客户和账户信息存到文件或者数据库中;
可设置初始的账户信息;
服务器程序启动时,读入保存的数据;
程序运行过程中用户账户信息如有修改需要动态保存。
4. 服务器端 GUI 功能设计
服务器GUI为银行后台管理系统,界面设计包含如下模块,自主定义界面布局:
(1) 用户账户管理面板
查询指定用户账户的信息(余额、状态)
修改账户信息(如开户、销户;冻结、解冻等)
重置用户密码
(2) 连接管理面板
动态显示当前在线的ATM客户端列表(ATM IP、登录的账户、连接时间)
(3)日志面板
服务器启动日志
ATM客户端连接、账户操作的历史记录(ATM IP、登录账户、操作时间、操作内容)
异常处理结果
技术要求:
(1) 面向对象编程技术:类,对象,接口,包,封装,继承,多态,设计模式
(2) 异常处理技术
(3) 输入输出流 数组与集合
(4) 多线程
(5) 图形用户界面
(6) 基于 TCP/IP协议的客户/服务器网络编程技术




评论