近年来医疗行业不断发展,医院规模不断增加。在经济全球化的影响下,我国医疗行业不断借鉴外来经验,不断创新医院的运营模式,改善医院的管理体制,取得了良好的社会反映,发展速度不断加快,给人们的生活带来了很大的便利。
(1)间接性:利用目标系统,减少人力物力的不必要投入,而非通过计算机信息化系统直接实现经济效益。
(2)持久性:目标系统的建立需要投入巨额资金,但并不能收回资金。
(3)效益性:医院利用目标系统首先可以满足病人的需求,还能打造良好的现代化医院形象。
本课题根据实际需要而产生,为了解决人工计算操作的弊端,开发一套医院管理系统势在必行。本系统的开发主要是根据实际需要而制作,系统整体包括:医生管理模块,病床管理模块,病人管理模块,收费信息管理模块,统计分析模块等功能模块。
错误减少和数据准确性:电子化记录减少了手写记录的错误。同时,系统可以为医生和护士提供实时的、准确的医疗数据,从而提高治疗的准确性和安全性。
资源优化和成本管理:系统能够有效管理医院资源,如病床分配和药品库存管理,从而提高资源利用率。此外,通过准确的费用管理和统计分析,医院可以更好地控制成本和优化预算分配。
用户的要求和系统调研是进行系统可行性分析的基础,对将要开发的系统从经济、技术、运行等方面进行全面分析,并得出系统的开发工作能否可行,最后完成可行性分析。
1、经济可行性
2、技术可行性
技术可行性分析其主旨就是确保能够充分利用现有的技术条件,契合开发者的实际需求完成软硬件的开发及配置工作,明确技术人员专业能力等客观因素。网络技术的优势主要体现在:可靠的准确度;较快的传输速度。总之在科学技术飞速发展的今天,有利的推进了系统的发展。就技术层而言,本系统具有较高的可行性。
3、操作可行性
当今人们对计算机的操作已愈加成熟,对电脑的操作有一定基础,且本系统的操作性不算太复杂,通过简单的键盘输入以及鼠标点击即可完成相应的任务,简单培训以后立马上手,而且本系统可视性非常好,即本系统在操作上不会有太大难度。
5、法律可行性
①所有技术资料都为合法。
②在开发过程中,完全不存在任何关于知识产权的问题。
④在开发过程中,完全不涉及任何的法律问题,不会担负任何的法律责任。
根据以上分析,本系统在各个方面都是可以执行实现的。
敏捷开发
描述:敏捷开发强调快速迭代和适应性强的开发过程。它倡导持续交付、跨职能团队合作和客户反馈。
适用性:适用于需求频繁变更或不完全明确的项目。如果医院系统需要快速响应市场和技术变化,敏捷模型可能更合适。
优点:灵活性强,能快速适应需求变化,增强客户满意度。
经过对本系统的研究分析,本系统主要是为了方便让医院更快捷的管理。所面向的对象主要有病人、医生和医院的管理人员。病人运用该系统后,可以根据该系统查看自己所需要的信息,包括治疗自己病症的医生的信息、病床信息、收费信息等。医生运用该系统后,可以根据该系统查看自己病人的信息。而医院管理人员通过该系统可以查看病床利用率和收费明细的情况。[3]
2.2.2系统安全性需求
由于医院管理住院系统是基于MVC模式以B/S框架而开发的Web应用,根据用户的确切使用要求以及系统的使用目的分析,医院管理住院系统在安全性方面有着很高的要求。因此医院管理住院系统对系统安全性要求尤为严格。
2.2.3系统设计需求
为了达到标准、规范等目标,从而提高软件的复用率,在进行系统设计时,需做到如下。
1.底层数据统一。对于底层数据采用标准的数据进行设置,对底部对于不符合规范的数据及时进行数据清洗和规范化操作,使得不同的数据资源统一在统一的数据格式之下,达到方便查询存储的效果。
2.界面风格的统一。采用统一的主题模式,不同页面会有不同的应用需求,其界面主题保持基本一致,促进组织采用树形结构,方便数据的浏览和查询。
3.数据服务化。系统中各功能模块既独立,又相互关联,在模块化的同时保证各个功能合理配置。同时预留开放接口,能够适应系统的扩展需求。
该系统主要是医生和病人通过该系统,对整个医院的病床、医生、病人和消费信息进行查看,根据自己的需要进行选择。系统层次结构图如图3-1所示:
图2-1系统层次结构图
医院管理系统包括如下功能:
l医生管理
业务描述:管理医生信息、包括对医生信息的增加、删除、修改
l病人管理
业务描述:管理病人信息、包括对病人信息的增加、删除、修改
l病床管理
业务描述:管理病床信息、包括对病床信息的增加、删除、修改
l收费管理
业务描述:管理收费信息、包括对收费信息的增加、删除、修改
l统计分析
业务描述:病床利用率查询主要是通过对科别、医师和日期的搜索,收费明细查询主要是通过对病人姓名和日期的搜索,来进行对其相对应信息的查询。
l修改密码
2.3.3医生信息管理
医生信息管理主要是通过对医生姓名的搜索,来对医生信息进行查询,其中查询的内容包括医生的编号、性别、职称、职务、科别、出生日期和工作日期,还可以对医生信息进行添加、修改、删除。
图2-2医生信息管理结构图
病床信息管理主要是对病床的所属科别、病床号、床位费和使用状态进行查看,还可以对病床进行添加、修改和删除。
图2-3病床信息管理结构图
病人信息管理主要是通过对病人姓名的搜索,来对病人信息进行查询,其中查询的内容包括病人的科别、病床号、性别、年龄、病症、主治医生、入院和出院日期,还可以对病人信息进行添加、修改和删除。
图2-4病人信息管理结构图
收费信息管理主要是通过对病人姓名的搜素,来进行对其收费信息的查询,其中查询的内容包括病人的科别、病床号、收费项目、单价、数量、金额和日期,还可以对收费信息进行添加、修改和删除。
图2-7收费信息管理结构图
统计分析管理其中包括病床利用率查询和收费明细查询,其中病床利用率查询主要是通过对科别、医师和日期的搜索,来进行对其相对应信息的查询,查询的内容包括科别、病床号、病人性别、病人姓名、病人年龄、主治医生、入院日期和出院日期等;收费明细查询主要是通过对病人姓名和日期的搜索,来进行对其相对应信息的查询,查询的内容包括科别、病人姓名、病床号、收费项目、数量、单价和金额。
图2-6统计分析管理结构图
系统管理其中包括修改密码和退出系统,修改密码的方法是首先是输入原密码,然后输入新密码,最后确认新密码。
图2-7系统管理结构图
在以上需求分析的基础上,本节对它们进行用例分析。
(1)医生信息管理
本模块主要针对管理员和病人来实现的,管理员在本模块中能够对医生的信息进行添加、修改和删除,而病人可以在本模块中实现对医生信息的查询,医生信息管理用例分析图如图2-8所示:
图2-8医生信息管理用例图
(2)病人信息管理
本模块主要针对管理员和医生来实现的,管理员在本模块中能够对病人的信息进行添加、修改和删除,而医生可以在本模块中实现对病人信息的查询,病人信息管理用例分析图如图2-9所示:
图2-9病人信息管理用例图
(3)病床信息管理
本模块主要针对管理员和病人来实现的,管理员在本模块中能够对病床的信息进行添加、修改、删除,医生可以在本模块中实现对病床信息的查询,病床信息管理用例分析图如图2-10所示:
图2-10病床信息管理用例图
(4)收费信息管理
本模块主要针对管理员和病人来实现的,管理员在本模块中能够对收费的信息进行添加、修改、删除,病人可以在本模块中实现对收费信息的查询,收费信息管理用例分析图如图2-11所示:
图2-11收费信息管理用例图
(5)统计分析管理
本模块主要针对管理员来实现的,管理员在本模块中可以查看病床利用率和收费明细查询,统计分析管理用例分析图如图2-12所示:
图2-12统计分析管理用例图
考虑到网络环境及系统运行使用的需要,一般而言,系统表现出来的其他需求主要有:一是对各类浏览器友好、兼容性强。二是系统的适应性强。
另外,为了更好的用户体验,还应该满足以下条件:
1.可靠性需求:用户在使用该系统时,系统无法访问的概率应在5%以下。
2.易用性需求:本系统展示给用户的界面应该是友好的且易用的,用户在没有接受培训的情况下也可以使用本系统。
3.运行环境约束:由于本系统是B/S架构的Web应用程序,因此要求安装有浏览器的用户才能使用。
E-R图能够很直观地表示出概念模型。E-R图之间联系的种类主要有三种情况,分别为一对一(1:1)、一对多(1:N)和多对多(N:M)。
ER图(实体-联系图)由以下几个固定图形所构成:
实体形-矩形表示,矩形内为实体名称。
属性-椭圆形或圆角矩形来表示,主属性的下面要相应的添加下划线。
联系-菱形表示,菱形内部为联系的内容。
通过对医院管理住院系统的认真分析后,确定了以下六个实体,并标注了其各自的属性(一个实体可能有多个属性):
医生:(编号、姓名、性别、职称、职务、科别、出生日期、工作日期)
图2-1医生E-R图
病床:(科别、病床号、床位费、使用状态)
图2-2病床E-R图
病人:(科别、病床号、姓名、性别、年龄、病症、主治医生、入院日期、出院日期)
图2-3病人E-R图
收费信息:(科别、病床号、病人姓名、收费项目、单价、数量、金额、日期)
图2-4收费E-R图
整体系统E-R图
图2-5整体E-R图
将整个系统分为医生信息管理模块、病人信息管理模块、病床管理模块等几个大的模块作为系统的零层。各个模块可以单独运行完成它们的功能,各个模块之间又可以相互调用数据,进而完成数据的综合存储,最终共同协作,从而完成系统的预期功能。医院管理住院系统如图2-6所示:
图2-6UML类图
数据流程图由四部分构成,它们分别是外部实体、数据处理、数据存储和数据流。
外部实体加工数据流
根据上一章对原有医院管理住院系统流程图的描述,我们从系统的多个方面进行了分析,希望使系统的管理更加合理,在使用中更具有可行性,并且利用模块化的分析办法,由顶层开始向下对医院管理住院系统逐步分层,逐步细化。我们将系统分为顶层、零层两层,下面就层与层之间的关系(系统关联)和每层的功能详细介绍。
顶层数据流图,即描述医院管理住院系统的作用范围,故其顶层图如图2-7所示:
图2-7系统用例图
数据字典是对数据流程图中包含的所有元素的定义的集合,存储了系统所有的数据信息。系统逻辑模型是由数据流程图和数据字典共同构成的,数据流图是动态描述,但数据字典是静态描述。数据字典能够更细致的说明和补充数据流程图的逻辑内容,并且能够供人查阅。数据元素、数据流、数据存储以及处理过程等部分组成了数据字典。[13]
(1)数据流
别名:无
数据流量:50份/天
组成:用户名+密码
数据流名称:医生信息
简述:查看、修改和删除医生信息时显示或填写的信息
去向:医生信息的修改、查询和删除
数据流量:30份/天
数据流名称:病人信息
简述:查看、修改和删除病人信息时显示或填写的信息
去向:病人信息的修改、查询和删除
数据流名称:收费信息
简述:查看、修改和删除收费信息时显示或填写的信息
去向:收费信息的修改、查询和删除
(2)数据流分量
名称:用户名
描述:用户信息中惟一标识某一用户的关键域
位置:用户信息表
名称:密码
名称:病人
描述:病人信息中惟一标识某一病人的关键域
位置:病人信息表
病人一般信息
名称:医生
描述:医生信息中惟一标识某一医生的关键域
位置:医生信息表
医生一般信息
名称:病床
描述:病床信息中惟一标识某一病床的关键域
位置:病床信息表
病床信息
名称:收费
描述:收费信息中惟一标识某一收费情况的关键域
位置:收费信息表
收费一般情况
(3)数据存储
数据存储的名称:数据库信息
简述:存放的病人信息、医生信息、病床信息、收费信息等
数据存储的组成:各类信息
关键字:编号
P2(对信息表进行查询)
P3(对信息表进行修改删除)
(4)处理
处理逻辑编号:P03-01
处理逻辑名称:信息录入
简述:对基本信息进行录入.
输入的数据流:管理员
处理过程:进行分类录入
输出的数据流:各类数据表
处理逻辑编号:P03-02
处理逻辑名称:查询各类信息
简述:根据条件查询所需的信息.
处理过程:输入查询条件查询,得到符合条件的信息
输出的数据流:查询得到的信息
处理逻辑编号:P03-03
处理逻辑名称:修改、删除信息
简述:对信息做需要的修改后存入数据库中.
输入的数据流:数据库信息
处理过程:对需要修改的信息做修改
输出的数据流:修改或删除后得到的信息
系统采用MVC设计模式。从数据层、视图层、控制层、逻辑层这几个方面进行的。以下将对各个层面的设计进行描述。
一、信息系统视图层的设计
二、控制层与逻辑层的设计
在信息系统的开发中,逻辑层需尊重不同用户的不同的需求,而且还要考虑不同层次间的关系。向下依赖是逻辑层的主要设计方式,这样的设计方式不但减少了上下层间信息访问的影响程度,也充分利用了软件开发时向下依赖的设计方法,也利用了其本身的耦合程度。而且,系统在进行进一步的开发和研究时不会在原来的基础上做改变,所以,这是一种具有代表性的可抽取式软件结构。
三、设计信息系统数据层
MVC模型对于数据的处理是属于比较灵活,因为此模型不会依赖控制部件与视图部件的辅助,这样的数据处理方式就更加有利于更新和优化信息系统,使信息系统的工作效率提升到一个新的层次。对于数据库来说,访问层在数据库的工作过程中起到一个很好的稳定数据的作用,因为访问层可以根据用户的各种不同的需求进行不同程度的改进和适应,从而保证数据库的稳定。MVC的模型设计可以与三层的模式之间做到无缝兼容,而且MVC模型的应用还保证了层次和模块之间不会产生较强的依赖性。而且MVC模型中的模型部可以对用户信息以及软件系统的各个数据进行封装,加强了数据的高处理效率和增强了系统的可操作性
提供系统的高层次概述,包括其主要组件、它们如何相互作用,以及每个组件的基本职责。这可以通过图表或模型来辅助说明。
本文采用的是自顶向下的分层模块设计方法,由于医院住院管理系统分为:医生信息管理、病人信息管理、病床信息管理、收费信息管理、统计分析和系统管理等功能,我们在设计过程中按其功能把它分成不同的模块。
医院管理住院系统的主模块如图所示:
图3-1程序流程图
图3-3系统总界面图
进入医院信息管理中后,可以查看医生的编号、姓名、性别、职称、职务、科别、出生日期和工作日期,可以通过对医生姓名的搜索进行医生信息的查询,还可以对医生的信息进行添加、修改和删除。
图3-4医生信息管理图
图3-5医生信息修改图
图3-6医生信息添加图
进入病床信息管理后,可以查看病床的科别、病床号、床位费和使用状态,还可以对病床的信息进行添加、修改和删除。
图3-7病床信息管理图
图3-8病床信息修改图
图3-9病床信息添加图
进入病人信息管理后,可以查看病人的科别、病床号、病人姓名、病人年龄、病症、主治医生、入院日期和出院日期,还可以通过对病人姓名的搜索来查看病人的信息,也可以对病人的信息进行添加修改和删除。
图3-10病人信息管理图
图3-11病人信息修改图
图3-12病人信息添加图
进入收费信息管理后,可以查看病人的科别、病床号、病人姓名、收费项目、单价、数量、金额和日期,还可以通过对病人姓名的搜索,来对信息进行查询,也可以对收费信息进行添加、修改和删除。
图3-12收费信息管理图
图3-13收费信息添加图
图3-14收费信息添加图
图3-15病床利用率查询图
图3-16收费信息查询表
进入系统管理后,可以对密码进行修改,其具体步骤是首先输入原始密码,然后输入新密码,最后确认新密码即可对密码完成修改,如需退出系统,点击退出系统后即可完成,
图3-17修改密码图
..........
数据库在物理设备上的存储结构与存取方法被称为数据库的物理结构,它依赖与给定的计算机系统。为一个给定的逻辑数据模型选取一个最合适应用要求的物理结构。根据上面的实体关系分析以及ER图,设计医院管理住院系统的数据库表。
表4-1医生信息表
主键
字段名称
数据类型
长度(字节)
*
编号
varchar
50
姓名
性别
职称
职务
科别
出生日期
工作日期
2.病人信息表
表4-2病人信息表
病床号
表4-2(续)
年龄
病症
主治医师
入院日期
出院日期
3.病床信息表
表4-3病床信息表
床位费
使用状态
4.收费信息表
表4-4收费信息表
收费项目
单价
数量
金额
日期
表4-5管理员信息表
管理员姓名
密码
医院管理住院系统数据库连接也是开发该系统的关键环节,主要采用JDBC方式,这些知识在太原理工大学开设的JSP课程中有所学习,具体的操作步骤如图4-6所示:
图4-6数据库连接具体操作
医院管理住院系统连接数据库的程序采用DAO(数据访问对象)模式来对数据库进行处理操作,其思想如图4-7所示:
图4-7DAO模式类图
测试用例
系统测试,即是一种为了保证程序的正确性而进行的过程,其主要意义是为了发现错误并改正错误。在这样的定义下软件测试有以下的目的:首先,软件测试是实际上是程序的执行一个过程,这样一个过程的目的在于发现系统中目前尚未发现的错误,而不是证明这段程序的正确而进行的过程。其次,在这样的一个目的下,一个好的系统测试用例是帮助程序员发现系统中隐藏的错误和不易发现的错误。总之,我们进行软件测试要以发现错位为目的进行,而不能以证明这段程序写的对而进行,只要我们发现了一个错误,我们这个测试用例就是一个好的测试用例。由上面测试的定义与目的总结出测试有一下几点原则:1.在系统的开发过程中应当尽早地和不断地进行相应部分的软件测试。2.在测试中一个测试用例应由测试输入数据和与之对应的测试预期输出结果这两部分构成。3.在设计一个测试用例时,这个测试用例应当包括合理的输入条件以及不合理的输入条件。4.测试应该严格执行相应的测试计划,排除测试的随意性。5.测试结束时,应当认真保存测试计划、测试用例和测试报告,方便程序员本人和其他程序员进行后期维护。
医院住院管理系统最终应完成的测试目标:本文应着重于系统的功能测试,测试的对象则是病人和医生,在实现了预定的系统功能及满足用户需求的前提条件下,尽可能地发现并完善系统中的漏洞与隐患,确保软件的实用性、安全性、可靠性、可扩展性以及经济性,为今后的医院住院提供更便捷的方式。
测试用例的设计使用错误推测法、边界值法和等价类划分法等方法。
测试软件环境:PC机操作系统:Windows7;数据库管理系统:MicrosoftSQLServer2005;MicrosoftVisualStudio
测试需求:对系统进行测试采用黑盒测试法,力求找出程序员在逻辑上,功能实现上的的问题,并且验证该程序输出结果是否正常,是否能对错误输入做出正常的响应。