🙊作者简介:多年一线开发工作经验,原创团队,分享技术代码帮助学生学习,独立完成自己的网站项目。
- 代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹
- 赠送计算机毕业设计600个选题excel文件,帮助大学选题。
- 赠送开题报告模板,帮助书写开题报告。
作者完整代码目录供你选择:
⬇️文章末尾可以获取联系方式,需要源码或者演示视频可以联系⬇️
⚡感兴趣大家可以点点关注收藏,后续更新更多项目资料。⚡
项目展示
第一章 概述
1.1研究背景
21世纪,我国早在上世纪就已普及互联网信息,互联网对人们生活中带来了无限的便利。像大部分的企事业单位等机构都有自己的管理系统,由传统的管理模式向互联网发展,如今开发自己的系统是时代发展的必然产物。那么开发医院门诊挂号系统意义和用处有哪些呢?
首先提升工作效率:这是很多机构建设系统的目的之一。医院门诊挂号系统对于医院来说,可以摆脱传统手写记录的管理模式。利用计算机系统,进行医生信息、用户信息、管理员信息的管理,其中包含主页、个人中心、用户管理、就诊人建档管理、医院介绍管理、科室管理、医生管理、预约挂号管理、用户退号管理、异常提醒管理、留言板、系统管理等功能的管理,不只是节省了人力和物力,还提高了工作的效率,让管理员、医生和用户可以更加高效地工作。
其次,对于用户来说,不需要到单位进行办公,在家里就可以通过计算机查看个人信息、医院介绍、医生或公告栏等内容,并进行新增、修改或删除,有些还能进行导出和打印,非常的便利。
一个好的系统能将医院门诊挂号的管理手段提上一个新的台阶。系统内容可以随时更新,这点对于医院门诊挂号说是很重要,但这是传统的管理方式都无法做到的。医院门诊挂号系统就可以每天更新,随时了解医院门诊挂号的最新情况。
医院门诊挂号系统能够通过互联网得到广泛的、全面的宣传,让尽可能多的用户了解和熟知医院门诊挂号系统的便捷高效,为管理员、医生和用户提供了服务,节省人力、物力和时间,提高工作效率。
1.2开发意义
人类的进步带动信息化的发展,使人们生活节奏越来越快,所以人们越来越重视信息的时效性。以往的管理方式已经满足不了人们对获得信息的方式、方便快捷的需求。医院门诊挂号系统慢慢的被人们关注。首先,网上获取信息十分的实时、便捷,只要系统在线状态,无论在哪里都能第一时间查找到理想的信息。
计算机技术在管理中成为人们的重要工具。可以有效快捷的解决想要获取的信息,提高工作效率。
1.3 研究现状
在国外很多发达国家,软件产业早已得到全面普及,但我国经济已不断发展,不断引进国外信息化建设,使国内软件行业得以不断发展,在摸索中进步,最终也得到一些成果,我国的线上管理系统迎来了高速的发展,使更多的管理系统得以开发出来,从此逐渐地改变人们的生活工作方式。但是,对于信息化的建设,与很多发达国家相比,由于信息化程度的落后以及经费的不足,我国的线上管理系统开发方面还是相对落后的,因此,要不断的努力探索,争取开发出一个实用的信息化的医院门诊挂号系统,来实现医院门诊挂号管理的信息化。因此本课题以医院门诊挂号为例,目的是开发一个实用的医院门诊挂号系统。
医院门诊挂号系统的开发运用java技术、ssm框架,MIS的总体思想,以及Mysql等技术的支持下共同完成了该系统的开发,实现了医院门诊挂号管理的信息化,使用户体验到更优秀的医院门诊挂号系统,管理员管理操作将更加方便,实现目标。
1.4 研究内容
医院门诊挂号系统的需求和管理上的不断提升,医院门诊挂号系统的潜力将无限扩大,医院门诊挂号系统在业界被广泛关注,本系统及对此进行总体分析,将医院门诊挂号信息管理的发展提供参考。医院门诊挂号系统对医院门诊挂号都有着明显的带动效应。
根据现有的模块,除管理员对系统所有的信息进行管理;另外系统前台还需要:首页、医院介绍、医生、公告栏、留言板、个人中心、后台管理等内容进行配合管理。
1.5论文结构
(1)绪论
系统的开发背景,意义和系统状况等,详细讲述了系统的用处,对本章进行总结。
(2)系统开发技术的介绍
分别对java技术、Ssm框架、Mysql和B/S进行详细介绍。
(3)系统分析
本章主要是对系统可行性、系统性能、还有系统功能需求进行分析。
(4)系统设计
对系统系统功能和数据库等进行详细讲解。
主要对主页、个人中心、用户管理、就诊人建档管理、医院介绍管理、科室管理、医生管理、预约挂号管理、用户退号管理、异常提醒管理、留言板、系统管理的实现。
(6)系统的测试
在系统编码实现后,就需要对系统进行检测,检测的方法有黑盒测试和白盒测试两种方式,本系统采用的是黑白盒测试方法对不同组的数据进行功能模块测试。
第二章 开发技术介绍
此系统的关键技术和架构,Java技术、B/S结构、Ssm框架和Mysql数据库,是本系统的关键开发技术,对系统的整体、数据库、功能模块、系统页面以及系统程序等设计进行了详细的研究与规划。
2.1 系统开发平台
在线医院门诊挂号系统中,Eclipse能给用户提供更多的方便,其特点一是方便学习,方便快捷;二是有非常大的信息储存量,主要功能是用在对数据库中查询和编程。其功能有比较灵活的数据应用,只需利用小部分代码就能实现非常强大的功能。因此,利用Eclipse 技术进行系统代码管理是该系统数据库的首选。
2.2 平台开发相关技术
2.2.1 Java语言简介
JavaScript是一种网络脚本语言,广泛运用于web应用开发,可以用来添加网页的格式动态效果,该语言不用进行预编译就直接运行,可以直接嵌入HTML语言中,写成js语言,便于结构的分离,支持多种浏览器可以在多平台下运行。它具有三个不同的体系,分别为J2SE、J2EE、J2ME。Java 语言比较容易理解,而且也容易学习和上手,其语法与C语言和C++语言很相似,它可以自动的处理废料,而且不会受到内存的影响。
Java 程序被编译后形成的class 文件,这样就能够实现在多系统中正常运行。Java语言支持多个线程同吋执行,Java程序所需要的类能够动态的或者通过网络被载入到运行环境。Java开发工具支持JavaJDK7\8,开发集成环境IDE为Eclipse。
2.2.2 Mysql数据库介绍
利用Mysql的数据独立性、安全性等特点,在软件项目中对数据进行操作,可以保证数据准确无误,并降低了程序员的应用开发时间。
Mysql的特点是支持多线程,能方便的对系统资源充分利用,有效提高速度,还提供多种方式途径来对数据库进行连接;Mysql的功能相对弱小、规模也小,但本系统要求不高,Mysql完全可以满足本系统使用。
利用Mysql建立系统数据库,不仅有利于数据处理业务的早期整合,还能利于发展后两种数据扩展的操作。
2.2.3 Mysql环境配置
本系统的数据使用的是Mysql,所以要将Mysql安装到指定目录,如果下载的是非安装的Mysql压缩包,直接解压到指定目录就可以了。然后点击C:\Program Files\Mysql\bin\winMysqladmin.exe这个文件其中C:\Program Files\Mysql是Mysql安装目录。输入winMysqladmin的初始用户、密码(注:这不是Mysql里的用户、密码)随便填不必在意,确定之后右下角任务的启动栏会出现一个红绿灯的图标,红灯亮代表服务停止,绿灯亮代表服务正常,左击这个图标->winnt->install the service 安装此服务,再左击这个图标->winnt->start the service 启动Mysql服务。
修改Mysql数据库的root密码。用cmd进入命令行模式输入如下命令:
cd C:\Program Files\Mysql\bin
Mysqladmin -u root -p password 123
回车出现Enter password: ,这是要输入原密码. 刚安装时密码为空,所以直接回车,此时Mysql 中账号 root 的密码被改为 123 安装完毕。
2.2.4 B/S架构
B/S结构是目前使用最多的结构模式,它可以使得系统的开发更加的简单,好操作,而且还可以对其进行维护。使用该结构时只需要在计算机中安装数据库,和一些很常用的浏览器就可以了。浏览器就会与数据库进行信息的连接,可以实现很多的功能,B/S结构是可以直接进行使用的,而且B/S结构在使用中极大的减少了工作的维护。基于B/S的软件,所有的数据库之间都是相互独立的,因此是非常安全的。因为基于B/S结构可以清楚的看到系统正在处理的业务,并且能够及时的让管理人员做出决策,这样就可以避免企业的损失。B/S结构的基本特点是集中式的管理模式,用户使用系统生成数据后,这些数据就可以存储到系统的数据库中,方便日后能够用到,这样就可以满足人们的所有的需求。
图2-1 B/S模式三层结构图
2.2.5 JSP技术
JSP(JAVA SERVER PAGES,java服务器页面)自面世以来就被大家所广泛使用,JSP是一种基于文本的程序,同时也是是一种动态网页技术标准。为了简化Servlet的工作(Servlet输出HTML非常困难,JSP就是替代Servlet输出HTML的),而JSP的诞生并不是由一家公司完成,而是经过多家企业的共同研究开发出来的(在SUN MICROSYSTEMS公司领头下)。
JSP具有跨平台,分离静态内容和动态内容,可重复使用组件,预编译,沿用java Servlet所有功能等技术特征。跨平台指JSP是运用java来开发的动态网页技术,JSP继承了Java具有的大部分性质(JSP是JAVA WEB应用的主要视图,但不是唯一的)。分离静态内容和动态内容:无论是javabean、servlet以及嵌入在html代码之间的JSP代码都与html静态页面相分离,如javabean封装一些业务逻辑。可重复使用的组件:这里还是要提一下javabean,无论是值bean还是工具bean都是可重复使用,大大的提高了工作的效率。预编译:JSP页面在被服务器执行前就已经被编译好了,并且只在JSP页面第一次请求时进行编译,后续请求JSP未被修改时则直接掉用之前编译好的代码。JSP沿用了java Servlet的所有功能,并在servlet的额基础上做了很大改进,比如在分离静态内容和动态内容上,servlet所有内容都要在java代码中完成,JSP弥补了这个缺点,服务器先将JSP文件转化为servlet代码然后在进行编译。
2.2.6 SSM框架
开发信息管理系统的主流框架是SSM(Spring + Spring MVC + MyBatis),SSM框架web层使用Spring MVC框架,使传输前后端数据变得简单;对于业务层使用Spring作为轻量级控制反转和面向切面的容器框架;对于相关SQL操作,采用Mybatis作为持久层框架,对JDBC进行封装,使得数据库的底层面向开发者操作处于一种透明状态。
第三章 系统分析
3.1 可行性分析
一个完整的系统,可行性分析是必须要有的,因为他关系到系统生存问题,对开发的意义进行分析,能否通过本系统来补充线下医院门诊挂号管理模式中的缺限,去解决其中的不足等,通过对本系统,不仅能使工作量不断地减少,还能使工作和管理的效率更加高。所以开发该系统能实现更大的意义和价值, 系统完成后,能否达到预期效果就要通过可行性分析,分析之后,决定此系统是否开发。该医院门诊挂号系统的开发设计中,对技术、经济、操作方面进行了可行性分析。
3.1.1技术可行性
本系统开发选择Java语言,它被研究的目的就是在于能够为网页创建等可以看到的信息。随着移动互联网技术的不断发展和创新,Java俨然已成为下一代互联网的Web标准。所以后台设计选择使用Mysql,数据库主要用来的建立和维护信息。对于前台开发要求应具备功能完善、易于操作等优点,后台数据库的要求则是能够建立和维护数据信息的统一性和完整性。
3.1.2操作可行性
现在随着科技的飞速发展,计算机早已经进入了人们的日常生活中,人们的工作环境也不像以前有那么多的要求,需要工作人员一定要到单位办公,有的工作在家也可以完成。这使得人们的工作效益有了很大的提高。操作的多样性也变高了。因此,管理的计算机化,智能化是社会发展而带来的必然趋势,各种智能的软件层出不穷,不同的软件能完成用户不同的需求,这不仅提高了工作效率还能完成一些用户特定的一些需求。本系统不仅界面简洁明了还采用可视化界面,用户只要用鼠标和键盘就可以完成对相关信息的修改,删除,添加等操作。因为这个系统的操作十分简单,方便上手,对于第一次使用系统的人,只需要很少的时间就可以上手操作。由此可见,本系统在操作上是可行的。
3.1.3经济可行性
基于Ssm框架的医院门诊挂号系统,该系统软件开发仅需要一台普通的计算机便可完成实现开发,其成本很低。另外,作为毕业设计作品来讲,开发成本基本上可以忽略不计,且该系统软件的投入使用,可以实现更加快速高效的医院门诊挂号管理,同时还能实现对人力资源和管理资源的有效节约,该医院门诊挂号系统在经济上完全可行。
3.2性能需求分析
对系统的性能,从(功能、运行、界面、安全)等方面进行,下面我们逐一进行分析;
1. 系统的功能是否完整进行分析:系统的功能,能对应设计出原始代码和算法,以表格同文字的形式进行详细介绍个人信息保证功能完整;
2. 系统的运行是否通畅进行分析:系统的每个功能都有编写数据的关系和应对的代码,通过需求分析和可行性分析进行分析和显示系统的物理数据,保证其进行通畅;
3. 系统的界面设计进行分析:对系统中的软件进行处理与分析的方式是由不同代码来进行的;从而使界面容易操作。
4.系统的安全性进行分析:这样才可以每个角色的不同对应的信息也就不同,在登录系统务必使用自己的账号,密码登录,账号与密码错误自然就登录失败了。登录成功可以对自己的信息进行操作,不能对别人的账号的信息进行查看等操作,这样自然保证系统的安全性。
第四章 系统设计
4.1功能结构
为了更好的去理清本系统整体思路,对该系统以结构图的形式表达出来,设计实现该医院门诊挂号系统的功能结构图如下所示:
图4-1 系统总体结构图
4.2 数据库设计
4.2.1 数据库E/R图
ER图是由实体及其关系构成的图,通过E/R图可以清楚地描述系统涉及到的实体之间的相互关系。在系统中对一些主要的几个关键实体如下图:
(1) 就诊人建档E/R图如下所示:
图4-2就诊人建档E/R图
(2)预约挂号E/R图如下所示:
图4-3预约挂号E/R图
4.2.2 数据库表
数据库表的设计,如下表:
表4-1:留言板
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
userid | bigint | 留言人id | |||
username | varchar | 200 | 用户名 | ||
content | longtext | 4294967295 | 留言内容 | ||
cpicture | varchar | 200 | 留言图片 | ||
reply | longtext | 4294967295 | 回复内容 | ||
rpicture | varchar | 200 | 回复图片 |
表4-2:科室
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
keshi | varchar | 200 | 科室 |
表4-3:就诊人建档
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
jiuzhenkahao | varchar | 200 | 就诊卡号 | ||
shenfenzheng | varchar | 200 | 身份证 | ||
jiandangshijian | date | 建档时间 | |||
zhanghao | varchar | 200 | 账号 | ||
xingming | varchar | 200 | 姓名 | ||
xingbie | varchar | 200 | 性别 | ||
nianling | int | 年龄 | |||
shouji | varchar | 200 | 手机 |
表4-4:预约挂号
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
guahaodanhao | varchar | 200 | 挂号单号 | ||
yishenggonghao | varchar | 200 | 医生工号 | ||
yishengxingming | varchar | 200 | 医生姓名 | ||
keshi | varchar | 200 | 科室 | ||
guahaofeiyong | int | 挂号费用 | |||
yuyueshijian | datetime | 预约时间 | |||
guahaoshijian | datetime | 挂号时间 | |||
zhanghao | varchar | 200 | 账号 | ||
xingming | varchar | 200 | 姓名 | ||
xingbie | varchar | 200 | 性别 | ||
nianling | varchar | 200 | 年龄 | ||
shouji | varchar | 200 | 手机 | ||
sfsh | varchar | 200 | 是否审核 | 否 | |
shhf | longtext | 4294967295 | 审核回复 | ||
ispay | varchar | 200 | 是否支付 | 未支付 |
表4-5:用户
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
zhanghao | varchar | 200 | 账号 | ||
xingming | varchar | 200 | 姓名 | ||
mima | varchar | 200 | 密码 | ||
xingbie | varchar | 200 | 性别 | ||
nianling | int | 年龄 | |||
shouji | varchar | 200 | 手机 |
表4-6:医院介绍评论表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
refid | bigint | 关联表id | |||
userid | bigint | 用户id | |||
nickname | varchar | 200 | 用户名 | ||
content | longtext | 4294967295 | 评论内容 | ||
reply | longtext | 4294967295 | 回复内容 |
表4-7:用户退号
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
guahaodanhao | varchar | 200 | 挂号单号 | ||
yishenggonghao | varchar | 200 | 医生工号 | ||
yishengxingming | varchar | 200 | 医生姓名 | ||
keshi | varchar | 200 | 科室 | ||
guahaofeiyong | int | 挂号费用 | |||
yuyueshijian | varchar | 200 | 预约时间 | ||
tuihaoyuanyin | longtext | 4294967295 | 退号原因 | ||
tuihaoshijian | datetime | 退号时间 | |||
zhanghao | varchar | 200 | 账号 | ||
xingming | varchar | 200 | 姓名 | ||
shouji | varchar | 200 | 手机 | ||
sfsh | varchar | 200 | 是否审核 | 否 | |
shhf | longtext | 4294967295 | 审核回复 |
表4-8:医院介绍
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yiyuanmingcheng | varchar | 200 | 医院名称 | ||
fengmian | varchar | 200 | 封面 | ||
yiyuandizhi | varchar | 200 | 医院地址 | ||
yishiziyuan | varchar | 200 | 医师资源 | ||
keshifenbu | varchar | 200 | 科室分布 | ||
zhuyingyewu | longtext | 4294967295 | 主营业务 | ||
yiyuanjieshao | longtext | 4294967295 | 医院介绍 | ||
gengxinshijian | date | 更新时间 | |||
thumbsupnum | int | 赞 | 0 | ||
crazilynum | int | 踩 | 0 |
表4-9:医生评论表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
refid | bigint | 关联表id | |||
userid | bigint | 用户id | |||
nickname | varchar | 200 | 用户名 | ||
content | longtext | 4294967295 | 评论内容 | ||
reply | longtext | 4294967295 | 回复内容 |
表4-10:医生
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yishenggonghao | varchar | 200 | 医生工号 | ||
yishengxingming | varchar | 200 | 医生姓名 | ||
mima | varchar | 200 | 密码 | ||
keshi | varchar | 200 | 科室 | ||
touxiang | varchar | 200 | 头像 | ||
xingbie | varchar | 200 | 性别 | ||
zhicheng | varchar | 200 | 职称 | ||
guahaofeiyong | int | 挂号费用 | |||
shengyuhaoyuan | int | 剩余号源 | |||
chuzhenshijian | varchar | 200 | 出诊时间 | ||
dianhua | varchar | 200 | 电话 | ||
tezhang | longtext | 4294967295 | 特长 | ||
yewujieshao | longtext | 4294967295 | 业务介绍 | ||
thumbsupnum | int | 赞 | 0 | ||
crazilynum | int | 踩 | 0 |
表4-11:配置文件
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
name | varchar | 100 | 配置参数名称 | ||
value | varchar | 100 | 配置参数值 |
表4-12:异常提醒
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
zhanghao | varchar | 200 | 账号 | ||
xingming | varchar | 200 | 姓名 | ||
shouji | varchar | 200 | 手机 | ||
tixingneirong | longtext | 4294967295 | 提醒内容 | ||
tixingshijian | datetime | 提醒时间 |
表4-13:用户表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
username | varchar | 100 | 用户名 | ||
password | varchar | 100 | 密码 | ||
role | varchar | 100 | 角色 | 管理员 | |
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP |
表4-14: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-15:收藏表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
userid | bigint | 用户id | |||
refid | bigint | 收藏id | |||
tablename | varchar | 200 | 表名 | ||
name | varchar | 200 | 收藏名称 | ||
picture | varchar | 200 | 收藏图片 | ||
type | varchar | 200 | 类型(1:收藏,21:赞,22:踩) | 1 | |
inteltype | varchar | 200 | 推荐类型 |
表4-16:公告栏
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
title | varchar | 200 | 标题 | ||
introduction | longtext | 4294967295 | 简介 | ||
picture | varchar | 200 | 图片 | ||
content | longtext | 4294967295 | 内容 |
第五章 系统功能实现
5.1系统功能模块
医院门诊挂号系统,在系统首页可以查看首页、医院介绍、医生、公告栏、留言板、个人中心、后台管理等内容,并进行详细操作;如图5-1所示。
图5-1系统首页界面图
用户注册,在用户注册页面通过填写账号、姓名、密码、确认密码、数量、手机等信息进行注册操作,如图5-2所示。
图5-2用户注册界面图
医院介绍,在医院介绍页面可以查看医院名称、封面、医院地址、医院资源、科室分布、主营业务、更新时间、医院介绍等信息,并进行评论、收藏操作,如图5-3所示。
图5-3医院介绍界面图
医生,在医生页面可以查看医生姓名、医生工号、科室、性别、职称、挂号、职称、挂号费用、剩余号源、出诊时间、电话、特长、业务介绍、照片等信息,并进行评论、挂号操作,如图5-4所示。
图5-4医生界面图
个人中心,在个人中心页面通过填写账号、姓名、密码、性别、年龄、手机等信息进行个人信息更新,还可以对我的收藏进行详细操作;如图5-5所示。
图5-5个人中心界面图
5.2后台功能模块
后台登录进入系统前在登录页面根据要求填写用户名和密码,选择角色等信息,点击登录进行登录操作,如图5-6所示。
5.2.1管理员功能模块
管理员登录系统后,可以对主页、个人中心、用户管理、就诊人建档管理、医院介绍管理、科室管理、医生管理、预约挂号管理、用户退号管理、异常提醒管理、留言板、系统管理等功能进行相应的操作管理,如图5-7所示。
图5-7管理员功能界面图
用户管理,在用户管理页面可以对账号、姓名、性别、年龄、手机等内容进行查看,修改和删除等操作,如图5-8所示。
图5-8用户管理界面图
就诊人建档管理,在就诊人建档管理页面可以对就诊卡号、身份证、建档时间、账号、姓名、性别、年龄、手机等内容进行查看,修改和删除等操作,如图5-9所示。
图5-9就诊人建档管理界面图
医院介绍管理,在医院介绍管理页面可以对医院名称、封面、医院地址、医师资源、科室分布、主营业务、更新时间等内容进行查看、修改、查看评论和删除等操作,如图5-10所示。
图5-10医院介绍管理界面图
医生管理,在医生管理页面可以对医生工号、医生姓名、科室、头像、性别、职称、挂号费用、剩余号源、出诊时间、电话、特长等信息进行查看、修改、查看评论和删除等操作,如图5-11所示。
图5-11医生管理界面图
用户退号管理,在用户退号管理页面可以对挂号单号、医生工号、医生姓名、科室、挂号费用、预约时间、退号原因、退号时间、账号、姓名、手机、是否审核、审核回复等信息进行查看,修改和删除等操作,如图5-12所示。
图5-12用户退号管理界面图
异常提醒管理,在异常提醒管理页面可以对账号、姓名、手机、提醒内容、提醒时间等信息进行查看,修改和删除等操作,如图5-13所示。
图5-13异常提醒管理界面图
留言板,在留言板页面可以对用户名、留言内容、留言图片、回复内容、回复图片等内容进行查看、修改、回复和删除操作,如图5-14所示。
图5-14留言板界面图
系统管理,在轮播图管理页面可以对名称 、值等内容进行查看、修改操作,并根据需要公告栏进行操作如图5-15所示。
图5-15系统管理界面图
5.2.2用户功能模块
用户登录进入系统可以对主页、个人中心、就诊人建档管理、预约挂号管理、用户退号管理、异常提醒管理、我的收藏管理等功能进行相应操作,如图5-16所示。
图5-16用户功能界面图
个人中心,在个人中心页面通过填写账号、姓名、性别、年龄、手机等信息进行个人信息提交,如图5-17所示。
图5-17个人中心界面图
预约挂号管理,在预约挂号管理页面可以对挂号单号、医生工号、医生姓名、科室、挂号费用、预约时间、挂号时间、账号、姓名、性别、年龄、手机、是否审核、审核回复、是否支付等内容进行退号、查看、修改和删除操作,如图5-18所示。
图5-18预约挂号管理界面图
用户退号管理,在用户退号管理页面可以对挂号单号、医生工号、医生姓名、科室、挂号费用、预约时间、退号原因、退号时间、账号、姓名、手机、是否审核、审核回复等内容进行查看、修改和删除操作,如图5-19所示。
图5-19用户退号管理界面图
异常提醒管理,在异常提醒管理页面可以对账号、姓名、手机、提醒内容、提醒时间等内容进行查看或删除操作,如图5-20所示。
图5-20异常提醒管理界面图
我的收藏管理,在我的收藏管理页面可以对收藏名称、收藏图片、推荐类型等内容进行查看、删除操作,如图5-21所示。
图5-21我的收藏管理界面图
5.2.3医生功能模块
医生登录进入系统可以对主页、个人中心、预约挂号管理、用户退号管理、留言板、系统管理等功能进行相应操作,如图5-22所示。
图5-22医生功能界面图
预约挂号管理,在预约挂号管理页面可以对挂号单号、医生工号、医生姓名、科室、挂号费用、预约时间、挂号时间、账号、姓名、性别、年龄、手机、是否审核、审核回复、是否支付等内容进行审核、查看操作,如图5-23所示。
图5-23预约挂号管理界面图
用户退号管理,在用户退号管理页面可以对挂号单号、医生工号、医生姓名、科室、挂号费用、预约时间、退号原因、退号时间、账号、姓名、手机、是否审核、审核回复等内容进行审核、查看操作,如图5-24所示。
图5-24用户退号管理界面图
第六章 系统测试
系统测试是软件开发过程中最后一步,但也是不可或缺的重要的一步,没有人可以保证一次性编写完成的系统不会出错,而系统测试就是将自己开发的系统成为成品前的最后一步。在测试过程中需要进行严谨细致的测试,要尽可能全面地在不同情况下运行该系统,排除一切出现错误的可能。
系统测试不仅仅是发现系统潜在的BUG或错误,而更为重要的是为用户提供一个良好的体验和安全可使用的产品服务。而通过发现错误或潜在的问题,将有助于提升产品的竞争力,这也是软件测试的其中的重要目的之一。
软件测试的方法有好几种,但目前主要采用的是包括以功能为主要测试方向的黑盒测试以及以逻辑为主要测试方向的白盒测试,这是两种不同的测试方法,针对的测试侧重点不同,本课题根据实际需求情况,选择以功能为主要的黑盒测试方法,同时测试是要遵循一定的规则来执行的,一个测试要执行其执行的依据一般是由测试用例来规定的,而测试用例一般是依据需求或说明书来综合制定的,测试在硬件出厂前是十分重要的一个过程,本课题由于时间和精力的关系,选择以实现的功能作为测试要点来进行测试。具体测试过程如下:
测试用例1及测试过程:
登录:录入登录信息,账号,密码,权限,然后单击登录进行操作,会出现两种情况:一种情况是登录成功,进入用户相应的功能界面进行下一步操作;另一种情况是提示登录失败,系统会弹出一个对话框要求重新登录操作;
测试用例2及测试过程:
管理员登录:录入登录信息,管理员账号,密码,权限,然后单击登录进行操作,会出现两种情况:登录成功进入管理员具有权限的功能界面和提示登录失败。一种情况是登录成功,进入管理员界面进行下一步操作;另一种情况是提示登录失败,系统会弹出一个对话框要求重新登录操作;
第七章 总结与心得体会
7.1总结
通过完成该医院门诊挂号系统和本论文的撰写让我更加明白了软件开发过程中软件工程思想的重要性。在项目的前期由于对需求分析做的不够谨慎和明确,导致了后面在设计甚至编码时候造成了许多不必要的麻烦。由此在今后的学习和工作开发之中必须要牢牢把握住软件工程的设计思想和方法,这样可以进一步保证项目开发的健壮性和准确性。
本系统所实现的是一个医院门诊挂号系统,该系统严格按照需求分析制作相关模块,并利用所学知识尽力完成,但是本人由于学识浅薄,无法真正做到让该程序可以投入市场使用,仅仅简单实现部分功能,希望日后还能改善。
本系统具有以下优点:
该系统具有较高的适用性,选用B/S结构,可以在绝大部分个人平台上使用该系统。
系统将用户权限进行划分,管理员、医生和用户能看到及操作的信息不一样,三者具备不同的操作权限。
该系统操作界面简单明了,大部分人都可以正常使用。
但也存在以下问题需要改进:
运行时窗口不能被刷新,可以改进。
系统过于简单,显示的信息有限。
不能添加多个管理员账号,如果可以则将利于发展医院门诊挂号系统规模,便于医院门诊挂号信息集中管理。
7.2心得体会
由于经验和能力不足,导致在开发、设计该系统的时候,出现了比较多的问题,例如需要用到的技术不熟悉、程序报错等,后来我积极地向同学询问自己出现的问题同时也会找一些相关的书进行学习,慢慢的一点点将自己遇到的问题逐渐解决。所以不管以后在任何时候合作都会让自己事半功倍。通过本系统的完整的开发,可以遇到自己平时写一些简单的小程序遇不到的问题,不仅仅局限与技术与业务方面的,同时也使得自己更加深入的了解软件过程的开发设计思想,对于即将踏入社会工作而言,这些心得都十分重要。在以后的研究生学习生涯也必须加深这方面的理解,将最好的开发技术和最新的科学原理运用到自己以后的开发工作和学习研究中去。
致 谢
过程永远比结果重要。毕业设计是大学生活中最为浓墨重彩的一笔,在这个过程中不仅学到更为全面的书本和实践知识,更让我感受到了浓浓的同窗之情及师生情。虽然大学四年间做过不少实验作业,但是独立完成这样一个操作系统还是第一次,遇到困难时理所当然,我也有所心理准备,但是超出自身能力的部分还是需要寻求教师及同学的帮助。在此,我衷心地感谢我的指导教师,可以说,没有教师我就不能顺利完成这次设计。他总是在一筹莫展的时候为我指引方向。比如在开题报告,我的指导教师就细致地指导我该怎么有逻辑地将自己的想法和做法表达清楚,在此由衷感谢他。在设计的过程中,教师百忙之中也乐于给予我指导,不管多晚给教师发消息,不管是不是上班时间去教师办公室寻求帮助,他总能在第一时间对我施以援手。在我开始着手实现这个设计的时候,通过需求分析及可行性分析对该系统有了较为浅显的认识;但是在我真正开始实现时发现事情并没有这么简单。任何成功都不是一蹴而就的,就算是一个简单的毕业设计也需要日积月累的知识和经验。于是,我便去寻求老师和同学的帮助,这也使得我得以从不同的角度重新考虑我的设计。终于,这个系统在我内心有了雏形。在真正实现这个设计的过程中,学习新知识是必定的,同时那些由于时间关系或者本来就没有掌握牢固的知识也有了进一步巩固的机会。然而最重要的是了解到如何作为一个开发人员,以开发人员的思维来看待软件开发的步骤和方法策略。
本次毕业设计的完成预示着大学时代的句号,在这个设计过程中,我收获到的绝不仅仅是做项目过程中要到的知识,更多的是同窗情谊和师生情谊,最重要的是做任何事情都要具备的认真态度,以及真正职业的思考方式方法。
最后真心祝愿师生们前程似锦!工作顺利,祝学校越办越好!
参考文献
[1] 李盛恩,王珊.数据库基础与应用(第二版)[M].北京:人民邮电出版社,2009:14-78.
[2]孙卫琴:《精通Hibernate:Java对象持久化技术详解[M].电子工业出版社出版
[3]王珊,萨师煊.数据库系统概论[M].高等教育出版社,2016.5:198-235.
[4]张孝祥.深入Java Web开发内幕——核心基础[M].北京:电子工业出版社.北京.2016.10.
[5] 舒红平.Web 数据库编程-java[M],西安电子科技大学出版社,2005:97-134.
[6] 雷文华, 薛小文. MATLAB和Servlet在网络数据处理中的应用[J]. 电子测试, 2010, (11):81-86.
[7]黄艳峰. 在Java语言中实施“案例教学”的研究与探索[J]. 电脑知识与技术, 2017, 6(5):1148-1149
[8] 王玉英. 基于JSP的SQL数据库访问技术[J]. 现代计算机:专业版, 2010, 19(14):63-66
[9] 赵钢. JSP Servlet+EJB的Web模式应用研究[J]. 电子设计工程, 2013, 21(13):47-49
[10] 肖英. 解决JSP/Servlet开发中的中文乱码问题[J]. 科技传播, 2011, (1)11-25
[11]石正喜. SQL数据库实用教程. 北京:北京师范大学出版社 2016
[12]孙卫琴. 基于MVC的JavaWeb设计与开发. 北京: 电子工业出版社 2014.
核心代码展示
/**
* 登录相关
*/
@RequestMapping("users")
@RestController
public class UserController{
@Autowired
private UserService userService;
@Autowired
private TokenService tokenService;
/**
* 登录
*/
@IgnoreAuth
@PostMapping(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {
UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
if(user==null || !user.getPassword().equals(password)) {
return R.error("账号或密码不正确");
}
String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
return R.ok().put("token", token);
}
/**
* 注册
*/
@IgnoreAuth
@PostMapping(value = "/register")
public R register(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
return R.error("用户已存在");
}
userService.insert(user);
return R.ok();
}
/**
* 退出
*/
@GetMapping(value = "logout")
public R logout(HttpServletRequest request) {
request.getSession().invalidate();
return R.ok("退出成功");
}
/**
* 密码重置
*/
@IgnoreAuth
@RequestMapping(value = "/resetPass")
public R resetPass(String username, HttpServletRequest request){
UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
if(user==null) {
return R.error("账号不存在");
}
user.setPassword("123456");
userService.update(user,null);
return R.ok("密码已重置为:123456");
}
/**
* 列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,UserEntity user){
EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
return R.ok().put("data", page);
}
/**
* 列表
*/
@RequestMapping("/list")
public R list( UserEntity user){
EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
ew.allEq(MPUtil.allEQMapPre( user, "user"));
return R.ok().put("data", userService.selectListView(ew));
}
/**
* 信息
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") String id){
UserEntity user = userService.selectById(id);
return R.ok().put("data", user);
}
/**
* 获取用户的session用户信息
*/
@RequestMapping("/session")
public R getCurrUser(HttpServletRequest request){
Long id = (Long)request.getSession().getAttribute("userId");
UserEntity user = userService.selectById(id);
return R.ok().put("data", user);
}
/**
* 保存
*/
@PostMapping("/save")
public R save(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
return R.error("用户已存在");
}
userService.insert(user);
return R.ok();
}
/**
* 修改
*/
@RequestMapping("/update")
public R update(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
userService.updateById(user);//全部更新
return R.ok();
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
userService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
}
项目推荐
【计算机毕业设计】基于Springboot的网上购物商城销售系统
⬇️文章末尾可以获取联系方式,需要源码,高清图片,演示视频可以联系(不开源)⬇️
⚡感兴趣大家可以点点关注收藏,后续更新更多项目资料。⚡