1、2013级本科数据库课程设计报告 摘 要 随着社会的进步和人类生产生活水平的提高,国内现有的医院不论从规模上还是服务质量上都实现了显著增长。显然,如果医院门诊仍采用人工管理的方式显然无法应对庞大的病患需求。如今,科学与发展已成为时代的主题。在中国软件行业日益进步的今天,我们可以利用这些资源来帮助减轻医生和病人的负担,让病人能够尽快就医。一个高质量的医院门诊管理系统,能提高医院的社会效益与经济效益。本文采用结构化分析和设计方法,通过MVC模式用JSP页面实现医院的网络化,通过msql数据库来存储信息。运用数据流程图和E-R图等工具对小型医院门诊管理系统数据库进行分析和设计,实现登记挂号、诊断治疗
2、、收费挂号等医院门诊的基本业务。关键词:医院;门诊管理信息系统;JSP; 系统开发;数据库设计一、 概述1、1背景介绍随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已经进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对医院门诊信息进行管理,具有比手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大等。这些优点能够极大地提高人事劳资管理的效率,也是企业的科学化、正规化管理的重要条件。针对典型的管理系统,以医院门诊管理为载体,设计医院门诊管理系统。在传统的医院门诊信息管理中,其过程往往是很复杂的,繁琐的,医院门诊信息
3、管理以患者挂号、诊治、开药为核心,在此过程中又需要经过若干道手续,因为整个过程都需要手工操作,效率十分低下,且由于他们之间关联复杂,统计和查询的方式各不相同;且会出现信息的重复传递问题,因此该过程必须实现信息化。近年来我国医疗事业发展迅速,手工管理方式在医院门诊信息管理等需要大量事务处理的应用中已显得不相适应,采用IT技术提高服务质量和管理水平势在必行。目前,对外开放必然趋势使医疗行业直面外国同行单位的直接挑战,因此,医院必须提高其工作效率,改善其工作环境。这样,医院门诊信息管理的信息化势在必行。 我们的系统开发的整体任务是实现医院门诊信息管理的系统化、规范化、自动化和智能化,从而达到提高医疗
4、单位管理效率的目的。1、2系统目标本课题的目的是使医院门诊信息管理清晰化,透明化,便于操作,易于管理。通过功能模块的优化组合实现不同的管理细节,使管理过程实现最大程度的自动化与信息化,并能自动对人工操作环节进行复查,使医院门诊管理信息系统出错率降至最低。在传统的医院门诊信息管理中,各种管理工作往往是很复杂烦琐的。医院门诊信息管理的特点是信息处理量比较大,所管理的种类比较繁多,而且由于挂号、开药等单据发生量特别大,关联信息多,查询和统计的方式不尽相同。在管理过程中经常会出现信息的重复传递,因此医院门诊信息管理必须实现计算机化处理。对于后台数据库的建立和维护要求建立起数据的一致性和完整性强、数据安
5、全性好、符合3NF范式。而前端应用程序的开发则要求应用程序能提供强大的数据操纵功能,界面友好、使用简单方便等特点。我们系统开发的总体任务是实现医院门诊信息管理的系统化、规范化、自动化、信息化与智能化,从而达到提高医院门诊信息管理效率的目的。通过医院门诊收费系统的设计,熟练掌握MyEclipse,Mysql等工具软件,系统地掌握需求分析、数据库设计、编码实现、测试等软件开发的流程,提高自身分析问题、解决问题的能力。1、3系统功能框架图图1 医院门诊管理信息系统的系统结构图二、 技术简介2、1 java简介Java是一种简单的,跨平台的,面向对象的,分布式的,解释的,健壮的安全的,结构的中立的,可
6、移植的,性能很优异的多线程的,动态的语言。当1995年SUN推出Java语言之后,全世界的目光都被这个神奇的语言所吸引。 1.平台无关性平台无关性是指Java能运行于不同的平台。Java引进虚拟机 原理,并运行于虚拟机,实现不同平台的Java接口之间。使用Java编写的程序能在世界范围内共享。Java的数据类型与 机器无关,Java虚拟机(Java Virtual Machine)是建立在硬件和操作系统之上,实现Java二进制代码的解释执行功能, 提供于不同平台的接口的。 2.安全性Java的编程类似C+,学习过C+的读者将很快掌握Java的精髓。Java舍弃了C+的指针对存储器地址的直接操作
7、,程序运行时,内存由操作系统分配,这样可以避免病毒通过指针侵入系统。Java对程序提供了安全管理器,防止程序的非法访问。3.面向对象Java吸取了C+面向对象的概念,将数据封装于类中,利用类的优点,实现了程序的简洁性和便于维护性。类的封装性、继承性等有关对象的特性,使程序代码只需一次编译,然后通过上述特性反复利用。程序员只需把主要精力用在类和接口的设计和应用上。Java提供了众多的一般对象的类,通过继承即可使用父类的方法。在Java中,类的继承关系是单一的非多重的,一个子类只有一个父类,子类的父类又有一个父类。Java提供的Object类及其子类的继承关系如同一棵倒立的树形,根类为Object
8、类,Object类功能强大,经常会使用到它及其它派生的子类。4.分布式Java建立在扩展TCP/IP网络平台上。库函数提供了用HTTP和FTP协议传送和接受信息的方法。这使得程序员使用网络上的文件和使用本机文件一样容易。5.健壮性Java致力于检查程序在编译和运行时的错误。类型检查帮助检查出许多开发早期出现的错误。Java自己操纵内存减少了内存出错的可能性。Java还实现了真数组,避免了覆盖数据的可能,这些功能特征大大提高了开发Java应用程序的周期。并且Java还提供了Null指针检测、数组边界检测、异常出口、Byte code校验等功能。6.解释型我们知道C,C+等语言,都是针对CPU芯片
9、进行编译,生成机器代码,该代码的运行就和特定的CPU有关。Java不像C或C+,它不针对CPU芯片进行编译,而是把程序编译成称为自字节码的一种“中间代码”。字节码是很接近机器码的文件,可以在提供了java虚拟机(JVM)的任何系统上被解释执行。7.动态java程序的基本组成单元就是类,有些类是自己编写的,有些是从类库中引入的,而类又是运行时动态装载的,这就使得Java可以在分部环境中动态的维护程序及分类,而不像C+那样,没档期类库升级以后,如果想让程序具有新类库提供的功能,就需要修改程序,重新编译。2、2JSP简介JSP全名为Java Server Pages,中文名叫java服务器页面,其根
10、本是一个简化的Servlet设计,它1 是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。它实现了Html语法中的java扩张(以 形式)。JSP与Servlet一样,是在服务器端执行的。通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器
11、就能浏览。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 JSP(JavaServer Pages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平
12、台无关性且安全可靠,主要面向因特网的所有特点。语言组成:request:对象是 javax.servlet.httpServletRequest类型的对象。 Response: 代表的是对客户端的响应,主要是将JSP容器处理过的对象传回到客户端。response对象也具有作用域,它只在JSP页面内有效。Session:从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话。当一个客户访问一个服务器时,可能会在这个服务器的几个页面之间反复连接,反复刷新一个页面,服务器应当通过某种办法知道这是同一个客户,这就需要session对象。Application:服务器
13、启动后就产生了这个application对象,当客户在所访问的网站的各个页面之间浏览时,这个application对象都是同一个,直到服务器关闭。但是与session不同的是,所有客户的application对象都是同一个,即所有客户共享这个内置的application对象。out :用于在Web浏览器内输出信息,并且管理应用服务器上的输出缓冲区。在使用 out 对象输出数据时,可以对数据缓冲区进行操作,及时清除缓冲区中的残余数据,为其他的输出让出缓冲空间。待数据输出完毕后,要及时关闭输出流。page :代表JSP本身,只有在JSP页面内才是合法的。 page隐含对象本质上包含当前 Servl
14、et接口引用的变量,类似于Java编程中的 this 指针。 Config:主要作用是取得服务器的配置信息。通过 pageContext对象的 getServletConfig() 方法可以获取一个config对象。当一个Servlet 初始化时,容器把某些信息通过 config对象传递给这个 Servlet。 开发者可以在web.xml 文件中为应用程序环境中的Servlet程序和JSP页面提供初始化参数。Exception:java.lang.Throwable 的实例,该实例代表其他页面中的异常和错误。 pageContext :作用是取得任何范围的参数,通过它可以获取 JSP页面的ou
15、t、request、reponse、session、application 等对象。pageContext对象的创建和初始化都是由容器来完成的,在JSP页面中可以直接使用 pageContext对象。2、3 MySQL简介MySQL是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于Oracle公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的
16、表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL 所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。2、4 JDBC简介JDBC,全称为Java DataBase Connectivity standard, 是Sun公司注册了的商标,代表用来执行SQL语句的Java语言应用程序编程接口API,它包括一系列用Java语言编写的类和接口,是J2EE访问数据库的标准接口技术,它与Microsoft开发