为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

基于php医院网上预约挂号系统的设计和实现

2017-09-01 37页 doc 155KB 157阅读

用户头像

is_591137

暂无简介

举报
基于php医院网上预约挂号系统的设计和实现基于php医院网上预约挂号系统的设计和实现 1 背景------------------------------------------------------------- 1 1.1 课题背景及研究意义 ------------------------------------------ 1 1.2 国内外研究现状 ---------------------------------------------- 1 1.3本课题研究内容---------------------------------------------...
基于php医院网上预约挂号系统的设计和实现
基于php医院网上预约挂号系统的设计和实现 1 背景------------------------------------------------------------- 1 1.1 课题背景及研究意义 ------------------------------------------ 1 1.2 国内外研究现状 ---------------------------------------------- 1 1.3本课题研究内容----------------------------------------------- 2 1.3.1功能模块 ----------------------------------------------- 2 1.3.2后台数据库 --------------------------------------------- 3 2 开发环境及开发技术----------------------------------------------- 3 3 2.1 B/S模型-----------------------------------------------------2.2 PHP技术----------------------------------------------------- 4 2.3 PHP工作原理------------------------------------------------- 5 2.4 Apache技术-------------------------------------------------- 5 2.5 JavaScript语言---------------------------------------------- 6 2.6 软件环境 ---------------------------------------------------- 6 2.7 硬件环境 ---------------------------------------------------- 6 2.8 数据库简介 -------------------------------------------------- 7 3 系统需求----------------------------------------------------- 8 3.1系统需求分析------------------------------------------------- 8 3.2系统可行性分析----------------------------------------------- 8 3.3系统功能需求------------------------------------------------- 8 3.3数据流图----------------------------------------------------- 9 3.4 系统的数据字典 --------------------------------------------- 11 3.5系统的性能需求---------------------------------------------- 11 1、系统处理的准确性----------------------------------------- 12 2、系统的易用性--------------------------------------------- 12 3.6系统的数据需求---------------------------------------------- 12 <1>数据录入和处理的准确性和实时性--------------------------- 12 <2>数据的一致性和完整性------------------------------------- 12 3.7系统的运行需求---------------------------------------------- 12 4 系统设计-------------------------------------------------------- 12 4.1系统数据库设计---------------------------------------------- 12 4.1.1 数据库设计---------------------------------------- 12 4.1.2 ER图设计 --------------------------------------------- 14 4.2 系统设计 --------------------------------------------------- 16 4.2 .1系统结构设计 ----------------------------------------- 16 4.2 .2系统设计 ----------------------------------------- 17 4.3 系统子模块设计 --------------------------------------------- 18 4.3.1 管理员模块-------------------------------------------- 18 4.3.2 用户模块---------------------------------------------- 19 5 系统实现-------------------------------------------------------- 21 5.1 登录功能的实现 --------------------------------------------- 21 5.2 用户注册页面的实现 ----------------------------------------- 22 5.3 查询、预约医师的实现 --------------------------------------- 22 5.4 病人添加功能的实现 ----------------------------------------- 23 6 系统的发布------------------------------------------------------ 24 7 总结------------------------------------------------------------ 24 8 致谢------------------------------------------------------------ 24 参 考 文 献-------------------------------------------------------- 25 基于PHP医院网上预约挂号系统的设计和 实现 专 业: 级: 年 学 号: 作 者: 指导老师: 基于PHP的医院网上预约挂号系统 摘 要 Internet互联网技术的快速发展的同时也带来了社会各个行业的发展。它的发展已经深入到社会的各个角落。作为社会发展的前沿技术,各行各业只要对其合理的进行运用,必将会带来巨大的便捷。成功的运用Internet将为医疗事业带来无限便利。 在传统的医院挂号过程中,信息处理停留在手工方式,劳动强度大且工作效率低,医师护士和管理人员的大量时间都消耗在事务性工作上,病人排队等候时间长,这些影响了医疗的秩序,也延误了患者的病情。而本论文的探索研究方向则为医院挂号网站的开发与实现。本系统采用的是基于广域网的B/S结构平台,比C/S有更强的适用范围,具有更加生动和丰富的表现方式与用户交流。在此背景下,本文论述了用WEB语言开发医院管理系统的流程,介绍了基于PHP+APACHE+SQL SERVER网络环境的配置,以及该系统的操作说明。本系统是适应时代发展的需要,提高管理的效率而开发设计的。系统的设计框架采用的是已经发展成熟、PHP+APACHE+SQL SERVER技术框架,使系统实施更为方便和安全。网页采用的是JSP技术,它拥有卓越的系统可移植性,同时它与流行的XML等技术也能良好整合,加上MYSQL数据库强大的后台数据支持,奠定了PHP技术在网络应用系统开发中的关键地位。它使我们的网页更加生动、具有表现力。 这次毕业设计开发了医院预约挂号系统,该系统是专为解决广大患者挂号难这个问题。通过本网站患者可以有针对性的快速的找到符合自身的需求的医师进行预约挂号。 关键词:医院,挂号,PHP I Hospital registration and online booking system based on PHP Abstract With rapid development of Internet technology,which also brought the development of all sectors of society。It’s development has deep into every corner of society. As a cutting-edge technology, all walks of life as long as use it reasonablely , which will bring tremendous convenient and fast. Successful use of Internet will facilitate the medical cause enormous. Hospital in the traditional process, the information processing remain in the manual, labor-intensive and low efficiency, doctors、nurses and managers have a lot of time consumed by the business work, patients waiting in line for a long time around the course, and the impact of the order of a medical, but also delayed patients. The system is based on the wide area network of the B / S structure of the platform, than the C / S have more scope with a more lively and rich exchange of expressions with the user. System used in the design of the framework is already mature and secure PHP+APACHE+SQL SERVER technology framework, allowing the system to the implementation of more convenient and secure. JSP pages using the technology, it has excellent portability of the system, at the same time with popular technologies such as XML can be a good integration, coupled with a strong background MYSQL database data support, laid the PHP technology applications in the network development key position. It makes our website more lively and with expression. Design and development of the graduate appointment to the hospital registration system, the system is designed to address the vast number of registered patients with the problem difficult. Patients through this website can be found quickly targeted in line with the needs of their own to make appointments for registered physicians. Key words:hospital, registration, Apache,PHP. II 1绪 论 1 背景 1.1 课题背景及研究意义 随着经济与科学技术的高速发展,信息化的进程不断加快。随着计算机性能不断提高,价格不断下降,计算机已在医院医疗,教学,科研,管理的各个方面得到越来越广泛的应用。然而,我国还有部分医院的信息处理停留在手工方式,劳动强度大且工作效率低,医师护士和管理人员的大量时间都消耗在事务性工作上,病人排队等候时间长,辗转过程多,影响了医疗的秩序。计算机化的医院信息系统已成为现代化医院运营必不可少的基础设施与技术支撑环境。门诊挂号系统是整个医院管理信息系统的第一个窗口,是病人到医院就诊要做的第一项工作。它用于收集病人的信息,协调科室医生管理,控制各科室的流量等等。 医院网上预约挂号系统是一种基于互联网的新型挂号系统,是卫生信息化建设的基础的项目之一。利用该预约挂号系统,用户就可以在网上预约医院的专家、专科号,而无须再受排队之苦。它能更好的改善就医环境,简化就医环节,节约就医时间,真正体现了以病人为中心,一切从方便患者出发,符合当今医院人性化温馨服务的理念。 目前,门诊一直是困扰医院提高服务质量的一个复杂环节,特别是医疗水平高、门诊量大的医院,而造成门诊质量难以提高的因素主要有两方面: 一方面集中式挂号(现在流行的分层挂号只是相对而言一个范围较小的集中式挂号),就诊人员流量不均、具有不确定性,有明显的就诊高峰和低谷(表现在整个医院不同门诊时间段及同科室的不同时间段)。高峰期病人挂号排队长,就诊时间长,医生熟人插号现象,环境拥挤混乱,医生问诊时间短、不仔细、态度差。而低谷期,医生无病人看、溜号,医院资源浪费。 另一方面专家号(特别是名专家号)难挂,出现倒号、炒号现象,严重损害病人利益,影响到医院的声誉。而采用网上预约挂号,可有效的解决这一现象,还通过有效的身份验证,杜绝倒、炒专家号的现象,提高医院门诊服务质量,取得良好的社会效益和经济效益。此外,病人到医院就诊前对医院的相关信息了解不多,对所要挂的专科医生的情况又不太了解,只能凭经验和印象进行选择,具有较大的盲目性。而当医院开通网上挂号预约服务以后,求医者只需坐在家中,轻点儿下鼠标,就可以挂上医院专家门诊号,可以做到“足不出户选医生”。网上预约正悄然改变着都市求医者的看病观念。拥有相对固定的个人医生和习惯,预约看病,将不再遥远,所以应用必将越来越广泛。 1.2 国内外研究现状 随着互联网络的迅猛发展,Internet用户已呈几何级数增长,目前已经有很多医院投入使用网上挂号系统。据了解,预约挂号在国外颇为普及。在西方国家,病人看病都需要事先进行预约。随着预约挂号的深入推广,国内越来越多的医院也意识到预约服务 1 在节约看病时间、分流患者、减轻医院压力上的作用。据了解,尽管存在很多困难,但全国各地的医院在尝试预约挂号的实践中还是提供了很多有益的做法。 广东省人民医院早在2004年就采取了一套相对完整的预约挂号体系,其三种预约方式,按照受欢迎程度排名依此为:电话、现场、网络,分别占到了预约挂号中 50%、40%、10%。在福建,全省范围内拨打12320海西健康热线电话,即可预约到福建省立医院等5家医院的专家号,只按市话费标准收费,不收取任何信息服务费。在北京,解放军总医院(三零一医院)于前不久专门开通了夜间门诊电话预约挂号66936619(不收预约费),可以毫不费力地约到各科室的专家,开通不久即见成效,目前已经成功分流了约1/3的患者。 此外医院还开通手机挂号功能,患者只需要发送短信就可以进行预约挂号。患者根据系统提示,输入姓名、性别、年龄、住址、付费方式、就诊卡号、预约时间、预约科室、预约项目、预约医师等内容,系统就会根据各门诊科室提供的具体情况,安排给患者合适的就诊排号位或挂号建议。在患者就诊前一天、就诊当天、就诊前一小时、就诊前5分钟,系统还会以短信的形式多次通知患者。患者如果有事无法就诊,通过发送短信,经过医师或护士同意,还可二次预约。 1.3本课题研究内容 本课题的主要研究的内容是运用PHP语言、APACHE服务器和SQL数据库实现管理员对系统的管理、用户预约挂号等功能的管理和实现,包括前台模块和后台管理模块。 1.3.1功能模块 通过对用户需求的分析,本系统的功能主要包括两块,前台用户操作及后台管理。各个功能的具体描述如下: 前台用户操作界面功能主要有:专家查询、用户信息增加、查询、修改、删除等功能设置。各个模块的功能简述如下: 1、专家查询 通过这个功能可以浏览到每个专家的简介及所属科室,从而选择专家进行具体预约。 2、用户信息修改 可以对自己的信息进行修改,如:姓名、密码提示问题及答案、性别、出生年月、身份证号、E-mail地址等信息。 3、删除 删除用户信息。 4、系统管理 管理员进行对科室信息、医师信息的添加、删除与修改操作,也可以对用户进行删除操作。 2 1.3.2后台数据库 使用驱动程序访问数据库,数据库由五张表组成:管理员信息表、用户信息表、医生表、科室表以及提供预约的时间表。数据库主要记录用户信息、医生信息以及预约挂号的信息,并且预约记录也保存到数据库中。 1. 储存诊别数据的数据结构(SUBJECT): SUBJECT 字段意义 字段名称 诊别编号 int id 诊别名称 char name[80] 2. 储存医生数据的数据结构(DOCTOR): DOCTOR 字段意义 字段名称 医生编号 int id 医生名称 char name[80] 3. 储存药物数据的数据结构(MEDICINE): MEDICINE 字段意义 字段名称 药物编号 int id 药物名称 char name[80] 2 开发环境及开发技术 医院网上挂号系统是以PHP+Apache框架为主要的技术框架,以html技术为客户端的主要显示技术,以SQL数据库作为系统的数据存储单元。下面我们来介绍下本系统的开发环境以及开发中所用到的相关技术。 2.1 B/S模型 B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者说是改进的结构。用户界面完全通过浏览器实现,一部分事 3 务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成三层结构,是一种全新的软件系统构造技术。 B/S模式最大特点是:用户可以通过WWW例览器去访问Internet上的文本、数据、图像、动画、视频点播和声音信息,这些信息都是由许许多多的Web服务器产生的,而每一个Web服务器又可以通过各种方式与数据库服务器连接,大量的数据实际存放在数据库服务器中。客户端除了WWW创览器,一般无须任何用户程序,只需从Web服务器上下载程序到本地来执行,在下载过程中若遇到与数据库有关的指令,由Web服务器交给数据库服务器来解释执行,并返回给Web服务器,Web服务器又返回给用户。在这种结构中,将许许多多的网连接到一块,形成一个巨大的网,即全球网。 B/S模型结构图如图2.1所示: 创建基本信息 用户 PHP页面 用户基本操作 Datebase服务器 Web服务器 图2.1 B/S模型结构图 从上图可见 这种结构的一个重要的特点是,用户可以完全不需要安装客户端软件,当然也不需要担心任何软件升级和不兼容等任何客户端所遇到的问题。相比之下,B/S模型的优点显而易见,更适合这个网站的构建,有利于网站的维护和扩充。 2.2 PHP技术 最早的WEB网站是由许多HTML文件组成的,这些文件就是所谓的静态网页:它们只能为用户提供静止的、一成不变的信息。如果发布的内容发生了变化,必须手工修改页面。对于规模较小的网站来说,这没有什么大问题,但是对于规模较大的网站,要跟踪网页上的数据变化,手工修改网页则不啻是一场恶梦。 如果想在静态网页上发布静态内容,或与用户交互,必须使用CGI (Common Gateway Interface,通用网关接口)。可以用很多语言编写CGI―Perl、Python、Tcl/Tk、C、C++以及VB等。用这些语言可以开发功能强大的CGI程序,特别是PERL语言,目前仍然是编写CGI程序的首选语言。PERL语言功能非常的强大,但也比较复杂,掌握它需要一定的时间。另外,用这些语言编写的CGI程序,每当有一个用户请求时都会建立一个新的进程来运行该CGI;如果突然有大量的用户请求出现,可能会出现性能问题(现在有一种称为FastCGI的技术可以解决这个问题) 因为编写CGI程序很困难,出现了各种技术来解决这个问题。微软公司的ASP技术就时一种非常优秀的解决。ASP技术可以在Windows NT/2000,IIS上运行,使用VBscript作为脚本语言,可以对多种数据库及ODBC进行操作。ASP技术虽然好,但 4 是如果采用这种技术,就意味着使用微软公司的全套技术。网络服务器只能使用windows nt/2000,web服务器只能使用iis服务器,数据库服务器最好使用微软的SQL SERVER 等。ASP技术出现后许多公司开始将ASP的思想移植到其他平台上,出现了许多UNIX平台上的,基于PERL或其他语言的ASP技术。这些技术一眼时专有技术,受商业支持少,平台适应性也较窄。 除了ASP外,还有一些类似的技术如ALLAIRE的CODE FUSION等。这些技术都可以实现在网页上动态发布信息。 PHP是一种类似微软ASP技术的WEB数据库解决分方案。它是一种嵌入式的脚本语言,用于在WEB上快速的发布动态信息。PHP是“PHP Hypertext Preprocessor” (“PHP:超文本处理器”)的缩写。它的许多语法借用了C,PERL,以及JAVA的语法,当然也有一些PHP的特性。PHP语法的目标是使WEB开发者快速编写动态网页。 “嵌入式脚本”的意思是脚本可以嵌入到HTML代码中。当使用PERL何C/C++语言编写CGI脚本时。必须使用printf ,echo等命令或者函数向浏览器输出HTML代码。而使用嵌入式的脚本语言时,HTML代码可以按照正常的方式编写(如front page或dream weaver等快速开发工具生成),需要特别处理的内容(如数据库浏览、查询、与mail服务器的连接等)通过嵌入到HTML代码中的脚本完成。这样,可以极大的加快开发速度,脚本的可读性也很强。 PHP的英文全称很有意思,PHP: Hypertext Preprocessor,一种递归的表示方法。和GNU的全称差不多,GNU是“GNU’ sNot Unix”的缩写。这可能是很多程序员的习惯,很诙谐。 2.3 PHP工作原理 PHP的所有应用程序都是通过WEB服务器(如apache)和PHP引擎程序解释执行完成的,工作过程: (1)当用户在浏览器地址中输入要访问的PHP页面文件名,然后回车就会触发这个PHP请求,并将请求传送给支持PHP的WEB服务器。 (2)WEB服务器接受这个请求,并根据其后缀进行判断。如果是一个PHP请求,WEB服务器从硬盘或内存中取出用户要访问的PHP应用程序,并将其发送给PHP引擎程序。 (3)PHP引擎程序将会对WEB服务器传送过来的文件从头到尾进行扫描并根据命令从后台读取,处理数据,并动态地生成相应的HTML页面。 (4)PHP引擎将生成HTML页面返回给WEB服务器。WEB服务器再将HTML页面返回给客户端浏览器。 2.4 Apache技术 Apache是最流行的Web服务器端软件之一。快速、可靠、可通过简单的API扩展,Perl/Python解释器可被编译到服务器中,完全免费,完全源代码开放。 5 Apache服务器拥有以下特性:1支持最新的HTTP/1.1通信协议拥有简单而强有力的基于文件的配置过程;2 支持通用网关接口;3 支持基于IP和基于域名的虚拟主机;4 支持多种方式的HTTP认证;5 集成Perl处理模块;6 集成代理服务器模块;7 支持实时监视服务器状态和定制服务器日志;8 支持服务器端包含指令(SSI);9 支持安全Socket层(SSL);10 提供用户会话过程的跟踪; 11支持FastCGI;通过第三方模块可以支持Java Servlets。 2.5 JavaScript语言 JavaScript语言是一种基于对象(Object)和事件驱动(Event Driven)并具有安全性能的脚本语言。使用它的目的是与HTML超级文本语言、JavaApplet(Java小程序)一起实现在一个Web页面中链接多个对象,与Web客户交互作用,从而达到开发客户端应用程序的目的。JavaScript是通过嵌入或调入在标准HTML语言中实现,它的出现弥补了HTML语言的缺陷。 在JavaScript语言的配合下,能够运用PHP技术开发出非常漂亮而且交互性强大的动态Web网站来. 2.6 软件环境 本系统的的软件环境如下: 操作系统:Unix/Linux/windows2000或以上版本 数据库:MYSQL 5.0 开发工具包:JDK Version 1.7.2 开发环境:eclipse-SDK-3.1.2-win32 Web服务器:Apache 浏览器:IE7.0以上 2.7 硬件环境 本系统的硬件环境如下: 客户机:普通PC PU:P4 1.8GHz以上 C 内存:256MB以上 能够运行IE5.0以上或者Netscape4.0以上版本的机器 分辨率:推荐使用1024*768像素 WEB服务器 CPU:P4 2.0GHz 内存:1G以上 硬盘:80G以上 网卡:千兆 数据库服务器 6 CPU:P4 2.0GHz 内存:1G以上 硬盘:80G以上 2.8 数据库简介 由于本系统采用的数据库为MySQL数据库,所以这里对MySQL数据库的相关知识进行简单介绍。 MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。 MySQL是一个快速、多线程、多用户的小型关系型数据库管理系统。它支持正规的SQL查询语言和采用多种数据类型,能对数据进行各种详细的查询等。MySQL提供了一全套的数据库创建和访问机制,通过很直观的方式就可以创建、访问、修改数据库的表和项,并且能建立它们之间的各种数据关系。MySQL系列从90年代就发展起来,经过了多年的反展,它已经成为非常成熟的技术,面向中小型企业级应用。 MySQL数据库的特点是数据库文件小而简单,不需要运行或者启动数据库服务进程就可以使用。通常MySQL数据库文件可以随网页文件一起方便地放在网站的目录中,正是由于这些特点,MySQL数据库通常被用来作为网站开发的数据库支持技术。 对MySQL数据库的管理采用图形化管理工具phpMyAdmin 。phpMyAdmin是一个用PHP编写的、基于Web的、跨平台的MySQL管理程序,支持简体中文,使用Web浏览器作为管理界面。通过phpMyAdmin可以进行绝大部分的MySQL操作,包括对数据库级操作,表级操作,以及数据管理等。 与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQL Cluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。 MySQL特点: <1>.使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植。 <2>.支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统。 <3>.为多种编程语言提供了API。这些编程语言包括C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。 <4>.支持多线程,充分利用CPU资源。 <5>.优化的SQL查询算法,有效地提高查询速度。 <6>.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB 2312、BIG5, 7 日文的Shift_JIS等都可以用作数据表名和数据列名。 <7>.提供TCP/IP、ODBC和JDBC等多种数据库连接途径 。 <8>.提供用于管理、检查、优化数据库操作的管理工具。 <9>.可以处理拥有上千万条记录的大型数据库。 3 系统需求分析 3.1系统需求分析 目前,门诊一直是困扰医院提高服务质量的一个复杂环节,特别是医疗水平高、门诊量大的医院,而造成门诊质量难以提高的因素主要有两方面: 一方面集中式挂号(现在流行的分层挂号只是相对而言一个范围较小的集中式挂号),就诊人员流量不均、具有不确定性,有明显的就诊高峰和低谷(表现在整个医院不同门诊时间段及同科室的不同时间段)。高峰期病人挂号排队长,就诊时间长,医生熟人插号现象,环境拥挤混乱,医生问诊时间短、不仔细、态度差。而低谷期,医生无病人看、溜号,医院资源浪费。 另一方面专家号(特别是名专家号)难挂,出现倒号、炒号现象,严重损害病人利益,影响到医院的声誉。而采用网上预约挂号,可有效的解决这一现象,还通过有效的身份验证,杜绝倒、炒专家号的现象,提高医院门诊服务质量,取得良好的社会效益和经济效益。 为了解决这一问题,我们需要一种能够方便快捷的挂号方式来满足各方面的需求,减少排队挂号的痛苦和时间的浪费,而本课题所研究的基于PHP的医院网上挂号预约系统正好是为了解决这一问题而设计的方案,因此,本系统拥有很大的用户需求。 3.2系统可行性分析 网上预约挂号系统是一种基于互联网的新型挂号系统,是卫生信息化建设的基础项目之一。利用该预约挂号系统,用户就可以在网上预约医院的专家、专科号,而无须再受排队之苦。 而当医院开通网上挂号预约服务以后,求医者只需坐在家中,轻点儿下鼠标,就可以挂上医院专家门诊号,可以做到“足不出户选医生”。网上预约正悄然改变着都市求医者的看病观念。拥有相对固定的个人医生和习惯,预约看病,将不再遥远,所以应用必将越来越广泛。 从可行性上分析,无论是需求方面,还是技术方面,完全可以对系统进行开发,这样的方案是可行的。 3.3系统功能需求 医院网上预约挂号系统的总体目标是:在计算机网络,数据库和先进的开发平台 8 上,利用现有的软件,配置一定的系统环境,开发一个具有开放体系结构的,易扩充的,易维护的,具有良好人机交互界面的医院网上预约挂号系统,为广大患者提供一个方便快捷的网上预约挂号服务。系统具体需要实现以下功能: 1、浏览医院信息:对医院的概况有所了解。 2、预约查询:查询医师及其所属科室信息,以及查询医师可以被预约的时间列表。 3、预约服务:已登录的用户按照自己的实际情况选择合适的医师和合适的就医时间进行预约服务。 4、管理员模块:对医师以及医师所属科室进行添加、删除和修改的操作。 5、用户信息修改:对自己的信息可以进行修改。 3.3数据流图 软件需求分析中主要采用结构化分析方法(Structured Analysis,简称SA),SA是面向数据流进行需求分析的方法,像所有的软件分析方法(如面向对象分析方法、IDEF方法等等)一样,SA也是一种建模活动,它使用简单易读的符号,根据软件内部数据传递、变换的关系,自顶向下逐层分解,描绘满足功能要求的软件模型。 在系统中主要采用数据流图(DFD)这种半形式化的描述方式表达需求。它是一种功能模型,以图形的方式描绘数据在系统中流动和处理的过程,只反映系统必须完成的逻辑功能。它有四种基本图形符号: 外部实体:与系统进行交互,但系统不对其进行加工和处理的实体,用带标记的矩形表示; 加工:对数据进行的交换和处理,用带标记的圆圈表示; 数据流:在数据加工之间或数据存储和数据加工之间进行流动的数据,用带标记的箭头表示; 数据存储:在系统中需要存储的实体,用带标记的双实线表示。 在多层数据流图中,顶层流图仅包含一个加工,它代表被开发系统,它的输入流是该系统的输入数据了,输出流是该系统的输出数据;底层流图是指其加工不需要再做分解的数据流图,中间层流图表示对其上层父图的细化,它的每一步加工可能继续细化成子图。 将整个系统看成一个加工,然后找出作用于该加工的外部实体,以及相应的数据输入和输出。对于“基于PHP的医院网上挂号系统”而言,整个系统就是一个加工“医院网上挂号系统”。“管理人员”是数据的源点,“用户”是数据的终点。另外,管理人员需要添加科室信息和医师信息,说明“科室信息”和“医师信息”是数据流,同样,“查询请求”和“查询结果”也是数据流。因此得到了第0层DFD图,如图3.1所示: 9 科室信息 查询结果 0 管理员员 用 户 医院网上 挂号系统 医师信息 查询请求 图3.1 第0层DFD图 “科室信息”是管理人员需要添加的一个信息,因此加入一个加工“添加科室信息”,同样得到“添加医师信息”这个加工。数据流“查询请求”和“查询结果”应该由加工“查询信息”来完成。这样,“添加科室信息”,“添加医师信息”和“查询信息”三个加工代替了第0层的“医院网上挂号系统”,同时增加了“科室”和“医师”这两个数据存储,因此,得到了第1层DFD图,如图3.2所示: 科室信息 1添加科 科 室 管 理 员 室信息 医师信息 1添加医 医 师 师信息 查询请求 1查 询 用 户 信 息 查询结果 图3.2 第1层DFD图 对第1层DFD图的一个加工“查询信息”进行展开,得到了第2层DFD图,如图3.3所示: 10 查询请求 2合法性 用 户 检 查 科室 查询条件 条件合法 医师 2信息输 出列表 查询条件 查询结果 2查 询 信 息 图3.3 第2层DFD图 3.4 系统的数据字典 以下列出“基于PHP的医院网上预约挂号系统”的部分数据字典: <1> 科室信息数据字典,如图3.4所示: 名字 科室信息 描述 医院开设科室的信息 定义 科室信息=科室名称+科室简介 位置 输出到用户的浏览器 图3.4 科室信息数据字典 <1> 医师信息数据字典,如图3.5所示: 名字 医师信息 描述 医院医师的信息 定义 医师信息=医师名称+医师简介+所属科室+医师职称 位置 输出到用户浏览器 图3.5医师信息数据字典 3.5系统的性能需求 为了保证系统能够长期,安全,稳定,可靠,高效的运行,医院网上挂号系统应 该满足以下的性能需求: 11 1、系统处理的准确性 1、系统处理的准确性是系统的必要性能。由于医院网上挂号系统的医师功能和挂号预约功能对于整个系统的功能和性能举足轻重。所以在系统的开发过程中,必须采用一定的方法保证系统的准确性。 2、系统的易用性 医院网上挂号系统是直接面对广大患者的,所以系统应该使用用户熟悉的术语和中文信息的界面。 3.6系统的数据需求 1、数据录入和处理的准确性和实时性 系统的大部分数据的输入都是由管理员手工输入,所以系统的界面应具有排错功能,保证系统正常运行。 2、数据的一致性和完整性 由于有关科室信息和医师信息是共享的,所以要保持文档数据的一致性,对于输入的数据则要求保持完整性。 3.7系统的运行需求 系统软件:PHP5,Apache 2.2 数据库管理系统:MySQL 硬件要求:Pentium III 450以上, 258M RAM,14G HD 4 系统设计 4.1系统数据库设计 在信息世界中,信息从客观事物出发流经数据库,通过决策机构最后又回到客观世界,信息的这一循环经历了三个领域:信息世界,数据世界,现实世界。现实世界的事物反映到人的头脑中,人的大脑对它有个认识过程,经过分析(选择、命名、分类等)进入信息世界。这些信息再进一步加工、编码,然后进入数据世界,而软件系统的开发工作需要考虑这两个方面的问题,也就是要考虑系统开发所需要的数据,以及如何对这些数据进行操作。这两个问题贯穿了整个软件系统的开发过程,这也就是数据库的设计问题,软件设计的一个核心。 4.1.1 数据库表格设计 在完成系统的ER图之后,需要将ER模型转化为关系模型,也就是说,要设计出 12 数据库所需要的表格。在这里,选用的是关系数据库。因为关系数据库中的二维表格可以很清楚地描述数据之间的联系。 在系统中定义的表格都严格地按照范式的思想和要求完成,数据库中的所有表格都达到了三范式的要求。根据系统ER图,针对本系统的特点,在对所搜集的数据进行化之后,定义了如下五张表格,分别是用户信息表、科室信息表、医师信息表、时刻表和管理员信息表。通过对这五张表格的操作可以较好地完成系统设计的各项功能,五张表格之间有着不同程度的联系。 此软件文档系统采用MySQL数据库管理系统。首先在MySQL中建立一个数据库,将其命名为hospital,然后根据数据库的逻辑结构分析创建5张数据表。 ? 时刻信息表:用于存放所有可以预约的时间信息,如图4.1所示。 ? 管理员表: 用于存放系统的管理员信息,如图4.2所示。 ? 医师信息表:用于存放所有医师的信息,包括医师姓名、医师职称、医师简介、所属科室等信息,如图4.3所示。 ? 用户信息表:用于存放所有用户的信息,包括账号、密码、学号、姓名、性别、住址等基本信息,如图4.4所示。 ? 科室信息表:用于存放所有科室的信息,包括科室名称,科室简介等。 五张表的表结构如下(带k的为主键): 表4.1时刻信息表结构 字段名称 字段类型 说明 Id(k) int(16) ID序列号 time Varchar2(32) 预约时间 表4.2管理员表结构 字段名称 字段类型 说明 Id(k) int(16) ID序列号 loginName Varchar2(16) 登录账号 password Varchar2(32) 登录密码 表4.3医师信息表结构 字段名称 字段类型 说明 Id(k) int(16) ID序列号 name Varchar2(32) 医师姓名 description Varchar2(32) 医师简介 zhicheng Varchar2(32) 医师职称 表4.4用户信息表结构 13 字段名称 字段类型 说明 Id(k) int(16) ID序列号 name Varchar2(32) 用户姓名 loginName Varchar2(32) 登录名称 loginpassword Varchar2(32) 登录密码 department Varchar2(32) 所在院系 schoolNumber Varchar2(32) 学号 gender Varchar2(8) 性别 address Varchar2(32) 所在公寓 phone Varchar2(32) 联系电话 email Varchar2(32) 电子邮箱 表4.5科室信息表结构 字段名称 字段类型 说明 Id(k) int(16) ID序列号 name Varchar2(32) 科室名称 description Varchar2(32) 科室简介 4.1.2 ER图设计 ER模型直接从现实世界抽象出实体类型及实体间联系,然后用ER图来表示数据模 型。它有两个明显的优点:接近于人的思维,容易理解;与计算机无关,用户容易接受。 E-R图为实体-联系图,提供了表示实体型、属性和联系的方法,用来描述现实世 界的概念模型。 构成E-R图的基本要素是实体型、属性和联系,其表示方法为: ? 实体型:用矩形表示,矩形框内写明实体名; ? 属性:用椭圆形表示,并用无向边将其与相应的实体连接起来; ? 联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起 来,同时在无向边旁标上联系的类型(1 : 1,1 : n或m : n)。 本系统的各实体类的属性图如下所示: 科 室 名 称 科 室 概 况 科 室 信 息 图4.6 科室信息属性图 14 账号名 密 码 管 理 员 图4.7 管理员信息属性图 学号 更新时间 所在院系性 别 更新时间 所在公寓 登录密码 联系电话 登 录 名 电子邮件 真实姓名 用 户 图4.8用户信息属性图 医师职称 医师名称 医师简介 医师信息 图4.9 医师信息属性图 时 刻 时 间 表 图4.10 时间属性图 本系统的E-R图如图4.11所示: 15 图4.11 系统E-R图 4.2 系统设计 4.2 .1系统结构设计 系统的概要设计中最重要的就是系统的模块化。模块化是指解决一个复杂问题时自项向下逐层把软件系统划分成若干个模块的过程。每个模块完成一个特定的功能,所有的模块按某种方法组织起来,成为一个整体,完成整个系统所要求的功能。 将系统划分为多个模块是为了降低软件系统的复杂性,使系统容易修改,提高可读性、可维护性,但模块的划分不能是任意的,应尽量保持其独立性。也就是说,每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单,即尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。 在系统的概要设计中主要采用结构化设计(Structure Design,简称SD),SD以需求分析阶段产生的数据流图DFD为基础,按一定的步骤映射成软件结构。 系统的结构图,如图4.12所示: 医院挂号预约系统 管理人员 用 户 用医科修医科用 户师室改院 室户 管管管信概查注 理 理 理 息 况 询 册 医医16 修删添删添修删 师师改除加除加改除 查预科用科科医医医 询 约 室 户 室 室 师 师 师 图4.12 系统结构图 ? 用户注册:可以注册用户类型的账号。 ? 删除用户:管理人员可以删除任何一个用户账号。 ? 修改信息:注册的用户可以修改信息。 ? 科室管理:实现对医院科室的管理,包括科室的添加、编辑和删除。 ? 医师管理:实现对医院医师的管理,包括医师的添加、修改和删除等等。 ? 医院概况:用户可以浏览医院的基本信息,如招聘信息,操作流程等 ? 科室查询:用户可以查询现有的医院科室。 ? 医师查询:用户根据已经选择的科室信心可以查询该科室下的医师信息。 ? 医师预约:用户根据自己的实际情况,选择符合自己需要的医师,选择合适的就医时间。 4.2 .2系统流程设计 系统在用户登录的时候,除了对账号的合法性进行判断外,还对账号的类型判断,从而显示不同的界面给用户。 管理员可以管理用户信息,如删除账号,还可以对医院所属科室进行添加、修改、删除的操作、也可以对科室所属医师进行添加、删除和修改的操作。 普通用户可以查询系统内已有的科室信息和医师信息,根据自己情况预约。 根据这些功能的要求,系统的总体流程图如图4.13所示: 17 图4.13 系统总体流程图 4.3 系统子模块设计 在实现系统各个子模块的功能上,我们需要了解子模块的主要功能。是实现系统的各部分更容易,高效。下面我们将具体介绍各个功能模块。 4.3.1 管理员模块 管理员可以管理用户信息,如删除账号,还可以对医院所属科室进行添加、修改、删除的操作、也可以对科室所属医师进行添加、删除和修改的操作,其功能结构图如图4.14所示:其操作流程图如图4.15所示: 管理员模块 医科用 师室户 管管管 理 理 理 用添修删添修删 户加改除加改除 管医医医科科科 理 师 师 师 室 室 室 图4.14 管理员模块结构图 18 图4.15 管理员模块流程图 4.3.2 用户模块 用户可以管理用户信息,如删除账号,还可以对医院所属科室进行添加、修改、删除的操作、也可以对科室所属医师进行添加、删除和修改的操作,该模块的结构图如图4.16所示,其操作流程图如图4.17所示: 用户注册 修改信息 医师查询 用 户 科室查询 医师预约 医院概况 图4.16 用户模块结构图 19 图4.17 用户模块流程图 20 5 系统实现 5 系统实现 5.1 登录功能的实现 在登录窗口,用户可以输入账号和密码进行登录,只有合法的账号和密码才成功 登录到系统。系统会根据输入的用户名判断用户的类型,从而提供相应的功能如图5.1 所示: 图5.1 用户登录窗口 由于本系统中只有一个管理员而且管理员的用户名是不能修改的,所以在登陆的 时候通过用户输入的用户名来判断登陆者的类型,其代码实现如下: '登录系统'); if(isset($p_submit)){ if(empty($p_yanzheng)) alert_back('登录失败:验证码不正确~'); if($p_yanzheng != $_SESSION["Checknum"]) alert_back('登录失败:验证码不正确~'); if(empty($p_username) || empty($p_password)){ alert_back('登录失败,用户名或密码为空~'); } $user = $db->select_one('user',array('username' => $p_username)); if(!$user) alert_back('登录失败,没有这个用户~'); if($user['password'] != md5($p_password)) alert_back('登录失败,密码不对~'); if(!isset($_SESSION)) session_start(); $_SESSION['uid'] = $user['id']; $db->update_date('user',array('id' => $user['id']),array('lasttime' => time()),1); header('Location:?m=home'); 21 exit(); } $tpl = 'login.htm'; ?> 5.2 用户注册页面的实现 如果需要注册新用户,可以使用用户注册功能,添加的信息包括用户的姓名、性 别、学号、登陆名、登陆密码、所在院系等其他信息。当输入的内容不匹配的时候,系 统会给出提示,让用户修改,如图5.2所示: 图5.2 用户注册页 5.3 查询、预约医师的实现 通过该功能,用户可以查询该系统内所有的科室信息以及该可是下所有医师的信息,并根据用户自己的实际需要和实际情况选择合适的医师、合适的时间进行就医 <1> 查询医师可预约时间的代码实现 @extract($_GET,EXTR_PREFIX_ALL,"g"); if(isset($_POST['submit']) || isset($g_submit)){ @check_post_request(); @extract($_POST,EXTR_PREFIX_ALL,"p"); } session_cache_limiter('private,must-revalidate'); if(!isset($_SESSION)){ session_start(); } $config['sys']['path'] = str_replace('guahao.php','',$_SERVER['PHP_SELF']); 22 $db = new c_mysql; if(isset($g_submit) || isset($p_submit)){ if(empty($p_yanzheng)) alert_back('很抱歉2,预约提交失败:验证码不正确,谢谢~'); if($p_yanzheng != $_SESSION["Checknum"]) alert_back('很抱歉,预约提交失败:验证码不正确,谢谢~'); if(empty($p_name)) alert_back('很抱歉,预约提交失败:请填写您的姓名,谢谢~'); if(empty($p_age)) alert_back('很抱歉,预约提交失败:请填写您的年龄,谢谢~'); if($p_age < 0 || $p_age > 120) alert_back('很抱歉,预约提交失败:您输入的年龄不合法,请重新输入,谢谢~'); if(empty($p_rid)) alert_back('很抱歉,预约提交失败:请选择需要预约的科室,谢谢~'); if(empty($p_tel)) alert_back('很抱歉,预约提交失败:请填写您的联系电话,谢谢~'); if(empty($p_comedate)) alert_back('很抱歉,预约提交失败:请选择您的来院日期,谢谢~'); if($p_comedate < date('Y-m-d')) alert_back('很抱歉,预约提交失败:请选择正确的来院日期,谢谢~'); 5.4 病人添加功能的实现 程序会显示主选单: *****************主选单***************** **************************************** 1. 新增病人资料 2. 挂号 3. 查询某病人的就诊纪录 4. 查询某医生的看诊纪录 5. 结束 **************************************** 图5.4 添加病人页面 23 6 系统的发布 (1)如果本地工作站作为服务器,则在安装了相关组件和APCHI以后,按照介绍正确配置APCHI,申请到相应的域名等业务,让本地服务器连接到网络,就可以通过网络访问该系统。 (2)如果是利用网络上的主页空间进行发布,则需要申请到可以支持PHP和MySQL数据库的Web空间,把系统所有文件上传至网络服务器上,通过空间提供商所的同的域名就可以访问到本系统。 7 总结 本系统在Windows XP的平台下采用了PHP动态网页技术、MySQL数据库、Apache服务器,整个工程在基于B/S模式的下,使用PHP语言来编写程序,以及 Dreamweaver CS3,Potoshop CS2和Frontpage 2003软件来制作和美化系统页面。相比于现在流行的挂号管理系统,本系统还拥有以下特点:界面简洁,操作方便,界面美观实用,并且系统的后台管理功能相当强大,对于网站的大多属性都可以编辑修改,方便了管理员对系统的管理和设置。本系统的功能已经基本是实现,但是还有很多的缺点。首先是功能的问题,由于本人对医院的工作流程以及具体的管理方法方面没有做深入的了解,所以实现的功能也很简单,只有基本的数据库的操作和信息发布功能,其次是该系统页面的问题,本系统的页面均采用手写HTML代码,没有采用可视化的开发工具。因为本人对HTML代码运用的不够娴熟所以页面不太美观。 8 致谢 完成这个系统,我得到了很大的锻炼,从系统相关技术的资料搜集和学习,网站的可行性分析,需求分析,到架构设计,数据库设计,详细设计,再到具 24 体的编码和开发、辅助工具的使用,全是在导师的指导和同班同学的帮助下由个人完成的,它涉及到了软件工程的方方面面。在之前所学知识的基础上,这次毕业设计让我对开发一个工程有了更为深刻的认识。在系统的设计和开发过程中,我不断学习新的软件工程知识和开发技术,极大的高了我的编程水平和系统开发能力。通过对PHP动态网站相关知识的学习,使我对PHP的开发模式有了全新的认识,深刻感觉到自己知识的不足,使得自己查阅各种资料并学习,现在已经能够比熟练和灵活的运用这些技术。 通过本次毕业设计,我学到了很多东西,例如:编程规范,PHP技术等。这次毕业设计是对我大学本科四年所学知识的一次综合应用,让我认识到了自己的不足,并不断的加强改进。在系统不断的完善改进中,我学到了很多新的知识,也懂得了很多。这使我对自己的未来充满了信心。 参 考 文 献 [1] 飞思科技产品研发中心.PHP网站开发.北京:电子工业出版社,2005年 [2] 屈喜龙,朱杰等.PHP开发动态网站实例荟萃.机械工业出版社,2006年3月 [3] 张海藩,软件工程导论.清华大学出版社.2004年7月 [4] 明日科技,许登旺,邹天思等; PHP程序开发范例宝典,人民邮电出版社,2007年10月 [5] 杨则正. 对JavaScript的研究[J]. 管理科学文摘, 1998,(12). [6] 张志远. JavaScript与客户端安全[J]. 东莞理工学院学报, 2002,(02). [7] 陶宏才.数据库原理及设计.清华大学出版社,2004年3月 [8] 王涌.PHP与相关数据库技术高级指南.电子工业出版社,2004年 [9] 王永红. 使用JavaScript增强网页的功能[J]. 安徽建筑, 2001,(02). [10] 徐峰. 基于MySQL的PHP数据库访问技术 [J]. 计算机时代, 2001年02期 [11] 施威铭研究室著,王超辉改编.PHP网页模块开发实例导学.中国电力出版社,2007年7月 25 [12] 陈军.PHP+MySQL经典案例剖析.清华大学出版社,2008年8月 [13] 廖世恩 许宏松 《PHP 4 程序设计》 机械工业出版社 [14] tobias ratschiller till gerken 《PHP 4.0 Web 开发技术指南》 机械工业出版社 [15] james Lee Brent Ware 《开放源码网站开发指南》清华大学出版社 [16] 阮文江 《JavaScript 程序设计基础教程》 人民邮电出版社 [17] 廖若雪 《PHP 4.X企业级Web应用与开发》 机械工业出版社 26
/
本文档为【基于php医院网上预约挂号系统的设计和实现】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索