摘 要
21世纪,在科学技术的飞速发展的社会下,人们对科学技术以及信息化时代有着新的认识,不同领域的人们对科技水平都有着不同的发展,而科技信息也慢慢的渗透进了各行各业当中。
本文将从基于SSM的医院管理系统的现状和开发背景介绍起,然后从系统的需求分析、设计目标以及总体分析一一来做阐述,并根据系统实现的功能详细的介绍每一个功能具体的设计以及实现过程,最后对系统进行系统的操作来确保系统的安全运行[1]。
本文以Java语言为设计系统的开发语言[2],主要实现一个医院人员以及器械等管理的系统。本系统将实现二个角色的权限登录情况,二种角色分别为高级权限管理员以及低级权限医院使用者。高级管理员权限可以对系统所有功能进行操作。而低级权限用户只能对系统数据进行新增或者查询查看等操作,无法对数据进行修改和删除操作,这样将更加的保护了系统数据的安全[3]。
系统使用SSM框架来实现后台代码,前端使用LAYUI框架以及JSP技术[4]来实现的用户交互页面,数据保存使用的是关系型数据库MYSQL[5]。
关键词 :基于SSM的医院管理系统;JSP技术;MYSQL数据库;B/S技术;LAYUI框架;
Abstract
In the 21st century, with the rapid development of science and technology, people have a new understanding of science and technology and the information age. People in different fields have different development of scientific and technological level, and scientific and technological information has slowly penetrated into all walks of life.
This paper will start with the introduction of the current situation and development background of the hospital management system based on SSM, then elaborate from the demand analysis, design objectives and overall analysis of the system, and introduce the specific design and implementation process of each function in detail according to the functions of the system. Finally, the system is operated to ensure the safe operation of the system.
This paper takes Java language as the development language of the design system, and mainly realizes a hospital personnel and equipment management system. The system will realize the permission login of two roles: Senior permission administrator and low.level permission hospital user. Senior administrator permission can operate all functions of the system. Users with low.level permissions can only add, query and view system data, and cannot modify or delete data, which will further protect the security of system data.
The system uses the SSM framework to realize the background code, the front end uses the layui framework and JSP technology to realize the user interaction page, and the data is saved using the relational database mysql.
Keywords: Hospital management system based on SSM; JSP technology;MY SQL database; B/S structure;Layui framework
目 录
摘 要 II
Abstract III
1 概述 6
1.1 课题背景及意义 6
1.2 国内外研究现状 6
1.3 本课题主要工作 7
2 系统开发环境 8
2.1 JAVA技术 8
2.2 B/S架构 8
2.3 LAYUI前端框架 8
2.4 MYSQL数据库 9
2.5 SSM框架 9
3 系统分析 10
3.1 可行性分析 10
3.1.1 技术可行性 10
3.1.2操作可行性 10
3.1.3 经济可行性 10
3.2系统流程设计 11
3.2.1系统开发流程 11
3.2.2 用户登录流程 12
3.2.3 添加信息流程 12
3.2.4 修改信息流程 13
3.2.5 删除信息流程 14
3.3系统用例分析 15
3.3.1高级管理员用例图 15
3.3.2低级管理员用例图 16
4 系统设计 18
4.1 系统概述 18
4.2 系统结构设计 18
4.3 数据库设计 19
4.3.1 数据库设计原则 19
4.3.2 数据库实体 19
4.3.3 数据库表设计 23
5 系统实现 27
5.1 系统登录主界面 27
5.2管理员主界面 28
5.3病人管理界面 29
5.4医生病人界面 30
5.5病床管理界面 32
5.6房间病床查询界面 33
5.7员工管理界面 35
5.8员工工资报表界面 36
5.9部门管理界面 38
5.10部门医生查看界面 39
5.11药品管理界面 41
5.12仪器管理界面 43
5.13管理员管理界面 44
结 论 47
致 谢 48
参考文献 49
1 概述
1.1 课题背景及意义
当前时代的科技发展已经是所有行业的避不开的风向了,不管是在风靡的电子信息行业还是在街头小巷的小卖铺中都离不开科技的身影。而由科技信息带来的信息化管理也是在每行每业都有体现,因为在信息化管理的前提下,信息将得到更好的保证以及更加安全的保存,而且在使用者的角度上考虑也是极大的简化了各种管理人员的操作。
当今的互联网以及信息电子化的发展上以及改变了全世界的信息存储方式以及人与人之间的交流方式。在以前电子信息以及互联网还没有到现在的家喻户晓的程度,而现在由于电脑不断地发展,电脑的成本不断地降低,对于人们来说家庭购买电脑也是非常普遍的现象,而现在科技信息技术也已经是大学里面必不可少的一门学科了,不仅如此,有一些初中高中都已经开始教授科技信息方面的技术,而当今时代由于科技不断地发展,在这领域中的人才也是非常稀缺。
在医院管理方面,以往的医院在人员管理和病人管理以及医院器械管理上都有着不当之处,而且在信息存储方面也是有着极大的不足,在以前没有电子设备的时候,医院里面的所有信息存储包括病人的登记都是使用纸质化的存储方式,而纸质化的信息存储最容易导致信息的丢失,而且还不利于信息的存放,如果在查询一个病人信息的时候也是需要花费大量的人力物力去消耗时间查找,不仅在查询的时候浪费资源,在存储的时候也是需要花费极大的空间去存放,而且如果在处理不当的时候还会导致信息的丢失,而且当发生水灾或者火灾的时候也会导致信息的都丢失。但是使用电子化存储,将所有数据存储在电子信息中,需要的时候只需要查询出来即可,不用考虑信息的存储方式,也不需要担心信息会被泄露,将使得医院的信息管理得以妥善的管理,对数据管理也会更加的科学以及规范。
1.2 国内外研究现状
由于国内的科技发展是处于比较晚成的那种,但是随时科技的飞速发展,虽然起步没有别的国家那么早,但是发展却是极快的。在我国科技不断进步的时候,国内大多数的科技企业也是不断地更新迭代,而科技应用于其他行业的时机来说也是相对落后于西方的发达国家[6]。本课题就医院管理系统为例,开发出一套比较适合中小型医院适用的管理系统。旨在为它们管理医院内部的相关数据。
而在国外由于信息技术的发展比国内更早,而且人才方面也是比国内要更加的精炼,所以在科技方面国外的技术还是毋庸置疑的[7],而且在国外的医院中其实已经早早的就装备上了基于信息化的管理系统了,但是国内的信息化也没有落后多少,也是在不断地在发展中进步着自己的技术,并不断地渗透进各个行业中去。
1.3 本课题主要工作
文章将从医院管理系统设计的基础开发技术开始对系统进行系统性的分析,因为系统分析是一个管理系统不可或缺的一部分,在相关理论的基础上,不断地进行医院系统业务的分解,不断地收集真实的医院业务,从而为开发出一套适用于医院的管理系统奠定了理论基础。本系统使用SSM的后台开发框架,并使用前端LAYUI框架来为用户带来良好的页面交互的体验,并使用JSP的技术来讲系统实现于页面在,在以上的说明中将奠定系统的技术可行性以及技术基础[8]。
再者,考虑都系统安全方面,本系统使用MYSQL数据库对系统数据进行保存,而且在账号安全的角度上系统使用MD5进行账号密码加密,从而更加保障了用户对系统的安全方面的认可。由于MYSQL是当前最为流行的数据库保存方案,所以在安全以及实用方面都是对于系统来说毋庸置疑的[9]。
2 系统开发环境
2.1 JAVA技术
JAVA是一门优秀的面向对象语言,他融合了C++中的诸多优点,并且摒弃了C++中令人费解的多继承、指针等概念。因此JAVA是一门易上手、易理解的一门语言[10]。JAVA具有很多强大的功能以及特点,简单性、分布式、健壮性、可移植性、多线程等等[3]。都是JAVA众多优点中的点滴。JAVA在移动端和网站建设中使用较为广泛,本次项目就是采用B/S架构的JAVA WEB开发,也就是JAVA的网站建设应用。从1996年1月的JDK1.0,到2014年3月JDK8,再到现在open JDK以及JDK13,JAVA经过了漫长的历史,但并未泯灭在历史的长河里,而是不断的发展壮大,拥有了庞大的用户体系,以及基于JAVA的各种生态环境[11]。
2.2 B/S架构
本平台主要采用软件开发的常见平台模式B/S架构。这里,浏览器指的是提供操作页面和管理软件操作的浏览器。S(serber)是指云服务器,它提供后端数据操作服务,是当前的主流平台模式[12]。在此之前,C/S架构是主流的平台模式,C(客户端)是指客户端,S(服务器)是指本地服务器。
至于B/S架构和C/S架构的比较,B/S架构的用户不需要安装,只需要打开浏览器就可以访问,并且可以在的域名或IP地址上操作,这对于使用这种架构的计算机环境有较低的要求。同时,在云中存储数据更安全、更方便,支持跨平台,适应性更强,满足公众需求。C/S架构使用本地计算机作为服务器,这需要本地计算机的高配置,占用大量系统资源,用户体验差,并且容易由于数据存储在本地而导致数据丢失。因此,本系统采用主流的B/S结构实现[13]。
2.3 LAYUI前端框架
layui前端框架是由贤心以及他的小伙伴进行开源开发的,同样他也是一款优秀的前端框架,采用自身模块规范编写的前端UI框架ia,严格遵循HTML/CSS/JS的开发方式[14],简单易用,可以说是开箱即用,对中小项目具有极高的友好度。虽然目前layui官网下架,但项目任然在github开源。
2.4 MYSQL数据库
MYSQL是当前最受中小型企业青睐的关系型数据库之一,由于MYSQL开源免费,而且简单易学的特点,在众多的开发者中也是非常受欢迎的。
它是一个关系型数据库,关系型数据库的特点就是可以很清楚地去表示数据库中表与表之前的关系,而且可以通过MYSQL中的外键等将表与表之间的数据信息进行相关的外键关联,而不会导致数据删除而导致关联数据的冗杂[15]。
而且MYSQL是支持多用户共同使用的,所以在多线程的条件下也可以同时的去使用MYSQL数据库,而且MYSQL有着四大特性:原子性,隔离性,一致性,持久性。
原子性特点在于MYSQL中的事务操作是最小的单元而不可分割的,在对一个事务操作中,要么事务中的操作全部完成一起提交,要么就是全部失败一起回滚操作,而不会出现有的成功有的失败的情况。
隔离性特点在于MYSQL事务操作在对于其他同步事务来说都是相对不可见的,也就是在一个事务执行的过程中,是不会影响到其他数据的操作,而不是发生意外而导致数据的冗杂。
一致性特点在于MYSQL中的数据库总数情况都是从一个一致性的状态转换到另一个一致性的状态而不会发生状态之间的跳跃。
永久性在于对MYSQL的事务操作,在一个事务中的所有操作都结束后,当这个事务被提交后,对数据库的修改是永久的,而不会因为系统崩溃而消失,只有提交的数据被成功提交了,那么就是对数据库的永久修改。
2.5 SSM框架
目前在JAVA领域中为了简化开发者的开发难度,并且提高设计代码的可行性以及复用性上,JAVA也是有着越来越多的开发框架可以供开发者选择,而SSM框架可以说是目前最为流程的JAVA开发框架之一,因为SSM框架对于代码的规范性要求比较严格,严格采用这面向对象以及“低耦合、高内聚”的软件工程理念。
SSM全程为Spring,SpringMVC和Mybatis,而这三个就是优秀的JAVA框架,Spring是一个开源的、轻量级的应用开发框架之一,它是来为我们管理我们的相关JAVA对象;而SpringMVC是一个WEB层的应用框架,它可以帮助我们接受前端用户提交的相关请求,并可以响应用户请求在后台操作的相关数据;Myabtis是一个优秀的持久层框架,Mybatis是一个直接操作MYSQL的框架,在Mybatis的XML配置文件中可以直接书写操作数据库的语法,从而实现操作数据库的作用。
3 系统分析
3.1 可行性分析
基于SSM的医院管理系统主要目标在于实现医院中病人以及基本信息的智能化信息化管理。
3.1.1 技术可行性
在使用前端LAYUI框架作为UI框架来跟用户进行交互的前提下,后台使用JAVA中的SSM框架并且使用MYSQL作为保存数据库的工具已经可以更好的为用户进行安全保证了。这也就意味着基于SSM的医院管理系统在技术可行性方面以及有着较好的保障了。
3.1.2操作可行性
由于基于SSM的医院管理系统是通过B/S模式的,而浏览器目前更是家喻户晓了,所以当前的人们基本上不会使用浏览器的也是凤毛麟角的存在。而本系统在基于浏览器运行的,所以操作可行性在这个系统中将提醒的淋漓尽致。并且本系统前端使用的是LAYUI框架,这个框架在用户交互过程中也是有着巨大的作用,会给用户极好的页面体验效果。
3.1.3 经济可行性
之前也是介绍了LAYUI框架以及B/S模式,而数据存储也是在MYSQL中,而这几种方式在经济方面几乎为0,而B/S开发也是各种端开发者较为简单的,所以不需要很高的人力成本以及财力成本。综上所述,在经济方面也是可行的。
3.2系统流程设计
3.2.1系统开发流程
基于SSM的医院管理系统的开发过程中,需要进行查阅资料确定医院管理系统的具体业务流程来确定系统的需求分析并设计需求分析文档,然后根据需求文档进行对数据的设计,需要保证前期的数据库设计比较完善,这样就可以避免后期不断地进行数据库的修改,而对于开发者来说,后期修改数据库也是一个非常巨大的工程,因为动数据库就是牵一发而动全身,所以我们需要前期就把数据库设计尽可能的完整。该系统的开发过程如图3.1所示。
图3.1系统开发流程图
3.2.2 用户登录流程
医院管理系统必须使用账号登录进图系统。系统登录流程如图3.2所示。
图3.2 登录流程图
3.2.3 添加信息流程
管理员登录系统后可以对相关信息进行操作,比如管理员可以新增病人的信息,而病人的基本信息包含病人姓名、性别、入院时间、所属科室、身体状况、主治医生、房间号、病床号。而在录入病人基本信息的时候需要注意所属科室以及主治医生、房间号和病床号需要和当前系统中的数据进行关联,也就是不能输入当前医院中没有的相关的信息。添加信息流程如图3.3所示。
图3.3 添加信息流程图
3.2.4 修改信息流程
管理员中的高级权限者可以对系统数据进行修改操作,而也就只能是高级管理员权限的用户才可以进行修改操作,这里就病人管理为例,要修改一条病人的信息首先需要加载录入病人的时候的相关信息,然后再确保信息完整的情况下可以对信息就行修改操作修改完成后可以对数据进行保存,修改的数据和录入的时候一样所属科室、主治医生以及房间号和病床号都需要修改成当前系统中存在的数据,不然会提示输入的数据不合法。在提交数据成功后,对应数据库数据将会被永久修改。对于失败的数据则就需要重新的进行数据录入后提交。修改信息流程图如图3.4所示。
图3.4 修改信息流程图
3.2.5 删除信息流程
拥有高级权限的管理员登录系统后可以对系统基本信息就行删除操作,系统在用户点击删除的时候给出良好的系统提示“是否确定删除”的提示,可以避免用户由于手误而导致的数据删除,如果用户点击确定删除后,系统将完成删除操作,在数据库中也将永久被删除。删除信息流程图如图3.5所示。
图3.5 删除信息流程图
3.3系统用例分析
3.3.1高级管理员用例图
当高级管理员登录系统后,可以通过系统左侧菜单进行对系统的管理操作,高级管理员具有病人管理(增删改查)、病床管理(增删改查)、员工管理(增删改查)、部门管理(增删改查)、药品管理(增删改查)、仪器管理(增删改查)、管理员管理(增删改查)。高级管理员用例如图3.6所示。
图3.6 高级管理员用例图
3.3.2低级管理员用例图
系统通过用户输入的用户名信息自动判断当前用户是高级管理员还是低级管理员,低级管理员将没有对数据操作的权限,只有对系统数据进行查询以及查看的权限。用户用例如图3.7所示。
图3.7 低级管理员用例图
4 系统设计
4.1 系统概述
基于SSM的医院管理系统采用的B/S结构(浏览器/服务器结构)和网络服务两种模式,是一种适合互联网环境的模型结构。只要用户可以连接到互联网,就可以随时随地使用。系统工作原理图如图4.1所示:
图4.1 系统工作原理图
4.2 系统结构设计
系统架构的整体设计是将一个巨大的任务细分为若干个小任务的过程,这些小任务组合起来形成一个完整的任务。基于SSM的医院管理系统总体结构设计如图4.2所示。
图4.2 系统结构图
4.3 数据库设计
数据库为计算机系统的关键。数据库的发展直接影响整个系统的质量和速度。
分析需求、设计概念、设计逻辑和设计物理为数据库的设计的四个步骤。
4.3.1 数据库设计原则
在数据库设计过程中,我们需要遵守MYSQL中的三大范式:第一范式是指数据表的每一列都要保持它的原子特性,也就是列不能再被分割。;第二范式是指属性必须完全依赖于主键;第三范式是指所有的非主属性不依赖于其他的非主属性。
4.3.2 数据库实体
数据库实体设计是整个项目的关键,因为在这个阶段将决定页面字段的使用情况以及整体业务对应的字段情况,这个阶段的设计将需要非常的慎重,因为这一阶段设计的不完整就会导致后期代码在修改方面就特别复杂,所以一般在开发过程中,数据库设计实体这一部分将会花费不少时间。本系统的E.R图如下图所示:
1、病人信息实体E.R图如图4.3所示:
图4.3病人信息实体图
2、员工信息实体属性图如图4.4所示:
图4.4应聘信息实体属性图
3、病床实体属性图如图4.5所示:
图4.5招聘实体属性图
4、部门实体属性图如图4.6所示:
图4.6部门实体属性图
5、药品实体属性图如图4.7所示:
图4.7药品实体属性
6、仪器实体属性图如图4.8所示:
图4.8仪器实体属性图
7、管理员实体属性图如图4.9所示:
图4.9管理员实体属性图
4.3.3 数据库表设计
数据库设计通常基于一个已有的数据库管理系统,常用的数据库管理系统有MYSQL、SQL SERVER Oracle等。基于SSM的医院管理系统采用了MYSQL数据库管理系统,下面介绍数据库表中的详细信息。
5 系统实现
5.1 系统登录主界面
输入正确的账号和密码,点击登录进入系统。其界面如图5.1所示。相关代码如图5.2所示。
图5.1首页界面
图5.2首页相关代码
5.2管理员主界面
企业进入后台,输入账号和密码,进行登陆。如图5.3所示。相关代码如图5.4所示。
图5.3管理员主界面
图5.4管理员主界面代码
5.3病人管理界面
管理员高级权限用户可以对病人信息进行新增、修改、删除以及导出等操作,但是低级权限的管理员只有查看权限。其界面如图5.5所示。相关代码如图5.6所示。
图5.5病人管理界面
图5.6病人管理代码
5.4医生病人界面
医生病人页面可以看到所有医生当前需要对接的病人。其界面如图5.7所示,相关代码如图5.8所示。
图5.7 病人医生管理界面
图5.8 病人医生代码
5.5病床管理界面
管理员可以对医院中的病床进行相关的新增、修改导出等操作。支持条件查询如图5.9所示。相关代码如图5.10所示。
图5.9 病床管理界面
图5.10 病床管理代码
5.6房间病床查询界面
可以查询到当前病床的使用情况,支持查询。如图5.11所示,相关代码如图5.12所示。
图5.11 房间病床信息界面
图5.12 房间病床信息代码
5.7员工管理界面
管理员可以对医院员工信息进行相关的操作,支持按照条件查询。其界面如图5.13所示。相关代码如图5.14所示。
图5.13 员工信息管理界面
图5.14 员工信息管理代码
5.8员工工资报表界面
管理员可以设置员工的工资水平方便发放工资。支持按照条件查询。其界面如图5.15所示。相关代码如图5.16所示。
图5.15 员工工资管理界面
图5.16 员工工资管理代码
5.9部门管理界面
管理员可以管理整个系统中的部门信息。支持按照条件查询。其界面如图5.17所示。相关代码如图5.18所示。
图5.17 部门信息管理界面
图5.18 部门信息管理代码
5.10部门医生查看界面
管理员可以查询当前部门下的所有所属医生。支持按照条件查询。其界面如图5.19所示。相关代码如图5.20所示。
图5.19 部门医生查看界面
图5.20 部门医生查看代码
5.11药品管理界面
管理员可以对医院的药品信息进行相关的管理操作。支持按照条件查询。其界面如图5.21所示。相关代码如图5.22所示。
图5.21 药品管理界面
图5.22 药品管理代码
5.12仪器管理界面
管理员可以管理整个医院的所有仪器数据,方便对仪器的使用情况进行统计管理。支持按照条件查询。其界面如图5.23所示。相关代码如图5.24所示。
图5.23 仪器管理界面
图5.24 仪器管理代码
5.13管理员管理界面
管理员可以设置新的员工为管理员,并设计管理员的级别来操作系统。支持按照条件查询。其界面如图5.25所示。相关代码如图5.26所示。
图5.25 管理员管理界面
图5.26 管理员管理代码
结 论
本文通过对基于SSM的医院管理系统的相关技术进行剖析,从软硬件二方面去叙述医院管理系统的可行性方案,本文结论以及研究结果如下:成功实现了使用SSM于MYSQL相结合的医院管理系统,通过本次设计研究,我深刻的感觉到了科技信息领域的发展的速度,在进行技术选择的时候,通过在网上以及请教老师的过程中发现,本系统中的SSM并不是对于医院管理系统中最适合的框架,但是使用SSM框架实现的效果却是一模一样的。在通过对医院实际业务的调查中发现在开发一个系统之前,真的需要实实在在的将系统中的功能业务进行文档记录,而不能在开发的过程中去熟悉业务操作,在开发中熟悉业务将会代码很多不必要的麻烦。虽然这次使用的是LAYUI的前端框架,但是通过查阅资料的时候发现,LAYUI的设计团队已经不再对其进行更新了,这也就意味着以后开发可能需要进行选择其他框架进行开发了,但是总体来说LAYUI的设计还是很切合用户使用的。
通过此次的系统设计的实践,发现自己本身也有这很大的问题,在了解业务的时候不够仔细,导致在开发过程中还会去修改数据库表的结构,这其中就花费了很多的时间。而且在技术方面,感觉自己的代码书写能力不是很强,在遇到复杂的业务处理的时候,总是会出现一些莫名其妙的问题,其中耽误的时间也是比较多的。
对本系统设计发现,系统中还存在着一些其他后期需要优化的,在后期可能会加入病人端登录的子系统,而且可以加入手机端操作的功能,现在来说手机已经是必不可少的东西了,如果实现了手机操作,那么将大大的提升医院处理“排队”的问题了。而且还得考虑早上的时候用户量极大的情况下的系统稳定性问题,后期可能会修改为SpringBoot框架来代表SSM框架对系统的支持。
实际证明,医院管理系统的设计开发,这实际使用中有着极大的方便,在未来也是有着良好的发展。