基于jsp医院网上预约挂号系统的设计和实现.doc_第1页
基于jsp医院网上预约挂号系统的设计和实现.doc_第2页
基于jsp医院网上预约挂号系统的设计和实现.doc_第3页
基于jsp医院网上预约挂号系统的设计和实现.doc_第4页
基于jsp医院网上预约挂号系统的设计和实现.doc_第5页
已阅读5页,还剩85页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

论文是本团队帮同学做过的案例,需要毕业论文设计(论文+源程序+答辩 PPT)的同学联系 799523222 基于基于 JSP 医院网上预约挂号系统的设计和医院网上预约挂号系统的设计和 实现实现 专专 业:业: 年年 级:级: 学学 号:号: 作作 者:者: 指导老师:指导老师: I 基于基于 JSPJSP 的医院网上预约挂号系统的医院网上预约挂号系统 摘摘 要要 Internet 互联网技术的快速发展的同时也带来了社会各个行业的发展。它的发展已经 深入到社会的各个角落。作为社会发展的前沿技术,各行各业只要对其合理的进行运用, 必将会带来巨大的便捷。成功的运用 Internet 将为医疗事业带来无限便利。 在传统的医院挂号过程中,信息处理停留在手工方式,劳动强度大且工作效率低, 医师护士和管理人员的大量时间都消耗在事务性工作上,病人排队等候时间长,这些影 响了医疗的秩序,也延误了患者的病情。而本论文的探索研究方向则为医院挂号网站 的开发与实现。本系统采用的是基于广域网的 B/S 结构平台,比 C/S 有更强的适用范围, 具有更加生动和丰富的表现方式与用户交流。系统的设计框架采用的是已经发展成熟、 安全的 SSH(Struts+Spring+Hibernate)技术框架,使系统实施更为方便和安全。网页采用 的是 JSP 技术,它拥有卓越的系统可移植性,同时它与流行的 XML 等技术也能良好整 合,加上 MYSQL 数据库强大的后台数据支持,奠定了 JSP 技术在网络应用系统开发中 的关键地位。它使我们的网页更加生动、具有表现力。 这次毕业设计开发了医院预约挂号系统,该系统是专为解决广大患者挂号难这个问 题。通过本网站患者可以有针对性的快速的找到符合自身的需求的医师进行预约挂号。 关键词关键词:医院, 挂号, SSH, JSP II Hospital registration and online booking system based on JSP Abstract With rapid development of Internet technology,which also brought the development of all sectors of society。Its 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 SSH (Struts + Spring + Hibernate) 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 JSP 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, StrutsSpringHibernate,JSP. I 目目 录录 1 1 绪绪 论论1 1 1.1 课题背景及研究意义 .1 1.2 国内外研究现状 .1 1.3 本课题研究内容2 1.3.1 功能模块2 1.3.2 后台数据库3 2 2 开发环境及开发技术开发环境及开发技术4 4 2.1 B/S 模型4 2.2 JSP 技术发展背景4 2.3 SSH 框架5 2.4 STRUTS框架 6 2.5 SPRING框架 8 2.6 HIBERNATE框架8 2.7 TOMCAT 5.5 简介 9 2.8 MYECLIPSE 5.5.1 GA 9 2.9 数据库简介 10 3 3 系统需求分析系统需求分析1111 3.1 系统需求分析.11 3.2 系统可行性分析.11 3.3 系统功能需求.11 3.3 数据流图.12 3.4 系统的数据字典 14 3.5 系统的性能需求.14 3.6 系统的数据需求.14 3.7 系统的运行需求.15 4 4 系统设计系统设计1616 4.1 系统数据库设计.16 论文是本团队帮同学做过的案例,需要毕业论文设计(论文+源程序+答辩 PPT)的同学联系 799523222 II 4.1.1 数据库表格设计16 4.1.2 ER 图设计18 4.2 系统设计 19 4.2 .1 系统结构设计19 4.2 .2 系统流程设计20 4.3 系统子模块设计 21 4.3.1 管理员模块21 4.3.2 用户模块22 5 5 系统实现系统实现2424 5.1 登录功能的实现 24 5.2 用户注册页面的实现 25 5.3 查询科室以及查询、预约医师的实现 26 5.4 科室添加功能的实现 28 5.5 医师添加功能的实现 29 6 6 总总 结结3030 参考文献参考文献3131 致致 谢谢3232 1 绪 论 1 1 1 绪绪 论论 1.11.1 课题背景及研究意义课题背景及研究意义 随着经济与科学技术的高速发展,信息化的进程不断加快。随着计算机性能不断 提高,价格不断下降,计算机已在医院医疗,教学,科研,管理的各个方面得到越来越 广泛的应用。然而,我国还有部分医院的信息处理停留在手工方式,劳动强度大且工作 效率低,医师护士和管理人员的大量时间都消耗在事务性工作上,病人排队等候时间长, 辗转过程多,影响了医疗的秩序。计算机化的医院信息系统已成为现代化医院运营必不 可少的基础设施与技术支撑环境。门诊挂号系统是整个医院管理信息系统的第一个窗口, 是病人到医院就诊要做的第一项工作。它用于收集病人的信息,协调科室医生管理,控 制各科室的流量等等。 医院网上预约挂号系统是一种基于互联网的新型挂号系统,是卫生信息化建设的基 础的项目之一。利用该预约挂号系统,用户就可以在网上预约医院的专家、专科号,而无 须再受排队之苦。它能更好的改善就医环境,简化就医环节,节约就医时间,真正体现了 以病人为中心,一切从方便患者出发,符合当今医院人性化温馨服务的理念。 目前,门诊一直是困扰医院提高服务质量的一个复杂环节,特别是医疗水平高、门 诊量大的医院,而造成门诊质量难以提高的因素主要有两方面: 一方面集中式挂号(现在流行的分层挂号只是相对而言一个范围较小的集中式挂号), 就诊人员流量不均、具有不确定性,有明显的就诊高峰和低谷(表现在整个医院不同门诊 时间段及同科室的不同时间段)。高峰期病人挂号排队长,就诊时间长,医生熟人插号现 象,环境拥挤混乱,医生问诊时间短、不仔细、态度差。而低谷期,医生无病人看、溜号, 医院资源浪费。 另一方面专家号(特别是名专家号)难挂,出现倒号、炒号现象,严重损害病人利益, 影响到医院的声誉。而采用网上预约挂号,可有效的解决这一现象,还通过有效的身份验 证,杜绝倒、炒专家号的现象,提高医院门诊服务质量,取得良好的社会效益和经济效益。 此外,病人到医院就诊前对医院的相关信息了解不多,对所要挂的专科医生的情况又不太 了解,只能凭经验和印象进行选择,具有较大的盲目性。而当医院开通网上挂号预约服务 以后,求医者只需坐在家中,轻点儿下鼠标,就可以挂上医院专家门诊号,可以做到 “足不出户选医生” 。网上预约正悄然改变着都市求医者的看病观念。拥有相对固定的 个人医生和习惯,预约看病,将不再遥远,所以应用必将越来越广泛。 1.21.2 国内外研究现状国内外研究现状 随着互联网络的迅猛发展,Internet 用户已呈几何级数增长,目前已经有很多医院 投入使用网上挂号系统。据了解,预约挂号在国外颇为普及。在西方国家,病人看病都 需要事先进行预约。随着预约挂号的深入推广,国内越来越多的医院也意识到预约服务 2 在节约看病时间、分流患者、减轻医院压力上的作用。据了解,尽管存在很多困难,但 全国各地的医院在尝试预约挂号的实践中还是提供了很多有益的做法。 广东省人民医院早在 2004 年就采取了一套相对完整的预约挂号体系,其三种预约 方式,按照受欢迎程度排名依此为:电话、现场、网络,分别占到了预约挂号中 50%、40%、10%。在福建,全省范围内拨打 12320 海西健康热线电话,即可预约到福建 省立医院等 5 家医院的专家号,只按市话费标准收费,不收取任何信息服务费。在北京, 解放军总医院(三一医院)于前不久专门开通了夜间门诊电话预约挂号 66936619(不收预约费) ,可以毫不费力地约到各科室的专家,开通不久即见成效,目 前已经成功分流了约 1/3 的患者。 此外医院还开通手机挂号功能,患者只需要发送短信就可以进行预约挂号。患者 根据系统提示,输入姓名、性别、年龄、住址、付费方式、就诊卡号、预约时间、预约 科室、预约项目、预约医师等内容,系统就会根据各门诊科室提供的具体情况,安排给 患者合适的就诊排号位或挂号建议。在患者就诊前一天、就诊当天、就诊前一小时、就 诊前 5 分钟,系统还会以短信的形式多次通知患者。患者如果有事无法就诊,通过发送 短信,经过医师或护士同意,还可二次预约。 1.31.3 本课题研究内容本课题研究内容 本课题的主要研究的内容是运用 JSP 语言、TOMCAT 服务器和 SQL 数据库实现管理 员对系统的管理、用户预约挂号等功能的管理和实现,包括前台模块和后台管理模块。 此系统采用技术框架为 SSH 框架(Spring + Struts + Hibernate) .1 功能模块功能模块 通过对用户需求的分析,本系统的功能主要包括两块,前台用户操作及后台管理。 各个功能的具体描述如下: 前台用户操作界面功能主要有:专家查询、用户信息修改、密码修改等功能设置。 各个模块的功能简述如下: 专家查询 通过这个功能可以浏览到每个专家的简介及所属科室,从而选择专家进行具体预 约。 用户信息修改 可以对自己的信息进行修改,如:姓名、密码提示问题及答案、性别、出生年月、 身份证号、E-mail 地址等信息。 密码修改 输入一遍旧密码,两遍新密码即可成功修改密码。 系统管理 管理员进行对科室信息、医师信息的添加、删除与修改操作,也可以对用户进行 删除操作。 3 .2 后台数据库后台数据库 使用 Hibernate 驱动程序访问数据库,数据库由五张表组成:管理员信息表、用 户信息表、医生表、科室表以及提供预约的时间表。数据库主要记录用户信息、医生信 息以及预约挂号的信息,并且预约记录也保存到数据库中。 2 开发环境及开发技术 4 2 2 开发环境及开发技术开发环境及开发技术 医院网上挂号系统是以 SSH 框架为主要的技术框架,以 JSP 技术为客户端的主要 显示技术,以 MySQL 数据库作为系统的数据存储单元。 下面我们来介绍下本系统 的开发环境以及开发中所用到的相关技术 。 2.12.1 B/SB/S 模型模型 B/S 结构,即 Browser/Server(浏览器/服务器)结构,是随着 Internet 技术的兴起, 对 C/S 结构的一种变化或者说是改进的结构。用户界面完全通过浏览器实现,一部分事 务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成三层结构,是一种全新的 软件系统构造技术。 B/S 模式最大特点是:用户可以通过 WWW 例览器去访问 Internet 上的文本、数据、 图像、动画、视频点播和声音信息,这些信息都是由许许多多的 Web 服务器产生的,而 每一个 Web 服务器又可以通过各种方式与数据库服务器连接,大量的数据实际存放在 数据库服务器中。客户端除了 WWW 创览器,一般无须任何用户程序,只需从 Web 服 务器上下载程序到本地来执行,在下载过程中若遇到与数据库有关的指令,由 Web 服 务器交给数据库服务器来解释执行,并返回给 Web 服务器,Web 服务器又返回给用户。 在这种结构中,将许许多多的网连接到一块,形成一个巨大的网,即全球网。 B/S 模型结构图如图 2.1 所示: 图 2.1 B/S 模型结构图 从上图可见 这种结构的一个重要的特点是,用户可以完全不需要安装客户端软件, 当然也不需要担心任何软件升级和不兼容等任何客户端所遇到的问题。相比之下,B/S 模型的优点显而易见,更适合这个网站的构建,有利于网站的维护和扩充。 2.22.2 JSPJSP 技术发展背景技术发展背景 Web 技术的迅猛发展正推动 Internet 上信息服务类的进步。WWW 服务的基础是 HTML 语言。这个系统模块中用到的 JSP 技术是在 HTML 语言的基础上使用脚本语言对网 页的对象模型进行编程。JSP 全称 JavaServerPages,它是由 Sun Microsystems 公司提出、 Web 服务器Datebase 服务器 JSP 页面 用户基本操作 用户 创建基本信息 5 许多公司参与建立的一种动态网页技术标准。它诞生在 1999 年 6 月 1 日。目前国内外 已经在广泛地使用 JSP。随着 JAVA 语言得到普及,越来越多的公司开始关注 JSP 的前 景。 传统的动态网页制作包括 CGI、ASP、JSP 三种,而 JSP 具有明显的优势。使用 CGI-BINJ 接口是一个最早的动态 WEB 页面问题的解决方案。缺点,CGI 程序必须从 CGI 接口读入一长串的字符串,再从字符串中取得所需要的数据并加以处理。过程十分繁琐。 另一个缺点,除了 Perl 是解释语言外,其他都是编译式的语言。每次修改后,都必须 重新编译一次,这给开发人员带来麻烦,增加了工作量。ASP 和 JSP 都能取代 CGI 使 网站建设和发展变得简单快捷。尽管 JSP 技术和 ASP 在许多方面都有相似的,但仍然 存在很多不同之处,其中最本质上的区别在于:两者是来源于不同的技术规范组织,其 实现的基础,WEB 服务器平台要求不相同。 作为 Java 平台的一部分,JSP 拥有 Java 编程语言“一次编写,各处运行”的 特点。一次写入,之后,可以运行在任何具有符合 Java TM 语法结构的环境。取代过去 单一平台开发。ASP 主要工作环境是微软的 IIS 应用程序结构,又因 Activex 对象具有 平台特性,所以 ASP 技术不能很容易地实现在跨平台的 WEB 服务器的工作。 从开发人员的角度来看其区别在于:ASP 仅支持组件对象模型 COM,而 JSP 技术提供的组件都是基于 JavaBeans TM 技术或 JSP 标签库。 JSP 标签可扩充性。JSP 技术能够使用开发者扩展 JSP 标签,JSP 开发者能定 制标签库,减少对脚本语言的依赖。 生成可重用的组件。JSP 基于组件的技术方法加速了总体开发过程。 JSP 组 件(JavaBeans,或定制的 JSP 标签)是跨平台可重用的。JavaBeans 组件可以访问数据 库,并能以分布式系统模式工作于 UNIX 和 WINDOWS 平台。 易于维护性。 基于 JSP 技术的应用程序比基于 ASP 的应用程序易于维护和 管理。JSP 突出的组件技术使修改内容而不影响逻辑或修改逻辑而不影响内容变得很容 易实现。 如上的比较不难看出,JSP 技术编写的程序运用要更加灵活,可扩展性更强。 2.32.3 SSHSSH 框架框架 即为 Struts + Spring + Hibernate 技术,典型的 MVC 三层结构,分为表现层、中间 层(业务逻辑层)和数据服务层。三层体系将业务规则、数据访问及合法性校验等工作 放在中间层处理。客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由 中间层与数据库交互。 表现层是传统的 JSP 技术,自 1999 年问世以来,经过多年的发展,其广泛的应用 和稳定的表现,为其作为表现层技术打下了坚实的基础。 中间层采用的是流行的 Spring+Hibernate,为了将控制层与业务逻辑层分离,又细 分为以下几种。 6 Web 层,就是 MVC 模式里面的“C”(Controller),负责控制业务逻辑层与表现层 的交互,调用业务逻辑层,并将业务数据返回给表现层作组织表现,该系统的 MVC 框架 采用 Struts。 Service 层(就是业务逻辑层),负责实现业务逻辑。业务逻辑层以 DAO 层为基础, 通过对 DAO 组件的正面模式包装,完成系统所要求的业务逻辑。 DAO 层,负责与持久化对象交互。该层封装了数据的增、删、查、改的操作。 PO,持久化对象。通过实体关系映射工具将关系型数据库的数据映射成对象,很 方便地实现以面向对象方式操作数据库,该系统采用 Hibernate 作为 ORM 框架。 Spring 的作用贯穿了整个中间层,将 Web 层、Service 层、DAO 层及 PO 层无缝整 合,其数据服务层用来存放数据。 2.42.4 StrutsStruts 框架框架 Struts 框架可分为以下四个主要部分,其中三个就和 MVC 模式紧密相关: 模型(Model),本质上来说在 Struts 中 Model 是一个 Action 类,开发者通过其 实现商业逻辑,同时用户请求通过控制器(Controller)向 Action 的转发过程是基于由 struts-config.xml 文件描述的配置信息的。 视图(View),View 是由与控制器 Servlet 配合工作的一整套 JSP 定制标签库构 成,利用她们我们可以快速建立应用系统的界面。 控制器(Controller),本质上是一个 Servlet,将客户端请求转发到相应的 Action 类。 一堆用来做 XML 文件解析的工具包,Struts 是用 XML 来描述如何自动产生一些 JavaBeans 的属性的,此外 Struts 还利用 XML 来描述在国际化应用中的用户提示信息的 (这样一来就实现了应用系统的多语言支持)。 struts 框架的各个部分以及相互之间的运作: 在使用 Struts 之前,咱们必先设置好 JSP 服务器,以便让服务器在用户请求时, 知道该如何将指定后缀的请求转到相应的 ControllerStruts ActionServlet 处理,当然, 这些配置信息都一般在服务器启动时通过 web.xml 文件读入的。我们可以在 web.xml 定 义多个 Controller,为每一个应用定义一个 Controller。 控制器(Controller) Controller 是这个框架中扮演“交通警察”的角色,当客户端与服务器有交互动 作时,都由她来控制。Controller 将 HTTP 请求封包并转发到框架中相应的对象,这些 对象可能是一个 JSP 页面或一个 Action。 Controller 在 web.xml 中设置为 org.apache.struts.action.ActionServlet 的一个实例, 在一个完整的控制过程中,也就是处理一个 HTTP 请求时,在控制过程之初,这个 Servlet 会从一个配置文件 struts-config.xml 中获取请求与控制动作向对应的配置信息, Controller 通过这些配置信息来决定 HTTP 请求该往何处转发,而这些 Action 在接收到 转发来的请求后,实现真正的商业逻辑。 7 Action 对象要能够调用这个 ActionServlet 的若干方法,通过这个有力的特性,当 Action 对象在控制过程中将请求再向别的 Action 对象转发时(最初的请求是由 ActionServlet 获取,向 Action 对象转发,而 Action 对象还可以再转发到别的对象),我 们可以将一些需要共享的数据对象通过调用一些方法放入这个 Servlet 相关的一些标准 容器中捎带过去。 模型(Model) 所谓 Model 就是在对用户请求的整个控制过程中,真正处理用户请求并保存处理 结果的对象,在整个过程中,我们一般利用 JavaBean 来把一些信息保存起来以便在各 个对象之间传递。 因为在框架中,Model 对象是真正处理商业逻辑功能的对象,因此也就是框架中应 用需求实现相关性最大的部分。在 Struts 的实现里,Model 的具体表现形式就是 ActionForm 对象和与其对应的 Action 对象了。对用户提交表单的数据进行校验,甚至 对数据进行预处理都能在 ActionForm 中完成。 通常的应用中,一般是一个 Model 对象和一个请求页面对应的关系,但也可以一 个 Model 对象对应多个页面请求。如果 struts-config.xml 配置文件没有指定一个 Model 对象对应的 Action,那么控制器将直接把(通过 Model 对象完成数据封装的)请求转到一 个 View 对象。 视图(View) View 对象通常来说都是指的 JSP 页面。Struts 框架实际上并没有真正的 JSP 的要 求规范,而是提供了大量的标签库来为开发者更简便的将 JSP 整合到 Struts 框架中。 在 Struts 中通过标签定义方式的 JSP 页面能够将用户通过表单输入的数据存入一个 JavaBean 中,也就是我们前面提到的 ActionForm Bean。通过 Action 类调用(自动或手 动)ActionForm 的校验方法来检查用户输入的数据,如果发现不合法的数据,再通过 Struts 的一个通用机制将错误信息返回给用户显示。 Struts 框架提供了若干个标签库,它们有各自不同的用途。由于这些库还可以脱离 Struts 框架单独使用,这样我们也可以在其他系统中尝试使用这些标签库,它们包括: * struts-html - 这个标签库用来创建动态的 HTML 页面和表单。 * struts-bean - 提供了类似甚至更强于中的功能。 * struts-logic - 用于在页面输出文本信息时的条件、循环等流程的控制。 * struts-template - 用于产生有共同风格的动态 JSP 页面模板。 此外,可定制标签库在 Struts 中还有一大用处是,通过资源文件的方式来实现应 用系统的多语言特性,应用 Struts 的系统若想将系统中的用户交互信息换一种语言的 会很简单,更换一个不同的资源文件就可以了。 8 struts-config.xml 前面多次提到的 struts-config.xml 配置文件是整个框架的主心骨。web.xml 文件定 义了一个请求到来应向何处转发后,后面的工作就全权由 struts-config.xml 管理控制了。 可以说 struts-config.xml 就是整个 Struts 框架的“大脑”,只有它清楚所有请求与动作 的映射关系,如今的应用系统,XML 形式的配置文件越来越多,如果整个系统只使用一 个这样的配置文件的话,那么保持整个系统的模块化和可维护性都非常的轻松。 使用配置文件来描述请求-动作的控制过程和相互关系,而不是在代码中将对象之 间的调用关系写死,那么当应用系统有变动时,我们只用修改配置文件就行了,而不是 再重新编译发布程序了。 Controller 通过 struts-config.xml 文件的配置信息确定当有请求时应该调用那个对象 来处理,从效率的角度出发,这些信息都是在系统启动时读入并存在内存中的。 2.52.5 SpringSpring 框架框架 Spring 是一个开源框架,它由 Rod Johnson 创建。它是为了解决企业应用开发的复 杂性而创建的。Spring 使用基本的 JavaBean 来完成以前只可能由 EJB 完成的事情。然 而,Spring 的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言, 任何 Java 应用都可以从 Spring 中受益。 目的:解决企业应用开发的复杂性 功能:使用基本的 JavaBean 代替 EJB,并提供了更多的企业应用功能 范围:任何 Java 应用 通过 Spring 提供的 IOC 容器,我们可以将对象之间的依赖关系交由 Spring 进行控 制,避免硬编码所造成的过度程序耦合。有了 Spring,用户不必再为单实例模式类、属 性文件解析等这些底层的需求编写代码,可以更专注于上层的应用。 Spring 的特点: AOP 编程的支持: 通过 Spring 提供的 AOP 功能,方便进行面向切面的编程, 许多不容易用传统 OOP 实现的功能可以通过 AOP 轻松应付。 声明式事务的支持 : 在 Spring 中,我们可以从单调烦闷的事务管理代码中解 脱出来,通过声明方式灵活地进行事务的管理,提高开发效率和质量。 方便程序的测试:可以用非容器依赖的编程方式进行几乎所有的测试工作, 在 Spring 里,测试不再是昂贵的操作,而是随手可做的事情。 方便集成各种优秀框架: Spring 不排斥各种优秀的开源框架,相反,Spring 可 以降低各种框架的使用难度,Spring 提供了对各种优秀框架(如 Struts,Hibernate、Hession、Quartz)等的直接支持。 降低 Java EE API 的使用难度: Spring 对很多难用的 Java EE API(如 JDBC,Java Mail,远程调用等)提供了一个薄薄的封装层,通过 Spring 的简易封装, 这些 Java EE API 的使用难度大为降低。 9 2.62.6 HibernateHibernate 框架框架 Hibernate 是一种 Java 语言下的对象关系映射解决方案。 它是一种自由、开源的 软件。它用来把对象模型表示的对象映射到基于 SQL 的关系模型结构中去,为面向对 象的领域模型到传统的关系型数据库的映射,提供了一个使用方便的框架。 Hibernate 不仅管理 Java 类到数据库表的映射(包括从 Java 数据类型到 SQL 数据 类型的映射) ,还提供数据查询和获取数据的方法,可以大幅度减少开发时人工使用 SQL 和 JDBC 处理数据的时间。 Hibernate 对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲 的使用对象编程思维来操纵数据库。Hibernate 可以应用在任何使用 JDBC 的场合,它既 可以在 Java 的客户端程序使用,也可以在 Servlet/JSP 的 Web 应用中使用。最具革命意 义的是,Hibernate 可以在应用 EJB(Enterprise JavaBeans 是 Java 应用于企业计算的框架) 的 J2EE 架构中取代 CMP,完成数据持久化的重任。 它的设计目标是将软件开发人员从大量相同的数据持久层相关编程工作中解放出 来。无论是从设计草案还是从一个遗留数据库开始,开发人员都可以采用 Hibernate。 Hibernate 的优点: Hibernate 使用 Java 反射机制 而不是字节码增强程序来实现透明性。 Hibernate 的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。 Hibernate 支持各种关系数据库,从一对一到多对多的各种复杂关系。 2.72.7 TomcatTomcat 5.55.5 简介简介 Tomcat 是一个免费的开源的 Servlet 容器,它是 Apache 基金会的 Jakarta 项目中的 一个核心项目,由 Apache,Sun 和其它一些公司及个人共同开发而成。由于有了 Sun 的参与和支持,最新的 Servlet 和 JSP 规范总能在 Tomcat 中得到体现。 Tomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好, 支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完 善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。 Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很 多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说, 可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对 HTML 页面的访问请求。实际上 Tomcat 部分是 Apache 服务器的扩展,但它是独立运行 的,所以当你运行 tomcat 时,它实际上作为一个与 Apache 独立的进程单独运行 的。 2.82.8 MyEclipseMyEclipse .1 GAGA MyEclipse 企业级工作平台( MyEclipse Enterprise Workbench ,简称 MyEclipse)是对 Eclipse IDE 的扩展,利用它我们可以在数据库和J2EE 的开发、 发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的 10 J2EE 集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持 HTML, Struts, JSF, CSS, JavaScript, SQL, Hibernate。 在结构上,MyEclipse 的特征可以被分为 7 类: 1. J2EE 模型 2. WEB 开发工具 3. EJB 开发工具 4. 应用程序服务器的连接器 5. J2EE 项目部署服务 6. 数据库服务 7. MyEclipse 整合帮助 对于以上每一种功能上的类别,在Eclipse 中都有相应的功能部件,并通过一 系列的插件来实现它们。 MyEclipse 结构上的这种模块化,可以让我们在不影响其 他模块的情况下,对 任意一个模块进行单独的扩展和升级。 简单而言,MyEclipse 是 Eclipse 的插件,也是一款功能强大的 J2EE 集成开发 环境,支持代码编写、配置、测试以及除错。 2.92.9 数据库简介数据库简介 由于本系统采用的数据库为 MySQL 数据库,所以这里对 MySQL 数据库的相关 知识进行简单介绍。 MySQL 是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB 公司。 在 2008 年 1 月 16 号被 Sun 公司收购。目前 MySQL 被广泛地应用在 Internet 上的 中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特 点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL 作为网站数据库。 与其他的大型数据库例如 Oracle、DB2、SQL Server 等相比,MySQL 自有它 的不足之处,如规模小、功能有限 (MySQL Cluster 的功能和效率都相对比较差) 等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业 来说,MySQL 提供的功能已经绰绰有余,而且由于MySQL 是开放源码软件,因 此可以大大降低总体拥有成本。 MySQL 特点: .使用 C 和 C+编写,并使用了多种 编译器进行测试,保证源代码的可移植 。 .支持 AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows 等多种操作系统 。 .为多种编程语言提供了 API。这些编程语言包括 C、C+、Eiffel、Java、Perl、PHP、Python、Ruby 和 Tcl 等。 .支持多线程,充分利用 CPU 资源。 .优化的 SQL 查询算法,有效地提高查询速度 。 11 .既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够 作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的 GB 2312、BIG5,日文的 Shift_JIS 等都可以用作数据表名和数据列名 。 .提供 TCP/IP、ODBC 和 JDBC 等多种数据库连接途径 。 .提供用于管理、检查、优化数据库操作的管理工具 。 .可以处理拥有上千万条记录的大型数据库 。 3 系统需求分析 12 3 3 系统需求分析系统需求分析 3.13.1 系统需求分析系统需求分析 目前,门诊一直是困扰医院提高服务质量的一个复杂环节,特别是医疗水平高、门 诊量大的医院,而造成门诊质量难以提高的因素主要有两方面: 一方面集中式挂号(现在流行的分层挂号只是相对而言一个范围较小的集中式挂号), 就诊人员流量不均、具有不确定性,有明显的就诊高峰和低谷(表现在整个医院不同门诊 时间段及同科室的不同时间段)。高峰期病人挂号排队长,就诊时间长,医生熟人插号现 象,环境拥挤混乱,医生问诊时间短、不仔细、态度差。而低谷期,医生无病人看、溜号, 医院资源浪费。 另一方面专家号(特别是名专家号)难挂,出现倒号、炒号现象,严重损害病人利益, 影响到医院的声誉。而采用网上预约挂号,可有效的解决这一现象,还通过有效的身份验 证,杜绝倒、炒专家号的现象,提高医院门诊服务质量,取得良好的社会效益和经济效益。 为了解决这一问题,我们需要一种能够方便快捷的挂号方式来满足各方面的需求, 减少排队挂号的痛苦和时间的浪费,而本课题所研究的基于 JSP 的医院网上挂号预约系 统正好是为了解决这一问题而设计的方案,因此,本系统拥有很大的用户需求。 3.23.2 系统可行性分析系统可行性分析 网上预约挂号系统是一种基于互联网的新型挂号系统,是卫生信息化建设的基础项 目之一。利用该预约挂号系统,用户就可以在网上预约医院的专家、专科号,而无须再受 排队之苦。 而当医院开通网上挂号预约服务以后,求医者只需坐在家中,轻点儿下鼠标,就 可以挂上医院专家门诊号,可以做到“足不出户选医生” 。网上预约正悄然改变着都市 求医者的看病观念。拥有相对固定的个人医生和习惯,预约看病,将不再遥远,所以应 用必将越来越广泛。 网上预约挂号系统是运用 JSP 语言、TOMCAT 服务器和 SQL 数据库实现管理员对系 统的管理、用户预约挂号等功能的管理和实现,包括前台模块和后台管理模块。系统采 用技术框架为 SSH 框架(Spring + Struts + Hibernate) 。 从可行性上分析,无论是需求方面,还是技术方面,完全可以对系统进行开发, 这样的方案是可行的。 3.33.3 系统功能需求系统功能需求 JSP 医院网上预约挂号系统的总体目标是:在计算机网络,数据库和先进的开发平 台上,利用现有的软件,配置一定的系统环境,开发一个具有开放体系结构的,易扩充 13 的,易维护的,具有良好人机交互界面的 JSP 医院网上预约挂号系统,为广大患者提供 一个方便快捷的网上预约挂号服务。系统具体需要实现以下功能: 浏览医院信息:对医院的概况有所了解。 预约查询:查询医师及其所属科室信息,以及查询医师可以被预约的时间列表。 预约服务:已登录的用户按照自己的实际情况选择合适的医师和合适的就医时 间进行预约服务。 管理员模块:对医师以及医师所属科室进行添加、删除和修改的操作。 用户信息修改:对自己的信息可以进行修改。 3.33.3 数据流图数据流图 软件需求分析中主要采用结构化分析方法(Structured Analysis,简称 SA) ,SA 是 面向数据流进行需求分析的方法,像所有的软件分析方法(如面向对象分析方法、 IDEF 方法等等)一样,SA 也是一种建模活动,它使用简单易读的符号,根据软件内部 数据传递、变换的关系,自顶向下逐层分解,描绘满足功能要求的软件模型。 在系统中主要采用数据流图(DFD)这种半形式化的描述方式表达需求。它是一 种功能模型,以图形的方式描绘数据在系统中流动和处理的过程,只反映系统必须完成 的逻辑功能。它有四种基本图形符号: 外部实体:与系统进行交互,但系统不对其进行加工和处理的实体,用带标记 的矩形表示; 加工:对数据进行的交换和处理,用带标记的圆圈表示; 数据流:在数据加工之间或数据存储和数据加工之间进行流动的数据,用带标 记的箭头表示; 数据存储:在系统中需要存储的实体,用带标记的双实线表示。 在多层数据流图中,顶层流图仅包含一个加工,它代表被开发系统,它的输入流 是该系统的输入数据了,输出流是该系统的输出数据;底层流图是指其加工不需要再做 分解的数据流图,中间层流图表示对其上层父图的细化,它的每一步加工可能继续细化 成子图。 将整个系统看成一个加工,然后找出作用于该加工的外部实体,以及相应的数据 输入和输出。对于“基于 JSP 的医院网上挂号系统”而言,整个系统就是一个加工“医 院网上挂号系统” 。 “管理人员”是数据的源点, “用户”是数据的终点。另外,管理人 员需要添加科室信息和医师信息,说明“科室信息”和“医师信息”是数据流,同样, “查询请求”和“查询结果”也是数据流。因此得到了第 0 层 DFD 图,如图 3.1 所示: 0 医院网上 挂号系统 管理员员用 户 科室信息 医师信息 查询结果 查询请求 14 图 3.1 第 0 层 DFD 图 “科室信息”是管理人员需要添加的一个信息,因此加入一个加工“添加科室信 息” ,同样得到“添加医师信息”这个加工。数据流“查询请求”和“查询结果”应该 由加工“查询信息”来完成。这样, “添加科室信息” , “添加医师信息”和“查询信息” 三个加工代替了第 0 层的“医院网上挂号系统” ,同时增加了“科室”和“医师”这两 个数据存储,因此,得到了第 1 层 DFD 图,如图 3.2 所示: 图 3.2 第 1 层 DFD 图 对第 1 层 DFD 图的一个加工“查询信息”进行展开,得到了第 2 层 DFD 图,如 图 3.3 所示: 1 添加科 室信息 1 查 询 信 息 1 添加医 师信息 科 室 医 师 管 理 员 用 户 查询结果 医师信息 查询请求 科室信息 2 合法性 检 查 2 查 询 信 息 用 户 科室 医师 条件合法 查询请求 查询条件 查询条件 2 信息输 出列表 查询结果 15 图 3.3 第 2 层 DFD 图 3.43.4 系统的数据字典系统的数据字典 以下列出“基于 JSP 的医院网上预约挂号系统”的部分数据字典: 科室信息数据字典,如图 3.4 所示: 名字科室信息 描述医院开设科室的信息 定义科室信息=科室名称+科室简介 位置输出到用户的浏览器 图 3.4 科室信息数据字典 医师信息数据字典,如图 3.5 所示: 名字医师信息 描述医院医师的信息 定义医师信息=医师名称+医师简介+所属科室+医师职称 位置输出到用户浏览器 图 3.5 医师信息数据字典 3.53.5 系统的性能需求系统的性能需求 为了保证系统能够长期,安全,稳定,可靠,高效的运行,医院网上挂号系统应 该满足以下的性能需求: 系统处理的准确性 系统处理的准确性是系统的必要性能。由于医院网上挂号系统的医师功能和挂号 预约功能对于整个系统的功能和性能举足轻重。所以在系统的开发过程中,必须采用一 定的方法保证系统的准确性。 系统的易用性 医院网上挂号系统是直接面对广大患者的,所以系统应该使用用户熟悉的术语和 中文信息的界面。 3.63.6 系统的数据需求系统的数据需求 数据录入和处理的准确性和实时性 系统的大部分数据的输入都是由管理员手工输入,所以系统的界面应具有排错功 能,保证系统正常运行。 数据的一致性和完整性 16 由于有关科室信息和医师信息是共享的,所以要保持文档数据的一致性,对于输 入的数据则要求保持完整性。 3.73.7 系统的运行需求系统的运行需求 系统软件:TOMCAT 5.5,JDK 1.6 数据库管理系统:MySQL 硬件要求:Pentium III 450 以上, 258M RAM,14G HD 4 系统设计 17 4 4 系统设计系统设计 4.14.1 系统数据库设计系统数据库设计 在信息世界中,信息从客观事物出发流经数据库,通过决策机构最后又回到客观世 界,信息的这一循环经历了三个领域:信息世界,数据世界,现实世界。现实世界的事 物反映到人的头脑中,人的大脑对它有个认识过程,经过分析(选择、命名、分类等) 进入信息世界。这些信息再进一

温馨提示

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

评论

0/150

提交评论