医院挂号系统旨在简化患者预约医生的流程,提升医疗服务效率。通过实现在线预约、自助服务等功能,系统减少患者现场排队时间,优化资源分配,提高医院运营效能。持续改进挂号系统对提升患者满意度和推动医疗服务现代化具有重要意义。该系统采用java语言,并采用Spring Boot框架,结合MySQL数据库进行开发设计,易于部署和维护,且支持快速开发。系统管理模块提供用户和角色的管理,确保了操作的安全性和权限的合理划分。
关键词:医院挂号;springboot;mysql数据库;Java
Abstract
The hospital registration system aims to simplify the process of patients making appointments with doctors and improve the efficiency of medical services. By implementing functions such as online reservation and self-service, the system reduces patient queuing time on site, optimizes resource allocation, and improves hospital operational efficiency. Continuous improvement of the registration system is of great significance in enhancing patient satisfaction and promoting modernization of medical services. The system adopts Java language and Spring Boot framework, combined with MySQL database for development and design. It is easy to deploy and maintain, and supports rapid development. The system management module provides management of users and roles, ensuring the security of operations and reasonable allocation of permissions.
Keywords: Hospital registration; Springboot; MySQL database; Java
第1章 概 述
通过对本文的开发背景、研究意义以及国内外研究现状和发展趋势的分析,确定本文的研究内容是系统开发的前提。
1.1 开发背景及研究意义
随着人口增长和城市化加剧,医疗服务需求持续上升,导致医院挂号难成为普遍现象。传统的窗口排队挂号方式耗时长、效率低,且容易造成人群拥挤和交叉感染。为改善这一状况及提高医疗服务质量和患者满意度,许多医院开始引入电子挂号系统。这种系统意在简化挂号流程,通过在线预约、自助服务终端等方式,减少患者现场等待时间,优化医疗资源配置。现存的挂号系统仍面临用户界面不友好、系统集成度不高和缺乏灵活性等问题,急需进一步研究和改进。
开发一个高效、便捷的医院挂号系统对于提升整体医疗服务体验至关重要。该系统能够显著缩短患者的等候时间,减轻医院前台工作人员的压力,提高医院运营效率。通过优化患者分流机制,系统有助于平衡医生的工作负载,确保医疗资源的合理利用。一个良好的挂号系统还可以降低因长时间排队而引发的患者不满情绪,改善医院就诊环境。深入研究与优化医院挂号系统,将直接促进医疗服务质量的提升,增强患者对医疗机构的信任度,进而推动整个医疗行业向更加人性化和信息化的方向发展。
在中国,随着互联网技术的发展和国家对医疗健康信息化的重视,医院挂号系统得到了广泛的推广和应用。多数医院已经实现了通过官方网站或第三方平台进行在线预约挂号,极大地方便了患者并减轻了现场挂号的压力。除了线上预约,自助挂号机也被安置在医院的显眼位置,提供快速挂号、查询等服务。这些系统的引入提升了医院的工作效率,缩短了患者等待时间。系统间的兼容性问题、老年人等特殊群体的使用障碍以及系统稳定性等仍然是需要进一步研究和解决的问题。
在国外,尤其是在发达国家,医院挂号系统的研究和实践同样在不断进步。许多国家的医疗体系较早地采纳了电子医疗记录和在线预约系统,使得医疗服务更加高效且容易访问。例如,通过电子健康档案(EHR)系统整合的个人健康信息,可以让患者在挂号时提供更准确的病史,从而得到更合适的医疗服务。一些系统还支持跨医院和跨专业的预约,为患者提供全方位的医疗解决方案。数据安全和隐私保护始终是国外医疗信息系统设计和维护中的重要议题,如何在提升便利性的同时确保信息安全,是国外研究和发展的焦点之一。
该系统采用java技术,结合springboot框架使页面更加完善,后台使用MySQL数据库进行数据存储。系统主要分为三大模块:即管理员模块、医生模块和患者模块。本文从医院挂号流程分析入手,分析了其功能性需求和非功能性需求,设计了一个由管理员、患者和医生三部分组成的医院挂号系统。主要包括对患者、医生、科室、坐诊医生、排班信息、预约挂号、预约取消、在线问诊、问诊回复、在线反馈、轮播图管理、用户信息等进行操作。
第2章 关键技术介绍
在开发系统过程中采用Java语言、MySQL数据库存储数据。系统以B/S为基础,实现管理一体化、规范化,为用户提供一个高效快捷的挂号平台。利用springboot架构进行编程,具有良好的稳定性与安全性,并且操作简单,易于维护。下面介绍一下关键技术。
2.1 开发环境
本系统使用MyEclipse开发工具。系统使用服务器为Tomcat服务器。系统数据库设计使用MySQL。
2.2 Java技术
java是一种面向对象的面向对象编程语言,它不仅吸收了C++语言的优点,而且摒弃了C++不可理解的多继承和指针的概念,所以Java语言功能强大,使用方便。JavaScript作为一种动态网页制作技术,jQuery提供了丰富而强大的脚本语言库支持。二者结合使用可以有效提高开发效率和质量。Java语言是静态面向对象编程语言的代表,是面向对象理论的优秀实现,使程序员能够优雅地思考复杂的编程。
Java是简单性的、面向对象、分布式、健壮性、安全性、平台独立、可移植性的、多线程、动态性的。它的应用使软件开发过程更加灵活,提高了软件质量,增强了软件可重用性。在当今网络技术迅速发展的情况下,Java已成为目前最流行的编程语言之一。Java是一种开源语言。Java可以编写桌面应用程序、Web应用程序、分布式系统、嵌入式系统应用程序等。
2.3 MySQL数据库
现在的Web动态网站都是基于数据库的,一直以来,MySQL数据与java技术的组合都备受开发者们的亲赖,MySQL目前属于Oracle甲骨文公司,MySQL称之为关系型数据库。
(1)MySQL是相比与oracle更轻量、更简介便于使用,在服务部署方面相对复杂度低,更利于毕设系统的开发。
(2)MySQL对多数个人用户来说是免费的。
(3)MySQL支持sql语言,学习成本较低。
(4)MySQL可支持互联网数据共享也支持数据安全设置,防止数据泄露。
(5)MySQL运行到各种版本的操作系统中无论是服务器上还是开发用的笔记本上。
2.4 springboot框架
Spring Boot是由Pivotal团队提供的轻量级框架,其“开箱即用”及“约定优于配置”的策略可以使开发者全身心的投入到业务逻辑代码的编写中,极大地提高了软件开发项目的效率。相比于Spring框架而言,Spring Boot框架更加能够节省程序员配置XML的时间,Spring Boot项目允许开发者使用它的所有模块和开发功能,此外, Spring Boot内置了服务器,简化了开发者启用服务器的整体流程,Spring Boot还可以自动适配不同类型的数据库以满足用户快速连接后台数据库管理的需求,这极大地方便了用户快速搭建应用程序的实现过程。 2014年4月,Spring Boot 1.0.0发布,截止到2022年2月,发布的Spring Boot版本为Spring Boot 3.0.0-M1。在系统的设计与开发中,为了能够快速搭建软件后台服务的开发环境,从技术实现的难度以及平台开发的成本两个方面考虑,Spring Boot框架能够使开发者更关注平台功能的业务逻辑代码实现,可采用Spring Boot框架搭建系统提供数据服务。因此,本案例项目后台开发选择Spring Boot框架。
Vue.js是一个流行的JavaScript框架,用于构建用户界面和单页应用程序。它由前Google工程师尤雨溪(Evan You)创立,并于2014年发布。Vue的设计目标是通过尽可能简单的API实现响应式的数据绑定和组合的视图组件。
Vue的核心是一个响应式的数据绑定系统和一个组件系统。响应式数据绑定允许创建交互式的用户界面,而不需要繁琐的DOM操作代码或手动更新页面元素。组件系统使得开发者能够构建可复用的组件,每个组件都有自己的状态和模板,这有助于提高代码的模块化和可维护性。
Vue的另一个优势是其轻量级和易于集成的特性。它可以作为一个简单的库引入,也可以使用Vue CLI来创建一个全功能的单页应用。此外,Vue与现代浏览器兼容,也支持旧浏览器通过转译。
Vue的生态系统包括一个庞大的社区、丰富的插件和大量的学习资源。它的文档被认为是清晰和易于理解的,这使得新手可以快速上手,而对于有经验的开发者来说,Vue提供了强大的功能和灵活性,以适应各种规模和复杂度的项目。
2.6 B/S架构
B/S结构就是指系统客户端与服务器分离,客户端通过浏览器访问服务端进行操作。
B/S结构目前广泛应用于绝大部分系统搭建中,这种结构摒弃C/S结构客户端服务端不分离的缺点,具有更多的优势:
(1)跨平台性:B/S的标准由标准化组织确立,适用于绝大多数的系统搭建,通用于应用之间。
(2)低维护成本:客户端和服务器端分离,减轻了两端的压力,尤其是客户端,对客户端设备,硬件、软件要求都比较低,并且系统需要升级或维护时,只需要在服务器端升级或维护就可以,使相应的费用减少。
2.7 本章小结
本节作为开发的准备,简要介绍了系统开发所需的开发环境,然后介绍系统开发所需的技术,从而掌握系统开发的总体框架性。
第3章 系统分析
系统分析是软件开发的关键。但在实际工作中却往往容易被人们忽视或误解。其实需求分析在软件开发过程中起着重要作用,它不仅为软件产品提供了一个基本框架和基础结构,而且还能够提高软件开发效率及质量。大多数软件的故障都是由于需求分析错误造成的,因为需求分析可以分析用户的业务,并根据用户的需求进行定制分析。
3.1 需求分析
需求分析,也称为软件需求分析、系统需求分析或需求分析工程,是指开发人员经过充分的研究和分析,准确地理解用户和项目在功能、性能、可靠性等方面的具体需求,并将用户的非正式需求表述转化为确定系统必须执行的需求的完整定义的过程。
功能需求分析是系统设计的前提,它要求开发者和用户定义开发什么样的体系和系统需要什么样的功能。本文主要介绍了医院挂号系统。该系统为用户提供了更安全、更高效、更便捷的服务途径。本系统有三个角色:管理员、患者和医生,要求具备以下功能:
(1)患者注册登录系统首页,点击个人中心可以对个人中心、修改密码、预约挂号、预约取消、在线问诊、问诊回复等进行操作;
(2)医生通过后台管理页面,实现对个坐诊医生、排班信息、预约挂号、预约取消、在线问诊、用户信息等进行操作;
(3)管理员通过后台管理界面,实现对患者、医生、科室、坐诊医生、排班信息、预约挂号、预约取消、在线问诊、问诊回复、在线反馈、轮播图管理、用户信息等功能的操作;
3.2 系统可行性分析
可行性分析是指通过比较项目的主要内容和支撑条件,如市场需求、资源供应、环境影响等,预测项目建成后可能产生的经济效益、社会和环境影响,为项目决策提供依据的综合性系统分析方法。可行性研究报告编制的质量直接影响着投资决策的成,而可行性研究报告编制程序又决定了可行性研究报告能否得到有效执行。因此,必须重视可行性研究工作,提高其编制水平。可行性分析应当具有预见性、公正性、可靠性和科学性。
3.2.1 技术可行性分析
本系统是为用户提供更加安全、高效、便捷的医院挂号方式,本系统需要运用到Java、MySQL、springboot、B/S结构等技术,这些技术在国内外已经非常成熟,在大学期间也有所涉及,相关的知识和工具在网络上也可以查到,再加上老师的指导,在技术上的难题可以得到解决。
3.2.2 经济可行性分析
该系统的主题是基于springboot的医院挂号系统的设计与实现。开发所需的软件资源是Eclipse。我们可以在它的网站上安装一个免费的版本,这对我们的开发和使用是足够好的。数据库就是MySQL数据库。是开源是免费的,服务器使用Tomcat服务器,浏览器使用日常IE浏览器,springboot框架是开源的。经过可行性评估,软件资源支出符合经济可行性。硬件方面,配备齐全的笔记本电脑作为工具在经济上是可行的。
3.3 系统用例分析
医院挂号系统综合网络空间开发设计要求。目的是将传统管理方式转换为在网上管理,完成医院挂号的方便快捷、安全性高、交易规范做了保障,目标明确。医院挂号系统可以将功能划分为管理员功能、医生功能和患者功能。
(1)管理员用例如下:
图3-1 管理员用例图
(2)医生用例如下:
图3-2 医生用例图
(3)患者用例如下:
图3-3 患者用例图
3.4.1 用户登录流程
要想利用这个软件来进行系统的安全管理,首先需要登录到该软件中。如图3-4所示。
图3-4登录流程图
3.4.2 添加信息流程
管理员可以添加信息,用户添加可以自己权限内的信息,输入信息后,要想利用这个软件来进行系统的安全管理,首先需要登录到该软件中。添加信息流程如图3-5所示。
图3-5添加信息流程图
3.4.3 修改信息流程
管理员可以修改患者预约挂号信息,用户可以修改自己权限内的信息,首先进入修改信息界面,输入需要修改信息,在系统进行判定为正确和合规后修改成功,并将数据更新至数据库。信息不合法则修改失败,重新输入。修改信息流程图如图3-6所示。
图3-6修改信息流程图
3.4.4 删除信息流程
管理员可以删除患者预约挂号信息,点击删除按钮,系统会提示是否删除信息,点击确定,则信息被删除,数据库中的信息随之删除,删除信息流程图如图3-7所示。
图3-7 删除信息流程图
3.5本章小结
基于springboot的医院挂号系统从市场、技术、经济、功能等方面分析了系统的功能需求,可以满足用户的医院挂号需求,帮助用户安全、高效地找到合适的医院挂号信息,因此有必要对其进行课题研究。
第4章 系统设计
系统设计是将被设计对象划分为单个模块进行构建,各个模块相互支持,相互制约,它们的组合是一个完整的系统。通过系统设计,可以最大限度地满足系统的预期目标,明确软件开发的目的。
4.1 系统基本结构设计
本次系统采用springboot框架集进行开发,springboot框架是一款企业界主流的软件开发框架,其简化了开发流程,大大缩减了软件开发所需的时间提高了软件的响应速度。系统总体结构图如图4-1所示。
数据库结构设计的好坏直接影响到医院挂号系统的效率和实现的效果。本系统的数据库采用MySQL数据库,MySQL是一种开放源代码的关系型数据库管理系统,使用最常见的数据库管理语言SQL进行数据库管理。
4.2.1 数据库E-R图设计
根据功能需求来对系统的e-r图来进行分解得到几种实体,在系统中将“患者、医生、预约挂号、预约取消、问诊回复、排班信息”等作为实体,它们的局部E-R如图4-2所示。
图4-2实体属性图
4.2.2 数据库表设计
数据表是用来保存多种数据的表,它是所有数据库的核心对象,且对于软件开发有着不可替代的作用。其相关数据表如下:
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
name | varchar | 100 | 配置参数名称 | ||
value | varchar | 100 | 配置参数值 | ||
url | varchar | 500 | url |
表4-2:预约取消
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yuyuebianhao | varchar | 200 | 预约编号 | ||
yuyueneirong | varchar | 200 | 预约内容 | ||
yuyueshijian | varchar | 200 | 预约时间 | ||
yishenggonghao | varchar | 200 | 医生工号 | ||
yishengxingming | varchar | 200 | 医生姓名 | ||
keshi | varchar | 200 | 科室 | ||
zhaopian | longtext | 4294967295 | 照片 | ||
huanzhezhanghao | varchar | 200 | 患者账号 | ||
huanzhexingming | varchar | 200 | 患者姓名 | ||
shouji | varchar | 200 | 手机 | ||
quxiaoyuanyin | varchar | 200 | 取消原因 | ||
quxiaoshijian | datetime | 取消时间 | |||
crossuserid | bigint | 跨表用户id | |||
crossrefid | bigint | 跨表主键id |
表4-3:预约挂号
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yuyuebianhao | varchar | 200 | 预约编号 | ||
yuyueneirong | longtext | 4294967295 | 预约内容 | ||
yuyueshijian | datetime | 预约时间 | |||
yishenggonghao | varchar | 200 | 医生工号 | ||
yishengxingming | varchar | 200 | 医生姓名 | ||
keshi | varchar | 200 | 科室 | ||
zhaopian | longtext | 4294967295 | 照片 | ||
guahaofeiyong | int | 挂号费用 | |||
huanzhezhanghao | varchar | 200 | 患者账号 | ||
huanzhexingming | varchar | 200 | 患者姓名 | ||
shouji | varchar | 200 | 手机 | ||
guahaoshijian | datetime | 挂号时间 | |||
ispay | varchar | 200 | 是否支付 | 未支付 |
表4-4:医生
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yishenggonghao | varchar | 200 | 医生工号 | ||
yishengxingming | varchar | 200 | 医生姓名 | ||
mima | varchar | 200 | 密码 | ||
xingbie | varchar | 200 | 性别 | ||
zhaopian | longtext | 4294967295 | 照片 | ||
lianxifangshi | varchar | 200 | 联系方式 | ||
shenfenzheng | varchar | 200 | 身份证 | ||
youxiang | varchar | 200 | 邮箱 |
表4-5:问诊回复
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
huifubiaoti | varchar | 200 | 回复标题 | ||
huifuneirong | longtext | 4294967295 | 回复内容 | ||
zhaopian | longtext | 4294967295 | 照片 | ||
huifushijian | datetime | 回复时间 | |||
yishenggonghao | varchar | 200 | 医生工号 | ||
yishengxingming | varchar | 200 | 医生姓名 | ||
huanzhezhanghao | varchar | 200 | 患者账号 | ||
huanzhexingming | varchar | 200 | 患者姓名 |
表4-6:用户表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
username | varchar | 100 | 用户名 | ||
password | varchar | 100 | 密码 | ||
image | varchar | 200 | 头像 | ||
role | varchar | 100 | 角色 | 管理员 | |
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP |
表4-7:token表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
userid | bigint | 用户id | |||
username | varchar | 100 | 用户名 | ||
tablename | varchar | 100 | 表名 | ||
role | varchar | 100 | 角色 | ||
token | varchar | 200 | 密码 | ||
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP | ||
expiratedtime | timestamp | 过期时间 | CURRENT_TIMESTAMP |
表4-8:排班信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yishenggonghao | varchar | 200 | 医生工号 | ||
yishengxingming | varchar | 200 | 医生姓名 | ||
yuefen | varchar | 200 | 月份 | ||
paibanbiao | longtext | 4294967295 | 排班表 | ||
shangbanshiduan | varchar | 200 | 上班时段 | ||
paibanshijian | date | 排班时间 |
表4-9:在线反馈
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
userid | bigint | 留言人id | |||
username | varchar | 200 | 用户名 | ||
avatarurl | longtext | 4294967295 | 头像 | ||
content | longtext | 4294967295 | 留言内容 | ||
cpicture | longtext | 4294967295 | 留言图片 | ||
reply | longtext | 4294967295 | 回复内容 | ||
rpicture | longtext | 4294967295 | 回复图片 |
表4-10:科室
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
keshi | varchar | 200 | 科室 |
表4-11:坐诊医生
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yishenggonghao | varchar | 200 | 医生工号 | ||
yishengxingming | varchar | 200 | 医生姓名 | ||
xingbie | varchar | 200 | 性别 | ||
keshi | varchar | 200 | 科室 | ||
yiling | varchar | 200 | 医龄 | ||
zhaopian | longtext | 4294967295 | 照片 | ||
zhicheng | varchar | 200 | 职称 | ||
shanzhang | varchar | 200 | 擅长 | ||
guahaofeiyong | int | 挂号费用 | |||
lianxifangshi | varchar | 200 | 联系方式 | ||
zuozhenshijian | varchar | 200 | 坐诊时间 |
表4-12:患者
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
huanzhezhanghao | varchar | 200 | 患者账号 | ||
huanzhexingming | varchar | 200 | 患者姓名 | ||
mima | varchar | 200 | 密码 | ||
xingbie | varchar | 200 | 性别 | ||
nianling | varchar | 200 | 年龄 | ||
shouji | varchar | 200 | 手机 | ||
shenfenzheng | varchar | 200 | 身份证 | ||
touxiang | longtext | 4294967295 | 头像 |
表4-13:在线问诊
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
wenzhenbiaoti | varchar | 200 | 问诊标题 | ||
wenzhenneirong | longtext | 4294967295 | 问诊内容 | ||
zhaopian | longtext | 4294967295 | 照片 | ||
wenzhenshijian | datetime | 问诊时间 | |||
huifuzhuangtai | varchar | 200 | 回复状态 | ||
yishenggonghao | varchar | 200 | 医生工号 | ||
yishengxingming | varchar | 200 | 医生姓名 | ||
huanzhezhanghao | varchar | 200 | 患者账号 | ||
huanzhexingming | varchar | 200 | 患者姓名 |
通过本章针对医院挂号系统功能的总体结构、E-R属性图和数据表的大概介绍,对在开发系统时所要涉及到的数据库进行简单设计,为下一章系统的实现做好铺垫。
第5章 系统实现
系统实现章节的主要内容主要是将系统分析和系统设计方案进行实现,按照各个系统角色进行功能介绍,系统实现就是一个真正开始编写的阶段,将前面的分析结果以及设计方案进行实现,最终做出一个符合用户需求的软件系统。
5.1系统功能实现
5.1.1系统首页页面
当人们打开系统的网址后,首先看到的就是首页界面。在这里,人们能够看到系统的导航条,通过导航条导航进入各功能展示页面进行操作。系统首页界面如图5-1所示:
图5-1 系统首页界面
在注册流程中,用户在Vue前端填写必要信息(如用户名、密码等)并提交。前端将这些信息通过HTTP请求发送到Java后端。后端处理这些信息,检查用户名是否唯一,并将新用户数据存入MySQL数据库。完成后,后端向前端发送注册成功的确认,前端随后通知用户完成注册。这个过程实现了新用户的数据收集、验证和存储。注册页面如图5-2所示:
图5-2系统注册页面
坐诊医生:在坐诊医生页面的输入栏中输入医生姓名、职称进行查询,可以查看到坐诊医生详细信息,可根据需要进行私挂号或问诊操作;坐诊医生页面如图5-3所示:
图5-3坐诊医生详细页面
5.1.2个人中心
患者:在个人中心页面可以对个人中心、修改密码、预约挂号、预约取消、在线问诊、问诊回复等功能进行操作;如图5-4所示:
图5-4个人中心界面
5.2后台模块实现
在登录流程中,用户首先在Vue前端界面输入用户名和密码。这些信息通过HTTP请求发送到Java后端。后端接收请求,通过与MySQL数据库交互验证用户凭证。如果认证成功,后端会返回给前端,允许用户访问系统。这个过程涵盖了从用户输入到系统验证和响应的全过程。如图5-5所示。
图5-5后台登录界面
5.2.1管理员功能实现
管理员进入主页面,主要功能包括对患者、医生、科室、坐诊医生、排班信息、预约挂号、预约取消、在线问诊、问诊回复、在线反馈、轮播图管理、用户信息等进行操作。管理员主页面如图5-6所示:
图5-6管理员主界面
患者功能在视图层(view层)进行交互,比如点击“搜索、新增或删除患者表单。这些患者表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、修改或删除患者信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便患者功能可以看到最新的信息或相应的操作反馈。如图5-7所示:
图5-7患者界面
科室功能在视图层(view层)进行交互,比如点击“搜索、新增或删除科室表单。这些科室表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、修改或删除科室信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便科室功能可以看到最新的信息或相应的操作反馈。如图5-8所示:
图5-8科室界面
排班信息功能在视图层(view层)进行交互,比如点击“搜索、新增或删除排班信息表单。这些排班信息表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、修改或删除排班信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便排班信息功能可以看到最新的信息或相应的操作反馈。如图5-9所示:
图5-9排班信息界面
医生进入主页面,主要功能包括对坐诊医生、排班信息、预约挂号、预约取消、在线问诊、用户信息等进行操作。医生主页面如图5-10所示:
图5-10医生主界面
第6章 系统测试
系统测试是检验软件产品是否满足预期需求,确保产品无缺陷的重要手段。系统测试侧重于评估系统是否满足指定的要求,并帮助检查整个系统的功能性需求。通过对系统功能和非功能两个方面的测试用例进行分析与比较可以发现软件存在的问题以及需要改进之处。软件可靠性设计是一项系统性工程,涉及到多个学科领域,因此其难度较大。测试将侧重于功能测试,这是黑盒测试的一部分,黑盒测试的重点是用户提供的要求,而不是系统的实际代码。
6.1 系统测试的目的
系统测试(System Testing)是为了向使用者提供有关被测试产品或服务的质量信息而进行的检查。系统测试还可以提供客观和独立的系统评估,以使运营者能够了解和系统实施所面临的潜在问题。系统测试涉及软件组件或系统组件的执行,以评估一个或多个系统属性。通常这些属性表明被测组件或系统满足系统预期开发需求,在各种预期的时间内,正确响应各种系统输入,在可接受的时间内执行其功能,足够可用,同时可以满足分析设计时要求的程度。在预期的环境中运行,并达到用户期望的总体结果。经过一系列严格功能测试,以发现系统功能方面潜在的问题,保证系统的正常运行。
6.2 系统功能测试
在系统的功能性测试中,开发人员需要按照操作要求使医院挂号系统软件的各项功能,并准确记录测试期间的每个功能的运行数据,判定软件系统开发的功能是否符合预期的结果。
6.2.1 登录注册功能测试
软件测试的第一步是医院挂号系统的用户注册登录功能模块进行测试,测试用户在初次进入软件系统时,是否可以使用注册后登录的功能,具体测试的步骤如表6-1所示。
表6-1 登录注册管理功能测试数据表
编号 | 测试的功能 | 步骤 | 预期结果 | 实际结果 | ||||||
1 | 用户注册 | 正确填写注册信息,然后点击注册按钮 | 可以完成用户注册 | 注册成功 | ||||||
2 | 用户登录 | 正确输入账号、密码,然后点击登录按钮 | 可以完成用户登录 | 用户登录成功 |
6.2.2. 用户管理功能测试
系统的管理层可在此模块进行以下操作:对用户基础信息的修改;对用户的登录密码进行重置;删除用户;新增用户;根据关键词进行检索。以用户名:abo 密码:123456为例对该功能进行测试。测试操作如表6-2所示:
表6-2 用户管理测试过程及结果
测试项 | 测试用例 | 测试特性 | 用例描述 | 系统反应 | 测试结果 |
用户管理操作 | 用户名:abo 密码:123456 | 功能测试 | 添加一个新用户,基础信息与已有用户完全一致 | 添加失败,提示“该用户已存在” | 通过 |
用户管理操作 | 用户名:abo 密码:999999 | 功能测试 | 添加一个新用户,基础信息与已存在用户均有所不同 | 添加成功 | 通过 |
用户管理操作 | 用户名:abo 密码:123456 | 功能测试 | 修改系统中用户名 | 修改成功 | 通过 |
用户管理操作 | 用户名:abo 密码:123456 | 功能测试 | 删除系统中用户 | 删除成功 | 通过 |
用户管理操作 | 用户名:abo 密码:123456 | 功能测试 | 按关键词搜索用户信息 | 查找成功 | 通过 |
用户管理操作 | 用户名:abo 密码:88888888 | 功能测试 | 重置用户密码 | 密码修改成功 | 通过 |
本章所做的主要工作是对系统进行功能性测试。网站管理系统的正确性是网站的不可或缺的因素,系统的功能性测试是其中必不可少的步骤,也是占有很大比重的部分,这个过程中遇到的最多的问题是当界面跳转的时候系统终止运行。使用Eclipse中的Log Cat功能能够实现对程序每一个步骤进行跟踪,且定位出错误的位置十分方便。通过对各功能模块的测试结果和预期结果的比较,发现系统功能满足项目要求。
结 论
在设计医院挂号系统的过程中采用springboot架构技术,采用了Java技术来呈现给用户,后台数据采用MySQL数据库来进行存储。
此系统为医院挂号系统,为了达成预期效果该系统拥有管理员、患者和医生三种角色。管理员可以通过后台管理功能对整个系统的信息进行管理。
医院挂号系统的设计与实现基本上自己在大学生活中学习的大部分知识都融入了进去,但是还不够,在许多方面还没有考虑全面,相信自己在进入工作中会更加努力,做出更加完美的系统。
参考文献
[1]徐海燕.JAVA编程在计算机应用软件中的应用特征与技术[J].电子技术与软件工程,2023(03):29-32
[2]王慧.“Java程序设计”混合式教学创新模式探究[J].数字通信世界,2023,(06):179-181.
[3]邓阳名,顾潇,梁爱媚.基于Java语言的数据库访问技术应用研究[J].中国新通信,2023,25(08):83-85.
[4]郑戟明,董云朝,柳青.MySQL数据库数据导入导出方法的探讨[J].电脑知识与技术,2022,18(22):24-25.
[5] 赵亚娟.计算机软件JAVA编程特点及其技术研究[J]. 数字技术与应用,2020,01:113.
[6]徐鹏涛. 基于Vue的前端开发框架的设计与实现[D]. 山东: 山东大学, 2020.
[7]游思奇.计算机软件工程的数据库编程技术[J].电子技术与软件工程,2020(01):135-136.
[8]尹子越. Web应用自动化测试系统执行服务的设计和实现[D].南京大学,2020.
[9]孟样双.前后端分离式Web应用开发研究[J]. 电子元器件与信息技术,2019, (06): 40-43.
[10]李军. 基于Spring框架的精准营销平台开发与实现[D].安徽建筑大学,2020.
[11]Computing -Supercomputing; Research Data from National Taichung University of Science and Technology Update Understanding of Supercomputing (Exploring the Website Object Layout of Responsive Web Design: Results of Eye Tracking Evaluations)[J]. Computers Networks & Communications,2020.
[12]Steven Holzner.Java 技术内幕[M].北京:机械工业出版社,2018.1:65-70.
[13]Cinzia Cervato. Getting Help from Course Management Software to Teach a Large-Enrollment Introductory Geology Class[J]. Journal of Geoscience Education, 2018,51(2).
致 谢
时光荏苒,四年的大学生活使我收获良多,感谢学校给我们提供了一个创新思维、思考问题和解决问题的平台,感谢老师们在过去给予我的知识和帮助。在这里我要向你们表达最真挚的谢意——感谢大家对我门课程教学的支持与鼓励!我想说的话:努力掌握专业知识、不断提高自己的综合素质。通过四年的学习和实验,老师不仅教会了我们知识,还培养了我们自主学习的能力,让我们可以用课堂上所学到的知识去钻研专业的其它方面。
从医院挂号系统的选择,到系统的详细设计,再到系统各个功能模块的编码,再到论文的撰写,作为一名没有实际开发经验患者,我的第一感觉就是不知从何说起,非常感谢老师们在系统架构设计、进度安排、关键技术等方面的宝贵经验和投入,让我备受鼓舞,顺利完成了课题。我相信在今后的工作中将会得到更多的收获!互联网时代已经到来了。随着信息技术的不断发展,网络技术也越来越成熟,它改变着人们的生活方式,同时对传统行业产生巨大影响。互联网时代我们提供了丰富的资源,解决了我在发展过程中遇到的许多问题,在前辈的指导下,我一直有一种开放的感觉。
一般来说,不付出艰苦的努力就不会有预期的结果,一个从最初的想法到实践到具体目标的软件系统需要反复的设计、改进、实验、耐心、细心和信心,以及坚持不懈、不断尝试和探索未知事物的精神与勇气。