摘要
随着网络科技的不断发展以及人们经济水平的逐步提高,网络技术如今已成为人们生活中不可缺少的一部分,而信息管理系统是通过计算机技术,针对用户需求开发与设计,该技术尤其在各行业领域发挥了巨大的作用,相比于以前的传统手工管理方式,智能化的管理方式可以大幅降低医院的运营人员成本,实现了住院管理的标准化、制度化、程序化的管理。
设计该系统采用JAVA进行设计开发, 在后端采用springboot框架对项目各个功能模块进行设计实现,项目后端主要使 Ecl i ps e 对项目进行设计,并且系统中采用 MySQL数据库存放信息,系统在功能上实现了出院登记、入院登记、门诊病例、病床、患者、医生、科室等多个模块,满足用户需求。
关键词:住院管理系统;springboot 框架;MySQL 数据库;
ABSTRACT
With the continuous development of network technology and the gradual improvement of people's economic level, network technology has become an indispensable part of people's lives. Information management systems are developed and designed based on user needs through computer technology, which has played a huge role in various industries. Compared with traditional manual management methods in the past, intelligent management methods can significantly reduce the operating costs of hospitals and achieve standardized, institutionalized, and procedural management of inpatient management.
The system is designed and developed using Java, and the backend uses the Springboot framework to design and implement various functional modules of the project. The backend of the project mainly uses Ecl i ps e to design the project, and the system uses MySQL database to store information. The system implements multiple modules such as discharge registration, admission registration, outpatient cases, beds, patients, doctors, departments, etc. in terms of functionality, meeting user needs.
Keywords: Hospitalization management system; Springboot framework; MySQL database;
目录
1.3 研究的主要内容 2
1.4 论文结构 3
2.2 Mysql 数据库介绍 4
3.1 系统可行性研究 6
3.1.1 技术可行性研究 6
3.1.2 经济可行性研究 7
3.1.3 操作可行性分析 7
3.2 需求分析 8
3.2.1 性能分析 8
3.2.2 结构分析 9
3.2.3 用例图 9
4.1 系统运行环境 10
4.2 软件编码风格 11
4.3 核心代码模块 12
4.5 数据库设计 14
4.5.1 概念设计 15
5.2 医生功能的实现 19
5.3 患者功能的实现 19
第 1 章 绪论
1.1 项目背景
在近些年互联网技术得到了快速的发展,并且互联网技术已经在很多方面开始普及。现在医院或者企业单位等等已经建立了初步的互联网管理系统来帮助本行业管理工作[1]。但是据调查得知虽然有的行业有了相关的管理系统,但是管理方面还是使用半手动式记录数据,由于这样的管理方式,人工管理成本高,效率低,还存在信息的不明确,所以人工管理方式在很大的程度上存在弊端。给人们的生活带来了非常大的不便,导致不能满足现在社会的需求[2]。现如今利用计算机技术管理成为一个越来越受关注的社会问题,对于能够快速的找到所需信息,也是为了提高管理的效率。所以必须开发一套基于springboot的住院管理系统,目前管理系统已成为众多行业的应用模块,同时也引起了学术界的长期关注[3]。
1.2 国内外研究现状
在国内,由于历史环境因素的影响和发展的不平衡,住院管理不完善,这对计算机领域的应用以及外部状态信息在住院管理系统中的应用产生了很大的影响[4]。简单的技术可以取代过去的形式或方法,但如果你想设计一个管理计划以更科学的方式重新管理这一环节,你必须放弃传统的管理方法,尽快改变管理方法,改变管理理念以合理运作,使系统更精细,控制成本,提高管理效率[5]。
在国外,系统管理发展迅速。相应的信息系统软件设计和保护的研发也有所增加。随着时代的变化,产品研发得到了推动,系统软件得到了极大的发展。如今,它正朝着智能化、数字化和信息化的方向快速发展[6]。所有大公司都采用了类似的管理系统,促进了公司的快速发展,取得了较好的经济效益。计算机作为信息科学的媒介和关键,对人类社会的繁荣起着至关重要的作用。政府机构和事业单位将根据工作内容选择一套优秀的通信技术和专业办公设备,并利用这些技术和设备快速收集、解决和存储信息,使管理变得方便快捷,实现科学合理的管理目标[7]。总而言之,住院管理系统的发展呈持续上升发展趋势,现在传统式的手工制作和半手动式管理方法转变为信息化管理的转变历程中,必须使用和融合全新的信息技术性来完成传统的系统设计方法,确保系统的效果和品质[8]。
1.3 研究的主要内容
通过对知识内容的学习研究,进而设计并实现一个住院管理系统。系统能实现的主要功能应包括;出院登记、入院登记、门诊病例、病床等的一些操作,传统的管理模式主要是使用纸作为介质,信息交流很大程度上受地域的影响,在当今信息技术发达的现状下,完全无法满足高效率的,快节奏的现代工作生活的需要[9]。现代化网络管理模式主要是利用网络技术,将传统的以纸作为介质的信息资源保存到网络数据库中,在需要用到的时候直接通过网络到数据库中获取,无论何时何地都不受影响,完全满足现代工作生活的高效率的需求[10]。
1.4 论文结构
本论文一共分为 7 个章节,根据开发时的流程进行编写,内容大致如下:
第 1 章:绪论。介绍住院管理系统的开发背景、发展现状、
开发内容。
第 2 章:相关技术。介绍住院管理系统开发使用的技术。
第 3 章:系统分析[11]。住院管理系统的可行性以及功能、用例图、软件结构分析。
第 4 章:系统设计。详细讲述系统的各种运行配置、核心模块、系统 E-R
图及数据库设计。
第 5 章:系统实现。展示详细设计中各个页面实现的图片。
第 6 章:软件测试。测试住院管理系统的运行情况是否正常。
第 7 章:结论。总结本系统开发的成果[12]。
第 2 章 相关技术
现如今后台开源框架主流的有SSH、SSM、SpringBoot,但是SSH、SSM框
架的环境配置项较多,而SpringBoot主要的设计思想就是约定大于配置,故而
SpingBoot在设计时几乎达到零配置。SpringBoot整合了业界上的开源框架。具
体采用技术框架描述如下:
- Mybatis:Mybatis:提供自动映射,动态SQL,级联,缓存,注解,代码
和SQL分离等特性,使用方便,同时也对SQL进行优化。
- SpringMVC:通过一套MVC注解,让POJO成为处理请求的控制器,无需
实现任何接口,同时,SpringMVC还支持REST风格的URL请求。
- SpringBoot:从本质上来说,Spring Boot就是Spring,它做了那些没有它你也
会去做的Spring Bean配置。
SpringBoot是一款非常强大后台框架,因为SpringBoot开发时可以基本不用写配
置文件,所以使用SpringBoot搭建网站的后台环境,在SpringBoot的yml配置文
件中写入项目启动端口,项目就可以启动。项目的Java文件还有静态文件都是由
SpringBoot来管理。
2.2 Mysql 数据库介绍
因为该项目属于动态项目,在系统中是需要进行数据信息存放的,数据信息的存放就涉及数据库,在选择数据库的过程中其信息的存放方式也是一个重要的过程。Mysql 数据库是目前市场上比较常用的一个关系型数据库,其进行数据信息存放时不仅轻量、快速而且该数据库还是属于一个开源免费的数据库。Mysql和微软公司的 Sql Server 数据库相比其更加轻量高效,并且具备强大的插件库,支持多种字符类型,并且 Mysql8.0 自带图形界面使用起来十分易于上手,有着很好的使用体验,即该项目的开发使用了 Mysql 进行数据信息存放。
2.3 JAVA语言
Java,目前Internet中最流行的编程语言之一。它吸取了C++编程语言的长处的
同时还摒弃了许多复杂抽象,不易掌握的问题,使得Java编程语言不但功能强大
而且使用方便。
Java技术在使用过程中有优势也有劣势。其优势在于,因为Java本身相对严格
的语法,所以可以强化程序员在编程时的规范性问题,不容易出现明显结构错乱
的问题。因此,规范将是Java的巨大优势。但是它也有劣势,就是不太适应互
联网模式下的不断修改,总是修改容易破坏架构。
面向对象的三种特征:封装,继承和多态。
密封:主要是指对数据信息的隐藏,通过把数据信息类别与通过数据信息的功能密
封在一块,让数据信息被保存在数据信息类别的里面,只留下一部分可以对外的接
口,以便于尽可能的地隐蔽里面的数据信息。因此好处也就十分的明显就是实现了
专业的分工,同时也隐藏了信息,保证了安全。
继承:这就像是实际人生中的父子关系一样,孩子要承袭父母的特点。类似的,一
个种类同时也继承了另一个种类的某些特性,其父属之间有一种特别的一般性的联
系,是is-a的关系,从根本上来说都属于同一个实体。
多态:多态系统是以封装和继承为基础的。由于所传输的父类对象能够引入各种各样
的子类对象,因而能够显示出各种各样的现象,给多态的编程带来了良好的扩展。
2.4 B/S架构
B/S结构就是指系统客户端与服务器分离,客户端通过浏览器访问服务端进行操作。
B/S结构目前广泛应用于绝大部分系统搭建中,这种结构摒弃C/S结构客户端服务端
不分离的缺点,具有更多的优势:
- 跨平台性:B/S的标准由标准化组织确立,适用于绝大多数的系统搭建,通用于应
用之间。
- 低维护成本:客户端和服务器端分离,减轻了两端的压力,尤其是客户端,对客
户端设备,硬件、软件要求都比较低,并且系统需要升级或维护时,只需要在服务器
端升级或维护就可以,使相应的费用减少。
第 3 章 系统分析
3.1 系统可行性研究
对系统进行可行性方面的分析可以减少项目开发过程中遇到的一些问题,只有项目可行性通过才可以让系统开发工作有所进展,如果可行性不通过的情况下直接对项目进行设计,那么在开发后期可能会遇到很多问题,导致项目开发工作无法正常进行[13]。所以对项目开发工作进行可行性分析是十分重要的。
3.1.1 技术可行性研究
技术可行性研究主要是对系统中开发所需要的技术进行模块分析说明,在进行系统设计的过程中采用了JAVA语言、springboot框架,这些都是后端用到的核心技术,该项目是目前市场上那些网站管理系统常用的一种技术组合,在技术选择过程中用到了该B/S架构,基本可以满足本系统的开发,所以在技术方面对开发项目的这些技术选型是十分可行的。
3.1.2 经济可行性研究
本系统适用于大部分行业,它的数据处理量较小。它不需要消耗大量的人力和物力成本。主要的付出集中于前期的平台的建设和后期的维护,平台的搭建工作可以由开发人员协助,而维护工作的需求频率并不高。显而易见,相对于付出而言,管理的成本很低,却可以带来更多的经济收益,减少管理人员投入。减少了工作时间,管理者也更加轻松。管理的效率也会相应提升。
3.1.3 操作可行性分析
在进行系统开发的过程中,采用springboot框架对系统的界面进行布局设计,
医生、患者和管理员登录以后可以直接查看各自具备的功能信息,这些都是
可以直接进行查看操作的,并且该项目的界面是十分的美观。
一般只要是具备计算机基础的都可以直接上手操作。在操作方面系统的流畅度
较好, 并且在多人访问的情况下也不会出现卡顿、崩溃的现象,所以在操作可行性
方面还是十分可行的。
3.2 需求分析
在实际情况下,要开发出一套符合使用者要求的住院管理系统,首先需要深入了解使用者的需求。对用户的需求有深刻的了解是成功的先决条件,因为不能满足用户需求的程序无法创造很大的使用价值,并且给设计者带来很多不利。需求分析是住院管理系统设计阶段的重要环节,它的基本内容是准确地解释系统将能够实现的关键问题,最终形成一份完整的系统使用说明。
3.2.1 性能分析
本项目是基于JAVA语言的 springboot框架进行设计的,项目开发完毕以后会对项目进行打包,只要有将 War 包放在服务器下就可以进行启动,该项目在使用的过程中,其性能十分稳定,并且采用密码加密安全框架进行验证保证了系统的安全性,在负载量方面做了优化处理,在多人访问的情况下很少会出现系统崩溃的现象。
3.2.2 结构分析
该项目在开发的过程中对各个包名、系统文件都使用了大驼峰的命名方式, 通过这种规约可以做到看词知意,让代码的质量更高,并且软件的开发结构用到的 B/S架构的开发模式,将代码进行分层展示更加便于团队的开发工作,在后期也更加易于维护。
3.2.3 用例图
通过用例图,人们可以获知系统不同种类的用户和用例。
管理员使用本系统涉及到的功能主要有:首页、出院登记管理、入院登记管理、门诊病例管理、病床管理、患者管理、医生管理、科室管理等功能。管理员用例图如图 3.1 所示。
图 3.1 管理员用例图
医生使用本系统涉及到的功能主要有:首页、手术管理、护理记录管理、医嘱管理、出院登记管理、入院登记管理、门诊病例管理、个人中心。医生用例图如图 3.2 所示。
图 3.2 医生用例图
患者使用本系统涉及到的功能主要有:首页、手术管理、护理记录管理、医嘱管理、出院登记管理、入院登记管理、门诊病例管理、个人中心。患者用例图如图 3.3 所示。
图 3.3 患者用例图
第 4 章 系统设计
4.1 系统运行环境
本项目的运行需要在操作系统中安装部署相关的开发环境才可以对项目进行启动访问,下面介绍了本次项目开发过程中相关的环境版本,并且说明了支持本次项目的其他版本的软件。
开发环境 Eclipse 2021,Mysql 5.7,Jdk1.8.11,Tomcat 8.5
操作系统 Mac Os,Windows 10,Windows 98 / XP,Linux
浏览器选择 火狐浏览器,IE 浏览器,Safari 浏览器,谷歌浏览器硬件配置
运行内存:16G 运行内存以上 处理器:酷睿 i5及以上
4.2 软件编码风格
在开发本次项目的过程中使用B/S架构技术进行对代码的分层管理,项目通过建立不同格式的包将不同类型的Class类规范起来,并且不同的数据库表之间是相互关联的。在项目开发的过程中各个方法、类名、包名都是采用大驼峰的方式进行命名的,在系统中所有的程序文件都是采用中国编码 UTF-8 进行规范的。
4.3 核心代码模块
在系统中的代码模块主要分为控制层、业务层、持久化层、实体层、工具类。其各自的定义如下。
控制层(Control 层)该层的含义主要是定义相关的代码访问地址,起到一个中转站转发的作用,并且该模块为系统中整个核心,所有的核心实现逻辑都在该包中定义。
业务层(Service 层),该层主要定义了系统中各个业务的方法,以及实现类,是需要通过控制层 Control 进行控制调用的,也是一个必不可少的环节模块。
持久化层(Dao 层),持久化层的代码模块主要是定义后台进行数据库操作的相关代码模块,在里面定义了相关的所有连接数据库的相关实现代码包。
实体层(Model 层),在该层中主要定义相关的试题类,主要目的是对数据库
中相关的数据信息进行在线封装,实现打包。
工具类(Utils 层),在该层中主要定义系统中相关的工具类包,并且在该项目中一些字典包也会进行定义。
4.4 功能设计
对开发的系统进行结构图设计,利用结构图可以查看到所有相关的功能模块, 并且结构图可以清晰的介绍系统中各个角色相互之间的联系,设计的该基springbo
ot框架技术的住院管理系统的结构图设计如图 4.1 所示。
图 4.1 系统结构图
4.5 数据库设计
4.5.1 概念设计
根据分析所得,住院管理系统主要含有以下实体:
患者信息 E-R 如图 4.2 所示。
图4.2 患者信息 E-R图
医生信息E-R如图 4.3 所示。
图 4.3 医生信息 E-R图
入院登记E-R如图 4.4 所示。
图 4.4 入院登记 E-R图
出院登记E-R如图 4.5 所示。
图 4.5 出院登记 E-R图
设计的系统 E-R 图是反应各个实体之间联系的一种方式,在该系统中管理员为最高权限的管理者,不仅关联了多个实体并且管理员可以对多个实体进行管理。系统中多个用户可以查看到自己权限内功能。其系统中 E-R 图设计如图 4.6 所示。
图 4.6系统 E-R 图
4.5.2 逻辑设计
该系统采用的数据库是MySQL,根据该系统的数据存储特点进行数据库关系表
的设计。下面是该系统中关键部分关系表的详细信息。
表4.1:护理记录
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
huanzhexingming | varchar | 200 | 患者姓名 | ||
huanzhezhanghao | varchar | 200 | 患者账号 | ||
nianling | varchar | 200 | 年龄 | ||
xingbie | varchar | 200 | 性别 | ||
yishenggonghao | varchar | 200 | 医生工号 | ||
yishengxingming | varchar | 200 | 医生姓名 | ||
keshi | varchar | 200 | 科室 | ||
shengmingtizhengbianhua | varchar | 200 | 生命体征变化 | ||
richanghuli | longtext | 4294967295 | 日常护理 |
表4.2:患者
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
huanzhezhanghao | varchar | 200 | 患者账号 | ||
mima | varchar | 200 | 密码 | ||
huanzhexingming | varchar | 200 | 患者姓名 | ||
xingbie | varchar | 200 | 性别 | ||
nianling | varchar | 200 | 年龄 | ||
shouji | varchar | 200 | 手机 | ||
xuexing | varchar | 200 | 血型 | ||
touxiang | longtext | 4294967295 | 头像 |
表4.3:配置文件
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
name | varchar | 100 | 配置参数名称 | ||
value | varchar | 100 | 配置参数值 |
表4.4:出院登记
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
huanzhezhanghao | varchar | 200 | 患者账号 | ||
huanzhexingming | varchar | 200 | 患者姓名 | ||
xingbie | varchar | 200 | 性别 | ||
nianling | varchar | 200 | 年龄 | ||
chuyuanshijian | datetime | 出院时间 | |||
yishenggonghao | varchar | 200 | 医生工号 | ||
yishengxingming | varchar | 200 | 医生姓名 | ||
keshi | varchar | 200 | 科室 | ||
jibingmingcheng | varchar | 200 | 疾病名称 | ||
chuyuanzhuangkuang | varchar | 200 | 出院状况 | ||
chuyuantiwen | varchar | 200 | 出院体温 | ||
yishengyizhu | varchar | 200 | 医生医嘱 | ||
crossuserid | bigint | 跨表用户id | |||
crossrefid | bigint | 跨表主键id |
表4.5:token表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
userid | bigint | 用户id | |||
username | varchar | 100 | 用户名 | ||
tablename | varchar | 100 | 表名 | ||
role | varchar | 100 | 角色 | ||
token | varchar | 200 | 密码 | ||
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP | ||
expiratedtime | timestamp | 过期时间 | CURRENT_TIMESTAMP |
表4.6:病床
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
keshi | varchar | 200 | 科室 | ||
bingchuanghao | varchar | 200 | 病床号 | ||
chuangweifei | int | 床位费 | |||
shiyongzhuangtai | varchar | 200 | 使用状态 |
表4.7:医嘱
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
binglibianhao | varchar | 200 | 病例编号 | ||
huanzhexingming | varchar | 200 | 患者姓名 | ||
huanzhezhanghao | varchar | 200 | 患者账号 | ||
nianling | varchar | 200 | 年龄 | ||
xingbie | varchar | 200 | 性别 | ||
yishenggonghao | varchar | 200 | 医生工号 | ||
keshi | varchar | 200 | 科室 | ||
yishengxingming | varchar | 200 | 医生姓名 | ||
yizhu | varchar | 200 | 医嘱 | ||
xiangqing | longtext | 4294967295 | 详情 | ||
shijian | datetime | 时间 | |||
crossuserid | bigint | 跨表用户id | |||
crossrefid | bigint | 跨表主键id |
表4.8:手术流程
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
shoushushi | varchar | 200 | 手术室 | ||
yishenggonghao | varchar | 200 | 医生工号 | ||
yisheng | varchar | 200 | 医生 | ||
shoushuliucheng | longtext | 4294967295 | 手术流程 | ||
crossuserid | bigint | 跨表用户id | |||
crossrefid | bigint | 跨表主键id |
表4.9:手术安排
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
shoushushi | varchar | 200 | 手术室 | ||
yisheng | varchar | 200 | 医生 | ||
yishenggonghao | varchar | 200 | 医生工号 | ||
huanzhexingming | varchar | 200 | 患者姓名 | ||
huanzhezhanghao | varchar | 200 | 患者账号 |
表4.10:入院登记
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
huanzhexingming | varchar | 200 | 患者姓名 | ||
huanzhezhanghao | varchar | 200 | 患者账号 | ||
nianling | varchar | 200 | 年龄 | ||
xingbie | varchar | 200 | 性别 | ||
ruyuantiwen | varchar | 200 | 入院体温 | ||
zhuyaozhengzhuang | varchar | 200 | 主要症状 | ||
ruyuanshijian | datetime | 入院时间 | |||
yishenggonghao | varchar | 200 | 医生工号 | ||
yishengxingming | varchar | 200 | 医生姓名 | ||
keshi | varchar | 200 | 科室 | ||
jibingmingcheng | varchar | 200 | 疾病名称 | ||
crossuserid | bigint | 跨表用户id | |||
crossrefid | bigint | 跨表主键id |
表4.11:门诊病例
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
binglibianhao | varchar | 200 | 病例编号 | ||
huanzhexingming | varchar | 200 | 患者姓名 | ||
huanzhezhanghao | varchar | 200 | 患者账号 | ||
nianling | varchar | 200 | 年龄 | ||
xingbie | varchar | 200 | 性别 | ||
zhusu | varchar | 200 | 主诉 | ||
xianbingshi | varchar | 200 | 现病史 | ||
jiwangshi | varchar | 200 | 既往史 | ||
yaominshi | varchar | 200 | 药敏史 | ||
zhenduan | varchar | 200 | 诊断 | ||
zhiliaofangan | varchar | 200 | 治疗方案 | ||
yishenggonghao | varchar | 200 | 医生工号 | ||
keshi | varchar | 200 | 科室 | ||
yishengxingming | varchar | 200 | 医生姓名 | ||
dengjishijian | date | 登记时间 |
表4.12:菜单
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
menujson | longtext | 4294967295 | 菜单 |
表4.13:医生
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yishenggonghao | varchar | 200 | 医生工号 | ||
mima | varchar | 200 | 密码 | ||
yishengxingming | varchar | 200 | 医生姓名 | ||
keshi | varchar | 200 | 科室 | ||
zhicheng | varchar | 200 | 职称 | ||
xingbie | varchar | 200 | 性别 | ||
yiling | varchar | 200 | 医龄 | ||
lianxifangshi | varchar | 200 | 联系方式 | ||
touxiang | longtext | 4294967295 | 头像 |
表4.14:管理员
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
username | varchar | 200 | 用户名 | ||
password | varchar | 200 | 密码 | ||
role | varchar | 200 | 角色 |
表4.15:科室
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
keshi | varchar | 200 | 科室 |
第 5 章 系统实现
5.1 管理员功能的实现
在住院管理系统中,管理员可以使用特定的用户名和密码、角色进行登录,从而进入相应的功能界面。如图5.1所示。
图5.1管理员登录页面
管理员登录进入系统可以查看首页、出院登记管理、入院登记管理、门诊病例管理、病床管理、患者管理、医生管理、科室管理等功能,进行详细操作,如图5.2所示:
图5.2管理员首页页面
医生模块:管理员可以在此页面输入工号、医生姓名、科室、职称、性别、医龄、联系方式、头像具体信息进行搜索,还可以对医生信息进行增删改查。如图5.3所示:
图5.3医生页面
患者模块:管理员可以在此页面输入患者账号、患者姓名、性别、年龄、手机、血型、头像具体信息进行搜索,还可以对患者信息进行增删改查。如图5.4所示:
图5.4患者页面
科室模块:管理员可以在此页面输入科室具体信息进行搜索,还可以对科室信息进行增删改查。如图5.5所示:
图5.5科室页面
病床模块:管理员可以在此页面输入科室、病床号、床位费、使用状态具体信息进行搜索,还可以对病床进行增删改查。如图5.6所示:
图5.6病床页面
门诊病例模块:管理员可以在此页面输入病例编号、患者姓名、患者账号、年龄、性别、主诉、现病史、既往史、药敏史、诊断、治疗方案、医生工号、科室、医生姓名、登记时间具体信息进行搜索,还可以对门诊病例进行增删改查。如图5.7所示:
图5.7门诊病例页面
入院登记模块:管理员可以在此页面输入患者姓名、患者账号、年龄、性别、入院体温、主要症状、入院时间、医生工号、医生姓名、科室、疾病名称具体信息进行搜索,还可以对入院登记进行增删改查。如图5.8所示:
图5.8入院登记页面
出院登记模块:管理员可以在此页面输入患者账号、患者姓名、性别、年龄、出院时间、医生工号、医生姓名、科室、疾病名称、出院状况、出院体温、医生医嘱具体信息进行搜索,还可以对出院登记进行删改查。如图5.9所示:
图5.9出院登记页面
5.2 医生功能的实现
在住院管理系统中,医生可以输入详细信息进行注册登录,从而进入相应的功能界面。如图5.10所示。
图5.10医生注册登录页面
医生登录进入系统可以查看首页、手术管理、护理记录管理、医嘱管理、出院登记管理、入院登记管理、门诊病例管理、个人中心等功能,进行详细操作,如图5.11所示:
图5.11医生首页页面
5.3 患者功能的实现
在住院管理系统中,患者可以收入详细信息进行注册登录,从而进入相应的功能界面。如图5.12所示。
图5.12患者注册登录页面
患者登录进入系统可以查看首页、手术管理、护理记录管理、医嘱管理、出院登记管理、入院登记管理、门诊病例管理、个人中心等功能,进行详细操作,如图5.13所示:
图5.13患者首页页面
第 6 章 软件测试
6.1 软件测试目标
本项目设计的初衷就是为用户提供一个良好的信息管理平台,项目中具备医生、患者和管理员角色,其不同的角色权限不同,管理员主要目的就是对用户的相关信息进行管理[14]。这些功能模块都是核心的模块功能,在系统开发完毕以后都是要对这些功能进行在线测试的。
6.2 软件测试方法
系统测试一般是对系统的功能模块进行测试,保证系统所有的环节都不存在潜在漏洞,并且没有安全隐患,该项目测试的主要方法就是对功能进行逐步分析,并且测试完功能以后再检查编写的代码有没有存在空指针异常、死锁等软件漏洞[15]。
6.3 软件测试用例
系统中用户只有进行账户登录的情况下才可以进入到系统中使用,本系统中用户登录在主页可以查看到各自具有的功能信息,账户登录、注册和个人信息修改,如表 6.1 所示[16]。
序号 | 测试名称 | 测试步骤 | 期望结果 | 期望结果 |
1 | 注册 | 进入系统页面,完成注册 | 可以成功注册 | PASS |
2 | 登陆 | 在登陆界面用新注册的账号登陆 | 可以成功登陆 | PASS |
3 | 修改个人信息 | 在个人信息界面编辑个人信息 | 可以成功修改 | PASS |
6.4 软件测试结论
该系统的测试工作已经全面完成了,并且系统的设计与开发所设计的各个功能模块均已经开发完毕,该系统的设计与开发是很符合自己的开发预期的,是可以直接上线使用。
第 7 章 结论
目前毕业设计的开发已经基本完成,该项目主要使用 springboot框架+JAVA语言进行实现的,该项目的运行属于个人第一个实战性项目,项目采用B/S的架构模式进行项目开发,在系统中使用的开发环境为 Jdk1.8,利用 IntelliJ Eclipse作为项目的编辑器,项目中数据信息都存放在 Mysql 数据库当中,本项目中核心的功能实现的技术为 springboot 框架,项目的设计比较的美观并且系统的功能模式十分的完善,项目以线上管理方式进行管理的,在系统中实现了账户登录、医生、患者、科室、出院登记、入院登记、门诊病例等功能模块。
系统目前经过了核心的功能模块测试,虽然该系统的设计在功能上基本符合一个住院管理系统的管理的水平,但是也有着一定的缺陷,如信息处理一些模块功能做的还不是很完善。
本项目在后期的开发会对系统一些高并发性能加强,并且会对项目中一些相关的功能进行优化,并且在后期可能会开发一个在线的动态平台提供给高校或者企业等等进行使用。
结束语
在开发本次项目过程中遇到了很多难题,并且由于自身技术比较薄弱,在解决问题的过程中都是比较吃力的。虽然自身开发经验不足,但是在问题面前都进行积极面对,也通过自己的努力得以解决了,系统中利用到了springboot框架对项目进行开发设计,通过本次项目的实战开发,自己的开发能力得到了显著的提高。
该系统的开发也有着一定的缺陷如在多人访问的状况下其运行速度可能会变慢。在后期会持续进行优化,并且打算开通微信小程序功能模块。
毕业论文的完成也就意味着我的本科学习生涯就此告以段落了,不由感慨, 四年的学习生活转瞬即逝。在这四年里我度过了人生中最美好的青春年华,学到了很多以前从未了解的知识,认识了很多好朋友,之后我会好好利用已经学到的知识,继续学习新的知识,用实践来弥补自己的不足,成为一个优秀的软件开发工程师。
参考文献
[1] 物联网技术特点与应用. 马寅.办公自动化,2019
[2] 论物联网时代的到来对工业设计的影响. 张志东;李海鹰.包装工程,2020
[3] 物联网技术进展与应用. 朱洪波;杨龙祥;朱琦.南京邮电大学学报(自然科学版),2021
[4] Java Web高级编程[M]. 威廉斯.清华大学出版社.2019
[5] 软件体系结构[M]. 覃征, 等编著.清华大学出版社.2019
[6] 数据库系统实现[M]. (美) 加西亚-莫利纳 (Garcia-Molina,H.) , 等著.机械工业出版社.2020
[7] JavaEE程序设计与应用开发[M]. 郭克华, 主编.清华大学出版社.2020
[8] 案例教学法在《Java程序设计》教学中的应用. 朱婷婷.计算机产品与流通,2020
[9] 中职学校计算机类专业建设水平提升浅探. 刘影秋.就业与保障,2020
[10] springboot框架在web应用开发中的探讨. 吕宇琛.科技创新导报,2018
[11] 从做中学:基于具身认知的视角. 乔为.职业技术教育,2017
[12] 基于Java的分布式远程过程调用框架的研究与实现[D]. 徐培德.上海交通大学,2022
[13] 多线程JAVA程序的层次着色Petri网模型自动生成方法[D]. 刘洋洋.内蒙古大学,2019
[14] CLORIFI: software vulnerability discovery using code clone verification. Hongzhe Li;;Hyuckmin Kwon;;Jonghoon Kwon;;Heejo Lee.Concurrency and Computation: Practice and Experience,2022
[15] Tree edit distance: Robust and memory-efficient. Mateusz Pawlik;;Nikolaus Augsten.Information Systems,2019
致谢
晃眼间四年大学时光即将过去。当我在完成大学里最后一个任务模块时,我意识到自
己将要毕业了,将离开陪伴了自己四年快乐时光的校园。回首四年往事,让我深有感触学
校四年的点点滴滴,有太多无法忘记的事事非非。学校的室友,同学,老师,图书馆,教
学楼等,这些都是我无法抹去的记忆,已使我的心里很不是滋味。在此我要首先感谢我的
指导老师。从最开始的论文选题、分析,老师就根据我们所选的课题提供了参考资料并且
帮助我们进行系统的功能分析。他认真的工作态度、辛勤的工作精神,对我的影响深远,
当我遇到问题以及疑惑时,老师总能指出问题的所在,让我收获了许多,再次感谢老师对
我的帮助,以及还要感谢我的家人和朋友,正因为有了他们的支持,使我今后的人生有了
更多的意义。
时光飞逝,四年的大学生活转眼就要过去了。此时此刻,四年的时光在我的脑海中再
次上演。我的舍友、同学、老师,这一刻,我已经止不住的流泪了。我有太多的记忆永远
刻在脑子里,我不会忘记他们的点点滴滴。与此同时,我也会积极准备考研,吸取第一次