基于php医院网上预约挂号系统设计毕业设计论文

上传人:沈*** 文档编号:204977439 上传时间:2023-04-27 格式:DOC 页数:42 大小:506.47KB
收藏 版权申诉 举报 下载
基于php医院网上预约挂号系统设计毕业设计论文_第1页
第1页 / 共42页
基于php医院网上预约挂号系统设计毕业设计论文_第2页
第2页 / 共42页
基于php医院网上预约挂号系统设计毕业设计论文_第3页
第3页 / 共42页
资源描述:

《基于php医院网上预约挂号系统设计毕业设计论文》由会员分享,可在线阅读,更多相关《基于php医院网上预约挂号系统设计毕业设计论文(42页珍藏版)》请在装配图网上搜索。

1、华中科技大学软件学院 毕业设计(论文)题目:基于php医院网上预约挂号系统 2014 年 11月 20 日华中科技大学软件学院大学毕业设计(论文)任务书学院(直属系):电子信息工程 时间 2014年 5月 20日学 生 姓 名指 导 教 师设计(论文)题目基于php医院网上预约挂号系统主要研究内容(1)本课题研究以PHP+Apache框架为主要技术框架的医院网上挂号 系统(2)以html技术为客户端的主要显示技术(3)以SQL数据库作为系统的数据存储单元(4)实现“基于php医院网上预约挂号系统”研究方法操作系统:Unix/Linux/windows2000或以上版本数据库:MYSQL 5.0

2、开发工具包:JDK Version 1.7.2开发环境:eclipse-SDK-3.1.2Web服务器:Apache浏览器:IE7.0以上系统软件:PHP5、Apache 2.2主要技术指标(或研究目标)PHP语言、APACHE服务器和MySQL数据库技术主要参考文献1 飞思科技产品研发中心.PHP网站开发C. 北京:电子工业出版社,2005年2 屈喜龙,朱杰,等.PHP开发动态网站实例荟萃M. 北京:机械工业出版社,2006年3月3 张海藩.软件工程导论M. 北京:清华大学出版社,2004年7月4 许登旺,邹天思,等.PHP程序开发范例宝典M. 北京:人民邮电出版社,2007年10月5 杨则

3、正.对JavaScript的研究J. 北京:管理科学文摘, 1998,(12).6 张志远.JavaScript与客户端安全J. 广东:东莞理工学院学报, 2002,(02).7 陶宏才.数据库原理及设计M. 北京:清华大学出版社,2004年3月8 王涌.PHP与相关数据库技术高级指南M. 北京:电子工业出版社,2004年9 王永红.使用JavaScript增强网页的功能J. 安徽:安徽建筑, 2001,(02).10 徐峰.基于MySQL的PHP数据库访问技术 J. 北京:计算机时代, 2001年02期11 施威铭,王超辉.PHP网页模块开发实例导学M. 北京:中国电力出版社,2007年7月

4、12 陈军.PHP+MySQL经典案例剖析M. 北京:清华大学出版社,2008年8月13 廖世恩,许宏松.PHP 4 程序设计M. 北京:机械工业出版社, 2006年7月14 james Lee Brent Ware .开放源码网站开发指南M. 北京:清华大学出版社,2005年4月15 阮文江.JavaScript 程序设计基础教程M. 北京:人民邮电出版社, 2009年3月16 廖若雪.PHP企业级Web应用与开发M. 北京:机械工业出版社, 2010年9月说明:一式两份,一份装订入学生毕业设计(论文)内,一份交学院(直属系)。华中科技大学软件学院基于PHP医院网上预约挂号系统摘要Inter

5、net互联网技术的快速发展的同时也带来了社会各个行业的发展。它的发展已经深入到社会的各个角落。作为社会发展的前沿技术,各行各业只要对其合理的进行运用,必将会带来巨大的便捷。成功的运用Internet将为医疗事业带来无限便利。在传统的医院挂号过程中,信息处理停留在手工方式,劳动强度大且工作效率低,医师护士和管理人员的大量时间都消耗在事务性工作上,病人排队等候时间长,这些影响了医疗的秩序,也延误了患者的病情。而本论文的探索研究方向则为医院挂号网站的开发与实现。本系统采用的是基于广域网的B/S结构平台,比C/S有更强的适用范围,具有更加生动和丰富的表现方式与用户交流。在此背景下,本文论述了用WEB语

6、言开发医院管理系统的流程,介绍了基于PHP+APACHE+SQL SERVER网络环境的配置,以及该系统的操作说明。本系统是适应时代发展的需要,提高管理的效率而开发设计的。系统的设计框架采用的是已经发展成熟、PHP+APACHE+SQL SERVER技术框架,使系统实施更为方便和安全。网页采用的是JSP技术,它拥有卓越的系统可移植性,同时它与流行的XML等技术也能良好整合,加上MYSQL数据库强大的后台数据支持,奠定了PHP技术在网络应用系统开发中的关键地位。它使我们的网页更加生动、具有表现力。这次毕业设计开发了医院预约挂号系统,该系统是专为解决广大患者挂号难这个问题。通过本网站患者可以有针对

7、性的快速的找到符合自身的需求的医师进行预约挂号。关键词: 医院,挂号,PHPHospital registration and online booking system based on PHPAbstractInternet the rapid development of Internet technology has also brought the development of all sectors of society. Its development has deep into every corner of society. As the frontier technolog

8、y and social development, all walks of life as long as the use of its reasonable, will bring great convenience. The successful application of Internet will bring infinite convenience for the medical cause.In the traditional hospital registration process, information processing stay in manual mode, h

9、igh labor intensity and low work efficiency, a lot of time doctors and nurses and managers are consumed in the routine work, patient waiting time is long, the effect of the medical order, but also delay the patients condition. And the research direction of this dissertation is the development and im

10、plementation of hospital registration website. The system uses a B/S structure platform based on wide area network, have more scope than C/S, with more vivid and expressive way to communicate with users. Under this background, this paper discusses the WEB language development of hospital management

11、system process, introduces the PHP+APACHE+SQL SERVER network environment based on the configuration of the system, and the operating instructions. This system is to adapt to the need of development of era, improve the efficiency of management and the development of the design. The design framework o

12、f the system is already mature, PHP+APACHE+SQL SERVER framework, the implementation of the system is more convenient and secure. Webpage using JSP technology, it has excellent portability of the system, at the same time with the popular XML technology can be a good integration, data and MYSQL powerf

13、ul database support, established a PHP technique in key status in the network application development system. It makes our Webpage more vivid, expressive.This graduation design and development of hospital appointment system, the system is designed to solve the majority of patients registered to this

14、 problem. Patients through this website can be found quickly targeted in line with the needs of their own doctors appointment.Key Words: Hospital,registration,PHP目 录摘要IAbstractII第1章 背景- 1 -1.1课题背景及研究意义- 1 -1.2国内外研究现状- 2 -1.3本课题研究内容- 2 -1.4在线挂号系统的开发思想- 2 -第2章 开发环境及开发技术- 3 -2.1 B/S模型- 3 -2.2 PHP技术- 4

15、-2.3 PHP工作原理- 5 -2.4 Apache技术- 5 -2.5 JavaScript语言- 5 -2.6软件环境- 6 -2.7硬件环境- 6 -2.8数据库简介- 6 -第3章 系统分析- 8 -3.1系统需求分析- 8 -3.2系统可行性分析- 8 -3.3系统的实现目标分析- 8 -3.4系统的功能分析- 9 -3.5系统的性能需求- 10 -3.6系统的数据需求- 10 -3.7系统的运行需求- 10 -3.8系统数据流图- 10 -第4章 系统设计与实现- 13 -4.1 ER图设计- 13 -4.2数据库表格设计- 14 -4.3系统数据库设计- 18 -4.3.1 建

16、立数据库- 18 -4.3.2 数据库连接代码- 19 -4.4系统前台设计- 19 -4.4.1前台框架- 19 -4.4.2前台PHP代码- 20 -4.4.3网站前台首页的运行效果- 22 -4.5 后台设计- 22 -4.5.1模块功能介绍- 22 -4.5.2后台文件整体结构- 23 -4.5.3后台管理员模块- 23 -4.5.4后台首页PHP代码- 24 -4.5.5后台登陆PHP代码- 25 -4.5.6后台运行效果图- 26 -4.6前后台验证码- 29 -4.6.1设置验证码的意义- 29 -4.6.2验证码的PHP代码- 30 -参考文献- 32 -致谢- 33 -华中科

17、技大学软件学院第1章 背景1.1课题背景及研究意义随着经济与科学技术的高速发展,信息化的进程不断加快。随着计算机性能不断提高,价格不断下降,计算机已在医院医疗,教学,科研,管理的各个方面得到越来越广泛的应用。然而,我国还有部分医院的信息处理停留在手工方式,劳动强度大且工作效率低,医师护士和管理人员的大量时间都消耗在事务性工作上,病人排队等候时间长,辗转过程多,影响了医疗的秩序。计算机化的医院信息系统已成为现代化医院运营必不可少的基础设施与技术支撑环境。门诊挂号系统是整个医院管理信息系统的第一个窗口,是病人到医院就诊要做的第一项工作。它用于收集病人的信息,协调科室医生管理,控制各科室的流量等等。

18、医院网上预约挂号系统是一种基于互联网的新型挂号系统,是卫生信息化建设的基础的项目之一。利用该预约挂号系统,用户就可以在网上预约医院的专家、专科号,而无须再受排队之苦。它能更好的改善就医环境,简化就医环节,节约就医时间,真正体现了以病人为中心,一切从方便患者出发,符合当今医院人性化温馨服务的理念。目前,门诊一直是困扰医院提高服务质量的一个复杂环节,特别是医疗水平高、门诊量大的医院,而造成门诊质量难以提高的因素主要有两方面:一方面集中式挂号(现在流行的分层挂号只是相对而言一个范围较小的集中式挂号),就诊人员流量不均、具有不确定性,有明显的就诊高峰和低谷(表现在整个医院不同门诊时间段及同科室的不同时

19、间段)。高峰期病人挂号排队长,就诊时间长,医生熟人插号现象,环境拥挤混乱,医生问诊时间短、不仔细、态度差。而低谷期,医生无病人看、溜号,医院资源浪费。另一方面专家号(特别是名专家号)难挂,出现倒号、炒号现象,严重损害病人利益,影响到医院的声誉。而采用网上预约挂号,可有效的解决这一现象,还通过有效的身份验证,杜绝倒、炒专家号的现象,提高医院门诊服务质量,取得良好的社会效益和经济效益。此外,病人到医院就诊前对医院的相关信息了解不多,对所要挂的专科医生的情况又不太了解,只能凭经验和印象进行选择,具有较大的盲目性。而当医院开通网上挂号预约服务以后,求医者只需坐在家中,轻点儿下鼠标,就可以挂上医院专家门

20、诊号,可以做到“足不出户选医生”。网上预约正悄然改变着都市求医者的看病观念。拥有相对固定的个人医生和习惯,预约看病,将不再遥远,所以应用必将越来越广泛。1.2国内外研究现状随着互联网络的迅猛发展,Internet用户已呈几何级数增长,目前已经有很多医院投入使用网上挂号系统。据了解,预约挂号在国外颇为普及。在西方国家,病人看病都需要事先进行预约。随着预约挂号的深入推广,国内越来越多的医院也意识到预约服务在节约看病时间、分流患者、减轻医院压力上的作用。据了解,尽管存在很多困难,但全国各地的医院在尝试预约挂号的实践中还是提供了很多有益的做法。广东省人民医院早在2004年就采取了一套相对完整的预约挂号

21、体系,其三种预约方式,按照受欢迎程度排名依此为:电话、现场、网络,分别占到了预约挂号中 50%、40%、10%。在福建,全省范围内拨打12320海西健康热线电话,即可预约到福建省立医院等5家医院的专家号,只按市话费标准收费,不收取任何信息服务费。在北京,解放军总医院(三零一医院)于前不久专门开通了夜间门诊电话预约挂号66936619(不收预约费),可以毫不费力地约到各科室的专家,开通不久即见成效,目前已经成功分流了约1/3的患者。此外医院还开通手机挂号功能,患者只需要发送短信就可以进行预约挂号。患者根据系统提示,输入姓名、性别、年龄、住址、付费方式、就诊卡号、预约时间、预约科室、预约项目、预约

22、医师等内容,系统就会根据各门诊科室提供的具体情况,安排给患者合适的就诊排号位或挂号建议。在患者就诊前一天、就诊当天、就诊前一小时、就诊前5分钟,系统还会以短信的形式多次通知患者。患者如果有事无法就诊,通过发送短信,经过医师或护士同意,还可二次预约。1.3本课题研究内容本课题的主要研究的内容是运用PHP语言、APACHE服务器和SQL数据库实现管理员对系统的管理、用户预约挂号等功能的管理和实现,包括前台模块和后台管理模块。1.4在线挂号系统的开发思想能够让人们使用简单的上网操作方法,及先进的在线挂号系统开发方案,从而达到提高系统开发水平和应用效果的目的。系统应符合在线挂号的规定,满足个人看病预约

23、挂号需求,并达到操作过程的直观、方便、实用等要求。系统采用模块化的程序设计方法,既便于系统功能模块的组合,又便于未参与开发的技术人员补充、维护。第2章 开发环境及开发技术医院网上挂号系统是以PHP+Apache框架为主要的技术框架,以html技术为客户端的主要显示技术,以SQL数据库作为系统的数据存储单元。下面我们来介绍下本系统的开发环境以及开发中所用到的相关技术。2.1 B/S模型B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者说是改进的结构。用户界面完全通过浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在

24、服务器端实现,形成三层结构,是一种全新的软件系统构造技术。B/S模式最大特点是:用户可以通过WWW例览器去访问Internet上的文本、数据、图像、动画、视频点播和声音信息,这些信息都是由许许多多的Web服务器产生的,而每一个Web服务器又可以通过各种方式与数据库服务器连接,大量的数据实际存放在数据库服务器中。客户端除了WWW创览器,一般无须任何用户程序,只需从Web服务器上下载程序到本地来执行,在下载过程中若遇到与数据库有关的指令,由Web服务器交给数据库服务器来解释执行,并返回给Web服务器,Web服务器又返回给用户。在这种结构中,将许许多多的网连接到一块,形成一个巨大的网,即全球网。B/

25、S模型结构图如图2.1所示:Web服务器Datebase服务器PHP页面用户基本操作用户创建基本信息图2.1 B/S模型结构图从上图可见 这种结构的一个重要的特点是,用户可以完全不需要安装客户端软件,当然也不需要担心任何软件升级和不兼容等任何客户端所遇到的问题。相比之下,B/S模型的优点显而易见,更适合这个网站的构建,有利于网站的维护和扩充。2.2 PHP技术最早的WEB网站是由许多HTML文件组成的,这些文件就是所谓的静态网页:它们只能为用户提供静止的、一成不变的信息。如果发布的内容发生了变化,必须手工修改页面。对于规模较小的网站来说,这没有什么大问题,但是对于规模较大的网站,要跟踪网页上的

26、数据变化,手工修改网页则不啻是一场恶梦。如果想在静态网页上发布静态内容,或与用户交互,必须使用CGI (Common Gateway Interface,通用网关接口)。可以用很多语言编写CGIPerl、Python、Tcl/Tk、C、C+以及VB等。用这些语言可以开发功能强大的CGI程序,特别是PERL语言,目前仍然是编写CGI程序的首选语言。PERL语言功能非常的强大,但也比较复杂,掌握它需要一定的时间。另外,用这些语言编写的CGI程序,每当有一个用户请求时都会建立一个新的进程来运行该CGI;如果突然有大量的用户请求出现,可能会出现性能问题(现在有一种称为FastCGI的技术可以解决这个问

27、题)。因为编写CGI程序很困难,出现了各种技术来解决这个问题。微软公司的ASP技术就时一种非常优秀的解决方案。ASP技术可以在Windows NT/2000IIS上运行,使用VBscript作为脚本语言,可以对多种数据库及ODBC进行操作。ASP技术虽然好,但是如果采用这种技术,就意味着使用微软公司的全套技术。网络服务器只能使用windows nt/2000,web服务器只能使用iis服务器,数据库服务器最好使用微软的SQL SERVER 等。ASP技术出现后许多公司开始将ASP的思想移植到其他平台上,出现了许多UNIX平台上的,基于PERL或其他语言的ASP技术。这些技术一眼时专有技术,受商

28、业支持少,平台适应性也较窄。除了ASP外,还有一些类似的技术如ALLAIRE的CODE FUSION等。这些技术都可以实现在网页上动态发布信息4。PHP是一种类似微软ASP技术的WEB数据库解决分方案。它是一种嵌入式的脚本语言,用于在WEB上快速的发布动态信息。PHP是“PHP Hypertext Preprocessor”(“PHP:超文本处理器”)的缩写。它的许多语法借用了C,PERL,以及JAVA的语法,当然也有一些PHP的特性。PHP语法的目标是使WEB开发者快速编写动态网页。“嵌入式脚本”的意思是脚本可以嵌入到HTML代码中。当使用PERL何C/C+语言编写CGI脚本时。必须使用pr

29、intf ,echo等命令或者函数向浏览器输出HTML代码。而使用嵌入式的脚本语言时,HTML代码可以按照正常的方式编写(如front page或dream weaver等快速开发工具生成),需要特别处理的内容(如数据库浏览、查询、与mail服务器的连接等)通过嵌入到HTML代码中的脚本完成。这样,可以极大的加快开发速度,脚本的可读性也很强。PHP的英文全称很有意思,PHP: Hypertext Preprocessor,一种递归的表示方法。和GNU的全称差不多,GNU是“GNU sNot Unix”的缩写。这可能是很多程序员的习惯,很诙谐。2.3 PHP工作原理PHP的所有应用程序都是通过W

30、EB服务器(如apache)和PHP引擎程序解释执行完成的,工作过程: (1)当用户在浏览器地址中输入要访问的PHP页面文件名,然后回车就会触发这个PHP请求,并将请求传送给支持PHP的WEB服务器。 (2)WEB服务器接受这个请求,并根据其后缀进行判断。如果是一个PHP请求,WEB服务器从硬盘或内存中取出用户要访问的PHP应用程序,并将其发送给PHP引擎程序。 (3)PHP引擎程序将会对WEB服务器传送过来的文件从头到尾进行扫描并根据命令从后台读取,处理数据,并动态地生成相应的HTML页面。(4)PHP引擎将生成HTML页面返回给WEB服务器。WEB服务器再将HTML页面返回给客户端浏览器。

31、 2.4 Apache技术Apache是最流行的Web服务器端软件之一。快速、可靠、可通过简单的API扩展,Perl/Python解释器可被编译到服务器中,完全免费,完全源代码开放。Apache服务器拥有以下特性:1支持最新的HTTP/1.1通信协议拥有简单而强有力的基于文件的配置过程;2 支持通用网关接口;3 支持基于IP和基于域名的虚拟主机;4 支持多种方式的HTTP认证;5 集成Perl处理模块;6 集成代理服务器模块;7 支持实时监视服务器状态和定制服务器日志;8 支持服务器端包含指令(SSI);9 支持安全Socket层(SSL);10 提供用户会话过程的跟踪; 11支持FastCG

32、I;通过第三方模块可以支持Java Servlets。 2.5 JavaScript语言JavaScript语言是一种基于对象(Object)和事件驱动(Event Driven)并具有安全性能的脚本语言。使用它的目的是与HTML超级文本语言、JavaApplet(Java小程序)一起实现在一个Web页面中链接多个对象,与Web客户交互作用,从而达到开发客户端应用程序的目的。JavaScript是通过嵌入或调入在标准HTML语言中实现,它的出现弥补了HTML语言的缺陷。在JavaScript语言的配合下,能够运用PHP技术开发出非常漂亮而且交互性强大的动态Web网站来。2.6软件环境本系统的的

33、软件环境如下:操作系统:Unix/Linux/windows2000或以上版本数据库:MYSQL 5.0开发工具包:JDK Version 1.7.2开发环境:eclipse-SDK-3.1.2-win32Web服务器:Apache浏览器:IE7.0以上2.7硬件环境本系统的硬件环境如下:客户机:普通PCCPU:P4 1.8GHz以上内存:256MB以上能够运行IE5.0以上或者Netscape4.0以上版本的机器分辨率:推荐使用1024*768像素WEB服务器CPU:P4 2.0GHz内存:1G以上硬盘:80G以上网卡:千兆数据库服务器CPU:P4 2.0GHz内存:1G以上硬盘:80G以上

34、2.8数据库简介由于本系统采用的数据库为MySQL数据库,所以这里对MySQL数据库的相关知识进行简单介绍。MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。MySQL是一个快速、多线程、多用户的小型关系型数据库管理系统。它支持正规的SQL查询语言和采用多种数据类型,能对数据进行各种详细的查询等。MySQL提供了一全套的数据库创建和访问

35、机制,通过很直观的方式就可以创建、访问、修改数据库的表和项,并且能建立它们之间的各种数据关系。MySQL系列从90年代就发展起来,经过了多年的反展,它已经成为非常成熟的技术,面向中小型企业级应用。MySQL数据库的特点是数据库文件小而简单,不需要运行或者启动数据库服务进程就可以使用。通常MySQL数据库文件可以随网页文件一起方便地放在网站的目录中,正是由于这些特点,MySQL数据库通常被用来作为网站开发的数据库支持技术。对MySQL数据库的管理采用图形化管理工具phpMyAdmin 。phpMyAdmin是一个用PHP编写的、基于Web的、跨平台的MySQL管理程序,支持简体中文,使用Web浏

36、览器作为管理界面。通过phpMyAdmin可以进行绝大部分的MySQL操作,包括对数据库级操作,表级操作,以及数据管理等。与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQL的功能效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。MySQL特点: .使用C和C+编写,并使用了多种编译器进行测试,保证源代码的可移植。.支持AIX、FreeBSD、HP-UX、Linux、Mac

37、OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统。.为多种编程语言提供了API。这些编程语言包括C、C+、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。 .支持多线程,充分利用CPU资源。.优化的SQL查询算法,有效地提高查询速度。.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。.提供TCP/IP、ODBC和JDBC等多种数据库连接途径

38、 。.提供用于管理、检查、优化数据库操作的管理工具。.可以处理拥有上千万条记录的大型数据库。第3章 系统分析3.1系统需求分析目前,门诊一直是困扰医院提高服务质量的一个复杂环节,特别是医疗水平高、门诊量大的医院,而造成门诊质量难以提高的因素主要有两方面:一方面集中式挂号(现在流行的分层挂号只是相对而言一个范围较小的集中式挂号),就诊人员流量不均、具有不确定性,有明显的就诊高峰和低谷(表现在整个医院不同门诊时间段及同科室的不同时间段)。高峰期病人挂号排队长,就诊时间长,医生熟人插号现象,环境拥挤混乱,医生问诊时间短、不仔细、态度差。而低谷期,医生无病人看、溜号,医院资源浪费。另一方面专家号(特别

39、是名专家号)难挂,出现倒号、炒号现象,严重损害病人利益,影响到医院的声誉。而采用网上预约挂号,可有效的解决这一现象,还通过有效的身份验证,杜绝倒、炒专家号的现象,提高医院门诊服务质量,取得良好的社会效益和经济效益。为了解决这一问题,我们需要一种能够方便快捷的挂号方式来满足各方面的需求,减少排队挂号的痛苦和时间的浪费,而本课题所研究的基于PHP的医院网上挂号预约系统正好是为了解决这一问题而设计的方案,因此,本系统拥有很大的用户需求。3.2系统可行性分析网上预约挂号系统是一种基于互联网的新型挂号系统,是卫生信息化建设的基础项目之一。利用该预约挂号系统,用户就可以在网上预约医院的专家、专科号,而无须

40、再受排队之苦。而当医院开通网上挂号预约服务以后,求医者只需坐在家中,轻点儿下鼠标,就可以挂上医院专家门诊号,可以做到“足不出户选医生”。网上预约正悄然改变着都市求医者的看病观念。拥有相对固定的个人医生和习惯,预约看病,将不再遥远,所以应用必将越来越广泛。从可行性上分析,无论是需求方面,还是技术方面,完全可以对系统进行开发,这样的方案是可行的。3.3系统的实现目标分析在线挂号系统主要由前台页面:index.html、后台:index.php以及数据库组成。其主要功能实现基本的在线挂号功能。通过管理后台可以查看和管理挂号记录。 前台页面:是用户用来填写自己的个人信息及预约时间和内容后台页面:由医院

41、进行登录并查看。本系统是单用户挂号查询系统,用户名为admin,初始密码123456,密码可以在后台自行更改。如果需要修改用户名,请进入数据库直接修改。 注意:若前后台文件放在同一个目录下,请确保index.html的优先级高于index.php。验证码需要开启GD库。3.4系统的功能分析实现功能包括填写个人挂号信息、删除预约信息、后台查看挂号信息等,主要用PHP动态代码编写与测试。根据分析得出如下图所示的在线挂号系统流程图3.1填写挂号信息额息退出结束退出系统修改密码科室修改预约记录后台管理界面前台后台在线挂号图3.1 在线挂号系统流程图3.5系统的性能需求为了保证系统能够长期,安全,稳定,

42、可靠,高效的运行,医院网上挂号系统应该满足以下的性能需求:1、系统处理的准确性系统处理的准确性是系统的必要性能。由于医院网上挂号系统的医师功能和挂号预约功能对于整个系统的功能和性能举足轻重。所以在系统的开发过程中,必须采用一定的方法保证系统的准确性。2、系统的易用性医院网上挂号系统是直接面对广大患者的,所以系统应该使用用户熟悉的术语和中文信息的界面。3.6系统的数据需求1、数据录入和处理的准确性和实时性系统的大部分数据的输入都是由管理员手工输入,所以系统的界面应具有排错功能,保证系统正常运行。2、数据的一致性和完整性由于有关科室信息和医师信息是共享的,所以要保持文档数据的一致性,对于输入的数据

43、则要求保持完整性。 3.7系统的运行需求系统软件:PHP5,Apache 2.2数据库管理系统:MySQL硬件要求:Pentium III 450以上, 258M RAM,14G HD3.8系统数据流图软件需求分析中主要采用结构化分析方法(Structured Analysis,简称SA),SA是面向数据流进行需求分析的方法,像所有的软件分析方法(如面向对象分析方法、IDEF方法等等)一样,SA也是一种建模活动,它使用简单易读的符号,根据软件内部数据传递、变换的关系,自顶向下逐层分解,描绘满足功能要求的软件模型。在系统中主要采用数据流图(DFD)这种半形式化的描述方式表达需求。它是一种功能模型

44、,以图形的方式描绘数据在系统中流动和处理的过程,只反映系统必须完成的逻辑功能。它有四种基本图形符号: 外部实体:与系统进行交互,但系统不对其进行加工和处理的实体,用带标记的矩形表示; 加工:对数据进行的交换和处理,用带标记的圆圈表示; 数据流:在数据加工之间或数据存储和数据加工之间进行流动的数据,用带标记的箭头表示; 数据存储:在系统中需要存储的实体,用带标记的双实线表示。在多层数据流图中,顶层流图仅包含一个加工,它代表被开发系统,它的输入流是该系统的输入数据了,输出流是该系统的输出数据;底层流图是指其加工不需要再做分解的数据流图,中间层流图表示对其上层父图的细化,它的每一步加工可能继续细化成

45、子图。将整个系统看成一个加工,然后找出作用于该加工的外部实体,以及相应的数据输入和输出。对于“基于PHP的医院网上挂号系统”而言,整个系统就是一个加工“医院网上挂号系统”。“管理人员”是数据的源点,“用户”是数据的终点。另外,管理人员需要添加科室信息和修改信息,说明“科室信息”和“修改信息”是数据流,同样,“输入用户信息”也是数据流。因此得到了第0层DFD图,如图3.2所示:图3.2 第0层DFD图“科室信息”是管理人员需要添加的一个信息,因此加入一个加工“添加科室信息”,同样得到“修改医师信息”这个加工。数据流“输入信息”应该由加工“用户信息”来完成。这样,“添加科室信息”,“修改医师信息”

46、和“用户信息”三个加工代替了第0层的“医院网上挂号系统”,同时增加了“科室”和“医师(管理员)”这两个数据存储,因此,得到了第1层DFD图,如图3.3所示:图3.3 第1层DFD图 对第1层DFD图的一个加工“用户信息”进行展开,得到了第2层DFD图,如图3.4所示:图3.4 第2层DFD图第4章 系统设计与实现4.1 ER图设计ER模型直接从现实世界抽象出实体类型及实体间联系,然后用ER图来表示数据模型。它有两个明显的优点:接近于人的思维,容易理解;与计算机无关,用户容易接受。E-R图为实体-联系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。 构成E-R图的基本要素是实

47、体型、属性和联系,其表示方法为: 实体型:用矩形表示,矩形框内写明实体名; 属性:用椭圆形表示,并用无向边将其与相应的实体连接起来; 联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1 : 1,1 : n或m : n)。本系统的各实体类的属性图如下所示:科 室 信 息科 室 名 称科 室 概 况图4.1 科室信息属性图管 理 员账号名密 码图4.2 管理员信息属性图用 户姓名年龄附言电话性 别验证码来院时间提 交科室 图4.3 用户信息属性图本系统的E-R图如图4.4所示:图4.4 系统E-R图4.2数据库表格设计好的数据结构会影响速度。好

48、的数据库表设计会影响数据库操作效率。特别是数据多的时候,如果表的结构不好的话操作的时候条件(where后的内容)会变的非常复杂。SQL是关系数据库中用到的一种语言。所以,为了简化SQL,表的关系(内部和外部)要尽量设计的合理。建表的核心思想和原则为:1)不应该针对整个系统进行数据库设计,而应该根据系统架构中的组件划分,针对每个组件所处理的业务进行组件单元的数据库设计;不同组件间所对应的数据库表之间的关联应尽可能减少,如果不同组件间的表需要外键关联也尽量不要创建外键关联,而只是记录关联表的一个主键,确保组件对应的表之间的独立性,为系统或表结构的重构提供可能性。2)采用领域模型驱动的方式和自顶向下

49、的思路进行数据库设计,首先分析系统业务,根据职责定义对象。对象要符合封装的特性,确保与职责相关的数据项被定义在一个对象之内,这些数据项能够完整描述该职责,不会出现职责描述缺失。并且一个对象有且只有一项职责,如果一个对象要负责两个或两个以上的职责,应进行分拆。3)根据建立的领域模型进行数据库表的映射,此时应参考数据库设计第二范式:一个表中的所有非关键字属性都依赖于整个关键字。关键字可以是一个属性,也可以是多个属性的集合,不论那种方式,都应确保关键字能够保证唯一性。在确定关键字时,应保证关键字不会参与业务且不会出现更新异常,这时,最优解决方案为采用一个自增数值型属性或一个随机字符串作为表的关键字。

50、4)由于第一点所述的领域模型驱动的方式设计数据库表结构,领域模型中的每一个对象只有一项职责,所以对象中的数据项不存在传递依赖,所以,这种思路的数据库表结构设计从一开始即满足第三范式:一个表应满足第二范式,且属性间不存在传递依赖。5)同样,由于对象职责的单一性以及对象之间的关系反映的是业务逻辑之间的关系,所以在领域模型中的对象存在主对象和从对象之分,从对象是从1N或NN的角度进一步主对象的业务逻辑,所以从对象及对象关系映射为的表及表关联关系不存在删除和插入异常。6)在映射后得出的数据库表结构中,应再根据第四范式进行进一步修改,确保不存在多值依赖。这时,应根据反向工程的思路反馈给领域模型。如果表结

51、构中存在多值依赖,则证明领域模型中的对象具有至少两个以上的职责,应根据第一条进行设计修正。第四范式:一个表如果满足BCNF,不应存在多值依赖。7)在经过分析后确认所有的表都满足二、三、四范式的情况下,表和表之间的关联尽量采用弱关联以便于对表字段和表结构的调整和重构。并且,我认为数据库中的表是用来持久化一个对象实例在特定时间及特定条件下的状态的,只是一个存储介质,所以,表和表之间也不应用强关联来表述业务(数据间的一致性),这一职责应由系统的逻辑层来保证,这种方式也确保了系统对于不正确数据(脏数据)的兼容性。当然,从整个系统的角度来说我们还是要尽最大努力确保系统不会产生脏数据,单从另一个角度来说,

52、脏数据的产生在一定程度上也是不可避免的,我们也要保证系统对这种情况的容错性。这是一个折中的方案。8)应针对所有表的主键和外键建立索引,有针对性的(针对一些大数据量和常用检索方式)建立组合属性的索引,提高检索效率。虽然建立索引会消耗部分系统资源,但比较起在检索时搜索整张表中的数据尤其时表中的数据量较大时所带来的性能影响,以及无索引时的排序操作所带来的性能影响,这种方式仍然是值得提倡的。9)尽量少采用存储过程,目前已经有很多技术可以替代存储过程的功能如“对象/关系映射”等,将数据一致性的保证放在数据库中,无论对于版本控制、开发和部署、以及数据库的迁移都会带来很大的影响。但不可否认,存储过程具有性能

53、上的优势,所以,当系统可使用的硬件不会得到提升而性能又是非常重要的质量属性时,可经过平衡考虑选用存储过程。10)设计出的表要具有较好的使用性,主要体现在查询时是否需要关联多张表且还需使用复杂的SQL技巧。11)设计出的表要尽可能减少数据冗余,确保数据的准确性,有效的控制冗余有助于提高数据库的性能。在完成系统的ER图之后,需要将ER模型转化为关系模型,也就是说,要设计出数据库所需要的表格。在这里,选用的是关系数据库。因为关系数据库中的二维表格可以很清楚地描述数据之间的联系。在系统中定义的表格都严格地按照范式的思想和要求完成,数据库中的所有表格都达到了三范式的要求。根据系统ER图,针对本系统的特点

54、,在对所搜集的数据进行规范化之后,定义了如下五张表格,分别是用户信息表、科室信息表、医师信息表、时刻表和管理员信息表。通过对这五张表格的操作可以较好地完成系统设计的各项功能,五张表格之间有着不同程度的联系10。此软件文档系统采用MySQL数据库管理系统。首先在MySQL中建立一个数据库,将其命名为hospital,然后根据数据库的逻辑结构分析创建5张数据表。五张表的表结构如下(带k的为主键):表4.1 时刻信息表结构字段名称字段类型说明 Id(k)int(16)ID序列号timeVarchar2(32) 预约时间时刻信息表:用于存放所有可以预约的时间信息蕴含着一定的逻辑性。这个时间是由系统中获

55、取和电脑本身同步,同时也和网络同步选用北京时间由代码实现,无需人工添加自动生成在本系统之中。前台用户注册的时间逻辑和后台预约记录的查看都需要此时刻信息表的支持。表4.2 管理员表结构字段名称字段类型说明 Id(k)int(16) ID序列号 loginNameVarchar2(16) 登录账号 password Varchar2(32) 登录密码管理员表: 用于存放系统的管理员信息。通过代码实现可以添加多个管理员,这里的管理员为超级管理员也就是医院的领导层,可以提供普通管理员的添加功能,同时拥有普通管理员的功能例如查看预约记录、删除预约记录、添加科室、编辑科室、修改密码等一系列的功能。表4.3

56、 医师信息表结构字段名称字段类型说明 Id(k)int(16)ID序列号nameVarchar2(32) 医师姓名 descriptionVarchar2(32) 医师简介 zhichengVarchar2(32) 医师职称医师信息表:用于存放所有医师的信息,包括医师姓名、医师职称、医师简介、所属科室等信息。医师为普通管理员没有权限添加医师,只能修改自己当前的信息包括密码等基本信息。表4.4 用户信息表结构字段名称字段类型说明 Id(k) int(16) ID序列号 nameVarchar2(32) 用户姓名 loginNameVarchar2(32) 登录名称 loginpasswordVa

57、rchar2(32) 登录密码 departmentVarchar2(32) 附言schoolNumberVarchar2(32) 科室genderVarchar2(8) 性别addressVarchar2(32) 所在地址phoneVarchar2(32) 联系电话emailVarchar2(32) 电子邮箱用户信息表:用于存放所有用户的信息,包括账号、密码、附言、姓名、性别、电话等基本信息,由用户在预约界面填写信息。表4.5 科室信息表结构字段名称字段类型说明 Id(k)int(16)ID序列号nameVarchar2(32) 科室名称 descriptionVarchar2(32) 科室

58、简介科室信息表:用于存放所有科室的信息,包括科室名称,科室简介等,由管理员在后台界面填写信息。4.3系统数据库设计在信息世界中,信息从客观事物出发流经数据库,通过决策机构最后又回到客观世界,信息的这一循环经历了三个领域:信息世界,数据世界,现实世界。现实世界的事物反映到人的头脑中,人的大脑对它有个认识过程,经过分析(选择、命名、分类等)进入信息世界。这些信息再进一步加工、编码,然后进入数据世界,而软件系统的开发工作需要考虑这两个方面的问题,也就是要考虑系统开发所需要的数据,以及如何对这些数据进行操作。这两个问题贯穿了整个软件系统的开发过程,这也就是数据库的设计问题,软件设计的一个核心。4.3.

59、1 建立数据库在MySQL中建立数据库guahao,然后再在数据库中建立以guahao_order、guahao_user为名的数据表,具体代码如下:guahao_order-CREATE TABLE IF NOT EXISTS guahao_order ( id int(11) NOT NULL AUTO_INCREMENT, name varchar(30) NOT NULL, sex varchar(3) NOT NULL, age smallint(3) NOT NULL, subject varchar(99) NOT NULL, comedate varchar(20) NOT N

60、ULL, tel varchar(20) NOT NULL, note varchar(255) NOT NULL, addtime int(11) NOT NULL, view smallint(1) NOT NULL DEFAULT 0, PRIMARY KEY (id) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ;guahao_user-CREATE TABLE IF NOT EXISTS guahao_user ( uid int(11) NOT NULL AUTO_INCREMENT, username varchar(2

61、0) NOT NULL, password varchar(32) NOT NULL, range smallint(1) NOT NULL DEFAULT 1, status smallint(1) NOT NULL DEFAULT 1,mail varchar(60) NOT NULL, lasttime int(11) NOT NULL, register_ip varchar(15) NOT NULL, addtime int(11) NOT NULL, PRIMARY KEY (uid), UNIQUE KEY username (username) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC AUTO_INCREMENT=3 ;4.3.2 数据库连接代码?phpdefine(HOSTNAME,localhost); /数据库主define(DATEBASE,guahao); /数据库名define(USERNAME,root); /数据库用户名define(PASSWORD,); /数据库密码define(DBCHARSET,utf8);

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!