(附源码)基于springboot校园医院预约挂号系统-计算机毕设 32236-程序员宅基地

技术标签: spring boot  python  java  MySQL  php  课程设计  

springboot校园医院预约挂号系统

摘 要

信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对校园医院管理等问题,对校园医院预约挂号进行研究分析,然后开发设计出校园医院预约挂号系统以解决问题。

本系统前端部分采用B/S模式,采用了比较流行的渐进式JavaScript框架Vue.js,后端部分基于Java的Springboot框架作为开发框架,同时集成MyBatis、Redis等相关技术。用户通过PC机访问Web版本,实现对系统功能的访问和交互。系统管理模块主要负责对已有数据库进行维护、管理、添加、维护、删除、修改等。管理员负责维护系统的各项功能、数据的备份、恢复,保证数据的完整性和一致性;负责用户的管理与配置。最后对系统进行测试后,改善了程序逻辑和代码。同时确保该系统有很好的操作体验,实现了对于政府、社会、人民的共同双赢。

关键词:校园医院预约挂号;Springboot框架;Java编程语言;MySQL数据库

Springboot Campus Hospital Appointment Registration System

Abstract

The information society needs targeted information acquisition methods, but the expansion of the channels is basically the direction of people's efforts, due to the deviation of the perspective, people can often obtain different types of information, which is also the most difficult topic for technology to overcome. Aiming at the problems of inpatient management in stomatological hospitals, the campus hospital appointment registration system was studied and analyzed, and then the campus hospital appointment registration system was developed and designed to solve the problem.

The front-end part of the system adopts B/S mode, adopts the more popular progressive JavaScript framework Vue .js, and the back-end part is based on Java's Springboot framework as the development framework, while integrating MyBatis, Redis and other related technologies. Users access the web version through a PC to access and interact with system functions. The system management module is mainly responsible for maintaining, managing, adding, maintaining, deleting, modifying, etc. of existing databases. The administrator is responsible for maintaining the functions of the system, data backup and recovery, and ensuring data integrity and consistency; Responsible for user management and configuration. Finally, after testing the system, the program logic and code were improved. At the same time, it ensures that the system has a good operating experience and achieves a win-win situation for the government, society and people.

Key words:Campus hospital appointments; Springboot framework; Java programming language; MySQL database

目  录

第1章 绪论

1.1 研究背景与意义

1.2 开发现状

1.3 本文结构

第2章 相关技术介绍

2.1 Springboot框架

2.2 MySQL数据库

2.3 B/S结构

2.4 Maven项目管理工具

2.5 Tomcat开源服务器

第3章 系统分析

3.1 可行性分析

3.1.1 技术可行性分析

3.1.2 经济可行性分析

3.1.3 操作可行性分析

3.2 需求分析

3.2.1 用户端功能分析

3.2.2 管理员端功能分析

3.3 性能需求分析

3.4 系统业务流程分析

第4章 系统设计

4.1 系统功能结构

4.2 功能模块设计

4.3 数据库设计

4.3.1 概念模型设计

4.3.2 逻辑结构设计

第5章 系统实现

5.1 登录模块的实现

5.2 用户子系统模块的实现

5.2.1 用户首页模块

5.2.2 用户注册模块

5.2.3 预约挂号模块

5.2.4 就诊记录查询模块

5.3 管理员子系统模块的实现

5.3.1 用户管理模块

5.3.2 预约挂号管理模块

5.3.3 就诊记录管理模块

5.3.4 排班信息管理模块

第6章 系统测试

6.1 测试过程

6.2 测试用例 

6.3 测试结果

第7章 结论

参考文献

致谢

  1. 绪论
    1. 研究背景与意义

随着越来越多的人工智能不断融入和应用于医疗领域,医疗服务正逐步走入智能化,在中国新医改的大背景下,智慧医疗已经成为民生工程的重点和热点领域。

校园医院预约挂号系统的研究意义:

(1)节约病人挂号的排队时间。传统医院的挂号手续繁琐,具有很强的不确定性,购买人员流量不均,有明显的高峰期和低谷期,高峰期病人需要长时间排队,也易出现熟人插队等现象,低谷期会造成医生溜号,医疗资源闲置等问题。智能挂号系统可以自动计算病人的等待时间,合理分配购买时段,提高了病人购买的效率。

(2)提高病人的看病质量。有些学生生病了但对所要挂的专家科室和医生的资历等信息并不了解,只能凭借自身的感觉和印象进行选择,具有盲目性。校园医院预约挂号系统可以根据病人的病情和医生资历进行挂号,选择最为合适的医生,具有针对性,大大提高了病人的看病质量。

(3)操作方便简洁。学生利用互联网就可以随时随地的挂号预约,操作简单便捷,方便用户使用,提高了病人的购买效率。

(4)增强校园医院对学生的医疗服务质量。校园医院预约挂号系统的出现使传统繁琐拥挤的看病环境得到改善,增强了校园医院的最大作用性,同时也提高校园医院的工作效益和社会效益。

    1. 开发现状

目前,随着信息科学技术的飞速发展,医疗也普遍信息化,国内外都对网上预约挂号系统做出了研究。早年以电话预约,短信预约,网上预约的方式得到了广泛应用。直至2014年统计,当时其三种预约方式受欢迎程度占比分别为:电话50%,短信40%,网网络10%。由于当时计算机网络不完善,人们对新生事物的,人们对新生事物的抵触等原因,导致网上预约挂号仍然不是主流的就医挂号模式。伴随着医疗体制改革的不断深化以及医疗事业飞速发展,人们的生活节奏也越来快,对医院多样化的医疗服务的需求再次提高。如何利用先进的信息技术为医院提供服务,更大程度的提高医院效率是医院信息化建设中的一个重点。

国外的研究因为医院和社会的体系不同,所以解决重点也不尽相同,国外研究利用仿真模型,重叠预约调度模型等计算出最佳的预约时间表,大大减少病人等待时间,利用超额调度算法降低爽约病人的影响,提高医院门诊的期望利润率,但是却没有给出具体的工具代码用以实现这些算法功能,国外更偏重于研究算法模型,具体实施的技术问题却少有涉及。而国内的研究则是针对本国的具体实际情况,利用JAVA,Dreamweaver,JSP,php等技术工具和互联网,根据号源池,分时模型等思想开发出一些预约挂号系统,解决了医院挂号排队时间长,挂号难等问题,使预约病人可以直接在互联网,或者是Android操作系统的智能电子产品上进行挂号。

但是,现存的网上预约挂号还不够智能化,病人挂号是要根据自己的经验进行科室医生等的选择,造成病情不严重也要挂专家号,有需要的病人却要等待的现象。针对以上不足,本次开发的重点就是在于如何使网上预约挂号系统更加智能化且合理运用到校园医院上去。为了解决学生病人等待时间长的问题,该系统能自动计算已有的预约人数和等待时间,给出病人一个较为准确的等待时间,学生病人就可以在合适的时间前往校园医院,为学生带来了极大的便利。

    1. 本文结构

(1)绪论

从开发系统的背景、意义、以及系统的发展状况,详细描述了系统的在哪些方面能得到应用、然后对本文分结构。

(2)系统开发环境介绍

使用技术简介、数据库概念和特点、编码工具、建模工具等。

(3)系统分析

可行性分析概述、用户需求调研、系统业务流程分析、系统数据组成。

(4)系统设计

系统网络结构设计、系统总体设计、系统功能模块的划分、系统功能模块的需求,数据库设计概述、数据库概述结构设计、数据库逻辑结构设计。

(5)系统的实现

预约挂号模块的实现、预约模块设计、检测结果模块的实现。

(6)系统测试

系统编码实现后,需要进行测试,测试包括黑盒测试和白盒测试,本系统采用黑盒测试,通过输入不同组的测试数据进行测试的功能模块测试。

  1. 相关技术介绍
    1. Springboot框架

Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等等。Spring框架具有控制反转(IOC)特性,IOC旨在方便项目维护和测试,它提供了一种通过Java的反射机制对Java对象进行统一的配置和管理的方法。Spring框架利用容器管理对象的生命周期,容器可以通过扫描XML文件或类上特定Java注解来配置对象,开发者可以通过依赖查找或依赖注入来获得对象。Spring框架具有面向切面编程(AOP)框架,SpringAOP框架基于代理模式,同时运行时可配置;AOP框架主要针对模块之间的交叉关注点进行模块化。Spring框架的AOP框架仅提供基本的AOP特性,虽无法与AspectJ框架相比,但通过与AspectJ的集成,也可以满足基本需求。Spring框架下的事务管理、远程访问等功能均可以通过使用SpringAOP技术实现。Spring的事务管理框架为Java平台带来了一种抽象机制,使本地和全局事务以及嵌套事务能够与保存点一起工作,并且几乎可以在Java平台的任何环境中工作。Spring集成多种事务模板,系统可以通过事务模板、XML或Java注解进行事务配置,并且事务框架集成了消息传递和缓存等功能。Spring的数据访问框架解决了开发人员在应用程序中使用数据库时遇到的常见困难。它不仅对Java:JDBC、iBATS/MyBATIs、Hibernate、Java数据对象(JDO)、ApacheOJB和ApacheCayne等所有流行的数据访问框架中提供支持,同时还可以与Spring的事务管理一起使用,为数据访问提供了灵活的抽象。Spring框架最初是没有打算构建一个自己的WebMVC框架,其开发人员在开发过程中认为现有的StrutsWeb框架的呈现层和请求处理层之间以及请求处理层和模型之间的分离不够,于是创建了SpringMVC[1][2]。

    1. MySQL数据库

科技的进步,给日常带来许多便利:教室的投影器用到了虚拟成像技术,数码相机用到了光电检测技术,比如超市货物进出库的记录需要一个信息仓库。这个信息仓库就是数据库,而这次的校园智能垃圾分类管理系统也需要这项技术的支持。

用MySQL这个软件,是因为它能接受多个使用者访问,而且里面存在Archive等。它会先把数据进行分类,然后分别保存在表里,这样的特别操作就会提高数据管理系统自身的速度,让数据库能被灵活运用。MySQL的代码是公开的,而且允许别人二次编译升级。这个特点能够降低使用者的成本,再搭配合适的软件后形成一个良好的网站系统。虽然它有缺点,但是综合各方面来说,它是使用者的主流运用的对象[3]。

    1. B/S结构

校园医院预约挂号系统通过B/S架构进行实现,基于浏览器和服务器方式进行开发的系统架构,只有把应用程序部署到服务器端,客户端才可以借助导航网址进行系统访问[4]。

基于Java技术开发的B/S架构系统,需要借助Tomcat服务器应用程序进行部署运行[5]。用户访问系统的时候,通过浏览器向应用程序服务器端发起访问请求,服务器端的程序在接到用户请求以后,服务器端应用程序对客户请求做出相应,在调用服务器端的业务逻辑程序完成和数据库端的交互,进一步生成相应的HTML/XML数据,最终把结果反馈给浏览器端用户。

在该系统的开发中,开发模式采用B/S架构技术进行实现,通过部署服务器端应用程序,实现用户通过网站域名或者内网IP地址访问系统,实现系统中数据的动态化呈现和管理,加之页面效果的动态化呈现,不仅提升了页面的表现力,而且管理者可以随时更新系统中的各种信息,充分满足管理者和访问用户之间的信息交互[6]。

    1. Maven项目管理工具

Maven的一次生命周期,是在它执行mvn install的时间才被调用。这个命令需要Maven按照某个特定的时间顺序进行每一次动作,直至达到它所规定的生命周期目标。在整个生命周期的过程中,Maven还会进行很多默认的插件任务,比如编译和建立一个 JAR 文件[7]。

另外,Maven可以很容易的帮助你管理项目报表,建立网站,控制JAR文件等[8]。

    1. Tomcat开源服务器

Tomcat是Apache下的一个核心项目,最新的Servlet 和JSP 规范总是能在其中得到体现。本系统是采用Tomcat6来开发的,目前来说广大编程员都喜欢使用它,所以说现在Tomcat是比较流行的免费的开源Web 应用服务器。它不仅拥有底层技术先进、开发性能稳定、运行时所占系统资源又很小、扩展性好等系统常用的功能;而且它的底层代码是面向所有开发人员的就好像现在的Linux系统一样,编程人员可以自由地往其中加入新的功能,从而促使Tomcat一直处在不断完善和改进的过程中[9]。

  1. 系统分析
    1. 可行性分析
      1. 技术可行性分析

技术上使用springboot+Java+MySQL+Apache的架构实现,从技术本身的角度上讲已经相当成熟,不需要考虑其本身的问题,从服务器流量以及并发的角度上讲,由于系统面向的群体为校园学生和教师,用户群体适中,根据服务器和计算能力的发展现状来看不会成为系统不利因素。再者就是开发人员本身的水平问题,笔者在实习期间已经经历过3~5个项目,也独立完成过项目,因此在技术上还是比较有信心,加上有指导老师的协助指导,相信技术上不存在问题。

      1. 经济可行性分析

本系统功能模块相对来说不是很复杂,整个设计和开发过程投入成本较低,在实际使用中,只需要一台能上网的计算机登录浏览器即可访问,后期可能开发出手机APP端的客户端或者微信小程序。操作简单,业务流程很清晰,且运维也比较轻松,面对这么大的一个市场,如果投入使用能得到大面积覆盖的话,不仅是用户的使用能给系统端带来收益,使用者想要入驻当然也是需要缴纳一定的费用的。总的来说,与前期少量的开销相比,最终产出的收益是相当可观的,也就是说该系统在经济上是完全可行的。

      1. 操作可行性分析

系统开发采用的B/S架构是最常见的Web项目架构,常用于简单Web系统项目的开发。基于B/S架构实现的系统,免去了客户端频繁更新换代的成本和麻烦,只需要一台能上网的计算机登录浏览器即可享受足不出户的快捷。系统操作便捷,可兼容到不同操作系统和不同浏览器,只需要简单熟悉系统的核心业务逻辑和步骤,任何人都能快速上手。前台与后台的分离使得业务逻辑十分清晰,超强的界面友善性同样给用户体验加分。所以,该系统具备超强的功能逻辑和快速上手的优势,我们可以说该系统在操作上是可行的。

    1. 需求分析
      1. 用户端功能分析

校园医院预约挂号系统的功能主要分为前台用户根据自己的需求进行注册登录,浏览科室医生信息并对选中的医生进行预约挂号操作。后台系统管理员因职责的不同,分为普通管理员和超级管理员,普通管理员主要对预约挂号信息进行处理,处理学生病人的病例单,而超级管理员主要对注册用户,医生管理,挂号数据,患者详细信息,医治详细信息进行处理。

学生用户用例图如下所示。

 

图3-1 学生用户用例图

医生用例图如下所示。

 

图3-2 医生用例图

      1. 管理员端功能分析

网站管理:管理者将一些需要通知用户的公告、轮播图通过后台执行发布操作,填写公告的标题、输入公告的内容、上传需要显示在首页里的轮播图片,通过校园医院预约挂号系统网站的前台向用户展示。

人员管理:管理者对普通管理员、学生用户、医生用户进行管理,可执行审核、更改删除等操作。

内容管理:管理者对系统前端首页的交流论坛、论坛分类、新闻资讯、新闻分类进行内容管理。

模块管理:此模块主要针对预约挂号系统主要功能进行管理包括科室信息、医生信息、预约挂号处理、取消预约、就诊记录、就诊提醒及医生排班信息。

管理员用例图如下所示。

 

图3-3 管理员用例图

    1. 性能需求分析

基于上面功能性需求,非功能需求也是项目设计中一项必定考虑进去的工作。首先是安全性的需求,其次是界面必须整洁干净等的需求,再次就是可扩展的需求。除此之外,还有性能、可靠性的需求,具体可以表示在如下表所示。

表3-1 系统非功能需求表

安全性

只有在登录的情况下才能进行相应功能的操作,尤其是管理员功能,防止后台管理端被侵入。

可靠性

系统的功能明确,操作一个功能,不会产生额外的功能影响,操作功能的时候,页面也不会造成额外的跳动。

性能

响应时间尽量控制在1s之内

可扩展性

后台采用自顶向下的开发,利于开发与维护。

易用性

在用户使用上,尽可能使用更多的图标进行功能暗示,提供系统的可阅读性和友好性。

可维护性

前台和后台注意按照模块化开发的原则,对于组件和方法的保存和包的建立需要遵照一般开发原则,以利于维护。

    1. 系统业务流程分析

对系统的数据流进行分析,系统的使用者分为二类,一般用户,管理员。系统主要对界面信息传送,登录信息的验证,注册信息的接收,用户各种操作的响应做处理。

系统顶层数据流图如下图所示。

 

图3-4 顶层数据流图

要判断用户是是什么身份,是根据登录的数据来判断后,跳转到对应的功能界面。在系统的内部用户就可以对数据进行操作,数据库中心就可以接收到系统传输的有效数据流来对数据sql语句进行对应操作。

管理员权限下的工作流程主要为:管理员通过系统界面提供登录按钮并点击,转入管理员登录界面,并在界面上填入相应的管理员账户和管理员密码,进入管理员权限下的后台系统,并且在系统左侧导航条设置了相应的操作功能。

用户权限下的工作流程主要为:用户通过系统提供的注册功能,进行身份验证并注册,而后在登录界面进行个人身份验证,并且进入用户的个人后台界面,并进行相应的操作。

校园医院预约挂号系统的业务流程如下图所示。

 

图3-5 系统业务流程图

  1. 系统设计
    1. 系统功能结构

校园医院预约挂号系统主要是为用户所服务的,该系统是因他们而存在,要为他们服务,因此,在系统设计时要将他们的需求放在第一位,并且要充分考虑他们的意见。

校园医院预约挂号系统的用户角色有三种,包括管理员,学生用户和医生。管理员在本系统校园医院预约挂号系统中管理预约挂号信息,预约结果信息,就诊记录信息,用户信息。用户所能实现的功能有:修改自己的密码等个人信息,预约挂号,查看自己的就诊记录。

系统功能结构图如下所示。

 

图4-1 系统功能结构图

    1. 功能模块设计

校园医院预约挂号系统在前端设计采用多种技术交互使用达到界面简洁大方,使用Java作为系统的编译语言,对于之前的分析所产生的问题进行解决,功能模块设计后进行编码实现具体功能:

登录模块:使用者必须输入正确的账号与密码才能访问系统。

预约挂号模块:包括前台的预约挂号和后台的预约挂号预约管理,前台让用户申请预约挂号,后台查看预约情况。

公告管理模块:如果登录当前管理员有公告管理的权限即可以进行公告的查询、新增、删除、修改信息的操作。

预约挂号管理模块:管理者根据选择,可以给用户发布预约挂号,在添加预约挂号是输入预约挂号的详细信息,添加需要上传的文件之后回到预约挂号管理界面,在修改预约挂号时修改不对的信息,也可以删除重新添加预约挂号。

就诊记录管理模块:相关权限用户可以进行就诊记录的查询、添加、修改、删除操作,也可以对预约编号、结果文件等数据项进行单独操作,设置数据类型等参数。

    1. 数据库设计
      1. 概念模型设计

借助目前的UML建模软件,ER图使其他用户可以快速轻松地了解系统的功能以及他们之间的关系。根据预约挂号的系统分析结果,整个校园医院预约挂号系统包括以下各个单元:管理员,用户,预约挂号,就诊记录,公告等。

系统的主要实体间关系E-R图如下图所示。

 

图4-2 系统E-R图

      1. 逻辑结构设计

数据库是校园医院预约挂号系统的数据处理的基础,也是为界面数据的展示与存储的关键。校园医院预约挂号系统的数据库表如下。

表access_token (登陆访问时长)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

token_id

int

10

0

N

Y

临时访问牌ID

2

token

varchar

64

0

Y

N

临时访问牌

3

info

text

65535

0

Y

N

4

maxage

int

10

0

N

N

2

最大寿命:默认2小时

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

7

user_id

int

10

0

N

N

0

用户编号:

表article (文章:用于内容管理系统的文章)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

article_id

mediumint

8

0

N

Y

文章id:[0,8388607]

2

title

varchar

125

0

N

Y

标题:[0,125]用于文章和html的title标签中

3

type

varchar

64

0

N

N

0

文章分类:[0,1000]用来搜索指定类型的文章

4

hits

int

10

0

N

N

0

点击数:[0,1000000000]访问这篇文章的人次

5

praise_len

int

10

0

N

N

0

点赞数

6

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

7

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

8

source

varchar

255

0

Y

N

来源:[0,255]文章的出处

9

url

varchar

255

0

Y

N

来源地址:[0,255]用于跳转到发布该文章的网站

10

tag

varchar

255

0

Y

N

标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开

11

content

longtext

2147483647

0

Y

N

正文:文章的主体内容

12

img

varchar

255

0

Y

N

封面图

13

description

text

65535

0

Y

N

文章描述

表article_type (文章分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

type_id

smallint

5

0

N

Y

分类ID:[0,10000]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]决定分类显示的先后顺序

3

name

varchar

16

0

N

N

分类名称:[2,16]

4

father_id

smallint

5

0

N

N

0

上级分类ID:[0,32767]

5

description

varchar

255

0

Y

N

描述:[0,255]描述该分类的作用

6

icon

text

65535

0

Y

N

分类图标:

7

url

varchar

255

0

Y

N

外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表auth (用户权限管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

auth_id

int

10

0

N

Y

授权ID:

2

user_group

varchar

64

0

Y

N

用户组:

3

mod_name

varchar

64

0

Y

N

模块名:

4

table_name

varchar

64

0

Y

N

表名:

5

page_title

varchar

255

0

Y

N

页面标题:

6

path

varchar

255

0

Y

N

路由路径:

7

position

varchar

32

0

Y

N

位置:

8

mode

varchar

32

0

N

N

_blank

跳转方式:

9

add

tinyint

3

0

N

N

1

是否可增加:

10

del

tinyint

3

0

N

N

1

是否可删除:

11

set

tinyint

3

0

N

N

1

是否可修改:

12

get

tinyint

3

0

N

N

1

是否可查看:

13

field_add

text

65535

0

Y

N

添加字段:

14

field_set

text

65535

0

Y

N

修改字段:

15

field_get

text

65535

0

Y

N

查询字段:

16

table_nav_name

varchar

500

0

Y

N

跨表导航名称:

17

table_nav

varchar

500

0

Y

N

跨表导航:

18

option

text

65535

0

Y

N

配置:

19

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

20

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表cancel_reservation (取消预约)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

cancel_reservation_id

int

10

0

N

Y

取消预约ID

2

order_no

varchar

64

0

Y

N

订单编号

3

department_name

varchar

64

0

Y

N

科室名称

4

doctor_user

int

10

0

Y

N

0

医生用户

5

student_users

int

10

0

Y

N

0

学生用户

6

student_name

varchar

64

0

Y

N

学生姓名

7

contact_number

varchar

64

0

Y

N

联系电话

8

reason_for_cancellation

text

65535

0

Y

N

取消原因

9

cancel_status

varchar

64

0

Y

N

取消状态

10

cancel_reply

varchar

64

0

Y

N

取消回复

11

recommend

int

10

0

N

N

0

智能推荐

12

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

13

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表collect (收藏)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

collect_id

int

10

0

N

Y

收藏ID:

2

user_id

int

10

0

N

N

0

收藏人ID:

3

source_table

varchar

255

0

Y

N

来源表:

4

source_field

varchar

255

0

Y

N

来源字段:

5

source_id

int

10

0

N

N

0

来源ID:

6

title

varchar

255

0

Y

N

标题:

7

img

varchar

255

0

Y

N

封面:

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表comment (评论)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

comment_id

int

10

0

N

Y

评论ID:

2

user_id

int

10

0

N

N

0

评论人ID:

3

reply_to_id

int

10

0

N

N

0

回复评论ID:空为0

4

content

longtext

2147483647

0

Y

N

内容:

5

nickname

varchar

255

0

Y

N

昵称:

6

avatar

varchar

255

0

Y

N

头像地址:[0,255]

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

9

source_table

varchar

255

0

Y

N

来源表:

10

source_field

varchar

255

0

Y

N

来源字段:

11

source_id

int

10

0

N

N

0

来源ID:

表department_information (科室信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

department_information_id

int

10

0

N

Y

科室信息ID

2

department_no

varchar

64

0

N

N

科室编号

3

department_name

varchar

64

0

Y

N

科室名称

4

department_location

varchar

64

0

Y

N

科室位置

5

department_introduction

text

65535

0

Y

N

科室介绍

6

department_remarks

text

65535

0

Y

N

科室备注

7

recommend

int

10

0

N

N

0

智能推荐

8

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表doctor_information (医生信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

doctor_information_id

int

10

0

N

Y

医生信息ID

2

department_name

varchar

64

0

Y

N

科室名称

3

doctor_user

int

10

0

Y

N

0

医生用户

4

doctors_name

varchar

64

0

Y

N

医生姓名

5

doctors_gender

varchar

64

0

Y

N

医生性别

6

doctor_id

varchar

64

0

Y

N

医生工号

7

registration_fee

varchar

64

0

Y

N

挂号费用

8

working_hours

varchar

64

0

Y

N

工作时间

9

doctors_photo

varchar

255

0

Y

N

医生照片

10

doctor_profile

longtext

2147483647

0

Y

N

医生简介

11

hits

int

10

0

N

N

0

点击数

12

praise_len

int

10

0

N

N

0

点赞数

13

recommend

int

10

0

N

N

0

智能推荐

14

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

15

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表doctor_user (医生用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

doctor_user_id

int

10

0

N

Y

医生用户ID

2

doctors_name

varchar

64

0

Y

N

医生姓名

3

doctors_gender

varchar

64

0

Y

N

医生性别

4

doctor_id

varchar

64

0

N

N

医生工号

5

examine_state

varchar

16

0

N

N

已通过

审核状态

6

recommend

int

10

0

N

N

0

智能推荐

7

user_id

int

10

0

N

N

0

用户ID

8

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表forum (论坛)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

forum_id

mediumint

8

0

N

Y

论坛id

2

display

smallint

5

0

N

N

100

排序

3

user_id

mediumint

8

0

N

N

0

用户ID

4

nickname

varchar

16

0

Y

N

昵称:[0,16]

5

praise_len

int

10

0

Y

N

0

点赞数

6

hits

int

10

0

N

N

0

访问数

7

title

varchar

125

0

N

N

标题

8

keywords

varchar

125

0

Y

N

关键词

9

description

varchar

255

0

Y

N

描述

10

url

varchar

255

0

Y

N

来源地址

11

tag

varchar

255

0

Y

N

标签

12

img

text

65535

0

Y

N

封面图

13

content

longtext

2147483647

0

Y

N

正文

14

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

15

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

16

avatar

varchar

255

0

Y

N

发帖人头像:

17

type

varchar

64

0

N

N

0

论坛分类:[0,1000]用来搜索指定类型的论坛帖

表forum_type (论坛分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

type_id

smallint

5

0

N

Y

分类ID:[0,10000]

2

name

varchar

16

0

N

N

分类名称:[2,16]

3

description

varchar

255

0

Y

N

描述:[0,255]描述该分类的作用

4

url

varchar

255

0

Y

N

外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置

5

father_id

smallint

5

0

N

N

0

上级分类ID:[0,32767]

6

icon

varchar

255

0

Y

N

分类图标:

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表have_an_appointment_with_a_doctor (预约挂号)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

have_an_appointment_with_a_doctor_id

int

10

0

N

Y

预约挂号ID

2

order_no

varchar

64

0

Y

N

订单编号

3

department_name

varchar

64

0

Y

N

科室名称

4

doctor_user

int

10

0

Y

N

0

医生用户

5

doctors_name

varchar

64

0

Y

N

医生姓名

6

registration_fee

varchar

64

0

Y

N

挂号费用

7

student_users

int

10

0

Y

N

0

学生用户

8

student_name

varchar

64

0

Y

N

学生姓名

9

contact_number

varchar

64

0

Y

N

联系电话

10

time_of_appointment

datetime

19

0

Y

N

预约时间

11

appointment_times

varchar

64

0

Y

N

预约次数

12

appointment_description

text

65535

0

Y

N

预约描述

13

order_status

varchar

64

0

Y

N

订单状态

14

appointment_reply

text

65535

0

Y

N

预约回复

15

pay_state

varchar

16

0

N

N

未支付

支付状态

16

pay_type

varchar

16

0

Y

N

支付类型: 微信、支付宝、网银

17

recommend

int

10

0

N

N

0

智能推荐

18

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

19

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表hits (用户点击)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

hits_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

表notice (公告)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

notice_id

mediumint

8

0

N

Y

公告id:

2

title

varchar

125

0

N

N

标题:

3

content

longtext

2147483647

0

Y

N

正文:

4

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

5

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表praise (点赞)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

praise_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

status

bit

1

0

N

N

1

点赞状态:1为点赞,0已取消

表shift_scheduling_information (排班信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

shift_scheduling_information_id

int

10

0

N

Y

排班信息ID

2

roster_title

varchar

64

0

Y

N

排班标题

3

doctor_user

int

10

0

Y

N

0

医生用户

4

doctors_name

varchar

64

0

Y

N

医生姓名

5

picture_of_shift_arrangement

varchar

255

0

Y

N

排班图片

6

shift_arrangement_content

text

65535

0

Y

N

排班内容

7

roster_remarks

text

65535

0

Y

N

排班备注

8

recommend

int

10

0

N

N

0

智能推荐

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表slides (轮播图)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

slides_id

int

10

0

N

Y

轮播图ID:

2

title

varchar

64

0

Y

N

标题:

3

content

varchar

255

0

Y

N

内容:

4

url

varchar

255

0

Y

N

链接:

5

img

varchar

255

0

Y

N

轮播图:

6

hits

int

10

0

N

N

0

点击量:

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表student_users (学生用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

student_users_id

int

10

0

N

Y

学生用户ID

2

student_name

varchar

64

0

Y

N

学生姓名

3

student_gender

varchar

64

0

Y

N

学生性别

4

student_id

varchar

64

0

N

N

学生学号

5

examine_state

varchar

16

0

N

N

已通过

审核状态

6

recommend

int

10

0

N

N

0

智能推荐

7

user_id

int

10

0

N

N

0

用户ID

8

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表upload (文件上传)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

upload_id

int

10

0

N

Y

上传ID

2

name

varchar

64

0

Y

N

文件名

3

path

varchar

255

0

Y

N

访问路径

4

file

varchar

255

0

Y

N

文件路径

5

display

varchar

255

0

Y

N

显示顺序

6

father_id

int

10

0

Y

N

0

父级ID

7

dir

varchar

255

0

Y

N

文件夹

8

type

varchar

32

0

Y

N

文件类型

表user (用户账户:用于保存用户登录信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

user_id

mediumint

8

0

N

Y

用户ID:[0,8388607]用户获取其他与用户相关的数据

2

state

smallint

5

0

N

N

1

账户状态:[0,10](1可用|2异常|3已冻结|4已注销)

3

user_group

varchar

32

0

Y

N

所在用户组:[0,32767]决定用户身份和权限

4

login_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

上次登录时间:

5

phone

varchar

11

0

Y

N

手机号码:[0,11]用户的手机号码,用于找回密码时或登录时

6

phone_state

smallint

5

0

N

N

0

手机认证:[0,1](0未认证|1审核中|2已认证)

7

username

varchar

16

0

N

N

用户名:[0,16]用户登录时所用的账户名称

8

nickname

varchar

16

0

Y

N

昵称:[0,16]

9

password

varchar

64

0

N

N

密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成

10

email

varchar

64

0

Y

N

邮箱:[0,64]用户的邮箱,用于找回密码时或登录时

11

email_state

smallint

5

0

N

N

0

邮箱认证:[0,1](0未认证|1审核中|2已认证)

12

avatar

varchar

255

0

Y

N

头像地址:[0,255]

13

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

表user_group (用户组:用于用户前端身份和鉴权)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

group_id

mediumint

8

0

N

Y

用户组ID:[0,8388607]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]

3

name

varchar

16

0

N

N

名称:[0,16]

4

description

varchar

255

0

Y

N

描述:[0,255]描述该用户组的特点或权限范围

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

register

smallint

5

0

Y

N

0

注册位置:

9

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表visit_record (就诊记录)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

visit_record_id

int

10

0

N

Y

就诊记录ID

2

order_no

varchar

64

0

Y

N

订单编号

3

department_name

varchar

64

0

Y

N

科室名称

4

doctor_user

int

10

0

Y

N

0

医生用户

5

student_users

int

10

0

Y

N

0

学生用户

6

student_name

varchar

64

0

Y

N

学生姓名

7

contact_number

varchar

64

0

Y

N

联系电话

8

visit_time

datetime

19

0

Y

N

就诊时间

9

visit_content

text

65535

0

Y

N

就诊内容

10

visit_results

text

65535

0

Y

N

就诊结果

11

recommend

int

10

0

N

N

0

智能推荐

12

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

13

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表visit_reminder (就诊提醒)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

visit_reminder_id

int

10

0

N

Y

就诊提醒ID

2

order_no

varchar

64

0

Y

N

订单编号

3

department_name

varchar

64

0

Y

N

科室名称

4

doctor_user

int

10

0

Y

N

0

医生用户

5

student_users

int

10

0

Y

N

0

学生用户

6

student_name

varchar

64

0

Y

N

学生姓名

7

reminder_content

text

65535

0

Y

N

提醒内容

8

recommend

int

10

0

N

N

0

智能推荐

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

  1. 系统实现
    1. 登录模块的实现

将首页的左边的功能设计为用户登录的位置,所以在进行登录的地方就会显示首页。在登录后就是大众较为熟悉的位置,也就是让用户进行账号以及密码输入的样式。

当用户输入完信息并点击登录按钮时,Struts就会将用户输入的信息传递进表单并装入相应的对象之中,然后再转到相应位置进行校验。若用户名和密码框都是空的,那么系统就会不可将账号密码均设置为空值。

系统的底层设置要求账号密码不可以都是空值,将这些信息传递给相关的类中的对象方法并调用相关的信息,对于用户输入的数据进行检验。若检验结果正确会自动转到系统首页欢迎页面,如果不正确系统就会返回用户登录界面。

用户登录流程图如下所示。

 

5-1 用户登录流程

系统登录界面如下图所示。

 

图5-2 系统登录界面

    1. 用户子系统模块的实现
      1. 用户首页模块

首页主要分别展示各个模块的最新动态,浏览者可以很清楚地看到不同模块的最新更新内容。并且系统首页每个部分可以跳转到相对应的模块,方便浏览者选择感兴趣的地方。

首页载入流程图如下所示。

 

5-3 首页载入流程

首页如下图所示。

 

图5-4 首页界面

      1. 用户注册模块

校园医院预约挂号系统的注册登录操作,用户都是从同一个注册登录页面进行注册登录,若是还未有系统账号,则进行注册操作;若是已注册账号,则用户在操作时,输入账号、密码,再选择相应的角色,如“管理员”、“用户”等。

用户注册流程图如下所示。

 

5-5 用户注册流程

用户注册界面如下图所示。

图5-6 用户注册界面

      1. 预约挂号模块

用户执行预约挂号预约,并可以操作相关内容,例如查看,编辑。预约挂号预约的添加操作是建立在预约挂号信息的列表基础上,单击查看预约挂号信息下的预约挂号预约链接;然后单击“预约挂号”进行添加,添加成功后的信息会载入到预约挂号预约查询列表中。

预约挂号流程如下图所示。

 

图5-7 预约挂号预约流程

预约挂号界面如下图所示。

 

 

图5-8 预约挂号预约界面

      1. 就诊记录查询模块

已完成预约挂号的用户通过登录系统后点击“就诊记录”,便可以查看自己的就诊记录。

就诊记录查询流程如下图所示。

 

图5-9 就诊记录查询流程

就诊记录查询界面如下图所示。

 

图5-10 就诊记录查询界面

    1. 管理员子系统模块的实现
      1. 用户管理模块

用户信息管理与账号管理相比更侧重对个人信息的管理,如年龄,电话,性别等,管理员可以对此部分信息进行增删改查,相应的会改变数据库存储的数据。

用户信息管理界面如下图所示。

 

图5-11 用户信息管理界面

      1. 预约挂号管理模块

管理员执行预约挂号管理,并可以操作相关内容,例如添加,查看,编辑和删除。通过单击“添加预约挂号”,可以通过预约挂号添加界面添加详细信息并添加预约挂号注释。单击查看字段级别链接以查看有关所选字段级别的信息。然后单击“提交”跳转重返到添加页面。添加成功后的信息会载入到预约挂号查询列表中,管理员可进行编辑以及修改。

预约挂号管理流程如下图所示。

 

图5-12 预约挂号管理流程

预约挂号管理界面如下图所示。

 

图5-13 预约挂号管理界面

      1. 就诊记录管理模块

管理员执行科室信息管理,并可以操作相关内容,例如添加,查看,编辑和删除。通过单击“添加”,可以通过添加界面添加科室信息并添加注释。单击查看字段级别链接以查看有关所选字段级别的信息。然后单击“提交”跳转重返到添加页面。添加成功后的信息会载入到就诊记录查询列表中,管理员可进行编辑以及修改。

科室信息管理流程如下图所示。

 

图5-14 就诊记录管理流程

科室信息添加界面如下图所示。

 

图5-15 科室信息添加界面

科室信息管理界面如下图所示。

 

图5-16 科室信息管理界面

      1. 排班信息管理模块

管理员执行排班信息管理,并可以操作相关内容,例如添加,查看,编辑和删除。通过单击“添加”,可以通过添加界面添加排班信息并添加注释。单击查看字段级别链接以查看有关所选字段级别的信息。然后单击“提交”跳转重返到添加页面。添加成功后的信息会载入到就诊记录查询列表中,管理员可进行编辑以及修改。

排班信息管理流程如下图所示。

 

图5-17 就诊记录管理流程

排班信息添加界面如下图所示。

 

图5-18 排班信息添加界面

排班信息管理界面如下图所示。

 

图5-19 排班信息管理界面

  1. 系统测试
    1. 测试过程

对每个用源码进行的单元检测,以验证每个单元能否正常地执行预先设定的函数。在进行单元代码编写的过程中,采用了详细的编程指导,并通过关键的数据界面和路线的检测来检测模块中的缺陷。该试验使用了每个由源码所完成的程序,并按照程序的内部构造来进行测试,以检验各个程序的功能。

集成测试是对单位试验的延伸。装配好的试验组件,并对相关的设计进行软件体系结构的检测。其具体实施方法为:将两个以上的单元模块合并为一个部件进行试验,并进行界面的调试。针对具体的试验,采用了不同的模块整合方法。而将模组转换为体系的方式有两种:一次整合与一次繁殖整合。

    1. 测试用例 

登录测试用例如下表所示。

表6-1 登录测试用例

操作描述

数据

期望结果

实际结果

测试状态

选择管理员登录,输入用户姓名,按登陆按钮。

用户姓名:admin

密码为空

显示警告信息“请填写密码!

显示警告信息“请填写密码!

与期望结果相同

选择管理员登录,输入密码,按登陆按钮。

用户姓名为空,密码:123456

显示警告信息“请填写用户名”

显示警告信息“请填写用户名”

与期望结果相同

选择管理员登录,输入用户姓名和密码,按登陆按钮。

用户姓名:1234

密  码:1234

显示警告信息“该用户名不存在!

显示警告信息“该用户名不存在”

与期望结果相同

选择管理员登录,输入用户姓名和密码,按登陆按钮。

用户名:admin,密  码:admin

正确登入到后台页

正确登入到后台页

与期望结果相同

个人信息管理测试用例如下表所示。

表6-1 个人信息管理测试用例

操作描述

数据

期望结果

实际结果

测试状态

选择个人信息,清空用户名,按“保存”按钮。

用户姓名为空

显示警告信息“用户名不能为空!”

显示警告信息“用户名不能为空!

与期望结果相同

选择个人信息,清空邮箱,按“保存”按钮。

用户邮箱为空

显示警告信息“邮箱不能为空!”

显示警告信息“邮箱不能为空!”

与期望结果相同

选择个人信息,清空联系方式,按“保存”按钮。

用户联系方式为空

显示警告信息“联系方式不能为空!”

显示警告信息“联系方式是不能为空!”

与期望结果相同

选择个人信息,按“上传头像”按钮,上传头像文件大小超过1Mb。

头像文件大小超过1Mb

显示警告信息“图片大小不能超过1Mb!”

显示警告信息“图片大小不能超过1Mb!”

与期望结果相同

公告管理测试用例如下表所示。

表6-1 公告管理测试用例

操作描述

数据

期望结果

实际结果

测试状态

用户点击“公告发布”,填写相关数据后点击“确定”。

在必填项输入测试数据

提示“发布成功”

提示“发布成功”

与期望结果相同

用户选择公告点击“修改”后点击“确定”。

在必填项修改测试数据

提示“修改成功”

提示“修改成功”

与期望结果相同

预约挂号管理测试用例如下表所示。

表6-1 预约挂号管理测试用例

操作描述

数据

期望结果

实际结果

测试状态

用户点击“预约挂号发布”,填写相关数据后点击“确定”。

在必填项输入测试数据

提示“发布成功”

提示“发布成功”

与期望结果相同

用户选择预约挂号点击“修改”后点击“确定”。

在必填项修改测试数据

提示“修改成功”

提示“修改成功”

与期望结果相同

就诊记录管理测试用例如下表所示。

表6-1 就诊记录管理测试用例

操作描述

数据

期望结果

实际结果

测试状态

用户点击“就诊记录”,填写相关数据后点击“确定”。

在必填项输入测试数据

提示“发布成功”

提示“发布成功”

与期望结果相同

用户选择就诊记录点击“修改”后点击“确定”。

在必填项修改测试数据

提示“修改成功”

提示“修改成功”

与期望结果相同

    1. 测试结果

基于Java的校园医院预约挂号系统的测试已经完成,没有出现错误,能够成功运行。因为系统比较简单,一些功能还急需完善,但已经能够满足用户和管理者的需求,给予用户足够的帮助。

经过测试,得到测试结果如下表所示。

表5-1 测试结果

测试项目

测试结果

登录

成功

注册

成功

用户管理

成功

预约挂号

成功

科室信息管理

成功

就诊记录管理

成功

  1. 结论

在系统的开发中,使用的是JSP文件来展示前台数据,随着前后端慢慢的彻底分离,JSP这种夹带着大量后台代码的方式以及慢慢在企业应用中消失,但是用于训练还是很有用处的,熟悉以后,也可以把项目改成Vue前端项目,进行彻底的前后端项目分离。Vue如今非常的流行,这样更方便前台系统的维护和扩展。在后台的技术使用上,为了能够快速搭建系统后台,采用了Springboot框架进行系统后台的搭建。

在系统的开发过程中,发现对数据的结构和算法的学习是十分重要的,比如树型结构数据,递归方法的使用,还有Map容器等都是常用的,虽然现在很多的第三方的插件和方法已经帮我们总结了很多有用的方法,方法的具体如何实现的有的时候还是需要进行了解的。第三方插件在使用上,虽然可以大量节约我们的开发时间,但是同样也有一定的风险,版本的更新乃至废弃都有发生,在项目的使用上,尽量还是进行方法的封装,这样以后进行项目的开发就能更好的进行维护了。

总的来说,通过这样一个小项目,能够从全局的方式了解一个项目的开发流程,应该能为以后的工作提供有力的支撑。

参考文献

[1]徐震阳,王博,蒋效伟,杨玉.多端融合的医疗健康平台设计与实现[J].现代信息科技,2023,7(01):115-118.DOI:10.19850/j.cnki.2096-4706.2023.01.031.

[2]Yu Yang. Design and Implementation of Student Information Management System Based on Springboot[J]. Advances in Computer, Signals and Systems,2022,6(6).

[3]郭丽花,彭娟,彭婧.预约挂号分时段标准化就诊系统对提高门诊服务效率的效果[J].中国标准化,2022(22):249-251.

[4]刘盈,陈月,刘立煌,郝徐杰,牛宇.不同挂号方式的实施效果评价研究[J].中国卫生事业管理,2022,39(06):416-423+480.

[5]陈勇.基于整合医疗信息的预约挂号服务客户端研究优化方法[J].自动化技术与应用,2022,41(03):77-80.

[6]陈博,焦娣,李晨,李林.门诊预约挂号系统的设计与应用[J].智慧健康,2022,8(04):1-4.DOI:10.19335/j.cnki.2096-1219.2022.04.001.

[7]张雯霄,凌佳,余睿,殷宪达,俞婷婷.预约挂号系统对患者就医行为影响因素及应用——基于模糊综合评价法的研究[J].现代信息科技,2022,6(01):140-143.DOI:10.19850/j.cnki.2096-4706.2022.01.037.

[8]王慧虹,许锡樱,沈翌卉.推进门诊预约挂号服务的现状及效果分析[J].智慧健康,2022,8(01):10-13.DOI:10.19335/j.cnki.2096-1219.2022.01.004.

[9]Gu Mengdie,Sun Rui,Yang Shulin,Gu Huijie,Yuan Ming. Research on copyright appointment registration microplatform system based on vue[J]. MATEC Web of Conferences,2022,355.

[10]姚辰欢,周典,王怡凡,罗益佳,徐慧,田帝,吴烨.基于Citespace我国医院门诊预约挂号文献可视化分析[J].齐齐哈尔医学院学报,2021,42(23):2073-2079.

[11]欧阳斌,陈瑞志,冯子洋,林声伟,窦晓欣.基于微信的校医院师生服务小程序设计[J].电脑知识与技术,2021,17(33):49-52.DOI:10.14004/j.cnki.ckt.2021.3318.

[12]杨茂琼,杨成.多元化预约挂号在三级甲等综合医院门诊管理中的应用研究[J].人人健康,2021(22):84-85.

[13]朱泽艳.微信公众平台在高校校医院的应用探讨[J].黑龙江科学,2021,12(21):148-149.

[14]Fuyuan Cheng. Talent Recruitment Management System for Small and Micro Enterprises Based on Springboot Framework[J]. Advances in Educational Technology and Psychology,2021,5(2).

[15]胡小勇. 基于SpringBoot的医院门诊管理信息系统的设计与实现[D].华中科技大学,2021.DOI:10.27157/d.cnki.ghzku.2021.001118.

[16]Suk Mi Young,Kim Bomgyeol,Lee Sang Gyu,You Chang Hoon,Hyun Kim Tae. Evaluation of Patient No-Shows in a Tertiary Hospital: Focusing on Modes of Appointment-Making and Type of Appointment[J]. International Journal of Environmental Research and Public Health,2021,18(6).

[17]梁景云.基于门诊全预约挂号流程的优化与传统排队挂号系统的研究[J].医学食疗与健康,2020,18(19):203+205.

[18]袁海燕,张莹,沈明辉.智慧医疗背景下预约挂号应用场景研究[J].医学信息学杂志,2020,41(06):54-57.

[19]Sebring Ethan J,Rudisill Melani A,Bates Jill S,Auten Jessica J,Urick Benjamin Y,Clark Stephen M. An Evaluation of the Effect of Pharmacist-Led Comprehensive Chemotherapy Consultation Services on Outpatient Appointment Adherence.[J]. Journal of managed care & specialty pharmacy,2020,26(6).

[20]黄洛,韩林玲,黄晓莉,阳淑伶.门诊多元化预约挂号服务系统的应用效果[J].右江医学,2018,46(04):459-462.

致谢

这篇文章的完成经历了多个日日夜夜的努力,终于在今天得以完成。这篇文章的创作过程实为不易,但在老师和同学的辛勤帮助下顺利渡过。让我在设计过程中举步维艰时,非常感谢我的导师不耐其烦的帮助我解决问题,给予了我许多指导意见。也感谢所有为我授业解惑的老师!

另外,本文的完成也参考借鉴了许多国内外在Java技术上的著作,如果没有著作原作的辛勤付出和科研成果,我也很难完成本论文。感谢在本论文中关联到的学者们!也感谢Google等公司,感谢他们强大的搜索引擎,让我的资料查阅省事简单。

感谢之余也还有几句话要说,虽大学学习四年,怎奈何本人才疏学浅,本文的完成已为尽力,但文中不免有些不当和错误之处,诚挚真切的请求各位老师对本文的批评改正,感谢百忙之中费心审阅我论文的老师。

请关注点赞+私信博主,免费领取项目源码

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/VX_DZbishe/article/details/132474058

智能推荐

hive使用适用场景_大数据入门:Hive应用场景-程序员宅基地

文章浏览阅读5.8k次。在大数据的发展当中,大数据技术生态的组件,也在不断地拓展开来,而其中的Hive组件,作为Hadoop的数据仓库工具,可以实现对Hadoop集群当中的大规模数据进行相应的数据处理。今天我们的大数据入门分享,就主要来讲讲,Hive应用场景。关于Hive,首先需要明确的一点就是,Hive并非数据库,Hive所提供的数据存储、查询和分析功能,本质上来说,并非传统数据库所提供的存储、查询、分析功能。Hive..._hive应用场景

zblog采集-织梦全自动采集插件-织梦免费采集插件_zblog 网页采集插件-程序员宅基地

文章浏览阅读496次。Zblog是由Zblog开发团队开发的一款小巧而强大的基于Asp和PHP平台的开源程序,但是插件市场上的Zblog采集插件,没有一款能打的,要么就是没有SEO文章内容处理,要么就是功能单一。很少有适合SEO站长的Zblog采集。人们都知道Zblog采集接口都是对Zblog采集不熟悉的人做的,很多人采取模拟登陆的方法进行发布文章,也有很多人直接操作数据库发布文章,然而这些都或多或少的产生各种问题,发布速度慢、文章内容未经严格过滤,导致安全性问题、不能发Tag、不能自动创建分类等。但是使用Zblog采._zblog 网页采集插件

Flink学习四:提交Flink运行job_flink定时运行job-程序员宅基地

文章浏览阅读2.4k次,点赞2次,收藏2次。restUI页面提交1.1 添加上传jar包1.2 提交任务job1.3 查看提交的任务2. 命令行提交./flink-1.9.3/bin/flink run -c com.qu.wc.StreamWordCount -p 2 FlinkTutorial-1.0-SNAPSHOT.jar3. 命令行查看正在运行的job./flink-1.9.3/bin/flink list4. 命令行查看所有job./flink-1.9.3/bin/flink list --all._flink定时运行job

STM32-LED闪烁项目总结_嵌入式stm32闪烁led实验总结-程序员宅基地

文章浏览阅读1k次,点赞2次,收藏6次。这个项目是基于STM32的LED闪烁项目,主要目的是让学习者熟悉STM32的基本操作和编程方法。在这个项目中,我们将使用STM32作为控制器,通过对GPIO口的控制实现LED灯的闪烁。这个STM32 LED闪烁的项目是一个非常简单的入门项目,但它可以帮助学习者熟悉STM32的编程方法和GPIO口的使用。在这个项目中,我们通过对GPIO口的控制实现了LED灯的闪烁。LED闪烁是STM32入门课程的基础操作之一,它旨在教学生如何使用STM32开发板控制LED灯的闪烁。_嵌入式stm32闪烁led实验总结

Debezium安装部署和将服务托管到systemctl-程序员宅基地

文章浏览阅读63次。本文介绍了安装和部署Debezium的详细步骤,并演示了如何将Debezium服务托管到systemctl以进行方便的管理。本文将详细介绍如何安装和部署Debezium,并将其服务托管到systemctl。解压缩后,将得到一个名为"debezium"的目录,其中包含Debezium的二进制文件和其他必要的资源。注意替换"ExecStart"中的"/path/to/debezium"为实际的Debezium目录路径。接下来,需要下载Debezium的压缩包,并将其解压到所需的目录。

Android 控制屏幕唤醒常亮或熄灭_android实现拿起手机亮屏-程序员宅基地

文章浏览阅读4.4k次。需求:在诗词曲文项目中,诗词整篇朗读的时候,文章没有读完会因为屏幕熄灭停止朗读。要求:在文章没有朗读完毕之前屏幕常亮,读完以后屏幕常亮关闭;1.权限配置:设置电源管理的权限。

随便推点

目标检测简介-程序员宅基地

文章浏览阅读2.3k次。目标检测简介、评估标准、经典算法_目标检测

记SQL server安装后无法连接127.0.0.1解决方法_sqlserver 127 0 01 无法连接-程序员宅基地

文章浏览阅读6.3k次,点赞4次,收藏9次。实训时需要安装SQL server2008 R所以我上网上找了一个.exe 的安装包链接:https://pan.baidu.com/s/1_FkhB8XJy3Js_rFADhdtmA提取码:ztki注:解压后1.04G安装时Microsoft需下载.NET,更新安装后会自动安装如下:点击第一个傻瓜式安装,唯一注意的是在修改路径的时候如下不可修改:到安装实例的时候就可以修改啦数据..._sqlserver 127 0 01 无法连接

js 获取对象的所有key值,用来遍历_js 遍历对象的key-程序员宅基地

文章浏览阅读7.4k次。1. Object.keys(item); 获取到了key之后就可以遍历的时候直接使用这个进行遍历所有的key跟valuevar infoItem={ name:'xiaowu', age:'18',}//的出来的keys就是[name,age]var keys=Object.keys(infoItem);2. 通常用于以下实力中 <div *ngFor="let item of keys"> <div>{{item}}.._js 遍历对象的key

粒子群算法(PSO)求解路径规划_粒子群算法路径规划-程序员宅基地

文章浏览阅读2.2w次,点赞51次,收藏310次。粒子群算法求解路径规划路径规划问题描述    给定环境信息,如果该环境内有障碍物,寻求起始点到目标点的最短路径, 并且路径不能与障碍物相交,如图 1.1.1 所示。1.2 粒子群算法求解1.2.1 求解思路    粒子群优化算法(PSO),粒子群中的每一个粒子都代表一个问题的可能解, 通过粒子个体的简单行为,群体内的信息交互实现问题求解的智能性。    在路径规划中,我们将每一条路径规划为一个粒子,每个粒子群群有 n 个粒 子,即有 n 条路径,同时,每个粒子又有 m 个染色体,即中间过渡点的_粒子群算法路径规划

量化评价:稳健的业绩评价指标_rar 海龟-程序员宅基地

文章浏览阅读353次。所谓稳健的评估指标,是指在评估的过程中数据的轻微变化并不会显著的影响一个统计指标。而不稳健的评估指标则相反,在对交易系统进行回测时,参数值的轻微变化会带来不稳健指标的大幅变化。对于不稳健的评估指标,任何对数据有影响的因素都会对测试结果产生过大的影响,这很容易导致数据过拟合。_rar 海龟

IAP在ARM Cortex-M3微控制器实现原理_value line devices connectivity line devices-程序员宅基地

文章浏览阅读607次,点赞2次,收藏7次。–基于STM32F103ZET6的UART通讯实现一、什么是IAP,为什么要IAPIAP即为In Application Programming(在应用中编程),一般情况下,以STM32F10x系列芯片为主控制器的设备在出厂时就已经使用J-Link仿真器将应用代码烧录了,如果在设备使用过程中需要进行应用代码的更换、升级等操作的话,则可能需要将设备返回原厂并拆解出来再使用J-Link重新烧录代码,这就增加了很多不必要的麻烦。站在用户的角度来说,就是能让用户自己来更换设备里边的代码程序而厂家这边只需要提供给_value line devices connectivity line devices