基于Springboot Vue医院管理系统+数据库脚本+文档(万字)

项目效果视频:

基于Springboot Vue医院管理系统

一、 项目介绍
角色:管理员、患者、医生
基于springboot vue实现的医院管理系统,有管理员、医生和患者三种角色。系统拥有丰富的功能,能够满足各类用户的需求,系统提供了登录和注册功能,确保用户的信息安全和权限管理。登录后,用户可以进入系统的首页,了解到就诊和住院的概况,从而更好地把握医院的整体情况

管理员角色,系统提供了一系列管理功能。他们可以管理医生、患者、挂号、药物、检查、病床、排班等信息,并进行数据统计分析,为医院的管理决策提供依据。

医生角色,系统提供了方便的挂号管理和住院申请管理功能。医生可以轻松处理患者的预约挂号请求,同时也可以管理和查看自己的个人信息,提升工作效率。

患者角色,他们可以通过系统进行预约挂号,随时查看自己的挂号记录和住院信息,并管理个人信息,方便与医护人员进行沟通和交流。

二、项目技术
后端: SpringBoot+Mybaits-Plus+Redis

前端:Vue + ELementUI

三、 运行环境
开发语言:Java

开发工具:IDEA,Eclipse,Myeclipse都可以。推荐IDEA

JDK版本:1.8

数据库: MySQL8.0

项目管理:Maven

Node版本:14
报告

基于SpringBoot + Vue的医院管理系统的设计与实现

完成日期: xxxx年 xx月xx日

随着计算机科学的迅猛发展和互联网技术的不断推进,人们的生活方式发生了巨大的变化,同时也推动了整个软件产业的发展。在传统的医院看病,病人需要办理繁杂的手续和填写众多资料,这种操作极其不友好。在一些情况下,医生需要手写病历,不清楚病人的病史,治疗效果可能不佳。

为了解决这些问题,本毕业设计基于JavaEE技术体系,采用了前后端分离的思想,并结合了Spring Boot、Vue.js、MySQL、Redis、Docker等技术或框架,开发了一个医院管理系统。该系统旨在提供一个便捷、高效、安全的医疗服务平台,改善传统医院看病流程的不便和低效。

首先,该系统为患者提供了在线预约挂号和自助缴费的功能。患者可以通过系统选择合适的时间和医生进行预约,避免了排队等候的繁琐过程。同时,患者还可以通过系统进行自助缴费,无需再去窗口排队缴费,节省了大量时间和精力。

其次,医生可以通过系统进行病情诊断和处方开具。传统的手写病历容易出现信息不清晰的问题,而该系统可以提供一个结构化的病历记录和管理平台,医生可以更清楚地了解患者的病史和诊断结果,从而提供更准确的治疗方案。此外,医生还可以通过系统开具电子处方,方便患者在药房取药,减少了纸质处方的使用,降低了医疗错误的风险。

另外,医院管理员可以通过系统对各种信息数据进行管理和查看数据分析。管理员可以实时监控医院的运营情况,包括预约挂号情况、医生工作量、药品库存等,从而做出相应的调整和决策。

关键字 医院管理、Vue.js、Java、互联网技术

Abstract

With the rapid development of computer science and the continuous advancement of internet technology, people’s lifestyles have undergone tremendous changes, which have also promoted the development of the entire software industry. In traditional hospitals, patients need to go through complicated procedures and fill out numerous forms, which is extremely unfriendly. In some cases, doctors need to handwrite medical records, resulting in unclear patient medical history and potentially ineffective treatment.

To address these issues, this graduation project is based on the JavaEE technology system and adopts the concept of front-end and back-end separation. It incorporates technologies or frameworks such as Spring Boot, Vue.js, MySQL, Redis, and Docker to develop a hospital management system. The system aims to provide a convenient, efficient, and secure healthcare service platform, improving the inconvenience and inefficiency of the traditional hospital visit process.

Firstly, the system provides patients with online appointment scheduling and self-service payment functions. Patients can use the system to choose suitable time slots and doctors for appointments, avoiding the tedious process of waiting in queues. Additionally, patients can make self-service payments through the system, eliminating the need to queue at the payment counter, saving a significant amount of time and effort.

Secondly, doctors can use the system for diagnosing medical conditions and prescribing medications. Traditional handwritten medical records often suffer from unclear information, while this system provides a structured medical record recording and management platform. Doctors can have a clearer understanding of patients’ medical history and diagnosis results, enabling them to provide more accurate treatment plans. Furthermore, doctors can issue electronic prescriptions through the system, facilitating patients to collect medications from the pharmacy, reducing the use of paper prescriptions, and lowering the risk of medical errors.

In addition, hospital administrators can manage and analyze various information data through the system. Administrators can monitor the hospital’s operational status in real-time, including appointment scheduling, doctor workload, and medication inventory, making necessary adjustments and decisions accordingly.

Keywords Vue, Hospital, Java,SpringBoot, Internet

*目* *录*

第1章 绪论

1.1 项目背景

1.2 课题的主要任务

1.3 论文的章节安排

第2章 相关技术和开发环境

2.1 相关技术

2.1.1 Java语言

2.1.2 HTML、CSS、JavaScript

2.1.3 Redis

2.1.4 MySQL

2.1.5 SpringBoot框架

2.1.6 Vue.js

2.2 开发环境

第3章 系统分析

3.1 可行性分析

3.1.1 经济可行性

3.1.2 技术可行性

3.1.3 运行可行性

3.2 业务流程分析

3.2.1 业务流程分析

3.2.2 数据流程图和逻辑流程图

3.3 用例图分析

3.4 数据需求分析

3.4.1 实体集分析

3.4.2 实体集数据项分析

3.4.3 数据操作分析

第4章 概要设计

4.1 系统设计

4.1.1 系统架构设计

4.1.2 系统功能板块

4.2 ER图-数据库概要设计

4.3 系统后端接口设计

第5章 详细设计

5.1 详细功能模块

5.1.1 用户登录模块

5.1.2 预约挂号模块

5.1.3 接诊模块

5.2 数据库详细设计

5.2.1 关系模型设计

5.2.2 逻辑结构设计

第6章 系统实现

6.1 登录注册模块

6.2 管理员模块

6.3 医生模块

6.4 患者模块

第7章 系统测试

7.1 软硬件环境

7.2 测试方法

7.3 测试用例

7.4 结果及分析

第8章 总结与展望

8.1 总结

8.2 展望

参考文献

致谢

1章 绪论

1.1 项目背景

随着计算机科学的迅猛发展和互联网技术的不断推进,人们的生活方式发生了巨大的变化,同时也推动了整个软件产业的发展。把传统产业服务和计算机科学结合起来,已成为一种大趋势。在传统的医院看病,病人需要办理繁杂的手续和填写众多资料,这种操作极其不友好。在一些情况下,医生需要手写病历,不清楚病人的病史,治疗效果可能不佳。随着医院改革的不断深入,一套可以提升医院工作效率、减少医疗差错、给患者提供便捷服务的软件急需出现。我国医院信息管理系统的发展形式十分令人鼓舞,无论是国家、医院还是软件公司,都投入了大量的人力、物力、财力。大中型医院都有自己的医院管理系统,这说明医院本身在对HIS建设的认识都有了很大的提高。因此,开发一套管理医院信息,方便患者看病,方便医生诊断的系统是非常有必要的。

1.2 课题主要任务

本课题根据前期的问卷调查以及实地考察,作出了适合实际的需求分析,采用了前后端分离的思想,后端使用了SpringBoot和SpringMVC框架,前端使用了Vue.js和ElementUI进行页面的搭建,并且使用了MySQL数据库进行数据交互。整个系统的使用者有三种角色,分别是医院管理员、患者以及医生。

以下是三种不同的角色所分别拥有的功能:

(1) 管理员:可对医生信息,患者信息,挂号信息,药物信息,检查项目信息进行增删改查操作,可根据日期对医生进行排班操作,同时还可以查看数据的统计信息。

(2) 患者:可以预约当天以及往后七天的挂号,可以自助缴费,完成治疗后可浏览并打印病情报告单,同时也可对就诊医生进行评分。

(3) 医生:根据患者的挂号,可以诊断病因并开处方药以及检查项目,同时还有追加诊断功能,可以根据病人的病情需要申请当天入院。

1.3 论文的章节安排

本文主要设计和实现一个基于JavaEE的医院管理系统。

以下罗列出了本论文的章节安排:

第1章 绪论:简明扼要地介绍了本课题的研究背景和意义,阐明了课题的主要任务,最后陈列出了本论文的章节安排。

第2章 相关技术和开发环境:本章介绍了系统用到的相关技术和开发环境。

第3章 系统分析:从经济、技术、运行三个方面介绍了系统可行性,从业务、功能、数据以及数据操作四个方面介绍了系统需求分析。

第4章 概要设计:介绍了本系统的设计,包括架构、功能、数据库以及接口的设计。

第5章 详细设计:对系统的主要功能以及数据库的设计进行了详细介绍。

第6章 系统实现:展示了系统的主要功能界面,并对其操作进行说明。

第7章 系统测试:简要介绍了系统的测试方法和测试环境,编写了主要测试用例,并分析记录了测试结果。

第8章 总结与展望:对本次的课题设计进行了总结,展望该系统仍需完善的功能。

2章 相关技术和开发环境

2.1 相关技术

本课题在Windows系统下使用了JavaEE开发技术、Spring Boot技术、Vue.js技术、Tomcat服务器、Redis无关系型数据库、MySQL关系型数据库以及ElementUI前端框架技术进行开发。以下是关键技术及开发工具介绍。

2.1.1 Java****语言

Java是一种面向对象的编程语言,由Sun Microsystems(现在是Oracle公司)于1995年首次发布。它具有可移植性、安全性和跨平台等特性,因此被广泛应用于各个领域的软件开发中。

Java的平台无关性是其最重要的特性之一。通过Java虚拟机(JVM),Java程序可以在不同的操作系统和硬件上运行,而不需要针对特定平台进行修改。这意味着一次编写的Java代码可以在Windows、Linux、Mac等多个平台上运行。

Java是一种面向对象的语言,它支持封装、继承和多态等面向对象的编程概念。这使得Java程序更易于理解、扩展和维护。它还提供了强大的异常处理机制,使开发者能够更好地应对错误和异常情况。

Java还具有丰富的标准库和第三方库,以及一个庞大的开发者社区。这些库提供了许多常用的功能和工具,使得Java的开发变得更加高效和便捷。

总之,Java是一种功能强大、可靠性高、安全性好的编程语言,非常适合开发各种类型的应用程序,包括桌面应用程序、Web应用程序、移动应用程序等。它的广泛应用和稳定性使得Java成为了当今世界上最流行的编程语言之一。

2**.1.2** HTML、CSS、JavaScript

HTML(超文本标记语言)是一种用于创建和组织网页内容的标记语言。它由一系列标签组成,标签用于标记和描述文档中的不同部分,如标题、段落、链接和图像等。HTML提供了结构化的标记方式,使得浏览器能够正确地解析并显示网页内容。

CSS(层叠样式表)是一种用于描述网页外观和布局的样式语言。通过CSS,可以对HTML文档中的元素进行样式设置,包括字体、颜色、大小、间距、边框和背景等。CSS的设计目标是将样式与内容分离,使得网页的样式可以独立于内容进行修改和调整,从而提高网页的可维护性和灵活性。

JavaScript是一种动态的、基于对象和事件驱动的脚本语言。它广泛用于前端开发,用于为网页增加交互性和动态性。通过JavaScript,可以操作网页的元素、处理用户的输入、响应事件、进行表单验证和数据处理等。它还可以通过AJAX技术与服务器进行数据交互,实现动态加载内容和实时更新。

HTML、CSS和JavaScript三者通常一起使用,被称为前端开发技术。HTML负责网页的内容和结构,CSS负责网页的样式和布局,JavaScript负责网页的交互和动态效果。它们共同作用于网页的不同方面,使网页成为一个功能丰富、外观吸引人且易于使用的用户界面。

总结起来,HTML提供了网页内容的结构和标记,CSS负责网页的样式和布局,JavaScript为网页增加了交互性和动态功能。三者的协同工作使得构建现代化、交互式的网页成为可能。

2**.1.3** Redis

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API[1]。Redis的主要优点如下:

(1) 支持多种数据类型,包括Set,Zset,List,Hash,String五种数据类型,操作方便,适用于众多业务场景。

(2) 持久化存储,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。

(3) 性能好,Redis是基于内存操作的,所以读写性能很好。Redis读的速度是110000次/s,写的速度是81000次/s。

(4) 丰富的特性,Redis支持Publish/Subscribe,通知,Key过期策略等特性。

**2.1.**4 MySQL

MySQL是一种关系型数据库管理系统,是一个多用户,多线程的SQL数据库。MySQL的优点是体积小、速度快、总体拥有成本低,开放源代码等,使得它成为了目前中小企业的最爱[2]。

2.1.5 **SpringBoot**框架

SpringBoot 框架是一种基于 Spring4.0 设计的开源框架。 此框架保留了Spring 框架的优点,从框架中删除 XML 配置文件,并简化了配置中的项目构和开发。使得系统开发者更加关注业务逻辑实现的实现,而不是系统的配置。

Spring Boot 是一种基于 Spring 模式下的微服务产品, 微服务是一种全新的软 件开发框架,使得可以很好的让较为庞大的软件产品,分为诸多较为零散的小型应用,这样就可以让软件在得到开发的过程中,降低其高耦合的问题[1]。开发人员不再处理 XML 和依赖,而更多地关注业务逻辑。在配置上采用约定减少了开发人员必须做出的决定的数量和许多 XML 配置,使代码自动化,但增加了 BUG 复杂性。

Spring 开发框架是一个基于 JEE 形式的产品,它已经成为主流的开发框架类型,可以全面降低其更新效率。因此,Spring 框架解决了许多配置问题,是对传统软件开发的创新开发。Spring 的自动化配置过程是基于 Java 注释方式的,这非常符合正在进行的自动化配置需要进一步增强的配置处理方式。在生产过程中,需要对指标、健康检查、外部配置等进行分析和处理。其次是去 XML化的开发,这样整个配置文件就可以被完全断开。在使用的过程中,可以独立设计框架,在不同的 App 中使用不同的应用程序,也可以使用 Jar 文件类型。

在生产过程中,首先要对指标进行有针对性的分析和处理、健康检查、外部配置等。其次,您还需要实现去 XML 化的开发,以便完全消除配置文件的影响。

**2.1.**6 Vue.js

Vue.js是一套用于构建用户界面的渐进式框架[4]。与其它大型框架不同的是,Vue被设计为可以自底向上逐层应用。Vue的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。

2.2 开发环境

表2-1展示了系统所需的开发环境。

表2-1系统所需开发环境表

操作系统Windows 10
开发工具IntelliJ IDEA 2021.03
Java环境JDK1.8,Maven 3.8.1
数据库MySQL 8.0.19、Redis 3.0.10
服务器Tomcat 9.0.30

*
*

*第**3**章 系统分析*

3.1 可行性分析

3.1.1 经济可行性

本系统为本科毕业设计,未真正投入到实际生活中,所需要的硬件设备目前只需用到一部电脑,软件方面大部分为官方提高免费使用的,所需资料也可在网上或者查询相关书籍即可找到。因此,本系统开发在经济方面是可行的。

3.1.2 技术可行性

本系统的主要开发语言为Java,基于目前较为流行的SpringBoot以及Vue.js框架进行编写。本系统采用了MySQL数据库作为数据存储基础阵地,保证了一个安全、稳定的数据使用环境。本系统使用的技术,基本上都是目前较为流行的并且是开源的技术,文档和资料在互联网上都非常健全,且有许多开发成功的项目。因此,本系统开发在技术方面是可行的。

3.1.3 运行可行性

本系统基于SpringBoot框架,需要搭建Java,Maven,Redis,MySQL等软件环境。在搭建的过程中,有遇到过种种的问题,但通过查询资料和请教导师,都能一一解决,并能熟练掌握。因此,本系统开发在运行方面是可行的。

3.2 业务流程分析

3**.2.1** 业务流程分析

本系统的使用者一共有管理员、医生和患者这三种角色:

\1. 管理员:首页展示当天的预约挂号人数和住院人数,可对医生信息进行查增、批量导入和批量导出,可对患者、挂号信息进行查删,可对药物、检查项目和病床信息进行增删改查,可对医生进行排班操作,可查看数据统计页面。

\2. 医生:首页展示当天本人的预约挂号人数,可对患者进行诊断、开处方药、开检查项目以及追诊操作,可帮患者申请入院,可查看本人诊断的挂号信息。

\3. 患者:可预约挂号,可查看本人挂号信息,可查看本人住院信息,可对医生进行评价。

本系统的业务需求主要是对信息的基本管理、预约挂号和处理挂号等。

主要业务需求表3-1:

表3-1 业务需求表

编号业务名称操作者
1医生信息管理管理员
2患者信息管理管理员
3挂号信息管理管理员
4药物信息管理管理员
5检查项目信息管理管理员
6病床信息管理管理员
7值班安排功能管理员
8数据分析功能管理员
9预约挂号功能患者
10查看报告单功能患者
11查看住院信息功能患者
12诊断功能医生
13申请住院功能医生

3**.2.2** 数据流程图和逻辑流程图

总体业务流程图如下:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图3-1 管理员查询数据通用流程图

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图3-2 医生查询和操作数据通用流程图

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图3-3 患者查询和操作数据通用流程图

(1) 预约挂号功能:先选择科室,会显示出该科室的所有医生信息,选择挂号日期,会显示出该天值班的医生。患者可以选择医生进行挂号,点击挂号操作后,会要求你选择时间段,同时会显示出该时间段所剩的号源,若无剩余号源,挂号失败,否则成功。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图3-4 患者预约挂号流程图

(2) 医生处理挂号功能:医生按照顺序处理挂号信息,根据患者描述的症状填写相关信息,并且可以开处方药和开检查项目。患者检查完相应项目,可拿着报告单再次向医生寻求诊断,医生可以根据报告单填写病因和开处方药。

img

图3-5 医生处理挂号流程图

3.3 用例图分析

根据本系统的使用者将用户划分为三种角色,分别是医院管理员,医生和患者。进入系统前需要通过账号以及密码进行登录,患者若无账号可先注册,医生的账号由管理员统一注册,登录成功后则根据他们的各自的角色进入相应的页面。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图3-6 用户关系用例图

医院管理员进入网站的页面后,可以进行的功能用例如图3-7所示:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图3-7 管理员用例图

(1) 医生管理:可以通过关键字搜索,分页展示医生信息,同时可以增加、删除、修改医生信息,支持批量导入、批量导出医生信息。

(2) 患者管理:可以通过关键字搜索,分页展示患者信息,同时也可以删除患者信息。

(3) 挂号管理:可以通过关键字搜索,分页展示挂号信息,也可以删除挂号信息。

(4) 药物管理:可以通过关键字搜索,分页展示药物信息,同时可以增加、删除、修改药物信息。

(5) 检查项目管理:可以通过关键字搜索,分页展示检查项目信息,同时可以增加、删除、修改项目信息。

(6) 病床管理:可以通过关键字搜索,分页展示病床信息,同时可以增加、修改、清空病床信息。

(7) 找回密码:支持管理员通过邮件修改密码。

(8) 值班安排:可选择从今往后一个月的任一天时间,对医生进行排班。

(9) 数据统计:管理员可查看挂号、患者等的数据统计信息。

医生进入网站的页面后,可以进行的功能用例如图3-8所示:

img

图3-8 医生用例图

(1) 处理挂号:医生可根据病人的描述,填写症状,还可开处方药和开检查项目。

(2) 追加诊断:该功能针对完成检查项目的患者,医生可根据检查报告单填写病因及建议,也可开处方药。

(3) 申请住院:医生可根据患者的病情申请住院。

(4) 查看挂号:医生可查看所处理患者的挂号信息,包括缴费信息等。

患者进入网站的页面后,可以进行的功能用例如图3-9所示:

img

图3-9 患者用例图

(1) 用户注册:支持新用户注册功能。

(2) 预约挂号:患者可以选择科室,选择时间段,选择医生进行预约挂号。

(3) 导出报告单:患者可以查看病情报告,并可自助打印病情报告单。

(4) 查看住院:患者可通过此功能查看本人的住院信息。

3.4 数据需求分析

3.4.1 实体集分析

实体集是具有相同类型及相同属性的实体的集合[5]。本系统主要的实体集主要有:管理员信息,医生信息,患者信息,值班信息,药物信息,病床信息,检查项目信息,挂号信息等。

3.4.2 实体集数据项分析

管理员信息:管理员ID,密码,姓名,性别,身份证号码,手机号,邮箱。

医生信息:医生ID,密码,姓名,性别,身份证号码,手机号,邮箱,职位,个人简介,所处科室,在职状态,挂号费用,评分人数,总分,平均分。

患者信息:患者ID,密码,姓名,性别,年龄,身份证号码,手机号,邮箱,患者状态,出生日期。

值班信息:值班ID,值班时间,值班医生ID。

药物信息:药物ID,名称,单价,单位,剩余数量,提供商。

病床信息:病床ID,患者ID,医生ID,住院时间,住院原因,病床状态,乐观锁版本号。

检查项目信息:项目ID,名称,价格。

挂号信息:挂号ID,患者ID,医生ID,症状,预约时间,结束时间,所开药物,所做检查,病因,所需缴费费用,缴费状态,挂号状态。

3.4.3 数据操作分析

管理员:增加医生,编辑医生信息,增加药物,编辑药物信息,增加检查项目,编辑检查项目,增加病床,编辑病床信息,增加值班

医生:编辑挂号信息,编辑病床信息。

患者:增加挂号,增加评分。

*第**4**章 概要设计*

4.1 系统设计

4.1.1 系统架构设计

本系统使用SpringBoot、Vue.js等主流开发框架进行开发,遵守MVC模式,同时使用到了Element-UI进行页面的设计。为方便前后端进行整合和日后系统的维护,本系统分为视图层、控制层、业务层和持久层。各层之间相互独立,通过之间的接口进行通信,高内聚,低耦合[6]。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图4-1 系统架构图

4.1.2 系统功能板块

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图4-2 系统功能模块图

4.2 ER图-数据库概要设计

管理员实体:用来存储医院管理员的基本信息,主键是医院管理员ID。

数据来源:系统管理员的录入,修改。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图4-3 管理员实体信息属性图

医生实体:存储医生的基本信息,医生ID为主键。

数据来源:管理员的录入,修改。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图4-4 医生实体信息属性图

患者实体:存储患者的基本信息,患者ID为主键。

数据来源:患者自行注册。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图4-5 患者实体信息属性图

药物实体:存储药物的基本信息,药物ID为主键。

数据来源:管理员的录入,修改。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图4-6 药物实体信息属性图

检查项目实体:存储检查项目的基本信息,项目ID为主键。

数据来源:管理员的录入,修改。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图4-7 检查项目实体信息属性图

病床实体:用来存储医院病床的基本信息,主键是病床ID,实体的外键是医生ID和患者ID。

数据来源:管理员的录入,修改。

img

图4-8 病床实体信息属性图

挂号信息:存储挂号的基本信息,挂号ID为主键,医生ID和患者ID为外键。

数据来源:患者的录入,医生的修改。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图4-9 挂号信息属性图

排班信息:存储排班的基本信息,排班ID为主键,医生ID为外键。

数据来源:管理员的录入。

img

图4-10 排班信息属性图

本医院管理系统的数据库共有8张表,表与表之间的通过外键建立联系。为了避免数据字段冗余,建立起合理的数据库结构,严格遵循了数据库的设计原则[7]。本系统严格遵循了数据库设计的三大范式,分别为确保每列保持原子性,确保表中的每列都和主键相关以及确保每列都和主键列直接相关。因此本系统的数据库关系是一个结构较为合理的关系型数据库模型。

本系统的E-R模型如下图4-11所示:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图4-11 总体ER图

4.3 系统后端接口设计

本系统的主要接口如表4-1所示。

表4-1 医院管理系统主要接口表

模块接口请求方式作用
公共模块LoginPost登录
findPasswordGet找回密码
sendEmailGet发送邮件
患者信息模块findAllPatientsGet查询所有患者
deletePatientGet删除患者
findPatientByIdGet根据ID查询患者
addPatientGet增加患者
patientAgeGet统计患者男女人数
医生信息模块findAllDoctorsGet查询所有医生
findDoctorGet根据ID查询医生
addDoctorGet增加医生
deleteDoctorGet删除医生
modifyDoctorGet修改医生信息
findDoctorBySectionGet根据科室查询所有医生
updateStarGet更新用户评分
uploadExcelGet批量导入医生信息
downloadExcelGet批量导出医生信息
挂号信息模块findAllOrdersGet查询所有订单
deleteOrderGet删除订单
addOrderGet增加订单
findOrderByPidGet根据pId查询挂号
findOrderByNullGet查询当天挂号
updateOrderPost更新挂号信息
findOrderByDidGet根据dId查询挂号
orderPeopleGet统计今天的挂号人数
orderGenderGet统计挂号男女人数
updateOrderByAddGet增加诊断及医生意见
findOrderTimeGet查询挂号时间段
orderSectionGet统计过去20天某科室挂号人数
排班信息模块findByTimeGet根据日期查询排班信息
addArrangeGet增加排班信息
病床信息模块findNullBedGet查询所有空床位
updateBedGet更新床位信息
findBedByPidGet根据pId查询住院信息
findAllBedsGet查询所有床位信息
addBedGet增加床位信息
emptyBedGet清空床位信息
bedPeopleGet统计今天住院人数

**
**

*第**5**章 详细设计*

5.1 详细功能模块

系统功能模块如表5-1所示:

表5-1 系统功能模块

功能输入处理输出
登录管理员账号/医生账号/患者账号、密码查询数据库中对应的管理员/医生/患者信息,匹配则返回Token,存储到本地localStorage中失败:提示错误成功:进入系统页面
信息管理(医生、患者、挂号信息等)1. 查询特定用户信息。2. 点击“修改”用户按钮。3. 点击“增加”用户按钮。4. 点击“删除”用户按钮1. 从数据库中查询相应的用户信息。2. 更新数据库中该用户的信息。3. 新增数据库中该角色的信息。4. 删除数据库中该用户的信息。跳回到当前用户信息列表首页
排班安排1. 点击排班日期。2. 选择排班科室。3. 对该科室的医生进行排班。1. 把排班日期存储到本地localStorage中。2. 根据排班科室在数据库中查询出该科室的所有医生。3. 将排班日期和该医生ID存储到Redis中,并限制每个时间段的挂号人数为40个,再将该信息存储到MySQL中。该医生已排班:提示“该医生已排班”该医生未排班:提示“已成功排班”
预约挂号1. 选择挂号的科室。2. 选择挂号日期。3. 选择挂号时间段。1. 根据科室在数据库中找出所有该科室的医生。2. 根据日期和科室查询出该科室该天的排班医生。3. 查询Redis数据库,若剩余号源不为零,将剩余号源减1,最后把挂号信息插入到MySQL中。成功或者失败都会有相应的提示
处理挂号1. 查看当天挂号信息。2. 处理某个挂号信息。1. 在Token中解析出该医生的ID,根据该医生ID查询出当天所有未处理的挂号信息。2. 根据填写的病因,所开的药物以及所开的检查项目在数据库中更新该挂号信息。成功或者失败都会有相应的提示
退出登录点击“退出登录”清除本地localStorage中的Token退出到登录页面

5.1.1 用户登录模块

用户输入帐号和密码后,传至系统后台进行校验。如果帐号密码不匹配,跳回登录页面。账号密码都匹配的话,后端生成Token,返回给前端,前端存储到本地localStorage中,如图5-1所示。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图5-1 登录时序图

5.1.2 预约挂号模块

患者可以选择科室和日期查询当前科室该日正在值班的医生,接着选择医生和时间段进行挂号,如图5-2所示。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图5-2 预约挂号时序图

5.1.3 接诊****模块

医生根据当天的日期查询所有当天的挂号信息,点击处理按钮,接着可以填写病因,选择药物以及检查项目,更新挂号信息,如图5-3所示。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图5-3 处理挂号时序图

5.2 数据库详细设计

在上一章中,已对本系统的实体集进行了概要设计,并设计了实体集之间的E-R模型图。在本章节中,从数据库关系的角度出发,设计关系模型以及数据表的逻辑结构。

5.2.1 关系模型设计

根据数据库的概要设计,本小节设计出本系统的关系模型,其中,“主键”用下划线表示,“外键”用双下划线表示。

管理员实体(管理员ID,密码,姓名,性别,身份证号码,手机号,邮箱)

医生实体(医生ID,密码,姓名,性别,身份证号码,手机号,邮箱,职位,个人简介,所处科室,在职状态,挂号费用,评分人数,总分,平均分)

患者实体(患者ID,密码,姓名,性别,年龄,身份证号码,手机号,邮箱,患者状态,出生日期)

药物实体(药物ID,名称,单价,单位,剩余数量,提供商)

病床实体(病床ID,患者ID,医生ID,住院时间,住院原因,病床状态,乐观锁版本号)

检查项目实体(项目ID,名称,价格)

挂号信息(挂号ID,患者ID,医生ID,症状,预约时间,结束时间,所开药物,所做检查,病因,所需缴费费用,缴费状态,挂号状态)

值班信息(值班ID,值班时间,医生ID)

5.2.2 逻辑结构设计

表5-2:admin(管理员)

属性类型备注
a_idint主键账号
a_passwordvarchar密码
a_namevarchar姓名
a_gendervarchar性别
a_cardvarchar身份证号
a_phonevarchar手机号
a_emailvarchar邮箱

表5-3:patient(患者)

属性类型备注
p_idint主键账号
p_passwordvarchar密码
p_namevarchar姓名
p_gendervarchar性别
p_birthdayvarchar出生日期
p_ageint年龄
p_phonevarchar电话
p_cardvarchar身份证
p_emailvarchar邮箱
p_stateint状态

表5-4:doctor(医生)

属性类型备注
d_idint主键账号
d_passwordvarchar密码
d_namevarchar姓名
d_gendervarchar性别
d_phonevarchar电话
d_cardvarchar身份证
d_emailvarchar邮箱
d_postvarchar职位
d_introductionvarchar简介
d_sectionvarchar科室
d_stateint状态
d_pricedecimal挂号价格
d_peopleint评分人数
d_stardecimal总分
d_avg_stardecimal平均分

表5-5:orders(挂号)

属性类型备注
o_idint主键id
p_idint外键患者账号
d_idint外键医生账号
o_recordvarchar病历
o_startvarchar开始时间
o_endvarchar结束时间
o_stateint状态
o_drugvarchar药物
o_checkvarchar检查项目
o_total_pricedecimal需缴费费用
o_price_stateint缴费状态
o_advicevarchar诊断及建议

表5-6:bed(病床)

属性类型备注
b_idint主键id
p_idint外键患者账号
d_idint外键医生账号
b_stateint状态
b_startvarchar预约时间
b_reasonvarchar申请理由
versionint乐观锁版本号

表5-7:arrange(排班)

属性类型备注
ar_idint主键id
ar_timevarchar患者账号
d_idint外键医生

表5-8:drug(药物)

属性类型备注
dr_idint主键id
dr_nameint名称
dr_priceint单价
dr_numberint剩余数量
dr_unitvarchar单位
dr_publishervarchar提供商

表5-9:check(检查项目)

属性类型备注
ch_idint主键id
ch_namevarchar名称
ch_pricedecimal价格

*第**6**章 系统实现*

本章节展示了公共模块,管理员模块,医生模块以及患者模块的部分功能截图。

6.1 登录注册模块

登录页面,用户在浏览器中输入网址后进入到系统的登录页面,用户可以选择角色进行登录,如图6-1所示。

img

图6-1 登录页面

注册模块,用户填写表单可以注册成患者,如图6-2所示。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图6-2 注册界面

6.2 管理员模块

医生信息列表,管理员可以可对医生信息进行增删改查,还支持批量导入和批量导出,如图6-3所示。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图6-3 医生信息管理

值班安排,管理员首先选择日期,接着选择科室,如图6-4所示,最后可以选择医生进行排班,如图6-5所示。

img

图6-4 排班时间、科室选择

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图6-5 排班医生选择

数据统计,管理员可以在此页面中查看有关挂号,患者男女比例等数据统计,如图6-6所示。

图6-6 数据统计

**6.**3 医生模块

医生可以查看当天的挂号信息,并按顺序处理,如图6-7所示;接着是处理挂号页面,医生可以根据患者的描述,填写相关症状,同时也可开处方药和开检查项目,如图6-8所示。

img

图6-7 某医生当天挂号列表

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图6-8 处理挂号页面

查看挂号,医生可以在此页面查看挂号信息,同时有追加诊断操作,如图6-9所示。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图6-9 医生已经处理的挂号信息列表

申请当天入院,医生可以根据患者的实际情况,给患者安排当天入院,如图6-10所示。

img

图6-10 申请当天入院

6.4 患者模块

预约挂号,患者先选择需要挂号的科室,如图6-11;接着会显示该科室的所有医生信息,患者选择需要挂号的日期,会显示该天值班的医生,如图6-12;患者选择挂号时间段,若有剩余号源,即可成功挂号,如图6-13所示。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图6-11 选择挂号科室

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图6-12 选择挂号日期以及医生

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图6-13 选择挂号时间段

我的挂号,患者可在此页面查看我的挂号相关信息,并且可以在此页面进行缴费和查看PDF格式的报告单,如图6-14所示。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图6-14 我的挂号

*第**7**章 系统测试*

7.1 软硬件环境

操作系统:Windows 10

数据库:MySQL 8.0.19、Redis 3.0.10

应用软件:Idea 2021.03

浏览器:Chrome 90.0.4430.93

软硬件环境:10台电脑

**7.**2 测试方法

系统测试是指在完成项目编码后,系统正式上线前,根据系统前期的需求分析以及规格说明进行最终审查。系统测试可以验证系统是否达到需求,每个功能模块是否存在着一些缺陷或错误引发系统不正常的运行[8],从而保证了系统的准确性与可靠性。

本系统在完成每一个小功能之后,都会进行单元测试,以此来找到存在的BUG并解决,同时可以检验功能实现是否达到了预期的效果。在系统完成后使用黑盒方法对本系统进行测试。

7.3 测试****用例

用户登录测试用例如表7-1所示:

表7-1 用户登录测试用例

编号用例名预期结果实际结果
CS0101输入正确的账号和密码登录成功,进入用户角色首页登录成功,进入用户角色首页
CS0102输入错误的账号和正确的密码提示账号或者密码错误,不做跳转提示账号或者密码错误,不做跳转
CS0103输入正确的账号和错误密码提示账号或者密码错误,不做跳转提示账号或者密码错误,不做跳转
CS0104账号和密码均为空提示账号或密码不能为空,不做跳转提示账号或密码不能为空,不做跳转

用户注册测试用例如表7-2所示:

表7-2 用户注册测试用例

编号用例名预期结果实际结果
CS0201进入用户注册页面显示用户注册页面显示用户注册页面
CS0202使用不正确的账号或者已存在的账号提示该账号不合法或者已被占用提示该账号不合法或者已被占用
CS0203使用已存在的邮箱提示该邮箱已被注册,请重新输入提示该邮箱已被注册,请重新输入

找回密码测试用例如表7-3所示:

表7-3 找回密码测试用例

编号用例名预期结果实际结果
CS0301选择错误的角色,填写错误的邮箱号未能接收到验证码未能接收到验证码
CS0302验证码错误提示验证码错误或者已过期提示验证码错误或者已过期
CS0303验证码超过有效期提示验证码错误或者已过期提示验证码错误或者已过期
CS0304新密码和确认密码不一致提示新密码和确认密码不一致提示新密码和确认密码不一致

医生信息管理测试用例如表7-4所示:

表7-4 医生信息管理测试用例

编号用例名预期结果实际结果
CS0401增加医生,填写的账号已存在提示该账号已被占用提示该账号已被占用
CS0402增加医生,输入新增医生信息增加成功增加成功
CS0403点击删除医生信息提示此操作将删除该医生信息提示此操作将删除该医生信息

医生处理挂号测试用例如表7-5所示:

表7-5 医生处理挂号测试用例

编号用例名预期结果实际结果
CS0501进入当天挂号页面按预约时间段顺序显示挂号信息按预约时间段顺序显示挂号信息
CS0502药物动态增加点击左边列表增加药物按钮,右边列表会实时显示该药物信息和数量点击左边列表增加药物按钮,右边列表会实时显示该药物信息和数量
CS0503药物动态移除点击右边列表移除药物按钮,右边列表该药物数量会减1,若剩余数量为0,则完全移除该药物信息点击右边列表移除药物按钮,右边列表该药物数量会减1,若剩余数量为0,则完全移除该药物信息
CS0504进入追加诊断页面显示追加诊断页面及操作显示追加诊断页面及操作

患者预约挂号测试用例如表7-6所示:

表7-6 患者预约挂号测试用例

编号用例名预期结果实际结果
CS0601点击科室显示该科室所有医生信息显示该科室所有医生信息,但无挂号操作显示该科室所有医生信息,但无挂号操作
CS0602日期选择显示当天该科室排班的医生,并出现挂号操作按钮显示当天该科室排班的医生,并出现挂号操作按钮
CS0603选择有剩余号源的时间段提示挂号成功,随后跳转到我的挂号页面提示挂号成功,随后跳转到我的挂号页面
CS0604选择有剩余号源的时间段提示该时间段已无剩余号源,请重新选择挂号时间段提示该时间段已无剩余号源,请重新选择挂号时间段
CS0605点击缴费按钮所需缴费费用清零,弹出对医生评分对话框所需缴费费用清零,弹出对医生评分对话框
CS0606点击查看病情报告单按钮显示本次挂号的病情报告单PDF显示本次挂号的病情报告单PDF

值班安排测试用例如表7-7所示:

表7-7 值班安排测试用例

编号用例名预期结果实际结果
CS0701点击排班日期显示所有科室目录,本地localStorage会存储所点击的排班日期显示所有科室目录,本地localStorage会存储所点击的排班日期
CS0702点击排班按钮若该医生未排班,则提示排班成功;若该医生已排班,则提示该医生已排班若该医生未排班,则提示排班成功;若该医生已排班,则提示该医生已排班

退出登录测试用例如表7-8所示:

表7-8 退出登录测试用例

编号用例名预期结果实际结果
CS0801点击退出登录按钮存储到本地localStorage的Token会被清除掉,返回到登录页面存储到本地localStorage的Token会被清除掉,返回到登录页面

7.4 结果及分析

在上述测试环境下,本系统共进行了两轮测试。第一轮测试出现一些小BUG,例如点击删除医生信息,提示框未弹出,但数据库已删除掉该数据。经过多次的测试以及修改,在第二轮测试中,各个模块都可以正常使用,并且达到了预期的效果。总的来说,本次的系统测试结果是较为理想的。

*第**8**章 总结与展望*

8.1 总结

经过几个月的艰苦奋斗,终于完成了本系统。因为之前对医院的业务需求不太熟悉,所以在开始编写本系统之前,我做了问卷调查和去了实地进行需求调研,最后确定了本系统的基本技术框架和基本业务功能。使用MySQL数据库建立完善的关系型数据库,用了SpringBoot作为后端基本框架,前端选用了Vue.js加上ElementUI进行搭建。因为对相关技术不够熟悉,在完成本系统的过程中,遇到了各种大大小小的问题。但是通过查询资料和请教我的导师,都能一一解决。

本系统的主要技术难点如下:

(1) 医生“处理挂号”前端页面JS的编写,实现药物列表的动态增删,并且批量传回到后端处理。

(2) 采用MyBatis进行联表查询以及动态SQL的编写。

(3) 结合MySQL和Redis限制挂号号数,用同步锁来解决资源争夺问题。

(4) 采用的是前后端分离模式,界面和功能分别写完后需要进行前后端整合。

8.2 展望

基于JavaEE技术的医院管理系统的基本功能已经编写完成,已经达到了毕业设计的基本要求和课题的预期目标。但是,如果要投入到实际生活中使用的话,这是远远还没达到要求的。本系统存在以下两个方面需要改进和完善:

(1) 本系统主要专注于信息的管理,患者的预约挂号和医生的处理挂号功能,未完善相关的付费接口对接和病床管理等功能,应该完善这些功能,并增加更多的功能,使之成为一个完整的能满足医院实际需求的医院管理系统。

(2) 界面需要优化,目前的页面设计已经足够美观,但是在人机交互方面还不够灵活,应该继续优化界面,给用户提供更为人性化的体验。

*参考文献*

[1]王越. JAVA编程语言在计算机软件开发中的应用[J]. 电子技术与软件工程, 2019.

[2]叶欣, 李建佳, 温煜, 赖舒婷. 基于Java语言的医疗质量管理系统设计与实现[J]. 中国数字医学, 2018.

[3]王禹程. 基于Java语言的人力资源信息系统研究[J]. 电子设计工程, 2019.

[4]吴荣珍. 基于JAVA的高职院校人事管理系统设计与实现[J]. 软件导刊, 2019.

[5]陈钟荣, 洪滔. 基于Java和聚类分析移动端天气雷达管理系统设计[J]. 现代电子技术, 2019.

[6]罗超, 龙侃. 基于Java的企业进销存系统的设计和实现[J]. 信息记录材料, 2019.

[7]程亚维, 王东霞. 基于Java的农机作业调度管理Web平台架构技术研究[J]. 农机化研究, 2019.

[8]葛萌, 黄素萍, 欧阳宏基. 基于Spring MVC框架的Java Web应用[J]. 计算机与现代化, 2018.

**
**

*致谢*

四年的大学生活就快走入尾声,我的校园生活就要划上句号,心中是无尽的难舍与眷恋。从这里走出,对我的人生来说,将是踏上一个新的征程,要把所学的知识应用到实际工作中去。回首四年,取得了些许成绩,生活中有快乐也有艰辛。感谢老师们四年来对我孜孜不倦的教诲,对我成长的关心和爱护。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/286840.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ensp静态路由综合实验(一)

实验拓扑: 实验目的: 1、R6为ISP,接口IP地址均为公有地址,该设备只能配置IP地址,之后不能再对其进行任何配置; 2、R1-R5为局域网,私有IP地址192.168.1.0/24,请合理分配;…

超声波清洗机值不值得买?今年最值得入手的四款眼镜清洗器推荐!

如果是经常佩戴眼镜,并且眼镜比较容易脏,自己又很懒不会经常清洗眼镜的时候,不妨考虑眼镜超声波清洗机!因为眼镜在比较脏的时候,如果不清洁干净,长期佩戴模糊不清的镜片,会导致眼镜的视力下降严…

UE5C++学习(四)--- SaveGame类存储和加载数据

上一篇说到使用数据表读取数据,如果我开始玩游戏之后,被怪物打了失去了一部分血量,这个时候我想退出游戏,当我再次进入的时候,希望仍然保持被怪物打之后的血量,而不是重新读取了数据表,这个时候…

羊大师解析,孩子喝羊奶的好处

羊大师解析,孩子喝羊奶的好处 孩子喝羊奶有诸多好处。羊奶富含多种营养物质,包括蛋白质、脂肪、维生素和矿物质等,对孩子的生长发育和身体健康都有积极的促进作用。羊奶中的蛋白质含量丰富,且易于消化吸收。这些优质蛋白质可以为…

对电商不懂但又很想做抖店,该如何入局呢?给你一些电商入门建议

我是王路飞。 对电商感兴趣的不在少数,但这种兴趣可能更多是被电商的巨大红利给勾起来的。 天下熙熙皆为利来,天下攘攘皆为利往,这很正常。 尤其是电商中的抖店项目,作为近几年的黑马项目,接着直播带货的热度,吸引了…

k8s入门到实战(五)—— k8s存储卷详细介绍

存储卷 什么是存储卷 在 k8s 中,存储卷(Volume)是一种抽象的概念,用于提供 pod 中容器的持久化存储。存储卷允许将数据存储在 pod 的生命周期之外,以便在容器重启、迁移或重新调度时保留数据。 存储卷可以连接到 po…

Python:基础语法

一、import与from.....import 有时候我们需要使用一些第三方库或包时,我们就需要通过import或from.....import导入模块。 # 导入库 import sys print("hello,world") 当我们自己写了些函数,在其他py文件,我们也可以通过from.....im…

OC对象 - Block解决循环引用

文章目录 OC对象 - Block解决循环引用前言1. 循环引用示例1.1 分析 2. 解决思路3. ARC下3.1 __weak3.2 __unsafe_unretained3.3 __block 4. MRC下4.1 __unsafe_unretain....4.1 __block 5. 总结5.1 ARC下5.2 MRC下 OC对象 - Block解决循环引用 前言 本章将会通过一个循环引用…

项目管理商业文件--商业论证与效益管理计划

本文描述从事项目管理和了解项目管理领域所需的基本知识,词汇定义来自于《项目知识管理体系》(PMBOK指南)第六版,仅作个人学习使用,任何对此文章的引用,应当说明源出处,不得用于商业用途。 如有侵权、联系速删 文章目录…

SAP ABAP Update Module 调试

最近搞SAP migo的调试 BADI 那如何让起效呢 参考 SAP调试一: Update Module函数调试 - 程序员大本营 先在 BEFORE_update 里面打上内部断点 再在update里面打上外部断点 断点调试的时候 在设置->更改调试器参数文件/设置 如下图

第十三届蓝桥杯物联网试题(省赛)

做后感悟: OLED显示函数需要一直显示,所以在主函数中要一直循环,为了确保这个检错功能error只输出一次,最好用中断串口进行接收数据,数据收完后自动进入中断函数中,做一次数据检查就好了,该开灯…

YOLOv8融入低照度图像增强算法---传统算法篇

YOLOv8n原图检测YOLOv8n增强后检测召回率和置信度都有提升 前言 这篇博客讲讲低照度,大家都催我出一些内容,没想到这么多同学搞这个,恰好我也做过这方面的一些工作,那今天就来讲解一些方法,低照度的图像增强大体分“传统算法”和“深度学习算法”; 目前低照度的图像增…

Python学习笔记(二)

一:异常: 1.1:异常处理: 1.2:异常捕获: 1.3:异常传递: 二:模块: 2.1:模块的定义: 2.2:模块的导入: 2.3&…

Open WebUI大模型对话平台-适配Ollama

什么是Open WebUI Open WebUI是一种可扩展、功能丰富、用户友好的大模型对话平台,旨在完全离线运行。它支持各种LLM运行程序,包括与Ollama和Openai兼容的API。 功能 直观的界面:我们的聊天界面灵感来自ChatGPT,确保了用户友好的体验。响应…

窥探向量乘矩阵的存内计算原理—基于向量乘矩阵的存内计算

前言 在计算机科学和数学领域,向量乘矩阵的内积计算是许多算法和模型中的核心操作之一。这一操作的高效实现对于优化算法的性能以及提高计算速度至关重要。本文将深入探讨向量乘矩阵的存内计算原理,聚焦于基于这一操作的存内计算方法。 本文的目标是解…

第16篇:奇偶校验器

Q:本期我们将实现4位奇偶校验逻辑电路,即校验4位二进制代码中 “1” 的个数是奇数或偶数。 A:奇偶校验器的基本原理:采用异或运算对“1”的奇偶个数进行校验,从最高位依次往最低位进行连续异或运算。如果最后的异或运…

Linux离线安装Docker-Oracle_11g

拉取oracle11g镜像 docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g创建11g容器 docker run -d -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g查看容器是否创建成功 docker ps -a导出oracle容器,查看…

计算机视觉之三维重建(3)---单视几何

文章目录 一、问题提出二、无穷远点、无穷远线、无穷远平面2.1 2D空间2.2 3D空间 三、影消点和影消线3.1 2D平面上的无穷远点,无穷远线变换3.2 影消点3.3 影消线 四、单视重构 一、问题提出 1. 当摄像机标定后,内部参数 K K K 已知,外部参数…

最新上门预约服务派单小程序源码 仿东郊到家小程序源码 开源可二开 含完整搭建部署教程

上门预约服务派单小程序源码的在提供便捷的预约服务、实现有效的派单管理、优化服务流程、提升用户体验,并为业务发展和优化提供数据支持。分享一个最新上门预约服务派单小程序源码,仿东郊到家小程序源码,O2O平台系统,跟58到家模式…

简易电路设计,PW1605芯片实现24V/30V/48V限流过压保护功能

一般描述 PW1605 是一款电流限制开关,具有可编程输入过压保护和输出电压箝位功能。集成保护 N 沟道 FET 具有极低的 RDS(ON) 功能,PW1605有助于降低正常工作期间的功率损耗。可编程软启动时间控制启动期间输出电压的压摆率。独立的…