基于BS结构的医院预约挂号系统的设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
毕业设计
(2015 届)
题目基于B/S结构的医院预约挂号系统的设计与实现
基于B/S结构的医院预约挂号系统的设计与实现
摘要:在传统的医院挂号过程中,信息处理停留在手工方式,劳动强度大且工作效率低,有的病人排很长时间的队也不一定能挂上自己满意的号,而用网上预约的方式,使病人不用出门就可以挂到自己想要的号.本系统采用的是基于广域网的B/S结构平台,网页采用的是JSP技术,它拥有卓越的系统可移植性,加上MySql数据库强大的后台数据支持,可以很好的实现系统的功能.本文主要介绍了医院网上挂号系统的设计与实现,对所用到的技术也做了一定的介绍. 关键字:医院;网上挂号;JSP;MySql
中图分类号:TP311.1
The design and the implementation of the booking system of the online hospital registration based
on the B/S structure
Abstract: In the traditional hospital process,the manual information processing remain labor-intersive and low efficiency,some patients stood in line for a long time also to can not hang themselves.By using the method of online booking,The patient need not to go out while use.The system is designed as B/S structure based on the wide area network,JSP technics for it has excellent portability,coupled with a strong background MySql database data support,it can realize the function of the system very well.This article mainly introduces the design and implementation of hospital online registration system,and on the use of technology as well. Keywords: Hospital; online registration; JSP;MySql
目录
1 绪论 (1)
1.1 课题背景及研究意义 (1)
1.2 国内外研究现状 (2)
1.3 系统简介 (2)
1.3.1 系统解决的主要问题 (2)
1.3.2 系统的特点 (3)
2 开发环境及开发技术 (5)
2.1 B/S架构 (5)
2.2 mvc设计模式 (5)
2.2.1 mvc设计模式简介 (5)
2.2.2 mvc设计模式的优缺点 (6)
2.3 javaEE架构 (7)
2.3.1 javaEE简介 (7)
2.3.2 javaEE的优势 (7)
2.4 ajax技术 (8)
2.4.1 ajax的优点 (8)
2.5 数据库MySql (9)
3 系统设计 (11)
3.1 需求模型的建立 (11)
3.1.1 用例分析 (11)
3.2 基本模型的建立 (13)
3.2.1 系统中的类的设计 (13)
3.2.2 类图分析 (13)
3.3 辅助模型 (15)
3.3.1活动图 (15)
3.3.2顺序图 (16)
3.4 ER图 (17)
3.5数据库设计 (19)
4 系统实现 (22)
4.1 系统首页的实现 (22)
4.2 登录功能实现 (22)
4.2 用户功能的实现 (23)
4.2.1 用户注册功能的实现 (23)
4.2.2 用户查询医生功能的实现 (24)
4.2.3 预约模块的实现 (25)
4.3 管理员模块的实现 (26)
4.3.1 医生管理分页的实现 (26)
4.3.2 增加医生模块的实现 (28)
4.3.3 挂号信息管理模块的实现 (29)
5 总结 (30)
参考文献 (32)
致谢 (33)
基于B/S结构的医院预约挂号系统的设计与实现1 绪论
1.1 课题背景及研究意义
随着经济与科学技术的高速发展,信息化的进程不断加快.随着计算机性能不断提高,价格不断下降,计算机已在医院医疗,教学,科研,管理的各个方面得到越来越广泛的应用[1].然而,我国还有部分医院的信息处理停留在手工方式,劳动强度大且工作效率低,医师护士和管理人员的大量时间都消耗在事务性工作上,病人排队等候时间长,辗转过程多,影响了医疗的秩序.计算机化的医院信息系统已成为现代化医院运营必不可少的基础设施与技术支撑环境.门诊挂号系统是整个医院管理信息系统的第一个窗口,是病人到医院就诊要做的第一项工作.它用于收集病人的信息,协调科室医生管理,控制各科室的流量等等.
医院网上预约挂号系统是一种基于互联网的新型挂号系统,是卫生信息化建设的基础的项目之一[2].利用该预约挂号系统,用户就可以在网上预约医院的专家、专科号,而无须再受排队之苦.它能更好的改善就医环境,简化就医环节,节约就医时间,真正体现了以病人为中心,一切从方便患者出发,符合当今医院人性化温馨服务的理念.
目前,门诊一直是困扰医院提高服务质量的一个复杂环节,特别是医疗水平高、门诊量大的医院,而造成门诊质量难以提高的因素主要有两方面:
一方面集中式挂号(现在流行的分层挂号只是相对而言一个范围较小的集中式挂号),就诊人员流量不均、具有不确定性,有明显的就诊高峰和低谷(表现在整个医院不同门诊时间段及同科室的不同时间段).高峰期病人挂号排队长,就诊时间长,医生熟人插号现象,环境拥挤混乱,医生问诊时间短、不仔细、态度差.而低谷期,医生无病人看、溜号,医院资源浪费.
另一方面专家号(特别是名专家号)难挂,出现倒号、炒号现象,严重损害病人利益,影响到医院的声誉.而采用网上预约挂号,可有效的解决这一现象,还通过有效的身份验证,杜绝倒、炒专家号的现象,提高医院门诊服务质量,取得良好的社会效益和经济效益.此外,病人到医院就诊前对医院的相关信息了解不多,对所要挂的专科医生的情况又不太
了解,只能凭经验和印象进行选择,具有较大的盲目性.而当医院开通网上挂号预约服务以后,求医者只需坐在家中,轻点儿下鼠标,就可以挂上医院专家门诊号,可以做到“足不出户选医生”.网上预约正悄然改变着都市求医者的看病观念.拥有相对固定的个人医生和习惯,预约看病,将不再遥远,所以应用必将越来越广泛[3].
1.2 国内外研究现状
随着互联网络的迅猛发展,Internet用户已呈几何级数增长,目前已经有很多医院投入使用网上挂号系统.据了解,预约挂号在国外颇为普及.在西方国家,病人看病都需要事先进行预约.随着预约挂号的深入推广,国内越来越多的医院也意识到预约服务在节约看病时间、分流患者、减轻医院压力上的作用[4].据了解,尽管存在很多困难,但全国各地的医院在尝试预约挂号的实践中还是提供了很多有益的做法.在中国传统的医院门诊挂号是即时挂号、即时就诊门诊模式的.但是这种就诊的模式给患者带来许多不便[1].挂号时间长、候诊时间长、交费时间长、看病时问短.据统计,患者在门诊有60%以上的时间都是用来等候的,真正就诊的时间却很短.这样就给病人及家属带来了众多的不便.
而在欧美国家,患者看病一般都需要预约挂号.除非急诊,很少有人直接到医院找医生的.没有提前24小时的电话预约,医院一般也不会接诊.一些医院设立的预约挂号部门,一般都由经验丰富的医生、护士担任接线员,以便根据患者自诉症状建议应挂科室,推荐专家.也有部分的医院可以同时通过网站预约的[5].
随着网络功能及宣传手段不断优化和人民群众观念的不断更新,网上预约挂号前景无疑是可观的.按现在的中国门诊预约就诊患者的年龄及受教育程度和使用网络资源程度的情况分析来看,各种预约方式和谐并存着才能满足不用类型的患者的需求.网上预约挂号的实施刚起步不久,预约挂号系统的不断改善优化还是一个循序渐进的过程,要先向更好地为习惯使用这一资源的患者服务的目标进发.
1.3 系统简介
1.3.1 系统解决的主要问题
病人去医院就医首先要到挂号窗口进行挂号,病人获得有效医疗服务最重要的保证就是能够挂到一个满意的号.目前病人挂号难已成为全国各个医院的首要问题,但是一直
没有能够彻底解决.医院门诊挂号一直是大中型医院提高服务质量的关键环节,特别是门诊量较大、人口密度高、医疗设备先进、技术先进的综合型大医院,门诊挂号秩序混乱一直是普遍存在的现象.就上述问题着重分析了已下三个方面的问题[6].
(1) 针对病人挂号集中的问题
针对病人挂号集中、就诊人员流量变化大、不确定性明显等问题进行分析.很多医院高峰期病人必须排长队挂号,就诊需要等待的时间较长,更是有个别医生熟人肆意插号的现象,使得挂号秩序更加混乱;还有挂号医生多的时候,医生由于时间有限,导致医生询问病情不仔细,病人就诊时间短,有时发生接待病人态度差等现象.采用网上挂号能很好的解决这些问题,病人在网上预约好时间,到时间过去就行,不用等待很长时间排队;每个病人就诊时间经过合理分配,使医生可以详细了解病人病情并进行诊断.
(2) 针对专家号一号难求的问题
一般专家一天最多能看20-30个患者,而一些患者为了获得宝贵的就诊号需要排上几个小时的队,也导致了“炒号”、“倒号”等不良现象的产生,损害了患者的经济利益,耽误了患者的就诊时间,甚至影响了医院的就诊质量和声誉.网上挂号因为采用的是实名认证的方式进行的注册,每个身份证号只能注册一次,而且本人挂号只能本人就诊,杜绝了“炒号”、“倒号”等现象的发生,做到了相对的公平.
(3) 医院网上预约挂号的设计
本文研究的基于WEB服务的预约挂号系统可以有效的解决挂号难的问题.患者不必去医院,只需坐在电脑前,通过浏览挂号系统网页,就能选择适合自己病情的医生进行挂号.不仅能大大减少患者的排队时间,还能缓解医院就诊挂号高峰期的拥挤,利用网络巨大的资源和空间,尽量为病人提供更优质的服务.
1.3.2 系统的特点
(1) 系统功能的方便性
使用医院网上挂号系统可以在任意地方登录网站进行挂号,也可以根据自己的状况选择合适自己病情的科室、专家及合适的就诊时间等,最后医院完成确认,以完成患者的预约挂号.该系统操作十分方便、省事.
(2) 系统功能的实效性
病人患病后都希望早日到医院就诊治疗,以解除病痛的困扰.正常情况去门诊挂号是带
医院完成的第一件事,挂上号之后再去门诊进行就医.对于医疗技术较高的大中型医院来说,患者挂号总是需要排长队,有时排长时间的对也不一定能挂上号.网上预约挂号系统为用户提供了省时省力且实效的服务,为患者解决了挂号难的问题.
(3) 系统资源信息的共享性
计算机网络的应用及信息共享之后,医院相关负责人员就可以把计划好的医生出诊信息及时发布到相关网站,患者及家属只需在家里的电脑上网就可以了解医院的挂号信息,因此,可以说计算机系统资源的共享性为医院挂号工作奠定了基础,为医院信息管理系统提供了方便使用的技术.通过计算机网络可以再最短的时间内把医生出诊信息及临时变化情况公布出来,在网上供患者和社会用户参考,避免了他们到医院就诊的盲目性.
(4) 系统功能的适用性
大医院的门诊大厅一般都是拥挤这等候挂号的人们,有的排队一夜甚至几天.这是真实的挂号情况,也是我国众多患病人群与现今有限的卫生医疗服务机构之间的矛盾的具体体现.医疗卫生部门管理者必须首要考虑这些问题.网络预约挂号不仅减轻了患者和家人的麻烦,也在一定程度上缓解并改善了挂号窗口的紧张局面.
2 开发环境及开发技术
医院网上挂号系统是以Servlet 框架为主要的技术框架,以JSP 技术为客户端的主要显示技术,以MySql 数据库作为系统的数据存储单元.下面我们来介绍下本系统的开发环境以及开发中所用到的相关技术.
2.1 B/S 架构
本系统采用的是B/S 架构,及浏览器和服务器结构,示意图如图2-1所示.浏览器显示出用户操作界面,接收用户在页面上输入的各种操作信息,在接到提交命令后向服务器发出请求,并接收由服务器返回的数据结果,然后向用户展示相应的信息.服务器端在这里的角色就如同桥梁,用来连接用户浏览器与数据库,将所需要的数据信息进行分析传输[7].
对于医院网上挂号系统来说,采用B/S 架构的系统所有的客户端都是浏览器,不需要对它做任何维护.绝大部分事务逻辑都是由服务器端来进行处理,然后在通过用户的浏览器实现,在客户端也就是前端界面只是有少量的逻辑需要处理.系统管理人员只需要做硬件维护,降低了系统管理人员工作量,提高了其工作效率.
系统架构如图2.1所示:
图2.1系统架构 2.2 mvc 设计模式
2.2.1 mvc 设计模式简介
MVC 由Trygve Reenskaug 提出,首先被应用在SmallTalk-80环境中,使许多交互和界面系统的构成基础,Microsoft 的MFC 基础类也遵循了MVC 的思想[8].
对于界面设计可变性的需求,MVC 把交互系统的组成分解成模型、视图、控制三种部件.
模型部件是软件所处理问题逻辑在独立于外在显示内容和形式情况下的内在抽象,封装了问题的核心数据、逻辑和功能的计算关系,他独立于具体的界面表达和I/O 操作. 数
据
库 JDBC 返回结果集
Tomcat 发出操作请返回查询结 浏览器
视图部件把表示模型数据及逻辑关系和状态的信息及特定形式展示给用户.它从模型获得显示信息,对于相同的信息可以有多个不同的显示形式或视图.
控制部件是处理用户与软件的交互操作的,其职责是控制提供模型中任何变化的传播,确保用户界面于模型间的对应联系;它接受用户的输入,将输入反馈给模型,进而实现对模型的计算控制,是使模型和视图协调工作的部件.通常一个视图具有一个控制器.
模型、视图与控制器的分离,使得一个模型可以具有多个显示视图.如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化.因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新.这实际上是一种模型的变化-传播机制.
2.2.2 mvc设计模式的优缺点
MVC的优点表现在以下几个方面[9]:
(1) 可以为一个模型在运行时同时建立和使用多个视图.变化-传播机制可以确保所有相关的视图及时得到模型数据变化,从而使所有关联的视图和控制器做到行为同步.
(2) 视图与控制器的可接插性,允许更换视图和控制器对象,而且可以根据需求动态的打开或关闭、甚至在运行期间进行对象替换.
(3) 模型的可移植性.因为模型是独立于视图的,所以可以把一个模型独立地移植到新的平台工作.需要做的只是在新平台上对视图和控制器进行新的修改.
(4)潜在的框架结构.可以基于此模型建立应用程序框架,不仅仅是用在设计界面的设计中.
MVC的缺点表现在以下几个方面:
(1) 增加了系统结构和实现的复杂性.对于简单的界面,严格遵循MVC,使模型、视图与控制器分离,会增加结构的复杂性,并可能产生过多的更新操作,降低运行效率.
(2)视图与控制器间的过于紧密的连接.视图与控制器是相互分离,但确实联系紧密的部件,视图没有控制器的存在,其应用是很有限的,反之亦然,这样就妨碍了他们的独立重用.
(3) 视图对模型数据的低效率访问.依据模型操作接口的不同,视图可能需要多次调用才能获得足够的显示数据.对未变化数据的不必要的频繁访问,也将损害操作性能.
(4)目前,一般高级的界面工具或构造器不支持MVC模式.改造这些工具以适应MVC需
要和建立分离的部件的代价是很高的,从而造成使用MVC的困难.
2.3 javaEE架构
2.3.1 javaEE简介
J2EE的基础部分是由JSP(Java Server Page)和Java Servlet这两种技术共同构成.其定义了一套有用的API、一个运行时平台、应用程序接口和一个内置模型,并能够将其所有功能组合成一个可扩展的、可移植的和设计得更好的应用程序[10].
J2EE平台支持简化的、基于组件开发模型.我们将组件技术加以利用,就可以把程序分割成许多小模块以适应不同程序员擅长的技术,使开发进行分工操作,并行开发让开发人员的技能得到最大限度的应用,最大限度的提高开发的效率.由于EJB模型遵循了高内聚低耦合的编程理念,使其代码的可移植性与重用性增强.基于组件的设计简化了应用程序的维护.由于组件耦合度低,所以能被独立地更新和替代,通过应用程序中特定的组件被更新,使其很容易将新的功能增加进来,更易于维护.
以下是J2EE 典型的四层结构如图2.2[11]所示:
图2.2 J2EE的四层结构图
2.3.2 javaEE的优势
javaEE平台平台对分步式企业应用开发而言,在保存企业现有IT资产减少重复性投入的同时也满足了未来商业应用的需要,具有以下优点:
(1) javaEE建立了企业应用开发所需要的一些技术标准,如企业业务组件(EJB)等;
(2) javaEE自身具备完善的目录服务支持、高度的安全机制、高效的性能展现等众多技术优势,并且基于开放的标准,可以促进技术的更好发展;
(3) javaEE为企业系统提供了完美的机制和统一的平台,不仅简化开发过程,也使得Web应用程序资源利用率更高.让系统具有高可用性、高可扩展性、易维护性;
(4) javaEE缩短了产品研发时间,绝大多数的供应商的产品是根据JavaEE标准而开发的,因此开发者可以摆脱中间件的困扰而专注于各自业务逻辑的应用开发;
(5) javaEE使用负载平衡策略,使系统软硬件资源利用率及性能表现最大化,能够消除系统中的瓶颈,允许多台服务器集成部署,实现可高度伸缩的系统.
2.4 ajax技术
Ajax的工作原理相当于在用户和服务器之间加了一个中间层,使用户操作与服务器响应异步化.
在目前的Web2.0热潮中,Ajax正吸引着全世界的眼球,成为人们谈论最多的技术术语.组成Aj ax的各种技术使Web应用的交互如Flickr, Backpack和Google在这方面已经有质的飞跃.这个术语源自描述从基于网页的Web应用到基于数据的应用的转换.它使浏览器可以为用户提供更为自然的浏览体验.每当需要更新时,客户端Web页面的修改是异步的和逐步增加的[12].这样,匆Ajax在提交Web页面内容时大大提高了用户界面的速度.在使用Ajax的应用程序中没必要长时间等待整个页面的刷新.页面中需要更新的那部分才进行修改,如果可能的话,更新是在本地完成的,并且是异步的.
2.4.1 ajax的优点
相对于传统的WEB应用程序来说,采用Ajax技术的WEB应用程序具有如下
的三个优点:
(1) 浏览器分担一部分的业务逻辑,而不再是仅仅显示内容.在传统的WEB应用程序中,浏览器只显示内容.它的作用仅仅是显示服务器传送回来的页面,无法做出自己的判断,即不参与到整个业务逻辑的处理中,也不了解用户在整个业务流程中的状态.所有的信息和逻辑都是在服务器进行处理,服务器决定了一切.而使用Ajax,一部分的业务逻辑就可以在客户端实现.通过JavaScript代码,客户端可以一直跟踪用户在整个业务流程中的状态.当用户进行操作时它可以相应的改变页面显示.在处理用户的输入时可以由它来决定是提交给
服务器处理还是在本地单独进行处理,或者两种兼而有之.这样Ajax分担了一部分的业务逻辑,与传统的WEB应用程序的瘦客户端相比,它实现了一种胖客户端[m},缓解了服务器端所承担的压力,有效的利用了客户端的资源.
(2) 服务器仅仅传送数据,而不是内容.在传统的WEB应用程序中,服务器向客户端传送的东西混合了数据、内容和模板文件.有时用户仅仅是进行了很少一部分的改动,只需要引起页面的部分改动,但是如果想和服务器交互的话,服务器仍然会将改动的数据连同整个页面全部传回客户端.而使用Aj ax,客户端只需要向服务器发送一个异步请求,服务器经过处理后仅将改变的数据返回给客户端,而并不是将页面混合数据传回来.然后客户端再根据传回的数据对页面实行部分更新或者部分加载.它消除了整个页面的加载,有利于增量修改,而不是完全的更新ys}.由于服务器仅仅传送数据,这样使用Ajax可以有效的实现内容与数据的分离.同时服务器与客户端之间的通信量大大降低,减少了网络流量,有效的利用了网络带宽,缓解了网络压力.
(3) 与用户的交互更具有流畅性和连贯性.传统的WEB应用程序提供了两种方式来实现客户端与服务器的交互:超级链接和Form表单.无论使用哪种方式,与服务器的交互都需要重新刷新整个页面,用户在服务器的返回结果之前只能等待,整个操作失去了流畅性和连贯性.而使用Aj ax,由于Aj ax与服务器的交互是异步的,浏览器使用不同的线程来侦听服务器的响应和用户的其他操作.这样,用户在向服务器提交完数据后,可以继续进行其他的操作,完全没有停顿的感觉,使整个WEB程序就像使用桌面应用程序一样流畅自如.
2.5 数据库MySql
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle 公司[13].MySQL是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一,MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性,MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言,MySQL由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库.
MySQL数据库的主要特点包括以下几点:
(1) 性能出色:MySQL的核心程序采用完全的多线程编程,并且支持多处理器,极大
地提高了程序的运行效率.因在开发MySQL这款数据库的时候运用了C语言作为编程语言,并且运用了多线程,所以它对CPU的充分利用变得更加容易.
(2) 开源数据库:操作方便,使用成本较低,版本更新较快,提供的接口支持多种语言连接操作.MySQL有一个非常灵活而且安全的权限和口令系统.当客户操作客户端向服务器发出请求与MySQL服务器建立连接时,MySQL与客户之间所有口令信息的传送都会得到加密处理,这突出了MySQL的安全性.
(3) 多样性:MySQL能够根据不同用户的需求差异,提供相应的用户界面供其选择,支持多种程序语言界面还为这些编程语言提供了API.可以使用封装好的客户端也可以写一个合适的应用程序.MySQL可用于多种操作系统平台,如:Unix、Windows,也可以使用在PC机和服务器上.
3 系统设计
3.1 需求模型的建立
3.1.1 用例分析
用例是对参与者使用系统的一项功能时所进行的交互过程的描述,其中包含由双方交替执行的一系列动作.一个用例是通过使用系统功能的某些部分而使用的一种具体方式,每个用例包括一个由参与者发动的完整的事件过程[14].发现用例的方法是:(1) 全面地了解和收集用户所要求的各项系统功能,确定系统边界,找出所有的参与者,向用户和领域专家了解与各项功能有关业务流程.(2) 把用户所提出的功能组织成适当的单位,即:一项功能完成一项完整而独立的工作,并且是通过参与者与系统的一次交互能够完成的.(3) 以穷举得方式考虑每一类参与者与系统的交互情况,看看每个参与者要求系统提供什么功能,以及参与者的每一项输入信息将要求系统做出什么反应,进行什么处理,定义相应的用检查用户对系统的各项功能需求是否都通过相应的用例做了描述.
用户用例图如图3.1所示:
用户
查询医院信息
查询科室
查询医生
挂号
查看挂号信息取消挂号
登录
<<extend>>
<<include>>
<<include>>
<<include>>
<<include>>
<<include>>
图3.1 用户用例图。