医院管理系统的设计与实现Word格式.docx

上传人:b****5 文档编号:21665614 上传时间:2023-01-31 格式:DOCX 页数:55 大小:2.17MB
下载 相关 举报
医院管理系统的设计与实现Word格式.docx_第1页
第1页 / 共55页
医院管理系统的设计与实现Word格式.docx_第2页
第2页 / 共55页
医院管理系统的设计与实现Word格式.docx_第3页
第3页 / 共55页
医院管理系统的设计与实现Word格式.docx_第4页
第4页 / 共55页
医院管理系统的设计与实现Word格式.docx_第5页
第5页 / 共55页
点击查看更多>>
下载资源
资源描述

医院管理系统的设计与实现Word格式.docx

《医院管理系统的设计与实现Word格式.docx》由会员分享,可在线阅读,更多相关《医院管理系统的设计与实现Word格式.docx(55页珍藏版)》请在冰豆网上搜索。

医院管理系统的设计与实现Word格式.docx

融合了医院的管理思想和各部门的业务经验,是当前医院运营方式和业务流程的具体体现,同时在一定程度上反作用于医院的日常运营的效率。

医院信息化所采用的技术手段与当前快速发展的信息技术密切相关,实施的技术手段又要受到当前计算机信息技术发展的高度的大环境的制约,又要受到国家和有关部委制定的相关法律法规的影响。

所以,医院医疗信息化的建设并不是一个简单的,封闭的,静止的过程,相反它却是一个复杂的,开放的,动态的研究过程。

医院医疗信息化建设工作具有长期性,复杂性和内容的多变性,医院医务系统的设计和实现,有利于提高医院医务办公自动化水平,工作效率和管理水平,从而更好的为管理人员,医师,病人和药物服务,具有十分重要的意义[1]。

医院在改革开放以来,发展迅速,现已成为一家大型综合医院,因此医院投入了大量的人力物力财力推进医院的信息化建设,目前已经建成了覆盖全院的信息化平台,并在此基础上购置和研制了OA办公系统,人力资源管理系统,财务管理系统等,进一步实现了数字化医院的建设,但是有些部门及日常运营信息化工作水平还是比较低,比如病人在门诊就诊时,医生还是采用手写记录病人信息的方式进行门诊就诊的,手写的方式记录的病人的信息查询管理门诊信息难度大,不易进行门诊的报表和业务管理。

为了推动医院信息化建设,利用现代计算机技术将医院的病人信息管理,医师信息管理,药物信息管理,门诊管理,住院管理等工作移植到统一的软件网络空间环境下,从而可以达到医院日常运营效率和管理水平的目的。

本论文针对第一人民医院目前的现状,结合单位的实际情况,决定开发一个基于B/S模式的医务管理系统,一个规范化的J2EE系统软件。

1.2系统完成的工作及解决方案

本文采用了软件工程的设计思想,经过深入的调查编写了医务管理系统的需求分析,系统的总体设计,数据库设计和系统的详细设计和实现。

本系统符合医院的管理要求和工作人员的工作习惯,方便医护人员及管理员的使用,采用计算机方式记录医院的医师信息,药品信息,住院信息以及门诊信息,实现了对病人在医院整个就医过程中的各项信息的详细规范的记录和人员信息,药物信息的变更的记录。

系统的设计使用了面向对象的编程方法,把系统分成了多个模块,开发环境采用了MyEclipse8.5,后台数据库采用MySQL,部署运行服务器采用的是Tomcat5.0。

本系统按照软件工程理论的开发流程,主要完成以下几个线性内容:

计划阶段,需求分析,系统设计,编码实现,测试及运行等几个阶段。

(1)计划阶段

主要进行可行性分析,主要包括:

a.经济可行性b.技术可行性c.法律可行性。

(2)需求分析阶段

在此阶段,软件开发人员和用户共同讨论和决定哪些需求是可以满足的,哪些需求是需要改进的,对一些需求和需要加以特殊的描述,写出软件需求说明书或系统功能说明书及初步的用户使用手册。

(3)系统设计阶段

此阶段是软件工程的核心部分,大致分为总体设计和详细设计。

总体设计根据需求得到的数据流,数据结构;

详细设计是使用表格和图形等详细设计工具。

(4)编码与实现阶段

把用户可以接受的需求用计算机编程语言实现出来,使用哪种计算机编程语言由计算机编程人员自己确定。

(5)测试与运行阶段

包括改正性维护,适应性维护,完善性维护。

在本阶段主要编写测试用例来实现测试过程[2]。

1.3论文的组织结构

本文主要分为六节。

第一节绪论,主要介绍该系统研究的背景及意义,需要解决的问题和解决问题的方案以及本论文的组织结构。

第二节系统开发的关键技术,主要介绍系统实现过程中使用到的技术和方法。

第三节系统需求分析,主要介绍了系统实现之前的用户期望达到的效果。

第四节系统设计,主要介绍了系统的数据库设计和系统的体系设计。

第五节编码与实现,主要介绍了一些功能模块的代码实现。

第六节测试运行,主要介绍了软件测试的目的和意义,对本系统进行一些功能测试,列举了一些测试用例。

第2章系统开发的关键技术

2.1J2EE模式的系统架构简介

J2EE是Java2平台企业版(Java2Platform,EnterpriseEdition),J2EE核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共同的标准及规格,让各种依循J2EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,企业内部或外部难以互通的窘境。

J2EE的体系结构如图2.1所示:

图2.1J2EE体系结构

2.1.1J2EE的概念

J2EE是一种利用Java2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。

J2EE技术的基础就是核心Java平台或Java2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如“编写一次、随处运行”的特性、方便存取数据库的JDBCAPI、CORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对EJB(EnterpriseJavaBeans)、JavaServletsAPI、JSP(JavaServerPages)以及XML技术的全面支持。

其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。

J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。

通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持EnterpriseJavaBeans,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能。

2.1.2J2EE的四层模型

J2EE使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组件根据他们所在的层分布在不同的机器上。

事实上,sun设计J2EE的初衷正是为了解决两层模式(client/server)的弊端,在传统模式中,客户端担当了过多的角色而显得臃肿,在这种模式中,第一次部署的时候比较容易,但难于升级或改进,可伸展性也不理想,而且经常基于某种专有的协议,通常是某种数据库协议。

它使得重用业务逻辑和界面逻辑非常困难。

现在J2EE的多层企业级应用模型将两层化模型中的不同层面切分成许多层。

一个多层化应用能够为不同的每种服务提供一个独立的层,以下是J2EE典型的四层结构:

运行在客户端机器上的客户层组件

运行在J2EE服务器上的Web层组件

运行在J2EE服务器上的业务逻辑层组件

运行在EIS服务器上的企业信息系统(Enterpriseinformationsystem)层软件

J2EE应用程序组件

J2EE应用程序是由组件构成的.J2EE组件是具有独立功能的软件单元,它们通过相关的类和文件组装成J2EE应用程序,并与其他组件交互。

J2EE说明书中定义了以下的J2EE组件:

应用客户端程序和applets是客户层组件。

JavaServlet和JavaServerPages(JSP)是web层组件。

EnterpriseJavaBeans(EJB)是业务层组件[3]。

2.2Struts2框架简介

Struts2是Struts的下一代产品,是在struts和WebWork的技术基础上进行了合并的全新的Struts2框架。

其全新的Struts2的体系结构与Struts1的体系结构的差别巨大。

Struts2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts2可以理解为WebWork的更新产品。

虽然从Struts1到Struts2有着太大的变化,但是相对于WebWork,Struts2只有很小的变化。

Struts是MVC模式的经典实现,具有组件的模块化、灵活性和重用性的优点,同时也简化了基于MVC的Web应用程序的开发。

从应用的角度来说,Struts有三大块,分别是Struts核心类、Struts配置文件及Struts标签库。

一般情况下所说的Struts框架指的是Struts1框架,而非Struts2框架。

由于本系统使用Struts2框架开发,所以主要介绍Struts2框架。

Struts2是一个优秀的、可扩展的企业级JavaWeb应用程序开发框架。

Struts2并不是Struts1的升级版本,它是WebWork及Struts1结合的产物。

根据J2EE的特点,做了相应的变化和扩展。

它是在JSPModel的基础上实现的一个MVC框架,其结构如图2-2所示:

图2.2Struts2结构图

2.2.1Struts2工作原理

当客户浏览器发起一个请求,请求被发送到控制组件DispatchFilter,DispatchFilter就好比公司的前台,它会根据请求地址将其转到相应的模型组件。

每个模型组件都会关联一系列的拦截器,拦截器的作用就好比一层层的守卫,进入模型组件的请求都要首先经过这些拦截器的审查处理,才能进入下一环节处理。

在经过拦截器的“层层盘查”后,请求才能到达实现业务逻辑的核心组件Action,Action完成后,根据业务处理的结果。

将返回一个Result到客户浏览器。

看起来事情到此为止,事实上,拦截器还要进行处理后的一系列善后工作,整个处理流程才算真正的完成。

只是此时拦截器进行的这些善后工作对于用户看到的Result组件的显示没有任何影响。

Struts2工作原理如图2-3所示:

图2.3Struts2工作原理

Struts2框架的大概处理流程如下:

(1)加载类(FilterDispatcher)

(2)读取配置(struts配置文件中的Action)

(3)派发请求(客户端发送请求)

(4)调用Action(FilterDispatcher从struts配置文件中读取与之相对应的Action)

(5)启用拦截器(WebWork拦截器链自动对请求应用通用功能,如验证)

(6)处理业务(回调Action的execute()方法)

(7)返回响应(通过execute方法将信息返回到FilterDispatcher)

(8)查找响应(FilterDispatcher根据配置查找响应的是什么信息如:

SUCCESS、ERROR,将跳转到哪个jsp页面)

(9)响应用户(jspà

用户浏览器端显示)

(10)struts2标签库(相比struts1的标签库,struts2是大大加强了,对数据的操作功能很强大)[4]

2.2.2Struts2的作用及优势

Struts清晰地划分了控制部分,事务逻辑和外观视图,让开发者遵循一个统一的模式进行设计编码,简化了系统后期维护的工作量,尤其是当其他开发者接受项目时,这种优势体现得更加明显。

Struts给开发者提供了了良好的页面导航功能,开发者可以通过配置文件struts.xml把握整个系统各部分之间的相互关联,侵袭地掌握整个系统的结构,同时Struts对Taglib标签库进行了扩展,使得功能更加强大。

使用Taglib可以简化JSP页面的开发,使得页面嵌套的Java代码变得更少,页面的工作量减轻,开发人员可以更加灵活的在控制层中编写代码。

2.3其他相关技术简介

2.3.1JavaScript技术

JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。

同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。

它最初由网景公司的BrendanEich设计,是一种动态、弱类型、基于原型的语言,内置支持类。

JavaScript是Sun公司的注册商标。

Ecma国际以JavaScript为基础制定了ECMAScript标准。

JavaScript也可以用于其他场合,如服务器端编程。

完整的JavaScript实现包含三个部分:

ECMAScript,文档对象模型,字节顺序记号。

本系统主要运用JavaScript技术提供系统数据验证以及页面跳转等功能。

2.3.2Ajax技术

AJAX即“AsynchronousJavaScriptandXML”(异步JavaScript和XML),AJAX并非缩写词,而是由JesseJamesGaiiett创造的名词,是指一种创建交互式网页应用的网页开发技术。

AJAX指异步JavaScript及XML。

通过AJAX,您的JavaScript可使用JavaScript的XMLHttpRequest对象来直接与服务器进行通信。

通过这个对象,您的JavaScript可在不重载页面的情况与Web服务器交换数据。

在本系统主要运用AJAX技术实现数据异步刷新和读取等功能[5]。

2.3.3JDBC技术

JDBC(JavaDataBaseConnectivity,java数据库连接)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。

JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯JavaAPI编写数据库应用程序,同时,JDBC也是个商标名。

有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。

换言之,有了JDBCAPI,就不必为访问SQLServer数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问MySQL数据库又编写另一个程序等等,程序员只需用JDBCAPI写一个程序就够了,它可向相应数据库发送SQL调用。

同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。

第3章系统需求分析

3.1系统功能需求分析

一个良好的,健壮的系统的实现离不开完整的,准确的系统需求说明。

医院医务管理系统的目标是建立一个针对医院工作现状,包含医师信息管理,病人信息管理,门诊信息管理,医疗补助管理,药品信息管理等工作的综合管理系统,从而达到提高医院日常运营的管理效率的目的。

3.1.1系统功能分析

根据医院医务管理系统的功能描述,我们将医务系统分为基本管理,门诊管理,住院管理,药品管理,医师管理,系统查询等6个子系统,如图3.1所示:

图3.1医务管理系统功能图

各个子系统的功能描述:

(1)基本管理:

完成系统的一些基本参数的设置,如挂号费,住院餐伙费,废旧医疗器械处理费的设置等,医疗补助和参加医疗保险的管理。

(2)门诊管理:

完成门诊挂号,门诊就诊的管理以及门诊报表的管理。

(3)住院管理:

完成住院信息的管理和住院治疗的管理。

(4)医师管理:

完成医院医师信息的添加,修改和删除。

(5)药品管理:

完成医院药品信息的添加,修改和删除。

(6)系统查询:

提供对住院门诊信息的查询,住院信息的查询,医师信息的查询,药品信息的查询,药品有效期的提醒及报表。

3.1.2系统功能描述及用例分析

根据以上系统功能的描述,可以做出如下列所示的系统的用例图,其中用列包括:

基本管理,门诊管理,住院管理,医师管理,药品管理,系统查询。

参与者包括:

医师,管理员。

如图3.2所示为系统的总用例图:

图3.2系统总用例图

根据需求分析,可以得到如图3.3所示的管理员参与系统的用例图:

图3.3管理员参与系统的用例图

图3-3中,管理员作为参与者管理系统时,管理员通过系统的密码验证完毕后,登录系统后,可进行的操作有:

基本管理,在基本管理中包括费用管理,医疗补助管理,医保信息录入管理。

可进行医师管理,药品管理,同样还具有医师的门诊管理和住院管理等权限。

在基本费用管理中可以对挂号费的设置,住院餐伙费的设置,废旧医疗器械处理费的设置,医疗参保信息的录入,医疗管理。

在门诊管理中,可以管理门诊就诊,门诊结算出诊等。

在住院管理中可以实现对住院治疗,住院病人出院结算等操作。

管理员可以实现对药品的入库管理和药品信息编辑,同样可以实现对医师信息的添加和医师信息的编辑管理。

管理员登陆系统可以实现医师信息查询,药品信息查询,门诊查询,住院查询,药品保质期查询和提醒等。

同样根据需求分析,可以如图3.4所示的医师作为参与者参与系统的用例:

图3.4医师参与系统的用例图

图3-4中,医师作为参与者管理系统时,必须需要经过系统的密码验证才能登录本医务系统。

当医师登录本系统后,可以进行相应的操作,如门诊管理,住院管理,住院查询,系统查询等操作。

系统登录中包括密码验证扩展用例,住院管理用例中包括住院治疗管理扩展用例,门诊管理用例中包括门诊就诊管理扩展用例,在系统查询中包括个人信息查询,住院信息查询,门诊信息查询等扩展用例。

3.1.3系统时序图分析

时序图(SequenceDiagram),亦称为序列图或循序图,是一种UML行为图。

它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。

它可以表示用例的行为顺序,当执行一个用例行为时,时序图中的每条消息对应了一个类操作或状态机中引起转换的触发事件。

时序图描述对象是如何交互的,并且将重点放在消息序列上。

也就是说,描述消息是如何在对象间发送和接收的。

时序图有两个坐标轴:

纵坐标轴显示时间,横坐标轴显示对象。

每一个对象的表示方法是:

矩形框中写有对象和/或类名,且名字下面有下划线;

同时有一条纵向的虚线表示对象在序列中的执行情况(即发送和接收的消息对象的活动),这条虚线称为对象的生命线。

对象间的通信用对象的生命线之间的水平的消息线来表示,消息线的箭头说明消息的类型,如同步,异步或简单。

浏览时序图的方法是,从上到下查看对象间交换的消息,分析那些随着时间的流逝而发生的消息交换。

根据上一小节的用例分析得出的结果,下面设计时序图,如图3.5所示给出了管理员添加医师信息的时序图:

图3.5管理员添加医师信息的时序图

如图3.6所示为医师查询药品信息的时序图:

图3.6医师查询药品信息的时序图

如图3.7所示为医师参与门诊就诊的时序图:

图3.7医师门诊就诊的时序图

3.2业务流程分析

根据病人就诊的业务流程得到如图3.8所示为病人就诊时的业务流程图:

图3.8医务管理系统的业务总流程图

从上图中我们可以看出病人在挂号完毕去就诊时,医师会询问其有无医保卡,如果病人持有医保卡,那么他的诊疗费,检查费,药费会从医保卡中扣除,如果病人没有持有医保卡,他可以选择去办理医保卡,然后后续的费用可以从医保卡中扣除,当然病人也可以选择现金支付。

在门诊就诊过程中,如果病人需要住院治疗的话,那么他的所有信息会转入住院部,在住院部门,医师会对病人采取一系列的住院治疗管理,如果病人需要出院,需要办理出院手续及病案管理和财务查询,当病人把这些手续办理完毕方可以出院,如果不可以出院,则病人还需要接受医师对其进行的一系列的住院治疗。

3.3系统非功能需求

3.3.1性能需求

(1)响应时间

系统主要面向的医院医务工作人员,使用的是浏览器的方式录入,面对医院日益繁忙的医务需求,所以不应该有很长的等待时间,响应时间不应该超过5秒钟。

快速的响应时间可以提高医务人员的工作效率,降低医务人员工作的主观情绪。

(2)精度

系统需要医务人员录入的信息准确无误,准确的数据方便进行综合查询和业务处理,为了保证医务人员录入准确的数据信息,在录入的过程中会对其录入的信息加以适当的提示。

(3)安全性

医院的部门信息需要保密,而且具有法律依据,对病案和病例的管理是非常重要的,需要采取不同的权限的管理方法,对病例信息的查看和删除需要权限较高的人员才能处理,一般的人员不能进行随意的查看和删除,并且每次的修改需

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

当前位置:首页 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1