基于SSH的医院在线挂号系统设计与实现
摘 要
互联网技术迅速的发展给我们的生活带来很大的方便,同时也让许多行业迅速的发展起来。互联网技术已走向科技发展的巅峰期,我们要做的就是合理的使用互联网技术让我们的各个行业得到更快速的发展。
就医疗领域来说,如今看病难已成为我们生活中的一大难题,传统的医院挂号中,我们需要用手动方式来处理信息,这种方式需要我们的医护工作人员和管理人员花费大量的时间来处理事务性信息,不仅劳动强度大,而且浪费时间。患者长时间的排队等候不仅延误了患者病情,而且不利于医院秩序的维护。所以在这里我的论文对医院挂号系统的设计和实现进行了详细的描述与设计,专为解决挂号难,排队时间长的问题,通过此网站患者可以快速方便的找到自己所需挂号的科室信息,并进行在线预约挂号。对于此网站,采用的是较为成熟的SSH框架,主要包括了业务逻辑层、数据持久层,表示层,模块层四个层次,这些层次可以帮助开发人员对搭建结构,维护系统,框架重用等,也可以给开发人员提供一个清晰、易懂,简洁明了的设计思路,SSH框架可复用性好、维护方便,使系统更加好用,同时让系统的实施和维护更加方便。对于数据库设计我们采用了MySql数据库,由MySQL的发展已经很健壮、成熟,而且具有很好的安全性,操作简单,成为了开发数据库设计的首选。
医院挂号系统主要角色有:患者和系统管理员;患者可以对医院信息的查询、对医生信息查询、登录注册、预约挂号、取消挂号、更改个人信息等;管理员可以登录系统,更新数据库内医院信息、医生信息、医院公告,也可对个人信息进行修改。网页设计了相关的导航,对新用户进行全面的引导,使得用户使用更加方便,对用户注册登录和管理员登录进行了分离,防止用户和管理员登录冲突,总体测试结果显示,网站设计基本符合用户需求,能够达到用户满意度。
关键字: SSH ;JSP ;MYSQL ;MyEclipse ;预约挂号
目录
摘 要 1
Abstract 2
绪 论 1
1 系统描述与技术介绍 2
1.1 MyEclipse介绍 2
1.2 MySql数据库介绍 2
1.3 JavaScript介绍 3
1.4 JSP技术介绍 3
1.5 MVC模式介绍 4
1.6 SSH框架介绍 6
2 需求分析与设计 7
2.1 可行性分析 7
2.2 需求分析 7
2.2.1 概述 7
2.2.2挂号用户 8
2.2.3预约须知 8
2.3 开发环境 9
3 系统分析与设计 10
3.1 系统概述 10
3.2 系统功能 10
3.3 用例图 11
3.4 流程图 13
4 数据库设计 15
4.1 数据库设计概述 15
4.1.1 表说明 15
4.1.2 表结构说明 16
5 系统的实现 19
5.1 网站首页设计 19
5.2 网站引导设计 19
5.3医生信息模块 20
5.4 用户注册挂号模块 21
5.5 管理员登录页面 22
5.6 医生信息管理模块 25
5.7综合查询平台 27
5.8退出管理登录页面 29
6 系统运行测试 30
6.1 测试的方法 30
6.2测试的结果 34
6.2.1 用户及管理员登录模块 34
6.2.2用户注册模块 35
6.2.3 数据库测试 36
6.2.4性能测试 36
总结 38
外文翻译 39
参考文献 45
致谢 46
绪 论
在信息化的时代,我们生活的节奏变得非常快,做每一件事几乎都是匆忙的完成。因此人们对生活节奏要求越来越高,人们不再允许自己的时间大量的浪费在无用的事情上;计算机在我们生活中几乎已经普及,优惠的价格但是功能却很强大,我们的生活越来越离不开互联网,同时互联网技术也在不断地渗入到各个邻域,如医疗,教育,管理等方面,它的广泛使用给我们的生活带来了极大的方便。但是,就医疗界来讲,在目前调查看来,我们很多医院都采用的是人工挂号的方式,导致我们需要花费很长的时间排队等候去挂号,医院的医生、护士等工作人员也需要很多时间去人工处理患者的信息,这样下去,不仅会耽误患者的病情,而且造成医院拥挤秩序混乱,人力物力成本高等一系列的问题;所以我们需要合理的将互联网技术引用到医院,让它来方便我们的生活,方便患者挂号的同时,可以解决医院资源分配的问题,不仅可以便民而且让医院有了一个更好的效益,人们不用在担心自己的时间浪费,医院不用担心人力资源不够等一系列问题。患者只需在家轻轻动动手指访问网站即可实现在线挂号,这样双赢的结果是我们每个人所期待的,所以挂号系统的实施,对人类来说是一个很大的进步。
挂号是我们看病就医的第一步,通过收集病人信息,协调专家管理,控制病人和医师人员的流量。通过网站的方式来挂号是很新型的一种挂号方式。在这种网站上,病人可以不出门直接在家对自己的病情初步判断,查询医院医生的信息来进行预约,进行注册登录挂号,减去了人们排队等候时间的同时也提高了医院的管理效率从而提高了医院的经济效益。是建设卫生信息化的必由之路。
目前看来,医院门诊质量和效率不高的原因主要有一下几个:集中式挂号,来医院排队挂号的人数很明显地由不确定的特点,从而出现了明显的看病高峰和低谷。高峰期病人挂号要排很长的队伍,甚至有一些专家,帮助自己的熟人插队,造成医院现场混乱患者情绪不稳定,专家问诊不仔细、没有耐心,不想长时间和病人交流等现象。在低谷期,专家没有事情做、溜号等,造成医院资浪费。这些现象严重的损害到患者的权益,也影响到了医院的声誉。文献[9]介绍了这种问题需要一个很好的挂号平台来解决,它可以减少病人浪费的时间,同时,也可以帮助病人全面的了解医生信息,选择自己期望的医生来为自己看病。不但解决了病人对医生相关信息了解不多盲目性问题。同时医院采用网上挂号的方式,患者可以在家就可以问诊挂号,方便了患者的同时也方便了医院的管理。本论文就如何实现在线医院挂号系统的设计细节以及实现方式技术和系统的测试结果进行了全面详细的论述。
针对国内外文献的研究发现,在网上实现预约挂号系统已经不再是一个梦想,我们运用所学的语言,便可以完成挂号网站的实现,大部分文献中指出:医院网上挂号系统以Java为开发语言,框架部分主要使用了Spring,hibernate,Struts2框架开发。Spring通过使用IOC容器的方式,来对整个项目的复杂依赖进行管理,Hibernate是一种应用很广泛的ORM框架,使得开发人员可以将数据库中的数据映射到一个具体的Java对象中,简化数据库相关的开发工作。Struts属于实现MVC开发模式的一个框架,要让Model层,View层,Controller层三个层次分别列出来使用的是Structs,分层的代码更易维护和迭代。MySQL是对数据进行存储的数据库。在接下来的论文中我们会具体介绍医院挂号系统中所使用到的一些关键技术,以及实现方法和设计思路。
1 系统描述与技术介绍
1.1 MyEclipse介绍
构建网上预约挂号系统使用的是MyEclipse编辑器,MyEclipse 是开发人员特别偏爱的一种开发工具, Eclipse 中的J2EE是一种插件集合;MyEclips开发工具有很强大的力量,它对JavaServlet,AJAX,JSP,Struts,JSF,Spring、Hibernate等的支持使得开发变得非常容易,同时还具备了EJB3的功能,JDBC数据库连接的功能。所以说MyEclipse是所有开源工具开发的好帮手,更重要的是Myeclipse还具备了完整的编码、测试、发布功能,那够很全面去支持html Javascript,JSP,CSS, MySQL, Hibernate等语言的开发,所以发展成为了最受欢迎的开发工具。
1.2 MySql数据库介绍
MySQL数据库作为一种开源的关系型数据库,在目前是使用最广泛,最受欢迎的一种数据库,MySQL是由MySQL AB公司进行开发的但是后来最后被Sun公司收购了,目前已经成为了IBM的一个项目。
MySQL的发展已经很健壮、成熟,SQL数据库。通过维护一个线程池,MySQL可以提供高并发、稳定可靠的数据存储和查询服务。在世界范围内,各大互联网公司有着非常广泛的使用。
MySQL在开发人员眼中就像是一种数据库管理系统的角色。MySQL数据库可以对所有的东西结构化,我们可以认为它是一种数据的结构化的集合。可以访问,也可以更新数据到数据库,或对访问,对于已经修改过的数据还可以再次修改保存等,MySQL服务器可以用来对即将要使用的数据进行全面的处理。计算机对于我们来说本来就是用来处理数据的对象,所以数据库管理系统MySQL数据库的实现是计算机不可或缺的组成部分。
我们也可以把MySQL数据库看成一种很方便的服务器。对MySQL数据库的设计需要开发人员和客户进行沟通确认才能进行合理的设计;通过MySQL数据库与其他数据库的对比就会发现。MySQL服务器的开发背景比较强大,具有更快的解决方案速度,使用更加方便高效,以及他的广泛使用得到了人们的一致好评。MySQL数据库也在很快的照着人们使用更简洁的方向去发展,这使得MySQL具有了更好的的安全性,不断地完善是其受欢迎的根本原因,这样,人们可以更加方便,快速,安全的对Internet上的数据进行访问,处理等。MySQL是开源的,意味着所有人都可以使用和修改该软件。针对自己的应用场景,可以在其基础上进行修改,提升服务的稳定性和可扩展性。
1.3 JavaScript介绍
JavaScript也是开发人员很喜欢的脚本语言,它是通过解释执行的动态的语言是面向对象的语言。被Chrome浏览器、IE、FireFox等很多浏览器支持。JavaScript使用的是面向对象的编程方式,也基于原型,还可以用命令式编程的方式,特点之一就是可以使用函数的方来编程。函数功能很强大,为文本的控制提供了约束,正则表达式等,但是JavaScript有一个缺点是不支持I/O,但是我们可以通过宿主环境的方式来解决这一问题。
很多人会觉得Java语言和JavaScript语言有很多共同之处,其实从本质上来看这两个语言是有很大的区别的,首先JavaScript的语言设计主要受Self(基于原型的编程语言)和Scheme(函数式编程语言)两种语言的影响。在语法结构上其实是受C语言的影响较多,所以在语法上跟C语言很像,这些都是由于历史发展因素而产生的,所以相似的语言其实也存在很多本质上的差异。JavaScript语言常用来编写脚本,而且JavaScript语言在现在很瘦大家的喜爱,比如:游戏开发,桌面APP的设计等,总之,JavaScript的使用使得整个开发过程变得更加方便快捷。
既然JavaScript可以认为是一种解释性语言所以我们必须考虑它的放置地方,通常来说JavaScript可以放在网页的任何地方,如果将其放在body的代码中会在网页加载的时候就开始执行,如果你不需要在加载的时候就运行他,可以将其放置在head中,这时就会在函数调用时才执行。总之,javaScript语言使用很简便,而且很安全,主要它还是一种动态执行的代码块,只是用来显示网页的效果,进行实时交互的语言,是开发者很好的选择。
1.4 JSP技术介绍
JSP也是一种Java语言,它是java语言中的一种的特殊语言,Jsp是通过加入引擎的方式来实现页面的动态交互,这样,可以让客户不用去接触复杂的Servlet,还没有开始执行就需要加入代码的难题。JSP的使用让基于Web的服务客户端更加灵活,如引入文件,网页跳转,这些工作都是由引入的java Servlet 自动生成的,而且这些应用程序能和Web服务器、应用服务器、浏览器和开发工具共同工作。 从而使我们第一次运行JSP时cpu运行可以达到很高的状态。
Jsp时一种跨平台的语言,可以在不同的系统环境下运行,Windows、linux、Mac下都可以。同时这种跨平台的特性使得他实现了一次编写多次使用的特点;通过向传统网页HTML文件中加入Scriptlet和tag标记,就建成了JSP网页文件。一般情况下使用Html来设计网页的静态部分,而使用Jsp来实现网页的动态部分,从而就实现了业务代码的分离,我们可以通过Servlet,来处理业务代码,或者可以交给JavaBean来处理业务代码,这样,Jsp就用来实现显示数据部分就可以了,这样的化如果我们需要修改业务层的代码就不会对Jsp显示层的代码有影响了。每次服务器只要接受到JSP网页发送的请求消息时,它会去执行一些代码块,用可视化的方式在传给用户,通常是Html的形式。javaBean时Jsp常用的组件,用来分装业务代码,或者作为存储模型。
JSP的使用为动态Web页面的开发带来了很大的方便,主要有一下几点的总结:
一.将业务代码和数据显示层分离;
二.强调可重用的组件;
三.采用标识简化页面开发;
四.技术分析:常见的动态网页开发技术还有ASP。形式上和Jsp及其相似,但是ASP仅仅用于NT、IIS;而且ASP功能是由限制的;需要用COM来扩展,所以实现很难,所以经过分析会发现,二者在根本上有很大的差异,包括安全性,组件的使用等;
1、 JSP的安全性更高,速度更快;
2、 JSP的组件方式更方便;
3、 JSP的跨平台特性使得平台更广;
通过向Jsp中插入的Java程序可以插入,删除,更新数据库的内容、URL新定向等,从而让网页变得动态灵活。JSP在服务器端运行,客户端只需要有浏览器就可以访问。JSP也具备Servlet的一些功能,通常要开发比较大型的Web应用程序,就需要两者相互配才能成功的完成。
Jsp的特点主要总结为一下几点:
(1)一次编写,到处运行。使用了JavaBean组件,使得开发代码与试图显示代码分离开来,所以使得开发代码修改更加方便。
(2)系统的多平台支持。Jsp可以不用修改便运行在各种平台中,可以随意的扩展,同时不同的操作系统的数据库也可以对JSP有所帮助。通过JDBC数据库连接来操作数据库,所以就提高了代码的可移植性。
(3)强大的可伸缩性。Java具有很强的生命力,Jar文件存在就可以执行JSP代码块,多台服务器的继承来进行事务处理、消息处理。
(4)多样化。
(5)支持JavaBean等组件复用性。Web应用程序要成功的执行,就需要功能很强的服务器端组件,web 页面需要程序开发者用其他的工具来设计实现一些很繁琐的功能的组件来使用,目的是为了加强system性能。而JSP正好可以使用这些组件。
JSP内部对象主要有以下九个:request 客户端发出请求消息,请求主要是用GET/POST方法来传递的; response,主要是指服务器端对客户端的响应以及处理结果;session 用户的会话; pageContext 网页属性的管理;application servlet正在运行的内容都存储在这里;out 输出流; config 是为代码的配置对象;page JSP; exception 对网页的异常进行捕获。
1.5 MVC模式介绍
MVC是一种设计模式。它使得application program的输出,处理和输入强制分开。使用MVC application program 被划分成三个核心部分:控制器和视图还有模型。它们各自都有处理自己的任务。
为了应对system对安全性、先进性。可扩展性、跨平台型、分布式、可以执性等方面等方面的需求,system的总体构架设计采用了比较先进的B/S的三层体系结构。
三层体系结构由浏览器、web服务器和数据库组成,并结合HTML语言、jsp、JavaScript脚本语言、Ajax、ODBC等技术,后台的数据库采用微软的MySQL 2005,MVC的特点主要有:
1、低耦合性
业务层和低视图层相分离,这样就可以允许修改视图层code,而不用再一次变异控制器和模型code。所以,MVC层模型变化了,就可以实现应用的业务规则和业务流程的变化。由于视图,控制器,模型三者是分离的状态,所以application program得date层和业务规则很容易被更改。
2、重用性高
随着技术一直以来的进步和发展,application program需要用更加多样的方式来访问。MVC模式下不同的界面可以使用同一个构件,由于MVC模式下对同一个构件的访问往往使用的是多种多样的界面来实现的,多样的视图可以共享一个模型,这些构件涵盖所有的web浏览器和远程浏览器无线端。例如,顾客可以使用手机或者个人PC来选购某些产品,即便是他们使用的不同的浏览器不同的平台,但本质上他们购买的方式是一样的;因为MVC模型对用户所返回的代码没有改变所以本质上是一样的。
3、部署块
mvc模式之所以会使得开发的时间得到降低,是因为它将程序员的精力转移到视图层,开发人员无需花费很大的时间去研究组件功能等。
4、增强维护性。
5、不同的层次有不同的功能但是也会有些功能具有相似之处,很有利于更具化管理模式。我们可以用控制器连接不一样的视图和模型等,在完成用户的需求,application program提供的一些手段就此就可以得到很好的使用。同时,控制器为我们提供了一些可以重复使用的模型等并对其进行不同的处理,最后展示给客户。
缺点:
1、要完全的理解MVC需要有名明确的定义要想真正的理解MVC模式就要投入很长的时间去细心研究它复杂的内部结构。调试程序相对较为困难,由于控制层和试图层时分离的,所以阅读较为困难。进而对控件的修改就变得不时很简单。
2、对于小、中规模的application program 并不合适使用。因为将会浪费过多的时间将MVC应用到小、中规模的情况,效果不好。
3、增添System结构与实现的复杂度,设计较为简单的用户界面,如果也是严格遵循MVC模式,让其视图、模型和控制器分开三个层次,无形中加大了简单程序设计的复杂度,甚至会使得用户操作困难和运行困难等问题。
4、控制器与视图之间太过紧密;对于一些要求视图和控制器联系不要过于紧密的程序设计我们会发现,视图要是和控制器分开单独存在,会变得很局限。
反过来也是这样,所以遇到需求不同的时候就会影响程序开发。
5、视图不能高效的访问数据,由于模型操作接口之间会存在一些差异;视图要想显示用户所需的数据可能需要多次调用接口。如果在没有更新的情况下;用户会做很多次的无用访问,从而使得用户体验下降。
6、通常常用的UI工具,或者构造器不能够支持模式的改造此类工具,用来适应MVC所需求和构筑离散的部件的成本是非常不低的,以至于影响MVC在应用上的难易度。
1.6 SSH框架介绍
SSH框架是一种被大众所喜爱的开源性框架。主要包括了业务逻辑层、数据持久层,表示层,模块层四个层次,这些层次可以帮助开发人员对搭建结构,维护系统,框架重用等,也可以给开发人员提供一个清晰、易懂,简洁明了的设计思路。价值SSH框架可复用性好、维护方便使之更加好用。
SSH框架中Struts作为整体框架的基础实现MVC分离的任务,在它对应的部分,常常用来实现业务跳转功能;Hibernate框架负责数据持久化;管理数据Spring,同时也对struts和hibernate管理,使得系统变得有条不紊,文献[1]了具体的实现过程是:Spring根据需求提出一些模型,然后实现Java对象,再去编写Data Access Objects接口最后给DAO实现在作出请求;最后把这些都统一交给Spring管理。
我们对各个框架做一个详细的解释:
Spring框架:
Spring Framework 是用Apache许可的形式来发布的,是一个开源的Java/Java EE应用程序框架,同时是一种全功能的栈;也有一切其他平台的移植版本;Spring Framework使开发变得简单容易了很多,这种简单的开发方式就会让那些产生可能使底层代码复杂混乱的代码不会出现。避免了大量的复杂类和文件的产生。本系统主要使用了Spring的IOC容器进行对象依赖的管理,同时使用了Spring提供的AOP功能来进行登陆权限判断、异常处理等。
Hibernate框架:
Hibernate的设计是数据持久化的保证,着一层为我们提供了基于Java语言的对象关系,和一些映射解决的方案;万望要实现面向对象领域的模型到传统关系型数据库映射模型的手就需要用到这个层次,开发人员可以通过使用Hibernate,对我们来说设计草案,遗留数据库构建都变得非常简单快捷。
Hibernate让开发人员从手动处理数据映射的方式种解放了出来;文献[2]介绍了它可以将数据Java类映射到到数据库表;可以实现从Java数据类型到SQL数据类型的映射,最重要的是它具有面向对象的数据查询检索机制,开发人员不需要手动的去连接数据库,这样就缩短了开发的周期。
Struts框架:
同时MVC设计模式产生的一种成果性项目;Struts框架通过Jsp和Java Servlet 技术实现了MVC模式设计,是一种开源项目。并且在2004年成为ASF的顶级项目;同时还实现了基于Java EE Web应用的应用框架。MVC模式的具体实现,离不开Struts的使用;MVC主要有Model层(模型)、View(视图)、Controller(控制管理)三个层次结构,这样业务代码,三视图代码,控制代码分开来实现,变得简介明了,给开发人员和用户都带来了好的体验。
2 需求分析与设计
2.1 可行性分析
在技术上医院挂号系统使用的java语言,java语言简单易学。开发平台用的是myeclipse和mysql数据库。数据库作为系统设计的核心技术也是很容易学习操作,在大学期间主修的是软件工程专业所以本系统开发实现在技术上是可行的。
经济上本系统无需安装任何软件,只要在可以访问Internet的环境下,在客户浏览器端输入网址即可访问,所以经济上是可行的。
法律上本系统使用的都是开源的代码,且不存在侵权等问题所以法律上是可行的。
2.2 需求分析
2.2.1 概述
需求分析是指通过开发者和用户的沟通来成系统应该做什么,并且评估出软件的资金使用和可能存在的风险,是整个系统实现的关键一步。
就本系统而言,文献[3]医院挂号系统有很大的用户需求,由于目前来看有很大一部分医院任然使用的是人工挂号的方式来排队挂号,给医院的就诊以及病人就医带来很大的困扰,由于需要人工处理以及长时间的排队,人员流通性和不确定性从而引发了就医的高峰和低谷,在高峰期人多导致医生脾气暴躁,就医时间短,不仔细等问题,甚至存在一些医生走关系的不良现象;而低谷时期排队的人少,导致专家无所事事,医院资源浪费等;通过医院挂号系统,我们可以很快地解决这些问题,可以减轻医护人员对信息管理的负担,同时减少了患者不必要的等待,以及时间的浪费,同时有利于医院治安管理提高医院的管理,提高医院的效益。
医院挂号系统是指患者可以通过访问网站的方式来预约看病的系统。其意义在于方便患者就医,提高医院医生资源的利用率,提高医疗服务水平等;他的使用将会给医疗界带来新的革命。对所有医院施行预约挂号系统服务后不仅患者进行就医咨询变得很是方便,而且对意愿来讲,能够合理的分配医院的医生资源且不浪费,从侧面看,极大的提升了医院的管理水平,还可以很大程度的提高医生工作效率,解决看病问题,便利民生问题的同时还带来了经济上的发展。
在我们国家也有很多医院已使用了在线挂号系统;文献[4]中说明,从使用情况分析,我们对系统的管理方面还存在很大的弊端,比如有个人或者团体通过此种方式来谋取暴力;导致,医院预约挂号系统服务没有的到正真的合理使用,这样没有给病人就诊带来方便、没有给医院带来方便,还被很多病人和医院管理者,医护人员反感抵制。
所以,对每一次系统的实施,我们需要办法一些相关的规章制度,约束这些不合理的使用现象。不仅要正确的让医院开展预约挂号系统的实施,而且要文明绿色的实行这些工作的计划;全面提高人们对预约挂号服务工作的认识、全面加强对预约挂号服务工作的管理计划、认真搞好相关组织工作的内容;一切都要坚持本方便群众就医,搞好医疗事业建设,合理的运用前沿技术来服务农民,发展社会。
2.2.2挂号用户
1、网上预约挂号
要实现较好的网站设计,首先这个网站必须具有良好的稳定性和较高的安全性,对开发的后期来说要易于维护;对网站首页的设计要有基本的菜单导航设计来引导新用户的正确操作,方便患者的使用。
对于医院的信息设计部分;经过对不同科室的信息进行细致的分类方便用户对照自己的症状合理,正确的来挂号;对不同医院的专家信息进行分类,专家情况信息介绍要详细全面,防止患者对信息理解错误挂号错误的现象发生,进而让用户能作出正确选择;用户通过查看专家信息,选择专家,选择挂号日期;实名填写个人信息、家庭住址、联系方式等信息成功的实现网上预约挂号。
(1)挂号示意图
(2)挂号方式
患者通过在浏览器端输入网址进入预约挂号系统的首页,查询医院医生信息,点击预约挂号,填写个人信息,实现网上成功预约之后,根据自己的预约信息去医院就诊。
2.2.3预约须知
对在线医院预约挂号系统的总体说明主要有一下几点:愉悦着要提前看网站对挂号者预约所注意事项、以及预约挂号人的权利和义务,权责声明、对于自己不清楚的地方要及时的查看系统使用帮助。
进入网上预约挂号的平台后,根据自己所在地区选择需要挂号的医院。进入医院网站首页,初次登陆系统预约的用户,需要先注册才能登陆系统进行操作挂号;如果是复诊输入用户名和密码,即可登陆系统。系统可以自动核对登陆者的信息,登陆成功后,可进入预约挂号程序。
需求分析种我们会发现,医院预约挂号系统中需要管理的信息主要有以下几种:
1.医生:姓名、性别、科别、擅长、年龄、就诊时间
2.挂号单:科别、挂号单号、编号、费用
3.病人:姓名、性别、年龄、联系方式、症状、挂号单号
对于单号的处理部分,一张挂号单只可以对应一个医生;一个医生可以有多张挂号单,但是日期时间不能冲突,一张单号也只能对应一个病人,一个病人在同一时间只可以预约一张单号、一个患者可以选择多个医生,一个医生可以看多个病人。
2.3 开发环境
医院挂号系统采用的是Myeclipse软件开发平台,mysql数据库以及SSH框架技术,开发环境为windows xp 系统用户无需安装任何软件,只需在浏览器端输入网址即可使用,使用非常方便,对开发人员的维护工作也很方便。
3 系统分析与设计
3.1 系统概述
系统设计是继需求分析之后的重要一步,目的是根据对用户的需求分析将其逻辑方案转换成物理方案。同时要注意系统设计的内外环境以及主观条件和客观条件,未来确保系统总体目标的实现,我们要考虑到经济,技术各方面的条件,来做出合理的技术方案,选择出合适的设计平台以及开发环境。系统设计要坚持阶段性开发原则对不同的阶段设计出不同的实现功能;其次要本着为客户服务的原则,尽可能的坚强客户使用的难度,同事要坚强管理人员的负担,尽量使用自动化的处理方式来处理数据,以及要具有良好的设计体验;对用户的需求变更要及时的处理,同时,最重要的是实现系统的可扩展性,减少各个模块的耦合性,使系统便于扩展与维护;系统设计中很多工作是有技术性的,再设计过程中要考虑到用户需求的变更,是系统设计完成的一个必要阶段。
3.2 系统功能
系统功能主要是实现患者在线预约挂号,对网站来讲,我们将其分为前台功能和后台功能两个模块。
系统前台功能图如下(图)3-1所示,我们又将前台功能细分为三大块功能,分别是:信息展示模块、系统应用模块、用户模块。
(图)3-1 系统前台功能图
(1)信息展示:展示出专家的信息,医院信息等;
(2)系统使用:完成登录注册等功能;
(3)用户 :登录,查询、预约挂号等。
系统后台功能图如(图)3-2所示:
(图)3-2 系统后台功能图
我们对后台模块功能分析如下:
(1)修改密码:用户、管理员对自己的个人密码进行修改操作;
(2)系统公告的管理:管理员来实现医院公告的管理;
(3)专家信息管理:对专家信息进行添加和删除等操作;
(4)注册用户管理:对用户的个人信息进行管理;
(5)医院信息管理:对医院的信息进行添加和删除等操作。
3.3 用例图
3.3.1 会员用例图:
用户可以:在线注册会员,在线查询医生信息,在线预约挂号等。
(图)3-3 会员用例图
3.3.2 管理员用例图:
(图)3-4 管理员用例图
管理员可以对医生信息的数据库信息进行合理的变更;对医院的信息进行添加或删除,对会员的信息进行和管理以及对医院公告的信息进行更改等。
3.4 流程图
(1)用户流程图如图所示:
用户可以在网站的主页看到信息查询的按钮并对想要查找的信息进行填写,然后根据查询结果进行预约挂号填写个人信息,同时如果不想预约,可以进行取消预约的操作。
(2)管理员流程图如下所示:
(图)3-6 管理员流程图
管理员在系统首页的“系统管理员登录”出输入自己的账号和密码进行登录,然后进入管理员界面,可以对医院的信息以及医生的信息进行添加和删除操作;同时也可以管理用户的信息。
4 数据库设计
4.1 数据库设计概述
MySQL是一种SQL数据库的管理系统,受到很多人都欢迎因为其具有开源性的特点。它是由一家商业公司MySQL AB进行了设计开发和发布的,这家公司主要是对MySQL数据库开发,这家公司的注册商标就是Mysql;它拥有成功的商业模式,巧妙地使用了其开源性,方法论的第二代开源公司对于MySQL AB公司的发展历史我们在这里就不做过多的赘述了。
MySQL是一个快速的、多线程、多用户和健壮的SQL数据库服务器。文献[8]中介绍MySQL服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass-deployed)的软件中去。MySQL网站(http://www.mysql.com)提供了关于MySQL和MySQL AB的最新的消息。
数据库在动态网页设计中发挥了重要的作用,文献[6]中介绍到它好比一个大仓库,对网站的重要信息进行存储,由于网站的网页不是一成不变的,他需要及时的变更,所以要使用到数据库,有了数据库开发人员对网站内容的管理更加方便,维护也更加方便,所以数据库的设计是系统成功实现的关键之处。该系统的设计主要是用了mysql 数据库来设计数据库,简单方便,下面我们主要说明下数据表和数据表结构。
4.1.1 表说明
主要的数据表有db_guahao表,此表又包含t_gonggao系统公告,t_zhuanjia 专家信息,t_guahao医院信息;,t_yiyuan医院信息管理系统,t_use注册用户的信息;r,t_admin管理员信息;t_keshi科室信息表等。