0941903205-陶丹-基于Web的预约挂号系统

上传人:沈*** 文档编号:142013996 上传时间:2022-08-24 格式:DOC 页数:48 大小:1.79MB
返回 下载 相关 举报
0941903205-陶丹-基于Web的预约挂号系统_第1页
第1页 / 共48页
0941903205-陶丹-基于Web的预约挂号系统_第2页
第2页 / 共48页
0941903205-陶丹-基于Web的预约挂号系统_第3页
第3页 / 共48页
点击查看更多>>
资源描述
江苏科技大学本科毕业设计(论文)江苏科技大学本 科 毕 业 设 计(论文)学 院 计算机科学与工程 专 业 通信工程 学生姓名 陶丹 班级学号 0941903205 指导教师 李俊娴 二零零六年六月江苏科技大学本科毕业论文基于Web的预约挂号系统The system which out-patient appointments based on Web schema42摘 要医院作为社会的公共事业机构,需要合理的运用IT技术的支持,这样才能够更好地为人民服务。目前,大部分的医院挂号流程都处理停留在手工操作的阶段,工作量非常大,而且工作效率也不高,浪费了大量的时间,病人排队等候时间长,这些都在一定程度上都对医院的公共形象有不好的影响。 而本篇论文的研究的系统是专为医院设计的,它主要针对医院的预约挂号这一环节,用户通过这个系统就可以在网上查看医院详细资料,科室以及专家的信息,并在此基础上进行挂号预约,而医院后台管理员也可以通过这个系统来对医院所有的科室以及医生的信息进行增删改查等操作。这个系统是基于web平台,B/S模式。页面的生成则是采用的JAVA语言中的JSP技术,它的可移植性强,同时又能与流行的XML等技术有良好的整合,而又有MYSQL数据库的支持,奠定了JSP技术在网络应用系统开发中的关键地位。它使我们的网页更加生动、并且更有利于管理。这次毕业设计主要是开发了医院预约挂号系统,该系统主要是为了解决广大患者因为挂号而浪费大量时间这个问题。通过实验,我们发现利用这个系统患者可以有针对性的快速的找到符合自身的需求的医师进行预约挂号。关键词:医院 预约 JSP MYSQL AbstractHospital , as a social public utility, need the support of reasonable use of IT technology, so as to better serve the people. At present, most of the hospital registration process are stay on stage of manual operation , the workload is very large,and the work efficiency is also not high , a lot of time consumed by the business work and the patients waiting in line for a long time around the course. All of these are to some extent have a bad influence on the public image of the hospital.And this papers researching system is specially designed for hospital. It is mainly aimed at the part of the hospital appointment. Users through this system on line can view the hospital details, departments information, and doctors information, and on this basis make an registration appointment. And hospital administrators also can through this system to all the departments and doctors informations in hospital to add、delete、modify and query operations. The system is based on the web-based platform and the style of B/S. Page generation is used in the JAVA language JSP technology, Its a portability strong system, at the same time can have a good combination with popular technologies such as XML, And with the MYSQL databases support ,it let the JSP technology applications in the network development key position. It makes our website more vivid, and more conducive to the management of web pages.The graduation design is mainly to design and develop the hospital appointment registration system, the system is mainly in order to solve the problem that vast number of patient wasting a lot of time for register. Through the experiment, we found that patients using the system can quickly find your own targeted needs of physicians to make an appointment.Key words:Hospital,Appointment , JSP , MYSQL目录第一章 绪论11.1课题背景及研究意义11.2 国内外研究现状21.3本课题研究内容21.3.1 JSP的介绍31.3.2 Tomcat 7.0简介31.3.3 Servlet简介41.3.4 MySQL数据库简介41.3.5 JDBC简介51.4 论文内容和组织结构5第二章 系统分析与设计72.1系统分析72.1.1系统可行性分析72.1.2系统功能需求82.1.3 系统性能需求82.1.4 系统数据需求92.1.5 系统数据流图92.1.6 系统的数据字典112.2 系统设计112.2.1 系统模块设计112.2.2 系统子模块设计142.2.2.1 前台用户模块142.2.2.2 管理员模块15第三章 数据库分析与设计173.1 数据库设计173.2 数据库设计周期与原则173.2.1数据库的设计周期173.2.2 数据库的设计原则183.3 ER图设计183.4 数据库表设计20第四章 系统实现234.1 系统开发环境的搭建234.1.1 Eclipse平台的组件234.2 前台开发234.2.1 前台文件架构234.2.2 前台首页功能运行结果234.2.3 注册功能运行结果244.2.4 登录功能运行结果254.2.5 修改密码功能运行结果264.2.6 修改信息功能运行结果274.2.7 查询科室功能运行结果274.2.8 查询医师功能运行结果284.2.9 专家预约功能运行结果294.2.10 查询个人订单功能运行结果294.3 后台开发304.3.1 后台文件架构304.3.2 后台功能运行结果304.3.3 查询医师功能运行结果314.3.5 修改医师信息功能运行结果324.3.6 删除医师信息功能运行结果334.3.7 查询医师功能运行结果334.3.8 添加科室功能运行结果344.3.9 删除医师信息功能运行结果344.3.10 用户订单查询功能运行结果354.3.11 退出系统功能运行结果36第五章 遇到的问题及解决方案37第六章 结 论39致 谢41参 考 文 献42第一章 绪论1.1课题背景及研究意义随着社会经济与IT产业的高速发展,信息化进程的飞速加快,计算机性能在不断提高,而价格也在不断下降,计算机已在企业管理,教育教学,科学研究等各个方面得到越来越广泛的应用。但是,在我国很多地方的一些医院的信息处理仍然停留在手工处理的方式,劳动强度很大并且工作效率很低,这就浪费了医师、护士和管理人员的大量时间,并且病人排队等候时间太长,挂号手续有时太过繁琐,影响了医疗的效率。因此计算机化的医院信息系统已成为现代化医院经营必不可少的基础设施。而预约挂号系统则是整个医院管理信息系统的第一个窗口,病人只有通过这个通道才可以进行后续的流程。它用于收集病人的注册信息,完善科室医生管理13。医院网上预约挂号系统是一种基于互联网的新型网络挂号系统,是卫生信息化建设的基础的项目之一。利用这样的系统,用户就可以在任何地方网上预约医院的专家,而并不用再到医院苦苦排队等候。它能更好的改善就医环境,简化就医流程,节约时间,更好的为用户服务。目前,门诊一直是能否提高医院服务质量的一个重要且复杂的环节,对于医疗水平高、门诊量大的医院,问题就更加的突出。而造成这种门诊质量长期提不上去的原因主要在以下两个方面: 集中式挂号,就诊人员各时间段流量不均匀、具有很大的随意性,就医高峰期和低峰期十分明显。在患者就医高峰期时,病人挂号队伍冗长,就医的时间也长,而一些和医生熟悉的人或是有关系的人插号的现象频发,就医环境拥挤嘈杂,医生由于时间紧导致问诊时间短、仔细程度跟不上,问诊态度也不好。而在低谷期时,医生没与病人就诊,造成医生浪费时间,医院浪费资源。难挂专家号,在一定程度上损害了病人的切身利益,也严重的影响到了医院的声誉及医院的公众形象。而用了网上预约挂号这种方式,就可以比较有效的解决这个问题,在一定程度上提高医院的服务质量与就医效率,并能够取得好的社会及经济效益、树立好的社会形象。另外,病人到医院就诊前无法对医院的基本信息有很好地了解,也不太了解对所要挂号的专科医生的相关情况,只能盲目地进行选择或是任医院随机分配。而当医院开通网上挂号预约服务之后,患者只需要上网就可以进行预约挂号。这种网上预约挂号的方式正在不断地改变着现代人的求医观念。所以网上预约看病,将越来越方便快捷,也必定能够被广泛的应用14。1.2 国内外研究现状随着互联网络的迅猛发展,Internet用户迅猛增长,目前已经有很多医院正使用网上挂号系统。据调查,预约挂号在国外已经十分普及。在国外的一些国家,病人只有事先进行挂号预约才能够去医院看病。随着预约挂号的深入推广,国内越来越多的医院也意识到预约挂号的巨大作用,在节约看病时间、减轻医院高峰期就医压力,能够分批处理患者就医时间,在解决这个人流问题上有着不可替代的地位。目前,尽管还存在很多的难题,但各地的医院在做预约挂号系统的实践中仍然提供了很多有效的做法。浙江省第一人民医院早在2005年就采取了一套相对比较完整完善的预约挂号系统,它有三种预约方式,按照受欢迎程度排名依此为:电话预约、现场预约和网络预约,分别占到了预约挂号中 50%、40%、10%的比例。在北京,第一人名医院在之前也专门开通了夜间门诊电话预约挂号,不收预约费用,用户可以通过打电话便利的预约到各科室的专家,目前已经约1/3的患者使用此方式挂号。在福建省,全省范围内拨打12320健康热线电话,就可预约到福建省相关的5家医院的专家号,而费用却不高,只按市话费标准收费,不收取其他服务费。 此外,很多医院还开通了手机挂号的功能,患者想进行预约挂号,只需要发送短信就可以轻松的完成。患者根据系统的提示输入姓名、性别、年龄、就诊卡号、预约时间、预约科室、预约医师等内容,系统就会根据医院各科室提供的具体医生排班情况,安排给患者合适的就诊排时间。在患者就诊前一天或是一定的时间内系统还会以短信的形式多次通知患者15。1.3本课题研究内容本课题的主要研究的内容是运用JSP语言、TOMCAT服务器和MySQL数据库实现管理员对系统的管理、用户预约挂号等功能的管理和实现,包括前台模块和后台管理模块。1.3.1 JSP的介绍随着网络技术的迅猛发展以及Internet信息技术的加速进步。HTML语言成为了WWW服务的基础。网上预约挂号系统模块中所用到的JSP技术是在网页编程语言HTML的基础上再结合java基本语言来对网页进行设计编程的。JSP全称JavaServerPages,由Sun 公司提出,并有其他许多相关公司参与之中建立起的一种动态网页技术标准11。目前,JSP技术已在全世界范围内被广泛的应用。而JAVA语言的普及,使得JSP的发展前景也越来越受到各行业的关注9。JAVA技术简单易用,完全面向对象,具有平台无关性及可靠性,主要有以下特点: 作为Java语言的一部分,JSP技术拥有一次编写,各处运行的特点。即一次编程之后,就可以运行在任何具有符合Java TM语法结构的环境。这高于过去比较单一的平台开发。可以实现在跨平台的web服务器上工作。 JSP标签具有很强的扩充性。JSP开发者可以自己制定标签库,来减少对脚本语言的过分依赖。 易维护性。由于JSP技术的程序比较容易去维护和管理。其强大的组件技术可以使修改内容或修改逻辑都不影响其他部分。 可重用组件。JSP基于组件的技术方法加速了系统的开发过程。JavaBeans组件也可以随时访问数据库 ,因为JSP组件是可以跨平台应用的,所以它能够工作于UNIX和WINDOWS这两种不同的平台。由上面的JAVA语言特点来看,JSP程序的运用要更加灵活,可扩展性更强6。1.3.2 Tomcat 7.0简介Tomcat7.0是一个免费的、开放源代码的Servlet容器,它是某个基金会的项目中的一个至关重要的可以说是核心的项目,是由著名的Sun公司和其它一些公司共同开发出来的。因为有了Sun公司的大力支持,Tomcat中能够体现出JSP和servlet的规范。Tomcat在很多的合适的场合下被普遍使用,正是由于它是一个轻量级的应用服务器。这就使得它成为研发和测试JSP程序的首选软件。对于一个初次接触Tomcat的人来说,只要在一台机器上配置了Apache 服务器,就可以运行它来应答服务器对HTML页面的访问请求。Tomcat 在一定程度上算是Apache 服务器的扩展,但它是可以独立运行的,所以我们在运行tomcat 时,它实际上是作为一个与Apache 独立的进程单独运行的3 。由于Tomcat运行时占用比较小的系统资源,并且扩展性好,也能够负载平衡及邮件服务或其他开发应用系统的功能,所以大多数程序员都喜欢以及支持Tomcat 。并且它还处在不断的完善过程中,所有的感兴趣的程序员都可以有技术含量的更改它或者往里面添加新的功能操作1。1.3.3 Servlet简介 Servlet是一种服务器端的Java应用程序,它独立于操作平台和协议,并且可以生成动态页面。 它是客户请求端与服务器响应端的中间传输者。 Servlet是一种Java应用程序,位于Web 服务器内部的服务器端。因为Servlet由Web服务器来进行加载,这就不同于传统的从命令行启动的Java应用程序,所以这个Web服务器必须包含有支持Servlet的Java虚拟机2。1.3.4 MySQL数据库简介由于本系统应用的数据库是MySQL数据库,所以下面对MySQL数据库进行一个简单的介绍。MySQL数据库是由瑞典MySQL AB公司开发的,它是一个小型的关系型数据库管理系统。后来被Sun公司收购。目前MySQL被 广泛应用到Internet上的许多中小型的系统。由于它的体积较小、运行速度比较快、占用系统资源少,成本低,尤其是开放源代码,使得许多中小型网站将了MySQL作为网站数据库的首选。与其他的数据库,例如:Oracle、SQL Server等比较,MySQL有它的劣势,比如规模太小、功能不够完善等,但它仍然受到了很大的欢迎。MySQL提供的功能对于一般的人或者是中小的企业以及网站来说已经绰绰有余,而且由于MySQL是开放源码的,所以可以很好的降低网站运营成本。7MySQL的特点:.支持多种操作系统, Linux、Windows等。.提供API,方便了很多的语言,包括C、C+、Java等语言。 .支持运行多线程,能够充分利用CPU资源,减少资源浪费。.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB 2312、BIG-5,UTF-8等都可以用作数据表名和数据列名。.提供TCP/IP以及JDBC等多种数据库连接的途径。.提供管理工具,用于管理、检查、优化数据库操作。1.3.5 JDBC简介JDBC(Java Data Base Connectivity),java数据库连接。它是Java API,是用于执行SQL语句的。可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一个标准,根据这个可以构建出更高的工具和接口,方便数据库开发人员编写出库应用程序4。Java 语言是一种编写程序的比较好的语言。它具有易于使用、易于理解、安全以及可从网上自动下载等特征。只需要Java应用程序与各种不同数据库之间进行对话的方法。而 JDBC 正是作为此种用途的机制10。JDBC的特点: 它是一种规范,为访问不同厂商的数据库提供了统一的程序接口。 摆脱了非面向对象编程的弱点。 通过使用JDBC,简化了开发数据库应用的复杂度,加快了开发速度5。1.4 论文内容和组织结构本文介绍了网上医院挂号预约系统的设计与实现,总共分为五个章节。第一章 绪论,主要介绍了网上医院预约挂号系统研究的背景及意义。第二章 系统的分析与设计,详细介绍了系统的需求分析和系统设计以及系统的功能模块。第三章 数据库的分析与设计,介绍了数据库的组成,数据库流图,数据库表格设计及ER图的设计。第四章 系统实现,介绍了系统实现的相关代码、实现过程中遇到的问题和处理方法以及相关截图。第五章 总结,总结了整个系统的设计与实现过程中的所做的工作,系统实现的具体功能,并且还对系统的优越性做了客观的评价以及希望改进的建议。第二章 系统分析与设计2.1系统分析目前,医院门诊一直是影响医院提高服务质量的一个重要因素,特别是那些医疗水平高、受广大患者欢迎的医院,而造成这种情况主要有两个因素:第一个因素:集中式挂号,就诊的患者在各时间段流量不固定、具有很大的随意性,就医高峰期和低峰期十分明显。在患者就医高峰期时,病人挂号队伍冗长,就医的时间也长,而一些和医生熟悉的人或是有关系的人插号的现象频发,导致就医环境拥挤嘈杂,医生由于时间紧张导致问诊时间短、仔细程度跟不上。而在低谷期时,医生没有病人就诊,浪费了医生大量的时间,同时也浪费了医院的资源。第二个因素:难挂专家号,在一定程度上损害了病人利益,严重的影响了医院的利益和医院的声誉。而采用了网上预约挂号这种方式,就可以比较有效的解决这个问题,在一定程度上提高医院的服务质量与就医效率,并能够取得好的社会及经济效益、树立好的社会形象。为了解决这一问题,我们需要一种能够方便快捷的挂号方式来满足各方面的需求,减少排队挂号过程中时间的浪费,提高医院工作机制的运行效率。而本课题所研究的基于JSP的医院网上挂号预约系统正好是为了解决这一问题而设计的方案,因此,本系统在很大程度上能够满足用户的挂号需求。2.1.1系统可行性分析网上预约挂号系统是一种基于互联网的新型挂号系统,是卫生信息化建设的基础项目之一。利用该预约挂号系统,用户就可以在家中网上预约医院的专家、专科号,在确定的时间到医院候诊,而不必经受漫长的排队挂号之苦。而当医院配备有网上预约挂号系统之后,患者只需要利用网络,就可以进行预约挂号,快捷便利,节省时间。这种网上预约挂号的方式正在不断地改变着现代人的求医观念。所以网上预约看病,将越来越方便快捷,也必定能够被广泛的应用12。网上预约挂号系统是运用JSP语言、TOMCAT服务器和MYSQL数据库实现管理员对系统的管理、用户预约挂号等功能的管理和实现,包括前台模块和后台管理模块。从可行性上分析,无论是需求方面,还是技术方面,完全可以对系统进行开发,这样的方案是可行的。2.1.2系统功能需求医院网上预约挂号系统的总目标是:在计算机网络,安全的数据库和先进的开发平台上,利用现有的软件资源,配置一定的系统环境,研究开发出一个具有开放体系结构的,容易应用的、容易扩充的,易维护的,具有良好人机交互界面的JSP医院网上预约挂号系统,为广大患者提供一个方便快捷的网上预约挂号服务。系统具体需要实现以下功能:浏览医院信息:对医院的概况有所了解。预约查询:查询医师及其所属科室信息,以及查询医师可以被预约的时间列表。预约服务:已登录的用户按照自己的实际情况选择合适的医师和合适的就医时间进行预约服务。管理员模块:对医师以及医师所属科室进行添加、删除和修改的操作。用户信息修改:对自己的信息可以进行修改。2.1.3 系统性能需求 为了保证系统能够安全,稳定,高效的运行,这就要求医院网上预约挂号系统应该满足以下的性能需求:系统处理的准确性系统处理的准确性是系统的必要性能。因为医院网上挂号系统的医师功能和挂号预约功能对于整个系统的功能和性能有着至关重要的地位,所以在系统的开发过程中,必须采用一定的方法保证系统的准确性。系统的易用性医院网上挂号系统是直接面对广大患者的,所以系统应该使用用户熟悉的术语和中文信息的界面。并且有用户注册预约的流程图教程,以帮助用户能够更加方便的进行挂号预约。数据库的安全性医院对患者以及医院内部人员的信息等都是存放于数据库中的,这就需要有一个相对比较稳定的数据库系统来保证这些数据存储的安全性。所以在系统的开发过程中应选用相对稳定的数据库。2.1.4 系统数据需求数据录入和处理的准确性和实时性系统的大部分数据添加时的输入都是由管理员手工输入的,所以系统的界面应具有排错功能,保证系统正常运行,以免出错。数据的一致性和完整性由于有关科室信息和医师信息是共享的,所以要保持文档数据的一致性,对于输入的数据则要求保持完整性。 2.1.5 系统数据流图软件需求分析中主要采用结构化分析方法(简称SA),SA是面向数据流,然后进行系统需求分析的一种方法,SA也是一种建模行为,和其他所有的软件分析方法一样,它根据系统软件内部的数据之间的关系运用比较简单的符号标志,逐层分解,创建出满足功能要求的软件模型。在系统中主要采用数据流图这种描述方式表达数据需求。它是一种功能模型,用图形的方式描绘数据在系统中流动和处理的过程,只反映系统必须完成的逻辑功能。它有四种基本图形符号: 外部实体:与系统进行交互,但是一种系统不对其进行加工和处理的实体,用带标记的矩形表示; 加工:对数据进行的处理,用带标记的圆圈表示; 数据流:在数据存储和数据加工之间进行流动的数据,用带标记的箭头表示; 数据存储:在系统中需要被存储的实体,用带标记的双实线表示。在多层的数据流图中,顶层流图只包含了加工这一个过程,它寓意所被开发的系统,它的输入流表示该系统的输入数据,输出流表示该系统的输出数据;底层流图是指其加工不需要再分解的数据流图,中间层流图是对其上层流图的细化,它的每一步加工可能继续细化成下一个流图。将整个系统看成一个加工过程,在其中找出作用于该加工的外部实体以及相应的数据输入和输出。对于“基于JSP的医院网上挂号系统”而言,整个系统就是一个加工“医院网上挂号系统”。“管理人员”是数据的源点,“用户”是数据的终点。另外,管理人员需要添加科室信息和医师信息,说明“科室信息”和“医师信息”是数据流,同样,“查询请求”和“查询结果”也是数据流。因此得到了第0层DFD图,如图2.1所示:图2.1 第0层DFD图“科室信息”是管理人员需要添加的一个信息,因此加入一个加工“添加科室信息”,同样得到“添加医师信息”这个加工。数据流“查询请求”和“查询结果”应该由加工“查询信息”来完成。这样,“添加科室信息”,“添加医师信息”和“查询信息”三个加工代替了第0层的“医院网上挂号系统”,同时增加了“科室”和“医师”这两个数据存储,因此,得到了第1层DFD图,如图2.2所示:图2.2 第1层DFD图2.1.6 系统的数据字典以下列出“基于JSP的医院网上预约挂号系统”的部分数据字典: 科室信息数据字典,如图2.3所示:名字科室信息描述医院开设科室的信息定义科室信息=科室号+科室名称+科室简介位置输出到用户的浏览器图2.3 科室信息数据字典 医师信息数据字典,如图2.4所示:名字医师信息描述医院医师的信息定义医师信息=医师名称+医师年龄+医师性别+医师简介+所属科室+医师职称+医师工作安排位置输出到用户浏览器图2.4医师信息数据字典 用户信息数据字典,如图2.5所示:名字用户信息描述患者注册的资料信息定义用户信息=用户姓名+密码+性别+电话+邮箱位置输出到用户的浏览器图2.5用户信息数据字典2.2 系统设计2.2.1 系统模块设计系统的概要设计中最重要的就是系统的模块化。模块化是指解决一个比较大而复杂问题时逐层的将软件系统划分成若干个小模块的过程。其中每个模块完成特定的功能,这些模块法组织起来,就是一个整体,代表了整个系统所要求的功能。 为了降低软件系统的复杂性,我们将将系统划分为多个模块,使系统容易修改,提高了系统的可操作性、可维护性。但是,模块的划分是不能喝随意的,在某种程度上应尽量保持其独立性。话句话说,每个模块只要去完成自己独立的子功能,并且尽量减少与其他模块的联系,运用简单接口,即尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。在系统的设计中主要采用结构化设计SD,SD以数据流图DFD为基础,按一定的步骤映射成软件结构。系统的结构图,如图2.6所示:预约挂号系统管理员模块用户模块用户管理科室管理医生管理查看订单医师查询科室查询信息修改用户注册查询用户订单删除科室添加科室删除医师修改医师添加医师医师预约 图2.6系统结构图 用户注册:一个系统必须得有的安全认证,只有当你注册了自己的信息你才有资格进入主界面,你才能够在登陆界面有自己的用户名和密码进入系统否则是不可以的,这是最基本的安全认证。 在注册界面中当你写重复的用户名的时候,会自动提示你已存在不可以注册,还有对手机号码位数的检测,最后还有邮箱的检测,你的格式必须得正确,则会打出一个页面告诉你正确与否。注册成功后会跳到登陆界面,这个时候当你输入用户名的时候,你会发现这里会自动对数据库你注册的信息进行匹配,所以当你输入数据库有的信息,页面会跳出“用户存在,可以登陆”,否则这是“用户不存在,请登录”这样的检测。当用户名和密码都验证成功后,自动跳到主界面。 修改信息:这个功能主要针对需要更改信息的用户。只要用户姓名正确就可以修改自己的信息。 科室查询:因为用户在预约医生之前需要对医院的相关科室信息有所了解,根据自己的情况结合科室简介,找出自己所要的科室信息,才能够更加方便的预约医生。 医师查询:用户在预约医师之前要了解各医师的相关情况,特别是他们所擅长治疗哪一方面的疾病,根据这些给出的资料就能够更好的选择适合自己的医生。医师预约:用户根据自己的实际情况,选择符合自己需要的医师,选择合适的就医时间。医院概况:用户可以浏览医院的基本信息,如医院简介、操作流程等。科室管理:实现对医院科室的管理,包括科室的添加、编辑和删除。 医师管理:实现对医院医师的管理,包括医师的添加、修改和删除等等。系统在用户登录的时候,除了对账号的合法性进行判断外,还对账号的类型判断,从而显示不同的界面给用户。管理员可以管理用户信息,如删除账号,还可以对医院所属科室进行添加、修改、删除的操作、也可以对科室所属医师进行添加、删除和修改的操作。普通用户可以查询系统内已有的科室信息和医师信息,根据自己情况预约。根据这些功能的要求,系统的总体流程图如图2.7所示:图2.7系统流程图2.2.2 系统子模块设计在实现系统各个子模块的功能上,我们需要了解子模块的主要功能。是实现系统的各部分更容易,高效。下面我们将具体介绍各个功能模块。通过对用户需求的分析,本系统的功能主要包括两块,前台用户操作及后台管理员管理。2.2.2.1 前台用户模块用户操作流程图如图2.8所示:用户注册修改信息用户科室查询医生预约医生查询 订单查询 2.8 用户模块结构图前台用户操作界面功能主要有:注册登录、专家查询、科室查询、用户信息修改、密码修改、预约等功能设置。专家查询通过这个功能可以浏览到每个专家的简介及所属科室,从而选择专家进行具体预约。科室查询通过这个功能可以浏览每个科室的介绍,根据自己的情况选择合适的专家会诊。用户信息修改用户在登录后,可以对自己的信息如:姓名、密码、性别、身份证号、E-mail地址等信息进行修改。密码修改根据用户名,以及旧密码,输入新密码就可以修改订单查询查询自己的订单。用户模块的结构图如图2.9所示:图2.9 用户模块流程图2.2.2.2 管理员模块管理员功能结构图如图2.10所示: 图2.10 管理员模块结构图后台管理员操作界面主要功能有:添加医生、修改医生、删除医生、添加科室、删除科室、查询用户订单。各个模块的功能简述如下:添加医生对医生信息进行添加。修改医生根据实际情况修改相关医生的个人信息。删除医生对于已经不在医院的医生信息进行删除更新。添加科室添加医院新增的科室。删除科室删除不存在的科室信息。订单查询查询已预约的用户订单。管理员操作流程图如图2.11所示:图2.11 管理员模块流程图第三章 数据库分析与设计 3.1 数据库设计 在信息的转化过程中,信息先经过客观世界的人工处理编入数据库,又通过一系列的决策最终回归到客观世界,这一循环过程共涉及了三个领域范围:信息,数据,现实。即现实中存在的物质反映到人的大脑中,经过分析选择再回归到信息世界。这些信息经过人工处理后,再进入到数据世界,而软件系统的研发工作需要考虑这两个方面的因素,相当于要考虑系统研发所需要的数据,以及怎样操作这些数据。这两个问题一直存在于整个系统的研发过程中,即是系统数据库的设计问题,是设计软件过程中的一个核心。对于数据库的应用开发人员来说,为了将现实世界的信息流趋于计算机化,并进行对这种信息的各种操作,就是怎样利用数据库管理系统、系统软件和相关的硬件系统,去有效的使数据库系统易于操作来实现用户的各种要求的一个总的过程。确切的说,数据库的设计是指针对当前的应用环境,建立一个数据模型、最优的数据处理模式,设计一个物理类型的确定的数据库存储结构和存取方法,建立起一个一方面能反映现实世界信息以及信息联系,另一方面又可以满足用户数据要求和加工要求,并且适合数据库管理系统能实现系统的目标,有效存取数据的相对安全稳定的数据库。数据库设计主要是进行数据库的逻辑设计,这个过程是面向用户的。在进行数据库的设计的时候,需要综合各种数据需求,分析各个数据之间的联系,按照数据库管理系统提供的功能和描述工具,设计出一定规模、且能正确反映数据之间关系、较少数据冗余、数据存取效率较高、且能满足各种查询要求的数据模型。3.2 数据库设计周期与原则3.2.1数据库的设计周期数据库设计的周期一共划分六个阶段:(1) 系统规划阶段确定系统开发的总目标,给出系统的功能以及可靠性等方面的大概设计。(2) 需求分析阶段认真的研究任务书,确定系统大概要实现的相关功能与边界。这一阶段着力于提供一个系统概要说明书,里面包括对软硬件环境的要求以及比较完善的数据流程图。(3) 设计阶段细化前面工作中所确定的系统的功能,然后是系统相关概念设计阶段、逻辑设计阶段以及物理设计阶段,最后,为每个阶段设计详细的流程。(4) 代码编写阶段根据系统的功能说明书,用java语言编写代码,实现各功能模块。(5) 系统实现调试阶段对已编好的程序进行单元调试,并记录下此过程中遇到的问题以及最终的解决方案。3.2.2 数据库的设计原则为了能设计出一个比较好的、利于维护的管理系统数据库,除了要满足开发系统所需要的功能外,还必须遵循下列原则:(1) 尽量减少主表的数量。(2) 表中字段的个数也要尽量的少。(3) 主键的个数要尽量的少。(4) 减少外键的设立。外键越少,表之间的关联性就越简单,数据就越容易操作。3.3 ER图设计ER模型直接从现实世界抽象出实体类型及实体间联系,然后用ER图来表示数据模型。它有两个明显的优点:接近于人的思维,容易理解;与计算机无关,用户容易接受。E-R图为实体-联系图,运用了表示实体、属性和联系,用来描述现实存在事物的概念模型。 构成E-R图的最基本的要素是实体、属性、联系: 实体:用矩形框表示,框内标明实体名; 属性:用椭圆形表示,并将其与相应的实体连接起来; 联系:用菱形表示,菱形框内标注联系名,并与其有关的实体连接起来,同时在旁边标上联系的类型(1 : 1,1 : n或m : n)。本系统的各实体类的属性图如下所示:用户名名户名密码 身份证号性别联系电话邮箱用户1预约约1简介ID医师职称医生名科室年龄工作日性别图 3.2 数据库E-R图科室科室名名号科室名名号科室号号号图3.3科室信息属性图登录名密码ID管理员图3.4管理员信息属性图 姓名身份证密码邮箱电话用户图3.5 用户信息属性图性别年龄工号姓名职称简介科室 医师图3.6 医师信息属性图科室名提交时间表单号用户名医生名预约表 就医时间 图3.7 预约表信息属性图3.4 数据库表设计一般,在操作完ER图之后,需要将ER图的模型转化为关系模型,就需要在数据库中建立出所需要的数据表。在本系统中,运用的是关系数据库。因为关系数据库中的二维表可以十分清楚地描述出数据之间的关系。在系统中创建的表格都严格地按照数据库范式的基本思想和一般标准完成,数据库中的所有表格都按照三范式的要求。根据系统ER图,再根据系统本身的特点,再对所搜集的数据进行规范化之后,定义了如下五张表格,分别是用户信息表、科室信息表、医师信息表、预约表和管理员信息表。五张表格之间有着不同程度的联系。在系统中通过对这五张表格的操作可以较好地完成系统设计的各项功能。此软件文档系统采用MySQL数据库管理系统。首先在MySQL中建立一个数据库,将其命名为hospital,然后根据数据库的逻辑结构分析创建5张数据表。 预约信息表:用于存放所有预约的信息,如图4.1所示。 管理员表: 用于存放系统的管理员信息,如图4.2所示。 医师信息表:用于存放所有医师的信息,包括医师姓名、医师职称、医师简介、所属科室等信息,如图4.3所示。 用户信息表:用于存放所有用户的信息,包括姓名、密码、性别、联系方式等基本信息,如图4.4所示。 科室信息表:用于存放所有科室的信息,包括科室名称,科室简介等。如图4.5所示五张表的表结构如下(带k的为主键) 表3.11 预约信息表结构列名数据类型 字段含义idForm(k)int(11)ID序列号usernameVarchar2(20)用户姓名iddVarchar2(20)医生工号nameVarchar2(20)医生姓名ScheduleksNameformTimeVarchar2(45)Varchar2(20)TIMESTAMP看诊时间科室名称订单提交时间 表3.12 管理员表结构列名数据类型 字段含义Id()Varchar2(8)ID序列号Mname(k)Varchar2(20)登录账号passwordVarchar2(10)登录密码tellChar(11)联系电话表3.13 医师信息表结构列名数据类型 字段含义Id(k)Varchar2(10)职员号nameVarchar2(32)医师姓名sexchar(2)医师性别ageVarchar2(5)医生年龄ZhichengJianjieScheduleKsNameVarchar2(20)Varchar2(200)Varchar2(50)Varchar2(20)医师职称医生简介医生工作日科室名称 表3.14 用户信息表结构 列名数据类型 字段含义Username(k)Varchar2(20)用户姓名passwordVarchar2(10)登录密码sexchar2(2)用户性别phoneVarchar2(11)联系电话idNummailVarchar2(18)Varchar2(20)身份证号邮箱 表3.15 科室信息表结构列名数据类型 字段含义Id(k)Varchar2(20)科室号ksNameVarchar2(20)科室名称 infoVarchar2(200)科室简介第四章 系统实现4.1 系统开发环境的搭建本系统开发采用如下开发工具:(1)开发环境:Eclipse3.2.0(2)开发模式:B/S模式(3)服务器:服务器端采用Tomcat7.0(4)开发语言:JSP、JDK1.6(5)数据库设计工具:MySQL(6)浏览器:Internet Explore 6.0以上4.1.1 Eclipse平台的组件Eclipse是一个基于java的可扩展开发放源代码的平台。Eclipse并不能够开发真正的应用程序,因为它本身只是一个框架和一组响应的服务。在Eclipse中几乎所有的物质都是插件,而实际提供我们开发程序的各种功能的正是这些在eclipse平台上运行的种种插件。另一方面各个领域的程序开发人员通过开发这些插件,可以构建出与Eclipse环境很好集合的工具。为了方便开发,Eclipse的发行版本通常都已经带有其最基本的插件,方便了所有程序开发者。4.2 前台开发4.2.1 前台文件架构根据前期的系统分析,网上医院预约挂号系统的前台主要包括医院资料简介、挂号预约流程图简介、新用户注册、登录、科室信息查询、医师信息查询、预约这几个模块。4.2.2 前台首页功能运行结果对于任何一个系统,首页都是极为重要的一部分,一般顾客都希望能在首页中就能基本了解这个系统所能实现的功能,所以,首页的设计将直接影响系统的应用率。在网上医院挂号预约系统的首页中,我们可以对前台的主要功能一目了然。首页运行结果如4-1所示: 4-1 前台首页运行结果4.2.3 注册功能运行结果在前台中,单击“新用户注册”,即可超链接到register.jsp页面进行注册。去验证用户名和密码是否合法的Ajax代码如下: function check_username()var xhr = getXhr();xhr.open(post,check_username.do,true);xhr.setRequestHeader(content-type,application/x-www-form-urlencoded);xhr.onreadystatechange=function()if(xhr.readyState = 4)var txt = xhr.responseText;$(username_msg).innerHTML = txt;xhr.send(username= + $F(username); function check_password()var xhr = getXhr();xhr.open(post,check_password.do,true);xhr.setRequestHeader(content-type,application/x-www-form-urlencoded);xhr.onreadystatechange=function()if(xhr.readyState = 4)var txt = xhr.responseText;$(password_msg).innerHTML = txt;xhr.send(password= + $F(password);具体实现如4-2所示: 4-2 注册页面实现结果 登录关键代码如下: HttpSession session = request.getSession();String username = request.getParameter(username);String password = request.getParameter(password);UserDao dao= new UserDao();try User user = dao.findByUsername(username); boolean f = dao.checkPasw(username, password);4.2.4 登录功能运行结果登录运行结果如4-3所示: 4-3 登陆成功页面实现结果4.2.5 修改密码功能运行结果 登陆成功后,用户可以根据自己的需要修改个人密码,具体代码如下: ps = conn.prepareStatement(update user set password = ? where username = ?);ps.setString(1, password);ps.setString(2, username);ps.executeUpdate(); 修改个人密码运行结果如图4-4所示: 4-4 修改个人密码实现结果4.2.6 修改信息功能运行结果 登陆成功后,用户可以根据自己的需要修改个人信息,具体代码如下: ps = conn.prepareStatement(update user set password=?, sex = ?, phone = ?, idnum = ?, email = ?where username = ?); 修改个人信息运行结果如图4-5所示: 4-5 修改个人信息实现结果4.2.7 查询科室功能运行结果 单击“医院科室查询”,便可进入到科室信息显示页面,关键代码如下: % List keshiList = (List)request.getAttribute(keshiList);
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


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

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


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