基于SpringBoot的医院挂号就诊系统【附源码】

news2024/11/15 10:43:07

基于SpringBoot的高校社团管理系统(源码+L文+说明文档)   

目录

4 系统设计   

4.1界面设计原则  

4.2功能结构设计  

4.3.2 数据库物理设计  

第5章 系统实现    

5.1用户信息管理  

5.2 医生信息管理  

5.3公告类型管理  

5.1公告信息管理  


4 系统设计   

市面上设计比较好的系统都有一个共同特征,就是主题鲜明突出。通过对页面简洁清晰的布局,让页面的内容,包括文字语言,或者视频图片等元素可以清晰表达出系统的主题。让来访用户无需花费过多精力和时间找寻需要的内容。   

4.1界面设计原则  

一般来说,大部分用户使用系统,有些是想从系统中获取需要的信息,有些则是使用系统提供的服务。所以,为了改善用户体验,提高系统的使用率,在对系统界面设计时,需要按照下面的原则进行。

第一点,对用户进行分析,了解用户使用系统的目的,以及使用系统的方式,考虑大部分用户的阅读习惯,设计Z字形或F型结构可以方便用户获取信息。

第二点:设计有效的导航,这个包括每个页面上都有导航条的显示,有时也可以在页面的底部设计导航条,当用户进入具体页面时,要设计相应的位置提示,在页面中比较特殊的位置,需要设计返回链接,可以返回上个页面,也可以返回首页等。

第三点:对整个系统要运用统一的设计方案,包括色彩方案的一致性,页面模板的相似性等,对相同操作和专业术语的描述在整个系统中也应该保持一致。

第四点:设计的界面要保证传达的内容清晰准确。要避免在同一个页面设计非常多的内容,另外可以准确对系统内容进行分类,把页面中用户视觉集中的位置,用来显示重要信息。

作为初学者,并没有那么多的设计经验,但是可以运用上面提到的界面设计原则设计出比较好的系统,可以让用户产生良好的使用体验。

4.2功能结构设计  

为了让系统的编码可以顺利进行,特意对本系统功能进行细分设计,设计的系统功能结构见下图。    

图4.1 系统功能结构图

4.3 数据库设计

开发一个系统也需要提前设计数据库。这里的数据库是相关数据的集合,存储在一起的这些数据也是按照一定的组织方式进行的。目前,数据库能够服务于多种应用程序,则是源于它存储方式最佳,具备数据冗余率低的优势。虽然数据库为程序提供信息存储服务,但它与程序之间也可以保持较高的独立性。总而言之,数据库经历了很长一段时间的发展,从最初的不为人知,到现在的人尽皆知,其相关技术也越发成熟,同时也拥有着坚实的理论基础。

4.3.1 数据库概念设计

这部分内容需要借助数据库关系图来完成,也需要使用专门绘制数据库关系图的工具,比如Visio工具就可以设计E-R图(数据库关系图)。设计数据库,也需要按照设计的流程进行,首先还是要根据需求完成实体的确定,分析实体具有的特征,还有对实体间的关联关系进行确定。最后才是使用E-R模型的表示方法,绘制本系统的E-R图。不管是使用亿图软件,还是Visio工具,对于E-R模型的表示符号都一样,通常矩形代表实体,实体间存在的关系用菱形符号表示,实体的属性也就是实体的特征用符号椭圆表示。最后使用直线将矩形,菱形和椭圆等符号连接起来。接下来就开始对本系统的E-R图进行绘制。    

(1)下图是健康教育实体和其具备的属性。

图4.1 健康教育实体属性图

(2)下图是用户实体和其具备的属性。

图4.2 用户实体属性图    

(3)下图是在线咨询实体和其具备的属性。

图4.3 在线咨询实体属性图

(4)下图是公告信息实体和其具备的属性。

图4.4 公告信息实体属性图

(5)下图是字典表实体和其具备的属性。

图4.5 字典表实体属性图    

(6)下图是挂号实体和其具备的属性。

图4.6 挂号实体属性图

(7)下图是用户表实体和其具备的属性。

图4.7 用户表实体属性图

(8)下图是医生实体和其具备的属性。    

图4.8 医生实体属性图           

4.3.2 数据库物理设计  

作为程序后台的支持,本数据库也需要设计数据存储的结构。而数据存储结构的设计就包括了数据表结构的设计和创建。数据表结构包括了字段,数据类型,还有字段的取值范围等信息。而E-R模型中的实体就是一张表,实体的特征就可以作为该表中的字段,根据本程序信息存储要求,设计每个字段需要的类型,还有该字段的取值范围等。每当设计完成一张数据表,就需要及时保存在数据库里面,并对该设计的数据表准确命名,要求设置的数据表的名称尽量不要是中文,而且要方便记忆。因为在程序编码阶段,通过SQL语句可以把程序里面的数据写入在各个数据表里面,而这个环节需要使用到数据表的名称。如果数据表名称是中文的话,可能会乱码并影响程序运行。下面就以表格形式展示设计的结果。

表4.1在线咨询表

序号

列名

数据类型

说明

允许空

1        

Id

Int

id

2

yonghu_id

Integer

提问用户

3

chat_issue

String

问题

4

issue_time

Date

问题时间

5

chat_reply

String

回复

6

reply_time

Date

回复时间

7

zhuangtai_types

Integer

状态

8

chat_types

Integer

数据类型

9

insert_time

Date

创建时间

表4.2字典表表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

dic_code

String

字段

3

dic_name

String

字段名

4

code_index

Integer

编码

5

index_name

String

编码名字

6

super_id

Integer

父字段id

7

beizhu

String

备注

8

create_time

Date

创建时间

表4.3挂号表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2        

yisheng_id

Integer

医生

3

yonghu_id

Integer

用户

4

guahao_uuin_number

Integer

就诊识别码

5

guahao_time

Date

挂号时间

6

guahao_types

Integer

时间类型

7

guahao_status_types

Integer

挂号状态

8

guahao_yesno_types

Integer

挂号审核

9

guahao_yesno_text

String

审核结果

10

create_time

Date

创建时间

表4.4健康教育表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

jiankangjiaoyu_name

String

健康教育标题

3

jiankangjiaoyu_types

Integer

健康教育类型

4

jiankangjiaoyu_photo

String

健康教育图片

5

insert_time

Date

健康教育时间

6

jiankangjiaoyu_content

String

健康教育详情

7

jiankangjiaoyu_delete

Integer

假删

8

create_time

Date

创建时间

表4.5公告信息表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2        

news_name

String

公告名称

3

news_photo

String

公告图片

4

news_types

Integer

公告类型

5

insert_time

Date

公告发布时间

6

news_content

String

公告详情

7

create_time

Date

创建时间

表4.6医生表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

yisheng_uuid_number

String

医生工号

3

yisheng_name

String

医生名称

4

yisheng_types

Integer

科室

5

zhiwei_types

Integer

职位

6

yisheng_zhichneg

String

职称

7

yisheng_photo

String

医生头像

8

yisheng_phone

String

联系方式

9

yisheng_guahao

String

挂号须知

10

yisheng_email

String

邮箱

11

yisheng_new_money

BigDecimal

挂号价格

12

yisheng_content

String

履历介绍

13

create_time

Date

创建时间

表4.7用户表    

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

yonghu_name

String

用户姓名

3

yonghu_photo

String

头像

4

yonghu_phone

String

用户手机号

5

yonghu_id_number

String

用户身份证号

6

yonghu_email

String

邮箱

7

new_money

BigDecimal

余额

8

yonghu_delete

Integer

假删

9

create_time

Date

创建时间

表4.8用户表表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

username

String

用户名

3

password

String

密码

4

role

String

角色

5

addtime

Date

新增时间

第5章 系统实现    

这个环节需要使用前面的设计方案,包括对系统模块的设计,还有对程序后台的数据支持的数据库的设计等。不过这部分内容还是强调系统编码人员的开发能力,要把前面设计的内容通过编码的形式以一个完整的,可以运行的系统呈现出来。

功能模块的实现

5.1用户信息管理  

如图5.1显示的就是用户信息管理页面,此页面提供给管理员的功能有:用户信息的查询管理,可以删除用户信息、修改用户信息、新增用户信息,

还进行了对用户名称的模糊查询的条件

    

图5.1 用户信息管理页面

5.2 医生信息管理  

如图5.2显示的就是医生信息管理页面,此页面提供给管理员的功能有:查看已发布的医生信息数据,修改医生信息,医生信息作废,即可删除,还进行了对医生信息名称的模糊查询 医生信息信息的类型查询等等一些条件。

                

图5.2 医生信息管理页面

5.3公告类型管理  

如图5.3显示的就是公告类型管理页面,此页面提供给管理员的功能有:根据公告类型进行条件查询,还可以对公告类型进行新增、修改、查询操作等等。

图5.3 公告类型管理页面

5.1公告信息管理  

如图5.4显示的就是公告信息管理页面,此页面提供给管理员的功能有:根据公告信息进行新增、修改、查询操作等等。

    

                

图5.4 公告信息管理页面

源码获取

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++进阶(2):多态

多态的概念 多态分为编译时多态(静态多态)和运行时多态(动态多态)。**编译时多态:**主要就是我们前面讲的函数重载和函数模版。之所以叫编译时多态,是因为实参传给形参的参数匹配是发生在编译时完成的(ps:通常把编译时一般归为静…

常见项目场景题1(数据量很大时如何去重,实现超时处理)

数据很多,限制内存,如何去重 对于大数据量去重的场景,我们可以考虑使用位图(Bitmap) Bitmap 是使用二进制来表示某个元素是否存在的数组。用0和1来表示存在与不存在 使用Bitmap的话,一个数字占用1bit,大大减少内存消耗…

JVM 调优篇8 调优案例5- 逃逸分析

一 逃逸分析 1.1 概念 逃逸分析的基本行为就是分析对象动态作用域:当一个对象在方法中被定义后,对象只在方法内部使用,则认为没有发生逃逸。当一个对象在方法中被定义后,它被外部方法所引用,则认为发生逃逸。例如作为…

打造未来企业:业务能力建模的实践应用与数字化转型的落地策略

在当今数字化迅速发展的时代,企业的转型迫在眉睫。通过数字技术提升运营效率、增强客户体验、优化资源配置成为了企业竞争的核心战略。《业务能力指南》为企业提供了清晰的业务能力建模框架,并指导企业如何将其应用于实际操作中,帮助企业在数…

(三)代码实现:Boustrophedon Cellular Decomposition Path Planning用珊格地图生成每个cell的覆盖路径

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录 系列文章目录前言算法原理方法一:全地图进行牛耕覆盖步骤方法二:区域分解地图进行牛耕覆盖步骤凸多边形基于栅格地图的…

Windows系统文件夹中的文件名排序

一天张三、李四的同事周五接到王哥的一个任务需求,有一个文件夹,里面有许多图片文件,网页访问某个分类展示文件的时候,王哥希望文件名的展示顺序可以按照Windows资源管理器中文件名升序排序的方式展示。 网站图片目录中有如下图片…

程序遇到问题错误bug时的13种解决方法途径总结以及之前的一些具体例子

目录 1 信心--没有解决不了的bug 2 耐心、不要着急、静下心来、用脑思考 2.1 开始解决问题前不要着急,先思考 2.2 在解决问题的过程中也不要着急,要冷静思考 3 网络搜索 4 大模型问答:必应、kimi、通义千问、文心一言 5 看芯片手册、S…

0921VGG网络实现

深度学习之VGG网络搭建 1.VGG动机2.VGG架构3.代码4.结论1.VGG动机 随着卷积网络在计算机视觉领域的快速发展,越来越多的研究人员开始通过改变模型的网络结构在提高在图像识别任务中的精度,例如使用更小的卷积核和步长[2]。基于类似的想法,论文作者提出可以尝试通过改变卷积…

【设计模式】创建型模式(三):单例模式

创建型模式(三):单例模式 1.概念2.案例3.实现方式3.1 懒汉式,线程不安全3.2 懒汉式,线程安全3.3 饿汉式3.4 双检锁/双重校验锁(DCL,Double-Checked Locking)3.5 登记式/静态内部类3.…

俄罗斯OZON新生儿产品好不好卖,OZON新生儿产品

Top1 遥控水球坦克 Танк на радиоуправлении стреляющий орбизами PANAWEALTH 商品id:1384249985 月销量:692 欢迎各位OZON卖家朋友点击这里选品: 👉 D。DDqbt。COm/74rD 遥控射击水…

【项目管理进阶】风险问题

前言 各位盆友,你们期待的项目管理进阶系列有新的消息,请注意查收,并反馈哦~ 在参加项目的过程中,你是否面临或参加过类似如下的场面: 为了立项,先调研市场、技术、社会、组织内部的现状为了科学的管理项目…

如何使用Claude进行Android App开发 —— 基于Jetpack和Compose的电影App实例

如何使用Claude进行Android App开发 —— 基于Jetpack和Compose的电影App实例 近年来,人工智能(AI)在软件开发中的应用越来越广泛,帮助开发者在设计、编码、测试和优化中提高生产效率。Claude是Anthropic开发的一款强大的AI助手&…

Redis的三种持久化方法详解

Redis持久化机制详解 | JavaGuide Redis 不同于 Memcached 的很重要一点就是,Redis 支持持久化,而且支持 3 种持久化方式: 快照(snapshotting,RDB)只追加文件(append-only file, AOF)RDB 和 A…

Vue使用axios二次封装、解决跨域问题

1、什么是 axios 在实际开发过程中,浏览器通常需要和服务器端进行数据交互。而 Vue.js 并未提供与服务器端通信的接口。从 Vue.js 2.0 版本之后,官方推荐使用 axios 来实现 Ajax 请求。axios 是一个基于 promise 的 HTTP 客户端。 关于 promise 的详细介…

C++:类和对象OJ题

目录 一、求123...n 二、计算日期到天数的转换 三、日期差值 四、打印日期 一、求123...n 这里先把题目链接放在这里求123.....n 描述: 求123...n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C…

鸿萌数据恢复服务: 修复 Windows, Mac, 手机中 “SD 卡无法读取”错误

天津鸿萌科贸发展有限公司从事数据安全服务二十余年,致力于为各领域客户提供专业的数据恢复、数据备份解决方案与服务,并针对企业面临的数据安全风险,提供专业的相关数据安全培训。 公司是多款国际主流数据恢复软件的授权代理商,为…

老年人养生之道:岁月静好,健康常伴

老年人养生之道:岁月静好,健康常伴 随着年岁的增长,老年人更需注重养生,以维持身心的和谐与健康,享受幸福晚年。养生不仅是一种生活态度,更是一种智慧的选择,它涵盖了饮食、运动、心理、社交等…

搜索引擎onesearch3实现解释和升级到Elasticsearch v8系列(一)-概述

简介 此前的专栏介绍Onesearch1.0和2.0,详情参考4 参考资料,本文解释onesearch 3.0,从Elasticsearch6升级到Elasticsearch8代码实现 ,Elasticsearch8 废弃了high rest client,使用新的ElasticsearchClient,…

Hash入门-通过线性探测解决哈希冲突

unordered_set void test_unordered_set() {unordered_set<int> us;us.insert(4);us.insert(2);us.insert(1);us.insert(5);us.insert(6);us.insert(2);us.insert(2);//去重unordered_set<int>::iterator it us.begin();while (it ! us.end()){cout << *it…

Springboot使用ThreadPoolTaskScheduler轻量级多线程定时任务框架

简介&#xff1a; Spring注解定时任务使用不是很灵活&#xff0c;如果想要灵活的配置定时任务&#xff0c;可以使用xxl-job 或者 quartz等定时任务框架&#xff0c;但是过于繁琐&#xff0c;可能成本较大。所以可以使用ThreadPoolTaskScheduler来灵活处理定时任务 ThreadPoolT…