收藏 分享(赏)

基于JAVA的医院门诊信息管理系统设计与实现.doc

上传人:为人民服务 文档编号:2355753 上传时间:2018-09-12 格式:DOC 页数:66 大小:1.17MB
下载 相关 举报
基于JAVA的医院门诊信息管理系统设计与实现.doc_第1页
第1页 / 共66页
基于JAVA的医院门诊信息管理系统设计与实现.doc_第2页
第2页 / 共66页
基于JAVA的医院门诊信息管理系统设计与实现.doc_第3页
第3页 / 共66页
基于JAVA的医院门诊信息管理系统设计与实现.doc_第4页
第4页 / 共66页
基于JAVA的医院门诊信息管理系统设计与实现.doc_第5页
第5页 / 共66页
点击查看更多>>
资源描述

1、 编 号: 审定成绩: 毕业设计(论文)设计(论文)题目: 基于 JAVA 的医院门诊信息管理系统设计与实现学 院 名 称 : 计算机科学与技术学院学 生 姓 名 : XXX专 业 : 计算机网络技术班 级 : XXXXXXXX学 号 : XXXXXXXXX指 导 教 师 : XXX答辩组 负责人 :填表时间: I摘 要医院门诊信息管理系统是一个基于 Internet 的应用系统,它是一个面对当前的医院门诊管理工作基本还处于手工和半信息自动化处理状态而应运而生的一个基于 Internet 的一个信息自动化的系统,整个系统从符合操作简便、界面友好、灵活、实用、安全的要求出发,完成预约、诊断、开具

2、处方、保存病历管理的全过程。医疗事业单位只需具备访问 Internet 的条件即可在系统发布的站点上进行医疗门诊的管理。在图型化的人机界面中完成日常的医疗门诊管理工作.一方面摆脱了时间和空间的限制,另一方面有效的解决的数据共享的问题。经过实际使用证明,本文所设计的医院门诊信息管理系统可以满足医院在门诊管理方面的需要。【关键词】 JSP 医院门诊 信息管理系统IIABSTRACTHospital outpatient information management system is an Internet-based application system. It is an Internet-b

3、ased automated information system that solves the outpatient medical management of the basic work is still in the manual and semi-automated processing of information. The entire system is simple, friendly interface, flexible, practical and safe, and complete the entire process of booking, diagnosis,

4、 prescribing and medical records management preservation. Medical institutions only need visit the Internet can use the system for the release site medical clinic management. Using the pattern of the man-machine interface complete routine outpatient medical management. While out of time and space co

5、nstraints, on the other hand, it is an effective solution to the data sharing problem. Through practical show that JSP-based hospital outpatient information management system to meet the hospital in-patient management needs. 【Key Words】 JSP Hospital Outpatient Information Management SystemIII目 录第一章

6、绪论1第一节 课题研究现状分析1第二节 技术发展的趋势.1 第二章 医院门诊信息管理系统需求分析2第一节 业务分析2一、业务角色2二、业务词汇.3第二节 系统需求定义.3第三章 医院门诊信息管理系统技术解决方案比较5第一节 Web 应用解决方案 .5第二节 基于 JSP + JavaBean 的解决方案.5一、什么是JSP5二、使用 JSP 的好处6三、什么是 JavaBean6四、使用 JavaBean 的好处.6五、使用 JSP+JavaBea 的好处.7第三节 JSP 及 JavaBean 工作原理介绍8一、JSP 内置对象 .8二、JSP+JavaBean 的运行环境.11第四章 医院

7、门诊信息管理系统概要设计13第一节 医院门诊信息管理系统文档结构定义13第二节 数据组织与定义14一、数据库概念设计.14二、数据库逻辑设计.IV15第五章 基于 JSP 与 JavaBean 的医院门诊信息管理系统详细设计.16第一节 系统功能模块设计16第二节 系统功能模块实现17一、hospital.db 包的类.17二、hospital.db.opreation 包.22第六章 测试46第一节 测试基本方法47一、界面测试47二、功能测试47第二节 测试用例及测试结果48结 论56致 谢57参考文献58附 录591绪 论医院门诊信息管理系统是信息管理系统在医院门诊部门中的应用。随着In

8、ternet 技术的发展,其被广泛应用与各行各业,医院门诊部门是其一个重要的应用领域。伴随着医院的改革,医院信息化进程的加速,建立基于 Web 的医院门诊信息管理系统显得尤为重要。第一节 课题研究现状分析随着医疗卫生事业的发展,医院改革的深入,信息的有效、高效利用,已受到人们的关注。充分利用现代科技手段,加强各种信息的利用开发,是医院信息管理的一个重要内容,也是当今医院的需要。目前的医院仅仅把医院的信息管理系统作为微机工具系统,而没有发挥其管理的真正功能;系统分散设计,各部门独立实施,没有考虑信息的关联和共享,存在信息孤岛现象;医院管理错综复杂,从而形成了医院信息管理系统数据的多样化,数据量大

9、等特点 1。通过本次医院门诊信息系统的设计,解决医院系统中各种信息管理的集成问题,使医院系统的各种信息管理一体化。同时,了解医院门诊的流程,把握信息管理系统开发概念,掌握动态网站技术,熟悉系统开发的进程,做到会用相关工具设计和开发相关系统,并实现。第二节 技术发展趋势随着 Internet 技术的普及和发展基本上各种不同操作系统平台上都有相应的 Web 浏览器程序,这就使得医院门诊信息管理系统具有非常广泛的平台兼容性。客户端仅需一个 Web 浏览器程序,不再需要安装其它软件。客户程序主要包括 HTML 页面和一些特殊的数据库访问程序,它们都存放在 Web 服务器上,客户应用系统的设计、维护和更

10、新工作只需在 Web 服务器上进行,这样就大大降低了系统安装、测试、维护的工作量 2。通过基于 Web 的医院门诊信息管理系统的开发,可以实现对医院门诊相关信息的整合管理以及共享,并且通过组件技术的应用,可以使得本医院门诊信息管理系统具有很大的可扩展性和可移植性 3。2第二章 医院门诊信息管理系统需求分析第一节 业务分析一、业务角色(1) 患者角色 可联机注册成为用户,设定自己的登陆名及密码; 可按医生姓名自定义查询; 可基于查询结果进行预约,若指定医生当日预约量已满,则预约失 败。预约结果随机返回给患者; 可对已经进行的预约情况查看或撤销。图 2.1 患者用例图 (2) 医生角色 可查看预约

11、患者的情况;3 可查询患者病历; 可创建患者病历; 可对患者的病历进行修改。图 2.2 医生用例图(3) 管理员角色 可添加或删除医生账号。图 2.3 管理员用例图4二、业务词汇(1) 医院门诊:门诊是医院接诊病人的场所。病人到医院之后首先在门诊由医护人员进行接诊,经过一整套的诊断手段,给病人得出初步诊断,并且进行进一步治疗的指导。(2) 预约:由于医院某些专家的就诊患者多,医生为了确保有时间问诊患者并且患者为了确定来医院就诊时可以准时接收医生的诊断而采用的一种手段。(3) 电子病历:由于传统的纸质病历不利于保存和查询,而且浪费资源,所以采用将病历信息电子化,便于整个医院信息的共享和交流。(4

12、) 医生基本信息:记录医生编号、姓名、年龄、登录时的密码、职称、所属科室和专家门诊科目等医生相关信息。(5) 患者基本信息:记录注册患者的编号、姓名、登录时用户名、登录时密码、年龄、性别、家庭住址和联系电话等患者相关信息。(6) 病历基本信息:记录病历记录的编号、主治医生编号、症状、诊断、患者编号、处方等病历相关的信息。(7) 预约信息:记录预约记录的编号、主治医生的编号、患者编号、预约时间、预约就诊时间等预约相关信息。第二节 系统需求定义本系统是基于 JSP 的医疗门诊信息管理系统,要求实现对医院里医生信息、病人、病历以及医药信息进行有效管理及其开发,主要包括后台数据库的建立和维护以及前端应

13、用程序的开发两个方面 4,重点解决的问题包括:(1) 病历基本信息管理:病历信息包括病历记录的编号、主治医生的编号、症状、诊断、患者编号、处方等内容,医生可以创建病历并且可以添加病历信息和修改病历信息,病人可以查询自己的病历信息。(2) 患者基本信息管理:患者基本信息包括患者编号、姓名、登录系统的用户名、登录密码、年龄、性别、家庭住址和联系电话等。患者注册时向患者表中插入一条记录。(3) 医生基本信息管理:医生基本信息包括医生的编号、姓名、年龄、性别、职称、所属科室、学历等内容,管理员通过登录可以添加和删除医生信息。5(4) 预约信息管理:预约信息包括记录编号、主治医生编号、患者编号、预约就诊

14、时间等内容,病人可以预约医生和取消预约,医生登录后可以查询自己的预约信息。本课题的应用难点有:(1) 病历基本信息管理:传统的纸质病历既不便于患者、医生查询信息,也不便于保存,本系统才用电子病历 5。病历基本信息管理系统选择基于三层结构的 C/S、B/S 混合模式,三层结构中,底层是电子病历数据库服务器,用于存储和管理病历等数据;中间层是应用服务器和 Web 服务器,其中应用服务器用于实现系统的业务逻辑,完成各种复杂的管理操作和数据存取,Web 服务器用于提供系统的 Web 服务,还可以通过网关与外部系统进行数据交换和信息传递;最上层是客户端,位于门诊大厅,Windows 用户通过专用程序完成

15、相关操作,IE 用户通过浏览器使用。(2) 预约信息管理:患者登录系统预约医生,信息插入预约表,或者取消预约,即从预约表中删除相关预约信息;医生通过登录可以创建病历,通过给预约的患者看病在病历表中添加病历信息。6第三章 医院门诊信息管理系统技术解决方案比较第一节 Web 应用解决方案本系统采用动态网站技术。早期的动态网站开发技术使用的是 CGI-BIN 接口。这种开发技术存在着严重的扩展性问题:每一个新的 CGI 程序要求在服务器上新增一个进程。为克服这一弊端,微软公司提出了 Active Server Pages(ASP)技术,该技术利用“ 插件” 和 API 简化了 Web 应用程序的开发

16、。Hypertext Preprocessor(超文本预处理器) ,即 PHP 动态网站开发技术与 ASP 相似,也是一种嵌入 HTML 文档的服务器端脚本语言。还有一些技术,如 Java Servlets 技术,利用该技术可以很容易地用 Java 语言编写交互式的服务器端代码。太阳微系统公司(Sun Microsystems Inc.)在 Web 服务器、应用服务器、交易系统以及开发工具供应商间广泛支持与合作下,整合并平衡了已经存在的对 Java 编程环境(例如 Java Servlets 和 JavaBeans)进行支持的技术和工具后产生了一种新的、开发基于 Web 应用程序的方法 Jav

17、aServer Pages 技术(JSP ) 。这种动态网站开发技术能够在任何的 Web 或应用服务器上运行,而且分离了应用程序的逻辑和页面显示,能够进行快速的开发和测试,并且简化了开发基于 Web 的交互式应用程序的过程。基于此,我们选择 JSP+JavaBean 技术来实现相应模块的开发。第二节 基于 JSP + JavaBean 的解决方案一、 什么是 JSPJSP(Java Server Pages)是 Sun Microsystems 公司倡导、许多公司参与一起建立的一种动态网页技术标准。 JSP 技术是用 JAVA 语言作为脚本语言的,JSP网页为整个服务器端的 JAVA 库单元提

18、供了一个接口来服务于 HTTP 的应用程序 6。在传统的网页 HTML 文件(*.htm,*.html)中加入 Java 程序片段(Scriptlet)和JSP 标记 (tag),就构成了 JSP 网页(*.jsp)。Web 服务器在遇到访问 JSP 网页的请7求时,首先执行其中的程序片段,然后将执行结果以 HTML 格式返回给客户。 程序片段可以操作数据库、重新定向网页以及发送 email 等等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无 Plugin,无ActiveX,无 Java Applet,甚至

19、无 Frame。二、使用 JSP 的好处JSP 的设计目标主要是提供一种更为简便、有效的动态网页编写手段,并且增强网页程序的独立性、兼容性和可重用性。它是通过以下几个方面加以实现的: (1) 简便性和有效性 JSP 动态网页的编写与一般的静态 HTML 的网页的编写十分相似,只是在原来的 HTML 网页中加入一些 JSP 专有的标签,或是一些脚本程序(而且此项不是必需的)。这样,一个熟悉 HTML 网页编写的设计人员可以很容易进行JSP 网页的开发。而且开发人员完全可以不自己编写脚本程序,而只是通过 JSP独有的标签利用别人已写好的部件来实现动态网页的编写。这样,一个不熟悉脚本语言的网页开发者

20、,完全可以利用 JSP 做出漂亮的动态网页,而这在其他的动态网页开发中是不可思议的。 (2) 程序的独立性 JSP 是 Java API 家族的一部分,它拥有一般的 Java 程序的跨平台的特性,换句话说,就是拥有程序的对平台的独立性。即:Write once, Run anywhere! (3) 程序的兼容性 因为 JSP 中的动态内容可以各种形式进行显示,所以它可以为各种客户提供服务:从使用 HTML/DHTML 的浏览器,到使用 WML 的各种手提无线设备(如,移动电话和个人数字设备 PDA),再到使用 XML 的 B2B 应用,都可以使用 JSP 的动态页面。 三、什么是 JavaBe

21、anJavaBean 是一种可重复用、跨平台的软件组件。JavaBean 可以为两种:一种是有用户界面(UI,User Interface)的 JavaBean;还有一种是没有用户界面,主要负责处理事务(如数据运算,操纵数据库)的 JavaBean。JSP 通常访问的是后一种 JavaBean。四、使用 JavaBean 的好处 8JavaBean 最大的优点在于可以实现代码的可重用性。同时,JavaBean 又具有一下特性: JavaBean 是一个公共的(public)类; JavaBean 有一个不带数的构造方法; JavaBean 通过 get 方法没置属性,通过 set 方法获取属性

22、; 易于维护、使用、编写; 可移植性强,但仅限于 Java 工作平台; 便于传输,不论是本地还是网络; 可以以其它部件的模式进行工作。五、使用 JSP + JavaBean 的好处JSP 与 JavaBean 搭配使用,有 3 个好处: 使得 html 与 Java 程序分离,这样便于维护代码。如果把所有的程序 代码都写到 JSP 网中,会使得代码繁杂,难以维护。 可以降低开发 JSP 网页人员对 java 编程能力的要求。 JSP 侧重于生成动态网页,事务处理由 JavaBean 来完成,这样可以充分利用 JavaBean 组件的可重用性特点,提高开发网站的效率。第三节 JSP 及 Java

23、Bean 工作原理介绍一、 JSP 内置对象JSP 有九种内置对象:request,reponse,out,session,application,config,pagecontext,page,exception7。(1) request 对象:request 对象代表请求对象,它被包装在 HttpServletRequest 接口。通过 getParameter 方法可以得到 request 的参数,通过 GET、POST、HEAD等方法可以得到 request 的类型,通过 Cookies、Referer 等可以得到请求的HTTP 头。来自客户端的请求经 Servlet 容器处理后,有

24、Request 对象进行封装。它作为 jspService()方法的一个参数有容器传递给 JSP 页面。Request 对象主要方法: getAttribute(String name) 返回 name 属性值。 getAttributeNames() 返回 request 对象所有属性名字。 getCookies() 返回客户端的 cookies 对象。9 getHeader(String name) 获得 HTTP 协议定义的文件头信息。 getHeaders(String name) 返回指定名字的 request Header 的所有值。 getMethod() 获得客户端向服务器端传

25、送数据的方法。 getParameter(String name) 获得客户端传送给服务器端的参数值。 getParameterNames() 获得客户端传送给服务器端的所有参数的名字。 getParameterValue(String name) 获得指定参数的所有值。 getProtocol() 获取客户端向服务器端传送数据所依据的协议名称。 getQueryString() 获得查询字符串。 getRequestURI() 获取发出请求字符串的客户端地址。 getRemoteAddr() 获取客户端的 IP 地址。 getRemoteHost() 获取客户端的名字。 getServerN

26、ame() 获取服务器的名字。 getServletPath() 获取客户端所请求的脚本文件的文件路径。 getServerPort() 获取服务器的端口号。 setAttribute(String name, java.lang.Object objt) 设置名字为 name 的request 参数的值,该值是由 java.lang.Object 类型的 objt 指定。(2) response 对象:response 被包装成 HttpServletResponse 接口,它封装了JSP 产生响应,然后被发送到客户端以响应客户的请求。和 Request 对象一样,它由容器生成,作为 jsp

27、Service()方法的参数被传入 JSP。因为输出流是缓冲的,所以可以设置 HTTP 状态码和 response 头。Response 对象的主要方法有: addCookie(Cookie cook) 添加一个 cookie 对象,用来保存客户端的用户信息。 addHeader(String name , String value) 添加 HTTP 文件头信息。 containsHeader(String name) 判断指定名字的 HTTP 文件头是否已经存在。 sendError(int) 向客户端发送错误的信息。 setHeader(String name , String value

28、) 设置指定名字的 HTTP 文件头的值。(3) pageContext 对象:pageContext 对象被封装成javax.servlet.jsp.pageContext 接口,它为 JSP 页面包装页面的上下文,管理对属于 JSP 中特殊可见部分中以命名对象的访问。它的创建和初始化都是由容器完成的。pageContext 对象中常用的方法有:10 getAttribute scope() 检索一个特定的已经命名对象的范围。 findAttribute() 用来按照页面请求、会话以及应用程序范围的顺序实现对某个已经命名属性的搜索。 setAttribute() 用来设置默认页面的范围或特定

29、范围之中的已命名对象。 removeAttribute() 用来删除默认页面范围或特定范围之中已命名的对象。(4) session 对象:session 对象用来保存每个用户的信息,以便跟踪每个用户的操作状态。其中,session 信息保存在容器里, session 的 ID 保存在客户机的 Cookie 中。session 对象的主要方法: getAttribute(String name) 获取与指定名字 name 相联系的信息。 getAttributeNames() 返回 session 对象中存储的每一个属性对象。 getCreationTime() 返回 session 被创建的时

30、间。 getId() 返回唯一的标识,为每一个 session 而产生。 getLastAccessedTime() 返回当前 session 对象最后被客户发送的时间。 getMaxInactiveInterval() 返回总时间(秒) 。 removeAttribute(String name) 删除与指定名字 name 的相联系的信息。 setAttribute(String name , java.lang.object value) 设置指定名字 name 的属性值 value,并存储在 session 对象中。(5) application 对象:application 对象为多个

31、应用程序保存信息。application 对象的主要方法: getAttribute(String name) 返回由 name 指定的名字 application 对象的属性的值。 getAttributeNames() 返回所有 application 对象的属性的名字。 getInitParameter(String name) 返回由 name 指定的名字的 application 对象的某个属性的初始值。 getServletInfo() 返回 servlet 编译器当前版本信息。 setAttribute(String name , Object object) 设置指定名字 na

32、me 的application 对象的属性值 object.(6) out 对象:out 对象被封装成 javax.servlet.jsp.JspWriter 接口。他主要用来向客户端输出数据,代表输出流的对象。out 对象的主要方法: out.print/println (boolean | char | char | double | float | int | long | object | string |) 输出各种类型的数据。11 out.newLine() 输出一个换行字符。 out.flush() 输出缓冲区里的数据。 out.close() 关闭输出流。 out.clearB

33、uffer() 清除缓冲区里的是数据,并把数据输出到客户端。 out.clear() 清除缓冲区里的是数据,但不会把数据输出到客户端。 out.getBufferSize() 获得缓冲区的大小。 out.getRemaining() 获取缓冲区中没有被占用的空间的大小。 out.isAutoFlush() 返回布尔值。(7) config 对象:config 对象被封装成 javax.servlet.ServletConfig 接口,它表示 Servlet 的配置。config 对象的主要方法:getServletContext() 返回执行者的 Servlet 上下文。getServletN

34、ame() 返回 Servlet 的名字。getInitParameter(String name) 返回名字为 name 的初始参数的值。getInitParameterNames() 返回这个 JSP 的所有的初始参数的名字。(8) page 对象:page 对象是类 java.lang.Object 类的一个实例,它是 JSP 本身,通过这个可以对它进行访问。(9) exception 对象:exception 对象是 java.lang.Throwable 类的一个实例。它指的是运行时的异常,也就是被调用的错误页面的结果,只在错误页面(在页面指令里有 isErrorPage=true

35、的页面) 中才可以使用。二、JSP + JavaBean 运行环境本系统建立在 Windows XP 平台上,用 Apache+Tomcat 作为 JSP 服务端引擎,采用 Eclipse 作为后台设计开发环境。Apache 是一个 web 服务器环境程序启用他可以作为 web 服务器使用。不过只支持静态网页,不支持动态网页,如(.asp,.jsp)等。如果要在 Apache 环境下运行 jsp 网页,就需要一个解释器来执行 jsp 网页,而这个 jsp 解释器就是Tomcat。Tomcat 是一个免费且开源的 Serlvet 容器,它是 Apache 基金会的 Jakarta 项目中的一个核

36、心项目,由 Apache、Sun 和其它一些公司及个人共同开发而成。由于有了 Sun 的参与和支持,最新的 Servlet 和 jsp 规范总能在 Tomcat 中得到体现。与传统的桌面应用程序不同,Tomcat 中的应用程序是一个WAR( Web Archive)文件。在 Tomcat 中,应用程序的部署很简单,你只需将你的 WAR 放到 Tomcat 的 webapp 目录下,Tomcat 会自动检测到这个文件,并12将其解压。Eclipse 是替代 IBM Visual Age for Java 的下一代 IDE 开发环境。根据Eclipse 的体系结构,通过开发插件,它能扩展到任何语言

37、的开发,甚至能成为图片绘制的工具。Eclipse 是开放源代码的项目,其本身是用 Java 语言编写,但下载的压缩包中并不包含 Java 运行环境,需要用户自己另行安装 JRE,并且要在操作系统的环境变量中指明 JRE 中 bin 的路径。 Eclipse 提供的核心框架和可扩展的插件机制给广大的程序员提供了无限的想象和创造空间。第四章 医院门诊信息管理系统概要设计第一节 医院门诊信息管理系统文档结构定义本系统包括两个逻辑层包 hospital.db 包和 hospital.db.operation 包以及一些.jsp 文件。(1) hospital.db 包封装了整个网站用于完成基础功能的类

38、,具体包括:hospital.db.Util:辅助类,用于完成一些 JSP 中常用的功能,比如字符集的转换。hospital.db.InitServlet:初始化整个 Servlet 环境。hospital.db.DBConnection:与整个数据库连接,返回 Connection 对象。hospital.db.Debug:记录日志,将信息写入指定的日志文件中。(2) hospital.db.operation 包封装了所有用户角色有关的模型,具体如下:hospital.db.dboperation.DBOperation:建立用户的抽象模型,供子类继承。hospital.db.dboper

39、ation.Admin:继承自 DBOperation,定义管理员模型。hospital.db.dboperation.Doctor:继承自 DBOperation,定义医生模型。hospital.db.dboperation.Patient:继承自 DBOperation,定义患者模型。hospital.db.dboperation.InvalidUserException:继承自 Exception,用以封装一个表示“非法用户名 ”的异常。(3) jsp 文件:以适当的方式通过逻辑层与数据层交互及一些页面代码。第二节 数据组织与定义一、数据库概念设计 医院门诊信息管理系统的数据库功能主要体

40、现在对各种信息的提供、保存、13更新和查找操作上,主要包括患者信息、医生信息、预约信息 8。因此: 患者和医生有不同的权限因此身份不同。 用户信息记录不同的用户资料。 预约信息有预约时间、预约用户等。经过上述功能分析和需求总结,考虑到将来功能上的扩展,设计如下的数据项和数据结构: 管理员信息:包括数据项管理员名、密码等。 医生信息:包括数据项医生名、密码等。 患者信息:包括数据项用户名、密码等。 预约信息:包括数据项医生名、预约时间等。二、数据库逻辑设计根据以上分析知,系统需要的基本信息表有:管理员信息表、医生信息表、患者信息表、病历记录表和预约记录表。本系统是一个多用户系统,牵涉多个管理人员

41、和多用户,因此需要针对不同类别的用户进行密码认证和权限限制,防止出现越权现象。部分具体数据库设计如下:(1) 医生表:用于存储医生的个人信息。表 4.1 医生表的结构字段名 类型 备注 约束条 默认值DID varcher(5) 医生编号 主键 Name varchar(12) 姓名 索引 Age tinyint(3) unsigned 年龄 0Password varchar(20) 密码 初始: =DIDSex tinyint(3) unsigned 性别 1 - 男2 - 女 1Level varchar(12) 医生职称 Section varchar(12) 所属科室 索引 Spec

42、ialism varchar(20) 专家门诊科目 Phone varchar(15) 联系电话 可为空 (2) 患者表:用于存储患者的个人信息。表 4.2 患者表的结构字段名 类型 备注 约束条 默认值14PIDmediumint(8) unsignedauto_increment患者编号 主键 Name varchar 姓名 UserName varchar 登录时用户 名 唯一索引 Password varchar 密码 Age tinyint(3) unsigned 年龄 0Sex tinyint(1) unsigned 性别 1 男2 女 1Address TinyText 家庭住址

43、 可为空 Phone varchar 联系电话 可为空 (3) 病历记录表:病历记录表记录了患者的病历信息。表 4.3 病历记录表的结构字段名 类型 备注 约束条 默认值HID int unsigned(10)auto_increment 病历记录编 号 主键 Doctor varchar(5) 主治医生编 号 索引 Description TinyText 症状 Diagnose TinyText 诊断 Patient mediumint(8) unsigned 患者编号 索引 0Rx TinyText 处方 Sdate Datetime 开始时间 0000-00-00 00:00:00Fd

44、ate Datetime 结束时间 可为空 0000-00-00 00:00:00Finished tinyint(1) unsigned 就诊过程是 否结束 1 是2 否 0(4) 预约记录表:预约记录表记录了已预约但尚未创建病历的患者信息。表 4.4 预约记录表的结构字段名 类型 备注 约束条 默认值QID int unsigned(10)auto_increment 记录编号 主键 15Doctor varchar(5) 主治医生编号 索引 Patient mediumint(8) unsigned 患者编号 索引 0Date Datetime 预约时间 0000-00-00 00:00

45、:00Day tinyint(1) unsigned 预约就诊时间0 - 周日1 周一2 周二3 周三4 周四5 周五6 周六0AP tinyint(1) unsigned 预约就诊时间 0 上午1 下午 0(5) 管理员表:管理员表存储了与管理员有关的信息。表 4.5 管理员表结构字段名 类型 备注 约束条 默认值AIDtinyint(2) unsignedauto_increment管理员编号 主键 Username varchar(20) 登录时的用户 名 唯一索引 Password Varchar(20) 登录时密码 Email Varchar(20) 电子邮件 Name Varcha

46、r(12) 姓名 Phone Varchar(15) 联系电话 可为空 16第五章 基于 JSP 与 JavaBean 的医院门诊信息管理系统详细设计第一节 系统功能模块设计根据客户要求,操作者的权限层次要有明确的分类,进入软件时需要进行身份验证;出于对患者个人隐私的负责,患者的病历记录只能在患者就医期间有主治医生条约,其它任何人包括管理员无权查阅。整个系统需要实现以下功能,如图所示:图 5.1 系统功能模块图第二节 系统功能模块实现一、hospital.db 包中的类医疗门诊信息管理系统病历基本信息管理模块 医生基本信息管理模块 患者基本信息管理模块 预约信息管理模块17图 5.2 hosp

47、ital.db 包的 UML 图与数据库建立连接类 DBConnection本类位于 hospital.db 包中,由于 Connection 是一个非常耗费资源的对象,因此在这里使用单例模式设计 DBConnection 类,保证了真个生命周期内只存在一个 Connection 对象,该对象可以被其它类重复利用,这样可以大大节省系统资源。DBConnection 类核心代码如下:public abstract class DBConnectionpublic static Connection getConnection()Connection conn=null;tryif(conn =

48、null)Class.forName(“org.gjt.mm.mysql.Driver“); /conn=DriverManager.getConnection(“jdbc:mysql:/localhost:3306/hospital“,“root“,“nemo“);Debug.log(“Connecion created.“);18elseStatement stmt=conn.createStatement();ResultSet rs=stmt.executeQuery(“SELECT COUNT(*) FROM administrator“);if(rs=null|!rs.next()

49、Class.forName(“com.mysql.jdbc.Driver“); conn=DriverManager.getConnection(“jdbc:mysql:/localhost:3306/hospital“,“root“,“nemo“);Debug.log(“Connecion re-created.“);catch(Exception ex)Debug.log(Debug.getExceptionMsg(ex);return conn;记录日志的 Debug 类本类位于 hospital.db 包中,本系统的一个亮点是日志记录,这里也是用单例模式实现的。Debug 类的核心代码如下:public final class

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 学术论文 > 毕业论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报