(附源码)基于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

智能推荐

从零开始搭建Hadoop_创建一个hadoop项目-程序员宅基地

文章浏览阅读331次。第一部分:准备工作1 安装虚拟机2 安装centos73 安装JDK以上三步是准备工作,至此已经完成一台已安装JDK的主机第二部分:准备3台虚拟机以下所有工作最好都在root权限下操作1 克隆上面已经有一台虚拟机了,现在对master进行克隆,克隆出另外2台子机;1.1 进行克隆21.2 下一步1.3 下一步1.4 下一步1.5 根据子机需要,命名和安装路径1.6 ..._创建一个hadoop项目

心脏滴血漏洞HeartBleed CVE-2014-0160深入代码层面的分析_heartbleed代码分析-程序员宅基地

文章浏览阅读1.7k次。心脏滴血漏洞HeartBleed CVE-2014-0160 是由heartbeat功能引入的,本文从深入码层面的分析该漏洞产生的原因_heartbleed代码分析

java读取ofd文档内容_ofd电子文档内容分析工具(分析文档、签章和证书)-程序员宅基地

文章浏览阅读1.4k次。前言ofd是国家文档标准,其对标的文档格式是pdf。ofd文档是容器格式文件,ofd其实就是压缩包。将ofd文件后缀改为.zip,解压后可看到文件包含的内容。ofd文件分析工具下载:点我下载。ofd文件解压后,可以看到如下内容: 对于xml文件,可以用文本工具查看。但是对于印章文件(Seal.esl)、签名文件(SignedValue.dat)就无法查看其内容了。本人开发一款ofd内容查看器,..._signedvalue.dat

基于FPGA的数据采集系统(一)_基于fpga的信息采集-程序员宅基地

文章浏览阅读1.8w次,点赞29次,收藏313次。整体系统设计本设计主要是对ADC和DAC的使用,主要实现功能流程为:首先通过串口向FPGA发送控制信号,控制DAC芯片tlv5618进行DA装换,转换的数据存在ROM中,转换开始时读取ROM中数据进行读取转换。其次用按键控制adc128s052进行模数转换100次,模数转换数据存储到FIFO中,再从FIFO中读取数据通过串口输出显示在pc上。其整体系统框图如下:图1:FPGA数据采集系统框图从图中可以看出,该系统主要包括9个模块:串口接收模块、按键消抖模块、按键控制模块、ROM模块、D.._基于fpga的信息采集

微服务 spring cloud zuul com.netflix.zuul.exception.ZuulException GENERAL-程序员宅基地

文章浏览阅读2.5w次。1.背景错误信息:-- [http-nio-9904-exec-5] o.s.c.n.z.filters.post.SendErrorFilter : Error during filteringcom.netflix.zuul.exception.ZuulException: Forwarding error at org.springframework.cloud..._com.netflix.zuul.exception.zuulexception

邻接矩阵-建立图-程序员宅基地

文章浏览阅读358次。1.介绍图的相关概念  图是由顶点的有穷非空集和一个描述顶点之间关系-边(或者弧)的集合组成。通常,图中的数据元素被称为顶点,顶点间的关系用边表示,图通常用字母G表示,图的顶点通常用字母V表示,所以图可以定义为:  G=(V,E)其中,V(G)是图中顶点的有穷非空集合,E(G)是V(G)中顶点的边的有穷集合1.1 无向图:图中任意两个顶点构成的边是没有方向的1.2 有向图:图中..._给定一个邻接矩阵未必能够造出一个图

随便推点

MDT2012部署系列之11 WDS安装与配置-程序员宅基地

文章浏览阅读321次。(十二)、WDS服务器安装通过前面的测试我们会发现,每次安装的时候需要加域光盘映像,这是一个比较麻烦的事情,试想一个上万个的公司,你天天带着一个光盘与光驱去给别人装系统,这将是一个多么痛苦的事情啊,有什么方法可以解决这个问题了?答案是肯定的,下面我们就来简单说一下。WDS服务器,它是Windows自带的一个免费的基于系统本身角色的一个功能,它主要提供一种简单、安全的通过网络快速、远程将Window..._doc server2012上通过wds+mdt无人值守部署win11系统.doc

python--xlrd/xlwt/xlutils_xlutils模块可以读xlsx吗-程序员宅基地

文章浏览阅读219次。python–xlrd/xlwt/xlutilsxlrd只能读取,不能改,支持 xlsx和xls 格式xlwt只能改,不能读xlwt只能保存为.xls格式xlutils能将xlrd.Book转为xlwt.Workbook,从而得以在现有xls的基础上修改数据,并创建一个新的xls,实现修改xlrd打开文件import xlrdexcel=xlrd.open_workbook('E:/test.xlsx') 返回值为xlrd.book.Book对象,不能修改获取sheett_xlutils模块可以读xlsx吗

关于新版本selenium定位元素报错:‘WebDriver‘ object has no attribute ‘find_element_by_id‘等问题_unresolved attribute reference 'find_element_by_id-程序员宅基地

文章浏览阅读8.2w次,点赞267次,收藏656次。运行Selenium出现'WebDriver' object has no attribute 'find_element_by_id'或AttributeError: 'WebDriver' object has no attribute 'find_element_by_xpath'等定位元素代码错误,是因为selenium更新到了新的版本,以前的一些语法经过改动。..............._unresolved attribute reference 'find_element_by_id' for class 'webdriver

DOM对象转换成jQuery对象转换与子页面获取父页面DOM对象-程序员宅基地

文章浏览阅读198次。一:模态窗口//父页面JSwindow.showModalDialog(ifrmehref, window, 'dialogWidth:550px;dialogHeight:150px;help:no;resizable:no;status:no');//子页面获取父页面DOM对象//window.showModalDialog的DOM对象var v=parentWin..._jquery获取父window下的dom对象

什么是算法?-程序员宅基地

文章浏览阅读1.7w次,点赞15次,收藏129次。算法(algorithm)是解决一系列问题的清晰指令,也就是,能对一定规范的输入,在有限的时间内获得所要求的输出。 简单来说,算法就是解决一个问题的具体方法和步骤。算法是程序的灵 魂。二、算法的特征1.可行性 算法中执行的任何计算步骤都可以分解为基本可执行的操作步,即每个计算步都可以在有限时间里完成(也称之为有效性) 算法的每一步都要有确切的意义,不能有二义性。例如“增加x的值”,并没有说增加多少,计算机就无法执行明确的运算。 _算法

【网络安全】网络安全的标准和规范_网络安全标准规范-程序员宅基地

文章浏览阅读1.5k次,点赞18次,收藏26次。网络安全的标准和规范是网络安全领域的重要组成部分。它们为网络安全提供了技术依据,规定了网络安全的技术要求和操作方式,帮助我们构建安全的网络环境。下面,我们将详细介绍一些主要的网络安全标准和规范,以及它们在实际操作中的应用。_网络安全标准规范