ssm医院预约挂号系统小程序
摘 要
随着互联网趋势的到来,各行各业都在考虑利用互联网将自己推广出去,最好方式就是建立自己的互联网系统,并对其进行维护和管理。在现实运用中,应用软件的工作规则和开发步骤,采用Java技术建设医院预约挂号小程序。
本设计主要实现集人性化、高效率、便捷等优点于一身的医院预约挂号小程序,完成公告资源管理、医院资讯、资讯分类、系统用户、门诊医生、科室、挂号信息、取消挂号、导诊申请等功能模块。系统通过浏览器与服务器进行通信,实现数据的交互与变更。只需通过一台电脑,动动手指就可以操作系统,实现数据通信管理。整个系统的设计过程都充分考虑了数据的安全、稳定及可靠等问题,而且操作过程简单。本系统通过科学的管理方式、便捷的服务提高了工作效率,减少了数据存储上的错误和遗漏。
医院预约挂号小程序采取面对对象的开发模式进行软件的开发和硬体的架设,能很好的满足实际使用的需求,完善了对应的软体架设以及程序编码的工作,系统前端部分采用基于微信开发者工具,后台使用SSM这个框架,数据库采用目前流行的开源关系型数据库MYSQL,实现了本系统的全部功能。设计过程中,第一,静态页面的制作需要应用语言,以及小程序的美工,在这些方面均收获了较好的成绩。第二,针对小程序常用的HBuilder X等技术动态编程以及数据库进行努力学习和大量实践,并运用到了本系统的建设中。本次报告,首先分析了研究的背景、作用、意义,为研究工作的合理性打下了基础。针对医院预约挂号小程序的各项需求以及技术问题进行分析,证明了系统的必要性和技术可行性,然后对设计系统需要使用的技术软件以及设计思想做了基本的介绍,最后来实现医院预约挂号小程序和部署运行使用它。
关键词:预约挂号;Java语言;MySQL数据库;SSM框架
SSM Hospital Appointment Registration System Mini Program
Abstract
With the advent of the Internet trend, all walks of life are considering using the Internet to promote themselves, and the best way is to build their own Internet system, maintain and manage it. In real application, the working rules and development steps of the application software use Java technology to build a hospital appointment registration mini program.
This design mainly realizes the hospital appointment registration mini program that integrates the advantages of humanization, high efficiency and convenience, and completes the functional modules such as announcement information management, hospital information, information classification, system users, outpatient doctors, departments, registration information, and cancellation of registration. The system communicates with the server through the browser to realize the interaction and change of data. With just a computer, you can operate the system at your fingertips and realize data communication management. The design process of the whole system fully considers the security, stability and reliability of data, and the operation process is simple. The system improves work efficiency through scientific management and convenient service, and reduces errors and omissions in data storage.
Hospital appointment registration mini program adopts the development mode of the object for software development and hardware erection, which can well meet the needs of actual use, improve the corresponding software erection and program coding work, the front-end part of the system adopts based on WeChat developer tools, the background uses SSM this framework, the database adopts the popular open source relational database MYSQL, to achieve all the functions of the system. In the design process, first, the production of static pages requires application language, as well as the art of mini programs, and has achieved good results in these aspects. Second, for the dynamic programming of HBuilder X and other technologies commonly used in small programs, as well as a large number of practices, and applied to the construction of this system. This report first analyzes the background, role and significance of the research, and lays a foundation for the rationality of the research work. According to the analysis of the needs and technical problems of the hospital appointment registration mini program, the necessity and technical feasibility of the system are proved, and then the technical software and design ideas that need to be used to design the system are basically introduced, and finally the hospital appointment registration mini program and deployment and operation are realized.
Key words:Make an appointment for registration; Java language; MySQL database; SSM framework
目 录
随着越来越多的人工智能不断融入和应用于医疗领域,医疗服务正逐步走入智能化,在中国新医改的大背景下,智慧医疗已经成为民生工程的重点和热点领域。
医院预约挂号系统小程序的研究意义:
(1)节约病人挂号的排队时间。传统医院的挂号手续繁琐,具有很强的不确定性,购买人员流量不均,有明显的高峰期和低谷期,高峰期病人需要长时间排队,也易出现熟人插队等现象,低谷期会造成医生溜号,医疗资源闲置等问题。智能预约挂号系统可以自动计算病人的等待时间,合理分配看诊时段,提高了病人看诊的效率。
(2)提高病人的看病质量。有些病人生病了但对所要挂的专家科室和医生的资历等信息并不了解,只能凭借自身的感觉和印象进行选择,具有盲目性。医院预约挂号系统小程序可以根据病人的病情和医生资历进行挂号,选择最为合适的医生,具有针对性,大大提高了病人的看病质量。
(3)操作方便简洁。用户利用手机、互联网就可以随时随地的挂号预约,操作简单便捷,方便用户使用,提高了病人的看病效率。
(4)增强医院对病人的医疗服务质量。医院预约挂号系统的出现使传统繁琐拥挤的看病环境得到改善,增强了医院的最大作用性,同时也提高医院的工作效益和社会效益。
目前,随着信息科学技术的飞速发展,医疗也普遍信息化,国内外都对网上预约挂号系统做出了研究。早年以电话预约,短信预约,网上预约的方式得到了广泛应用。直至2014年统计,当时其三种预约方式受欢迎程度占比分别为:电话50%,短信40%,网网络10%。由于当时计算机网络不完善,人们对新生事物的,人们对新生事物的抵触等原因,导致网上预约挂号仍然不是主流的就医挂号模式。伴随着医疗体制改革的不断深化以及医疗事业飞速发展,人们的生活节奏也越来快,对医院多样化的医疗服务的需求再次提高。如何利用先进的信息技术为医院提供服务,更大程度的提高医院效率是医院信息化建设中的一个重点。
国外的研究因为医院和社会的体系不同,所以解决重点也不尽相同,国外研究利用仿真模型,重叠预约调度模型等计算出最佳的预约时间表,大大减少病人等待时间,利用超额调度算法降低爽约病人的影响,提高医院门诊的期望利润率,但是却没有给出具体的工具代码用以实现这些算法功能,国外更偏重于研究算法模型,具体实施的技术问题却少有涉及。而国内的研究则是针对本国的具体实际情况,利用ssm和java等技术工具和互联网,根据号源池,分时模型等思想开发出一些预约挂号系统,解决了医院挂号排队时间长,挂号难等问题,使预约病人可以直接在互联网,或者是Android操作系统的智能电子产品上进行挂号。
但是,现存的网上预约挂号还不够智能化,病人挂号是要根据自己的经验进行科室医生等的选择,造成病情不严重也要挂专家号,有需要的病人却要等待的现象。针对以上不足,本次开发的重点就是在于如何使网上预约挂号系统更加智能化且合理运用到医院上去。为了解决病人等待时间长的问题,该系统能自动计算已有的预约人数和等待时间,给出病人一个较为准确的等待时间,学病人就可以在合适的时间前往医院,为病人看诊带来了极大的便利。
第一章是绪论,本文章的开头部分,对本题目的研究背景和研究意义等一些做文字性的描述。
第二章研究了医院预约挂号小程序的所采用的开发技术和开发工具。
第三章是系统分析部分,包括系统总体需求描述、功能性角度分析系统需求、非功能性等各个方面分析系统是否可以实现。
第四章是系统设计部分,本文章的重要部分,提供了系统架构的详细设计和一些主要功能模块的设计说明。
第五章是系统的具体实现,介绍系统的各个模块的具体实现。
第六章在前几章的基础上对系统进行测试和运行。
最后对系统进行了认真的总结,以此对未来有一个新的展望。
微信开发者工具现在已经被小程序开发团队开发运行,目前微信开发者工具任然在不断的完善中,在开发小程序时经常要不断的更新。可以使用微信扫码登陆开发者工具,开发者工具将使用这个微信帐号的信息进行小程序的开发和调试。
机型选择:小程序以智能手机的屏幕尺寸为设计标准,进行切图。
预览界面:写好视图布局后点击编译,用来刷新视图界面。
控制台:方便调试打印输出信息。
上传代码:上传到腾讯服务器,提交审核必经步骤。上传代码时可以填写版本号和备注信息。
资源文件:一般可以在资源文件进行对应项目的文件目录的断点调试。
显示远程调试:手机端和PC端开发工具联调对用户而言是非常实用的。
本地数据存储:显示的是本地存储的数据。
视图调试:标组件以子父层级结构呈现,方便调试。
微信限制在2M 以内的代码体积;开发中一般不校验合法域名信息;小程序后台要做配置服务器域名。
以上就是在开发过程中微信开发者工具常用到的功能,微信开发者工具也在不断的完善。
整个小程序框架系统分为两部分:逻辑层和视图层。小程序开发框架的目标是通过尽可能简单、高效的方式让开发者可以在微信中开发具有原生小程序体验的服务。小程序在视图层与逻辑层间提供了数据传输和事件系统,提供了自己的视图层以及逻辑层框架,让开发者能够专注于数据与逻辑。框架的核心是一个响应的数据绑定系统,可以让数据与视图非常简单地保持同步。在逻辑层做数据修改,在视图层就会做相应的更新。框架提供了一套基础的组件,这些组件自带微信风格的样式以及特殊的逻辑,开发者可以通过组合基础组件,创建出强大的微信小程序 。
SSM即SpringMVC+Spring+Mybatis,这三个框架有各自最独有的优势,那么将它们组合在一起能够碰撞出很强的火花。设计者在不需消耗大量功夫,能做出Web应用程序,而且这个程序还具有层次清晰、升级更新操作不影响正常使用的、允许多次使用的特点。这个复合框架形成一个有着结构完整、功能强大和结构良好的体系:SpringMVC使各板块分离,Spring使开发更灵活方便,使用Mybatis让开发者直接对对象进行操纵,各层次分工明细,并实现各个层次间的解耦,让代码更加的灵活精简。这个框架使程序员能够规避在开发时期避免个别错误导致整体被破坏,也能在后期应对客户对产品提出的新需求。
1.Spring的优势:
通过Spring的IOC特性,将对象之间的依赖关系交给了Spring控制,方便解耦,简化了开发。
2.Spring MVC的优势:
SpringMVC是使用了MVC设计思想的轻量级web框架,对web层进行解耦,使我们的开发更简洁。
3.Mybatis的优势:
数据库的操作(sql)采用xml文件配置,解除了sql和代码的耦合,提供映射标签,支持对象和和数据库orm字段关系的映射,支持对象关系映射标签,支持对象关系的组建提供了xml标签,支持动态的sql。
Java是美国sun公司所推出的一款程序设计语言,其能够在多个平台内应用,具有良好兼容性,进而其凭借自身优势在数据中心、个人PC与科技超级计算机等平台内广泛应用,具有目前最为庞大的开发者专业社群[3]。
JDK为美国sun公司为java开发员所推出的一款全新产品,要是没有JDK的情况下,所安装的java程序也就无法运行[4]。
Tomcat属于一种轻型的服务器,所以说在中小企业中并不具有普适性。但是当程序员需要开发或调试JSP 程序时,则通常会将该服务器作为首选。对于一个仅具有计算机基础知识的人来说,计算机系统具有一个好的Apache服务器,可以很好的对HTML 页面进行访问。Tomcat 虽然是Apache的扩展,但是它们都是可以独立运行的,二者是不互相干扰的。当配置正确的时候,Apache服务器为HTML 页面的运行提供技术支持,Tomcat 的任务则是运行Servle和JSP 页面。Tomca也具有一定的HTML页面处理功能[5]。
JSP可以放在在html里使用,也可以独自使用,它同时也具备有很多种优点,可以讲,Web脚本技术的先驱是JSP。现代编程语言(像C,Java和Perl等)的一些最好的特点都融合在JSP里,Web服务器里的一些配置标准是由JSP、Tomcat和数据库等的组合在一起的[6]。
数据库是系统开发过程中不可或缺的一部分。 在WEB应用方面,MySQL AB开发了一个具有很大优势的MySQL关系数据库管理系统。 MySQL可以将数据存储在不同的表中,这非常灵活,并且还可以提高系统在实际应用中的速度。 数据库访问最常用于标准SQL语言,MySQL用于SQL语言,因此它具有高度兼容性。数据库的操作是必不可少的,包括对数据库表的增加、删除、修改、查询等功能。现如今,数据库可以分为关系型数据库和非关系型数据库,Mysql属于关系性数据库,Mysql数据库是一款小型的关系型数据库,它以其自身特点:体积小、速度快、成本低等,Mysql数据库是目前最受欢迎的开源数据库。
在WEB应用技术中, Mysql数据库支持不同的操作系统平台,虽然在不同平台下的安装和配置都不相同,但是差别也不是很大,Mysql在Windows平台下两种安装方式,二进制版和免安装版。安装完Mysql数据库之后,需要启动服务进程,相应的客户端就可以连接数据库,客户端可通过命令行或者图形界面工具登录数据库。
数据库管理系统的总体结构图如下图所示。
图2-1 数据库组成结构
本次设计基于B/S模式下,运用Java、JSP技术采用的是MySQL数据库实现,总体的可行性共分为以下三个方面。
所谓的技术可行性就是在限定时间,前期拟定的功能能否被满足。在开发设计上是否会遇上解决不了的问题。做完的项目能否被很好地应用,如果存在缺点在后期的维护上是否存在很大的难度。在对这个系统评估后,认定已存在的技术能达成目标。用JSP技术来实现动态的页面,嵌入低依赖性的设计模式,灵活的数据库,配合稳定的服务器,整个系统的运行效率大大提升。由此可见,在技术层面达成目标不是非非之想。
在项目上使用的工具大部分都是是当下流行开源免费的,所以在开发前期,开发时用于项目的经费将会大大降低,不会让开发该软件在项目启动期受到经费的影响,所以经济上还是可行的。尽量用最少的花费去满足用户的需求。省下经费用于人工费,以及设备费用。将在无纸化,高效率的道路上越走越远。
本系统实现功能的操作很简单,普通电脑的常见配置就可以运行本软件,并且只要粗通电脑使用的基本常识就可以流畅的使用本软件。电脑具备连接互联网的能力,并且可以正常访问系统,并不需要操作者有什么高超的能力,只需了解业务流程,并且按照专业知识进行正确操作即可,所以医院预约挂号小程序具备操作可行性。
在系统开发设计前,应该对功能做初步设想,清楚这个管理系统有什么板块,每个板块有什么功能,整体的设计是否满足使用者的需求,接着对所开发的系统功能进行的详细分析总结,从而设计出完整的系统并将其实现。用户和开发人员的交流分析,使其达到最佳理解程度,使系统功能达到最佳。
用户用例图如下所示。
图3-1 用户用例图
管理员用例图如下所示。
图3-2 管理员用例图
医院预约挂号小程序在对需求做解析后,整个系统主要分为两个部分:管理员和用户,每个模块下的分支功能不一样。对功能做出如下说明:
用户模块:
账号注册。
账号登录认证。
浏览医院资讯:用户可以根据医院资讯类型浏览医院资讯的信息,并选中某个医院资讯查看详情,例如:医院资讯名称、医院资讯类别、医院资讯内容、医院资讯图片等。
浏览公告信息:用户可以浏览主页面的公告信息来了解系统的最新公告信息。
提交导诊申请,同时查看历史已提交的导诊申请记录。
查看门诊医生,同时可进行预约挂号和收藏操作。
查看挂号信息,可以取消挂号。
管理员模块:
维护用户,审核用户的账号,可以冻结用户的登录权限,或者删除用户账号。
添加医生账号,医生账号由后台管理员手动添加。
发布医院资讯,并可以销毁某个医院资讯,更新医院资讯数据,模糊搜索医院资讯数据等。
发布门诊医生,并可以销毁某个门诊医生,更新门诊医生数据,模糊搜索门诊医生数据等。
发布科室,并可以销毁某个科室,更新科室数据,模糊搜索科室数据等。
维护用户挂号信息,供用户查询自己的挂号信息。
查看用户提交的取消挂号数据,管理员有权利维护它。
审核用户的导诊申请,合理分配看诊医生。
系统非功能需求有非常多,比如性能需求、可承载最大用户数、稳定性、易用性需求等。本系统分析时考虑到易用性需求,因为系统是给人使用的,所以必须充分从用户的角度出发,考虑用户体验,使系统易理解易上手易操作。
零层数据流程图包括了登录注册、用户功能和检索维护等模块,在登录注册模块使用到的数据存储有用户账户文档,用户功能模块需要的存储是用户各功能模块数据文档,检索维护是使用以上这些数据文档通过关键词进行检索。
系统的零层数据流图如下图
所图3-3系统数据流图(零层)
一层数据流程图是对零层数据流程图的细化,将登录注册细分为填制登录注册数据和完善数据,用户功能细分为用户基本功能和用户主要功能。
系统的一层数据流图如下图所示。
图3-4系统数据流图(一层)
二层数据流程是对一层数据流层图中填写登录注册信息、用户功能的细化。即:填写登录注册信息细化为填制信息、后台审核,用户功能细化为导诊申请、医院资讯查看、通知查看等操作。
系统的二层数据流图如下图所示。
图3-5系统数据流图(二层)
目前B/S体系的系统主要的数据访问方式是:通过浏览器页面用户可以进入系统,系统可以自动对用户向服务器发送的请求进行处理,处理请求是在系统后台中进行的,用户在浏览器页面上进行相应操作,就能够看到服务端传递的处理结果。医院预约挂号小程序主要分为视图-模型-控制三层架构设计。在视图层中,主要是操作在服务器端向客户端反馈并显示的数据,在模型层中,主要处理相关的业务逻辑、数据整合等,最后的控制层它介于视图和模型之间,主要是调整两层之间的关系,最终落实数据的传递。
系统架构图如下图所示。
图4-1系统架构图
系统设计的目的是分析系统包括的所有功能结构,为开发人员设计开发和实现系统做好准备工作。经过前期的需求调查、分析和整理之后,确定的总体需求主要包括多个模块,分别是:公告资源管理、医院资讯、资讯分类、系统用户、门诊医生、科室、挂号信息、取消挂号、导诊申请。系统整体角色分为二个部分,一是用户、二是管理员。权限分布也是很明显,用户是在除去浏览信息之外还具有查询和管理自己账户信息、导诊申请、医院资讯查看、通知查看、预约挂号等权限;管理员是最高权限拥有者。
系统功能结构图如下图所示。
图4-2系统功能结构图
用户管理模块
该模块是为所有用户登录设计的,如用户登录后只能进行自己的普通功能操作(如个人信息修改),管理员和超级管理员登录后有不同的权限,管理员不能超越权限。超级管理员能对整个系统的数据进行管理,主要是用户的登录权限以及用户登录后在系统里的操作权限。
登录模块:使用者必须输入正确的账号与密码才能访问系统。
预约挂号模块:包括前台的预约挂号和后台的预约挂号预约管理,前台让用户申请预约挂号,后台查看预约情况。
通知维护模块
管理员点击通知管理菜单,点击通知添加子菜单,添加通知数据,填写标题、内容、类别、图片,提交成功后,通知数据页面刷新,新数据成功载入页面。
导诊申请维护模块
根据导诊申请维护的流程,用户提交导诊申请数据,在个人后台便可以查看到历史提交的导诊申请数据,管理员来维护导诊申请数据,审批确认已存在的导诊申请数据。
打印和导出模块
系统多个页面可以进行打印功能,包括信息详细页,信息列表页,打印时调用外部打印机,完成打印设置即可打印,在信息列表页可以将该信息列表导出至excel中,用户选择保存excel文件的路径,既可以下载至本地,在excel中可以自由编辑。
对于一个要开发的系统来说,E-R图可以让别人能更快更轻松的了解此系统的事务及它们之间的关系。根据系统分析阶段所得出的结论确定了在医院预约挂号小程序中存在着多个实体分别是用用户、管理员、医院资讯、导诊申请、预约挂号。
系统总体ER图如下图所示。
图4-3系统总体ER图
管理员(管理员id、用户名、密码、权限)
用户(用户id、工号、密码、用户姓名、性别、身份证、电话、邮箱、部门、职位、职称、是否审核)
医院资讯数据(医院资讯id、标题、类别、首页图片、点击率、发布人)
科室(科室id、科室名称、科室类别)
医生(医生id、医生姓名、性别、职称、所在科室、联系电话、邮箱)
导诊申请(导诊申请id、导诊单号、导诊日期、导诊天数、导诊类型、申请人、是否审核、审核回复)
数据库逻辑结构就是将E-R图在数据库中用具体的字段进行描述。用字段和数据类型描述来使对象特征实体化,最后形成具有一定逻辑关系的数据库表结构。医院预约挂号小程序所需要的部分数据结构表如下表所示。
表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 | 用户编号: |
表application_for_guidance (导诊申请)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | application_for_guidance_id | int | 10 | 0 | N | Y | 导诊申请ID | |
2 | submit_user | int | 10 | 0 | Y | N | 0 | 提交用户 |
3 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
4 | user_gender | varchar | 64 | 0 | Y | N | 用户性别 | |
5 | user_age | int | 10 | 0 | Y | N | 0 | 用户年龄 |
6 | visit_card_number | varchar | 64 | 0 | Y | N | 就诊卡号 | |
7 | submission_date | date | 10 | 0 | Y | N | 提交日期 | |
8 | self_description | text | 65535 | 0 | Y | N | 自身描述 | |
9 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
10 | examine_reply | varchar | 16 | 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 | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 文章描述 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | cancel_registration_id | int | 10 | 0 | N | Y | 取消挂号ID | |
2 | appointment_number | varchar | 64 | 0 | N | N | 预约编号 | |
3 | outpatient_id | varchar | 64 | 0 | Y | N | 门诊编号 | |
4 | date_of_visit | date | 10 | 0 | Y | N | 出诊日期 | |
5 | department_doctor | int | 10 | 0 | Y | N | 0 | 科室医生 |
6 | doctors_name | varchar | 64 | 0 | Y | N | 医生姓名 | |
7 | department | varchar | 64 | 0 | Y | N | 科室 | |
8 | cover | varchar | 255 | 0 | Y | N | 封面 | |
9 | registered_users | int | 10 | 0 | Y | N | 0 | 挂号用户 |
10 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
11 | user_gender | varchar | 64 | 0 | Y | N | 用户性别 | |
12 | user_age | int | 10 | 0 | Y | N | 0 | 用户年龄 |
13 | visit_card_number | varchar | 64 | 0 | Y | N | 就诊卡号 | |
14 | number_of_registered_persons | varchar | 64 | 0 | Y | N | 挂号人数 | |
15 | reason_for_cancellation | text | 65535 | 0 | Y | N | 取消原因 | |
16 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
17 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
18 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
19 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
20 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | department_id | int | 10 | 0 | N | Y | 科室ID | |
2 | department | varchar | 64 | 0 | Y | N | 科室 | |
3 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
4 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
5 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | doctor_user_id | int | 10 | 0 | N | Y | 医生用户ID | |
2 | doctor_id | varchar | 64 | 0 | Y | N | 医生工号 | |
3 | doctors_name | varchar | 64 | 0 | Y | N | 医生姓名 | |
4 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
5 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
6 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
7 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | ordinary_users_id | int | 10 | 0 | N | Y | 普通用户ID | |
2 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
3 | user_gender | varchar | 64 | 0 | Y | N | 用户性别 | |
4 | user_age | int | 10 | 0 | Y | N | 0 | 用户年龄 |
5 | visit_card_number | varchar | 64 | 0 | N | N | 就诊卡号 | |
6 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
7 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
8 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
9 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | outpatient_doctor_id | int | 10 | 0 | N | Y | 门诊医生ID | |
2 | outpatient_id | varchar | 64 | 0 | Y | N | 门诊编号 | |
3 | date_of_visit | date | 10 | 0 | Y | N | 出诊日期 | |
4 | department_doctor | int | 10 | 0 | Y | N | 0 | 科室医生 |
5 | doctors_name | varchar | 64 | 0 | Y | N | 医生姓名 | |
6 | department | varchar | 64 | 0 | Y | N | 科室 | |
7 | registration_fee | int | 10 | 0 | Y | N | 0 | 挂号费 |
8 | cover | varchar | 255 | 0 | Y | N | 封面 | |
9 | remaining_numbers | int | 10 | 0 | Y | N | 0 | 剩余号数 |
10 | areas_of_expertise | varchar | 64 | 0 | Y | N | 擅长领域 | |
11 | doctor_introduction | text | 65535 | 0 | Y | N | 医生介绍 | |
12 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
13 | timer_title | varchar | 64 | 0 | Y | N | 计时器标题 | |
14 | timing_start_time | datetime | 19 | 0 | Y | N | 计时开始时间 | |
15 | timing_end_time | datetime | 19 | 0 | Y | N | 计时结束时间 | |
16 | limit_times | int | 10 | 0 | N | N | 0 | 限制次数 |
17 | limit_type | tinyint | 4 | 0 | N | N | 2 | 限制次数类型1-每天次,2-总计次 |
18 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
19 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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已取消 |
表registration_information (挂号信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | registration_information_id | int | 10 | 0 | N | Y | 挂号信息ID | |
2 | appointment_number | varchar | 64 | 0 | Y | N | 预约编号 | |
3 | outpatient_id | varchar | 64 | 0 | Y | N | 门诊编号 | |
4 | date_of_visit | date | 10 | 0 | Y | N | 出诊日期 | |
5 | department_doctor | int | 10 | 0 | Y | N | 0 | 科室医生 |
6 | doctors_name | varchar | 64 | 0 | Y | N | 医生姓名 | |
7 | department | varchar | 64 | 0 | Y | N | 科室 | |
8 | registration_fee | int | 10 | 0 | Y | N | 0 | 挂号费 |
9 | cover | varchar | 255 | 0 | Y | N | 封面 | |
10 | registered_users | int | 10 | 0 | Y | N | 0 | 挂号用户 |
11 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
12 | user_gender | varchar | 64 | 0 | Y | N | 用户性别 | |
13 | user_age | int | 10 | 0 | Y | N | 0 | 用户年龄 |
14 | visit_card_number | varchar | 64 | 0 | Y | N | 就诊卡号 | |
15 | number_of_registered_persons | varchar | 64 | 0 | Y | N | 挂号人数 | |
16 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
17 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
18 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
19 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 文件类型 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | | 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 | 创建时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 更新时间: |
用户在填写数据的时候必须与注册页面上的验证相匹配否则会注册失败,注册页面的表单验证是通过JavaScript进行验证的,用户名的长度必须在6到18之间,邮箱必须带有@符号,密码和密码确认必须相同,你输入的密码,系统会根据你输入密码的强度给出指定的值,电话号码和身份证号码必须要求输入格式与生活相符合,当你前台验证通过的时候你点击注册,表单会将你输入的值通过name值传递给后台并保存到数据库中。
用户注册流程图如下图所示。
图5-1用户注册流程图
注册,通过填写用户名、密码、姓名、手机等信息,输入完成后选择提交即可注册成功,如下图所示。
图5-2注册界面图
系统的登录窗口是用户的入口,用户只有在登录成功后才可以进入访问。通过在登录提交表单,后台处理判断是否为合法用户,进行页面跳转,进入系统中去。
登录合法性判断过程:用户输入账号和密码后,系统首先确定输入输入数据合法性,然后在login.jsp页面发送登录请求,调用src下的mainctrl类的dopost方法来验证。
用户登录模块的IPO如下所示:
输入:用户名和密码。
处理:
1)检测用户输入的账号、密码是否正确及在数据库已对应存在。
2)从数据库中提取记录,并储存在本地的session中(timeout默认=30min)。
3)根据用户名,将其显示在系统首页上。
输出:是否成功的信息。
登录流程图如下所示。
图5-3登录流程图
系统登录界面如下所示。
图5-4系统登录界面
用户登录进入首页,可以进行导诊申请、门诊医生、预约挂号等功能模块的查看与操作,如下图所示。
图5-5系统首页界面图
-
-
- 医院资讯信息模块
-
用户点击医院资讯页面,可以看到所有的医院资讯列表信息,点击某个医院资讯详情可以看到医院资讯的标题、类型、点赞数等,也可以对医院资讯进行点赞、收藏、发表评论等操作。
医院资讯信息展示界面如下图所示。
图5-7医院资讯信息展示界面图
-
-
- 导诊申请模块
-
用户点击导诊申请页面,填写导诊申请信息,包括年龄、性别、就诊卡号、症状等,也可以查看历史导诊申请记录,取消导诊申请等操作。
导诊申请提交界面如下图所示。
图5-6导诊申请提交界面图
-
-
- 门诊医生信息模块
-
用户点击门诊医生页面,可以看到各个科室的门诊医生信息,包括医生姓名、科室、挂号费等,也可以对门诊医生信息进行点赞、收藏、发表评论等操作。
门诊医生信息展示界面如下图所示。
图5-8门诊医生信息展示界面图
-
-
- 预约挂号模块
-
用户点击预约挂号页面,填写信息,包括用户名、年龄、性别、就诊卡号、挂号任人数等,点击提交,用户可查看历史挂号信息数据。
预约挂号提交界面如下图所示。
图5-10预约挂号提交界面图
管理员登录,管理员通过输入用户名、密码,选择角色并点击登录进行系统登录操作,如下图所示。
图5-11管理员登录界面图
在管理员功能页面可以查看个人资料、轮播图、公告资源管理、资源管理(医院资讯、资讯分类)、系统用户、模块管理(门诊医生、科室、挂号信息、取消挂号、导诊申请)等内容进行相对应操作,如下图所示。
图5-12管理员功能界面图
-
-
- 用户管理模块
-
用户管理,在用户管理页面可以查看用户名、姓名、性别、头像、用户积分等信息,并可根据需要进行修改或删除操作,如下图所示。
图5-13用户管理界面图
-
-
- 资源管理模块
-
资源管理,分为医院资讯和资讯分类。医院资讯信息由管理员进行修改、添加、删除操作。
医院资讯添加如下图所示。
图5-14医院资讯添加界面图
医院资讯管理如下图所示。
图5-15医院资讯管理界面图
根据需求,需要对科室分类进行添加、删除或修改详情信息。删除或修改科室分类时,系统根据科室分类的状态判定为可删除状态下,才会给出删除和修改链接,点击删除链接按钮时,请求到达后台,还会先查询科室分类状态再次做出判定能否删除。点击修改链接按钮时,会跳转到修改信息的页面,重新填写好数据后,数据提交到后台会对数据库中相应的记录做出修改。
添加科室分类时,会给出数据填写的页面,该页面根据填写好的科室编号同样会事先发送Ajax请求查询编号是否已存在,数据填写好之后提交到后台,会调用相关服务在数据库中插入记录。
科室管理页面效果如下图所示。
图5-16科室管理界面
-
-
- 门诊医生管理模块
-
根据需求,需要对门诊医生进行添加、删除或修改详情信息。删除或修改门诊医生时,系统根据门诊医生的状态判定为可删除状态下,才会给出删除和修改链接,点击删除链接按钮时,请求到达后台,还会先查询门诊医生状态再次做出判定能否删除。点击修改链接按钮时,会跳转到修改信息的页面,重新填写好数据后,数据提交到后台会对数据库中相应的记录做出修改。
添加门诊医生时,会给出数据填写的页面,该页面根据填写好的门诊医生编号同样会事先发送Ajax请求查询编号是否已存在,数据填写好之后提交到后台,会调用相关服务在数据库中插入记录。
门诊医生管理流程图如下图所示。
图5-17 门诊医生管理流程图
门诊医生添加页面效果如下图所示。
图5-18门诊医生添加界面
门诊医生管理页面效果如下图所示。
图5-19门诊医生管理界面
-
-
- 导诊申请管理模块
-
此页面的关键是审核用户的导诊申请信息,根据用户提交的导诊申请,为其分配对应的科室和门诊医生。单击提交按钮以完成信息的添加。如果未写入完整的导诊申请信息,例如,如果未写入门诊医生,系统将给出相应的错误提示,并且无法成功提交。数据以概念的形式以onsubmit =“return checkForm()”的形式写入以进行检查,checkForm()函数是一种用于写入数据的不同类型的校对方法,是不是为空也是经过form表单中的οnsubmit=”return checkForm()来检查。
导诊申请审核界面如下图所示。
图5-20导诊申请审核界面
导诊申请管理界面如下图所示。
图5-21导诊申请管理界面
在对该系统进行完详细设计和编码之后,就要对医院预约挂号小程序的程序进行测试,检测程序是否运行无误,反复进行测试和修改,使之最后成为完整的软件,满足用户的需求,实现预期的功能。
在软件的测试过程中,通常测试人员需要针对不同的功能模块设计多种测试用例。通过测试用例能够及时发现代码业务逻辑上是否与真实的业务逻辑相对应,及时发现代码上或逻辑上的缺陷,以此来来完善系统,提高软件产品的质量,使软件具有良好的用户体验。
登录测试用例如下表所示。
表6-1 登录测试用例
操作描述 | 数据 | 期望结果 | 实际结果 | 测试状态 |
选择管理员登录,输入用户姓名,按“登陆”按钮。 | 用户姓名:admin, 密码为空 | 显示警告信息“请填写密码!” | 显示警告信息“请填写密码!” | 与期望结果相同 |
选择管理员登录,输入密码,按“登陆”按钮。 | 用户姓名为空,密码:123456 | 显示警告信息“请填写用户名” | 显示警告信息“请填写用户名” | 与期望结果相同 |
选择管理员登录,输入用户姓名和密码,按“登陆”按钮。 | 用户姓名:1234, 密 码:1234 | 显示警告信息“该用户名不存在!” | 显示警告信息“该用户名不存在” | 与期望结果相同 |
选择管理员登录,输入用户姓名和密码,按“登陆”按钮。 | 用户名:admin,密 码:admin | 正确登入到后台页面 | 正确登入到后台页面 | 与期望结果相同 |
个人信息管理测试用例如下表所示。
表6-1 个人信息管理测试用例
操作描述 | 数据 | 期望结果 | 实际结果 | 测试状态 |
选择个人信息,清空用户名,按“保存”按钮。 | 用户姓名为空 | 显示警告信息“用户名不能为空!” | 显示警告信息“用户名不能为空! | 与期望结果相同 |
选择个人信息,清空邮箱,按“保存”按钮。 | 用户邮箱为空 | 显示警告信息“邮箱不能为空!” | 显示警告信息“邮箱不能为空!” | 与期望结果相同 |
选择个人信息,清空联系方式,按“保存”按钮。 | 用户联系方式为空 | 显示警告信息“联系方式不能为空!” | 显示警告信息“联系方式是不能为空!” | 与期望结果相同 |
选择个人信息,按“上传头像”按钮,上传头像文件大小超过1Mb。 | 头像文件大小超过1Mb | 显示警告信息“图片大小不能超过1Mb!” | 显示警告信息“图片大小不能超过1Mb!” | 与期望结果相同 |
公告管理测试用例如下表所示。
表6-1 公告管理测试用例
操作描述 | 数据 | 期望结果 | 实际结果 | 测试状态 |
用户点击“公告发布”,填写相关数据后点击“确定”。 | 在必填项输入测试数据 | 提示“发布成功” | 提示“发布成功” | 与期望结果相同 |
用户选择公告点击“修改”后点击“确定”。 | 在必填项修改测试数据 | 提示“修改成功” | 提示“修改成功” | 与期望结果相同 |
预约挂号管理测试用例如下表所示。
表6-1 预约挂号管理测试用例
操作描述 | 数据 | 期望结果 | 实际结果 | 测试状态 |
用户点击“预约挂号”,填写相关数据后点击“确定”。 | 在必填项输入测试数据 | 提示“预约成功” | 提示“预约成功” | 与期望结果相同 |
用户选择预约挂号点击“修改”后点击“确定”。 | 在必填项修改测试数据 | 提示“修改成功” | 提示“修改成功” | 与期望结果相同 |
导诊申请管理测试用例如下表所示。
表6-1 导诊申请管理测试用例
操作描述 | 数据 | 期望结果 | 实际结果 | 测试状态 |
用户点击“导诊申请”,填写相关数据后点击“确定”。 | 在必填项输入测试数据 | 提示“申请成功” | 提示“申请成功” | 与期望结果相同 |
用户选择导诊申请点击“修改”后点击“确定”。 | 在必填项修改测试数据 | 提示“修改成功” | 提示“修改成功” | 与期望结果相同 |
经过对此系统的测试,得出该系统足以满足用户日常需求,在功能项目和操作等方面也能满足操作员对于其他用户的管理。但是,还有很多功能有待添加,这个系统仅能满足大部分的需求,还需要对此系统的功能更进一步的完善,这样使用起来才能更加的完美。
通过医院预约挂号小程序的开发,本人巩固了之前学过的知识,如今将平时所学到的知识融合在设计中,在设计过程中,做了很多的准备,首先,在数据库系统的设计过程中,尤其是在数据库的工作原理、工作特点,对其深刻的讨论,与此同时,对于小型站点来说,最好服务器的选择,其次,利用所学的知识点分析所做的系统,并在此基础上设计。
目前本系统已经上线,正在试运行阶段,用户反馈良好,基本完成用户所需,试运行过程中没有出现阻断性问题,有一些不足和小问题也及时予以修正,系统上线后,为了保证数据的安全性,对系统进行了备份操作,系统备份是每两个月备份一次,数据库备份为每周备份一次,系统部署在租赁的云平台服务器中。
本次系统上线成功后,得到了用户的高度认可,但是在功能上和性能上还需做进一步的研究处理,使其有更高的性能和更好的用户体验。
系统在以后的升级过程中,需要解决一系列用户所提出的问题,例如打印过程中如何避免浏览器的兼容性问题,大量用户访问时,如何保持较高的响应速度,在系统今后的升级过程中将着重解决这些安全性问题。
参考文献
[1]谭添,马晓星,许畅,马春燕,李樾.Java指针分析综述[J].计算机研究与发展,2023,60(02):274-293.
[2]梁潇栩,姚欣忆,俞蜓凯,马淑熔,叶寒锋.基于微信小程序的口腔科普预约系统[J].电脑编程技巧与维护,2023(01):65-68.DOI:10.16184/j.cnki.comprg.2023.01.005.
[3]王崟,陆莉莉.从SSM进阶到Spring Boot课程的教学内容设计[J].电脑知识与技术,2022,18(26):163-166.DOI:10.14004/j.cnki.ckt.2022.1689.
[4]Zheng Hongying. A Study on the Design of English Speaking Examination System Based on SSM Framework[J]. Journal of Sensors,2022,2022.
[5]乔林.微信小程序的门诊预约挂号导诊服务对门诊慢性病患者候诊时间的影响[J].实用临床医学,2022,23(03):90-92+95.DOI:10.13764/j.cnki.lcsy.2022.03.027.
[6]侯梦凡. 移动医疗服务微信平台的设计与实现[D].山东大学,2022.DOI:10.27272/d.cnki.gshdu.2022.004826.
[7]白净.JSP应用于Eclipse平台技术问题分析及解决方案[J].软件,2022,43(04):174-176.
[8]欧阳斌,陈瑞志,冯子洋,林声伟,窦晓欣.基于微信的校医院师生服务小程序设计[J].电脑知识与技术,2021,17(33):49-52.DOI:10.14004/j.cnki.ckt.2021.3318.
[9]Liu, Youjie,Shabaz, Mohammad. Design and research of computer network micro-course management system based on JSP technology[J]. International Journal of System Assurance Engineering and Management,2021(prepublish).
[10]邢娜,郑蕾,王莉.医院网站预约挂号系统设计[J].解放军医院管理杂志,2021,28(10):929-930+969.DOI:10.16770/J.cnki.1008-9985.2021.10.012.
[11]肖扩礼.基于微信公众平台的医院预约挂号服务技术系统的实现路径研究[J].中国设备工程,2021(18):184-185.
[12]万杰.基于微信公众号的医院预约挂号系统开发[J].湖州职业技术学院学报,2021,19(03):76-80.DOI:10.13690/j.cnki.hzyxb.issn.1672-2388.2021.03.19.
[13]周雅娟,赵亚丽,王燕华,史霞.微信小程序在门诊预约挂号中的应用效果探究[J].甘肃科技,2020,36(13):121-123.
[14]巩蕾.基于智能移动端的医院预约挂号系统设计与研究[J].电脑编程技巧与维护,2020(02):48-49+87.DOI:10.16184/j.cnki.comprg.2020.02.016.
[15]. Design and Implementation of ERP System Based on SSM Framework[J]. ,2020,440(5).
[16]Xie Wanhua,Yang Xiufeng,Cao Xiaojun,Liu Peiying. Effects of a comprehensive reservation service for non-emergency registration on appointment registration rate, patient waiting time, patient satisfaction and outpatient volume in a tertiary hospital in China.[J]. BMC health services research,2019,19(1).
[17]戴铭孚. 基于MVC模式的医院预约挂号管理系统的设计与实现[D].广西大学,2019.
[18]Bo Zhang,Dehua Kong,Yongxia Zhao. Dynamic Estimation of Hospital Reservation Registration Service Time in the Basis of Dual Attribute Similarity[J]. Journal of Physics: Conference Series,2019,1237(2).
[19]王珂. 基于Android系统的医院移动预约挂号平台的设计与实现[D].郑州大学,2019.
[20]赵晓刚. 基于智能移动端的医院预约挂号系统的设计与实现[D].河北大学,2018.
致谢
伴随着设计的完成,大学生涯也随之即将结束。大学期间是我最珍惜的时光,大学时光中学会了很多,也成长了很多,这段时光中每一段回忆都刻在脑海中。感谢一起学习,一起成长同学们,和成长过程悉心教导的老师们,非常感激有你们的陪伴。
首先感谢我的指导老师,设计的完成离不开老师的一系列指导。在毕业设计的完成过程中,老师给出了很多中肯的建议,正是由于老师一丝不苟的工作态度,我的设计才能顺利的完成。
最后,感谢在大学生涯中每一位教导我的老师,是你们教给了我丰富的知识,更教会了我遇到问题时,如何去应对并解决。谢谢你们的帮助与支持。