当前位置: 首页 > news >正文

【项目精选】基于Java的银行排号系统的设计与实现

银行排号系统是为解决一些服务业营业大厅排队问题而设计的,它能够有效地提高工作人员的工作效率,也能够使顾客合理的安排等待时间,让顾客感到服务的公平公正。论文首先讨论了排号系统的背景、意义、应用现状以及研究与开发现状。本文在对C/S架构、Socket网络编程技术、Java线程编程等相关技术理论做了简单的论述。结合工程项目,具体论述了排号系统的需求分析、整体设计以及系统数据库的设计,其中包括业务流程图、系统用例图、功能结构图、数据流程图、以及系统数据库的E-R图的分析和描述。其次,论文着重讨论了C/S架构的排号系统的设计和实现。在论文中详细地论述了排号系统的数据库设计与系统实现的各个步骤,并对原型系统作了简要介绍。最后,论文对主要完成的工作进行了总结,并提出了研究的不足之处以及对今后研究的展望。

关键词 C/S架构 Java多线程 排号系统 Socket网络编程

系统总体设计

  1. 系统设计目的与任务
    系统设计阶段的主要目的是,将系统分析阶段所提出的、充分反映用户信息需求的系统逻辑方案转换成可以实施的、基于计算机和网络技术的物理方案。这一阶段的主要任务是从信息系统的总体目标出发请添加图片描述
    ,根据系统分析阶段对系统的逻辑功能的需要,并考虑到经济、技术和运行环境等方面的条件,确定系统的整体结构和系统各组成部分的技术方案,合理选择计算机和通信的软件、硬件设备,提出系统的实施计划。
  2. 开发设计思想
    排号系统从界面上看主要实现两个方面的功能:
    (1)取号 客户按键反馈给服务器,然后服务器从数据库获得一个号反馈给顾客,这就完成了取号的过程,在顾客取号的可视化界面上顾客可以查询当前取号总人数,也可查询到已处理的人数,在顾客想放弃当前的号票时也可以对号票进行删除,顾客还可以在可视化界面看到自己的取票信息和需要等待的人数。
    (2)叫号 业务员按键反馈给服务器,服务器拿到取号时存储在数据库中的数据,进行业务处理,在这个过程中业务员可以进行对顾客人数的查询,还可以对不需要进行处理的票号进行删除,也可已充当管理员的角色对数据库进行删除。业务员还可以查看顾客的取票情况,以及票号的业务的处理情况。
    排号系统的特点:
    (1)可操作性
    界面简易,使用通用的菜单式风格,使用直观,操作简便。
    (2) 容量大
    支持联网,不限制取号数量,可满足大型客流场所的使用。
    (3)高性能
    系统的所有对象都存放到数据库中,表示逻辑与业务逻辑相互分离,保证系统的处理能力。
    (4)伸缩性
    它能适应不同的应用环境,对于只实现基本功能的服务大厅,如银行系统,可以采用微机控制的排号系统,无需单独配置系统电脑,即可实现自动排队叫号的功能。
    (5)可靠性
    能保证长时间的正常运行,同时系统有比较好的安全机制,提高了安全性能。
    3.请添加图片描述
    系统总体设计框架
    据以上章节所做需求分析对系统进行功能设计,见系统功能模块图如图3-1所示:
    在这里插入图片描述

图3-1 系统的总体功能模块图
3.4 系统功能详细设计
该系统功能从服务器端和客户端角度来说可分以下两大模块,具体每一个模块又分为几个小模块:
(1) 服务器端
1)取号功能:打开服务器与终端进行通信。由于把服务器设置到了用户的一端,所以在服务器端进行取号,然后把号存到数据库中。
2)统计功能:数据访问层从数据库中查出所有取票人数和等待人数在服务器端界面显示。
3)删除功能:删除当前取票顾客的排号。
4)查询功能:顾客可以从此处了解到所有顾客的取票情况及被处理状况。
5)通知功能:从服务器端获得排号,通过服务器端通知用户到工作台办理业务。
(2) 客户端
同一时刻允许多个工作台办理业务。用户通过在服务器端的通知功能知道去哪个工作台办理业务,工作台显示正在为哪个号码的用户办理业务。
1) 登录功能:业务员从此处登录,业务员的姓名,密码是事先录入数据库的。
2) 叫号功能:业务员点击处理按钮触发事件发送信息给服务器,服务器从数据库拿到号票,返回给业务员进行业务处理。
3)统计功能:数据访问层从数据库查询总取票人数和查询未处理人数在业务端显示。
4) 删除功能:业务员可以删除数据库中所有的记录,也可以选择删除某条记录。
5) 查询功能:业务员可以查询所有顾客的取票情况及业务员对号票的处理情况,这块主要为了能够及时掌握顾客取票信息及业务员处理情况。
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

源码下载

点击下载源码

http://www.lryc.cn/news/592.html

相关文章:

  • 前端 基于 vue-simple-uploader 实现大文件断点续传和分片上传
  • 解决报错: ERR! code 128npm ERR! An unknown git error occurred
  • 聊城高新技术企业认定7项需要注意的问题 山东同邦科技分享
  • 菊乐食品更新IPO招股书:收入依赖单一地区,规模不及认养一头牛
  • Elasticsearch安装IK分词器、配置自定义分词词库
  • Linux嵌入式开发——shell脚本
  • CV【5】:Layer normalization
  • 跳跃游戏 II 解析
  • 易基因|猪肠道组织的表观基因组功能注释增强对复杂性状和人类疾病的生物学解释:Nature子刊
  • 01- NumPy 数据库 (机器学习)
  • RapperBot僵尸网络最新进化:删除恶意软件后仍能访问主机
  • 拦截器interceptor总结
  • 轻松实现微信小程序上传多文件/图片到腾讯云对象存储COS(免费额度)
  • Golang中defer和return的执行顺序 + 相关测试题(面试常考)
  • 谁说菜鸟不会数据分析,不用Python,不用代码也轻松搞定
  • php mysql保健品购物商城系统
  • Vue3电商项目实战-首页模块6【22-首页主体-补充-vue动画、23-首页主体-面板骨架效果、4-首页主体-组件数据懒加载、25-首页主体-热门品牌】
  • linux 使用
  • 基于遗传算法的微电网调度(风、光、蓄电池、微型燃气轮机)(Matlab代码实现)
  • 方向导数与梯度下降
  • Java岗面试题--Java基础(日积月累,每日三题)
  • java基础—Volatile关键字详解
  • 内存检测工具Sanitizers
  • Triton : OpenAI 开发的用于Gpu开发语言
  • Python文件操作-代码案例
  • 活动目录(Active Directory)管理,AD自动化
  • Allegro如何使用Vertext命令修改丝印线段的形状操作指导
  • Leetcode力扣秋招刷题路-0030
  • 基于Prometheus和k8s搭建监控系统
  • 类和对象(下)