博主介绍:java高级开发,从事互联网行业六年,熟悉各种主流语言,精通java、python、php、爬虫、web开发,已经做了六年的毕业设计程序开发,开发过上千套毕业设计程序,博客中有上百套程序可供参考,欢迎共同交流学习。
🍅文末点击卡片获取联系🍅
技术:ssm+mysql+jsp
目录
1 系统介绍
网络技术和计算机技术发展至今,已经拥有了深厚的理论基础,并在现实中进行了充分运用,尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代,所以对于信息的宣传和管理就很关键。因此医疗服务信息的管理计算机化,系统化是必要的。设计开发在线医疗服务系统不仅会节约人力和管理成本,还会安全保存庞大的数据量,对于医疗服务信息的维护和检索也不需要花费很多时间,非常的便利。
在线医疗服务系统是在MySQL中建立数据表保存信息,运用SSM框架和Java语言编写。并按照软件设计开发流程进行设计实现。系统具备友好性且功能完善。管理员管理医生,药品,预约挂号,购买订单以及用户病例等信息。医生管理坐诊信息,审核预约挂号,管理用户病例。用户查看医生坐诊,对医生预约挂号,在线购买药品。
在线医疗服务系统在让医疗服务信息规范化的同时,也能及时通过数据输入的有效性规则检测出错误数据,让数据的录入达到准确性的目的,进而提升在线医疗服务系统提供的数据的可靠性,让系统数据的错误率降至最低。
2 系统背景意义
2.1 选题背景
网络技术和计算机技术发展至今,已经拥有了深厚的理论基础,并在现实中进行了充分运用,尤其是基于计算机运行的软件更是受到各界的关注。计算机软件可以针对不同行业的营业特点以及管理需求,设置不同的功能,可以符合各个行业的实际运营要求,其快速便捷的信息处理模式已经可以让信息的管理者从繁琐的工作中得到解脱,还可以实现数据的易维护和安全性。加上现在人们已经步入信息时代,所以对于信息的宣传和管理就很关键。因此信息化管理模式也是当今的管理趋势。对于医疗服务信息,如果仍使用旧办法进行,将会影响其在行业中的竞争力,也很容易被时代淘汰,所以医疗服务信息的管理计算机化,系统化是必要的。设计开发在线医疗服务系统不仅会节约人力和管理成本,还会安全保存庞大的数据量,对于医疗服务信息的维护和检索也不需要花费很多时间,非常的便利。
2.2 选题意义
在线医疗服务系统在实际运用中,对管理员的综合素质的提升也有帮助。因为在线医疗服务系统在减轻了医疗服务信息管理人员的工作量的同时,还可以让他们把节省出来的时间用来充实自己,提升个人能力,这样才可以充分发挥在线医疗服务系统提供的服务,让在线医疗服务系统显示数据信息的同时,也可以快速完成数据处理,提升服务水平。而且在线医疗服务系统开发需要投入的成本较低,但是后期运用中,会产生大量效益,尤其是在线医疗服务系统在进行高负荷运转时,还可以保证数据处理的质量与数据安全,通过对处理工作的流程的优化,可以节省传统模式需要投入的人力和资金,从而降低信息管理的成本。另外,在线医疗服务系统在让医疗服务信息规范化的同时,也能及时通过数据输入的有效性规则检测出错误数据,让数据的录入达到准确性的目的,进而提升在线医疗服务系统提供的数据的可靠性,让系统数据的错误率降至最低。
3 系统功能结构
3.1 管理员
3.2 医生功能
3.3 用户功能
4 数据库设计
为了设计出结构合理,性能优良的数据库,在设计数据库时,需要遵循三大范式:
第一范式:确保数据表当中的每列所代表的字段值都不能再进行分解了;
第二范式:在满足第一范式基础上,让数据表中每列与主键相关;
第三范式:在满足第二范式基础上,确保每列数据直接与主键相关,不是间接相关。
从上面的表述中可以看出,这三大范式,在等级上还是有区分的,最低等级的就数第一范式,最高等级的就是第三范式,趋于两者中间的是第二范式。总之,数据库设计按照这三大范式进行,可以简化设计过程,并且还会减少数据冗余,对于数据检索效率的提升也很有帮助。
表4.1 订单信息表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
orderid | varchar(200) | 否 | 订单编号 | |
tablename | varchar(200) | 是 | yaopin | 商品表名 |
userid | bigint(20) | 否 | 用户id | |
goodid | bigint(20) | 否 | 商品id | |
goodname | varchar(200) | 是 | NULL | 商品名称 |
picture | varchar(200) | 是 | NULL | 商品图片 |
buynumber | int(11) | 否 | 购买数量 | |
price | float | 否 | 0 | 价格/积分 |
discountprice | float | 是 | 0 | 折扣价格 |
total | float | 否 | 0 | 总价格/总积分 |
discounttotal | float | 是 | 0 | 折扣总价格 |
type | int(11) | 是 | 1 | 支付类型 |
status | varchar(200) | 是 | NULL | 状态 |
address | varchar(200) | 是 | NULL | 地址 |
表4.2 药品信息表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
yaopinmingcheng | varchar(200) | 否 | 药品名称 | |
fenlei | varchar(200) | 是 | NULL | 分类 |
tupian | varchar(200) | 是 | NULL | 图片 |
guige | varchar(200) | 是 | NULL | 规格 |
changjia | varchar(200) | 是 | NULL | 厂家 |
shengchanriqi | date | 是 | NULL | 生产日期 |
baozhiqi | varchar(200) | 是 | NULL | 保质期 |
xiangqing | longtext | 是 | NULL | 详情 |
clicktime | datetime | 是 | NULL | 最近点击时间 |
clicknum | int(11) | 是 | 0 | 点击次数 |
price | float | 否 | 价格 |
表4.3 医生信息表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
yishenggonghao | varchar(200) | 否 | 医生工号 | |
mima | varchar(200) | 否 | 密码 | |
yishengxingming | varchar(200) | 否 | 医生姓名 | |
xingbie | varchar(200) | 是 | NULL | 性别 |
touxiang | varchar(200) | 是 | NULL | 头像 |
zhicheng | varchar(200) | 是 | NULL | 职称 |
keshi | varchar(200) | 是 | NULL | 科室 |
lianxidianhua | varchar(200) | 是 | NULL | 联系电话 |
youxiang | varchar(200) | 是 | NULL | 邮箱 |
money | float | 是 | 0 | 余额 |
表4.4 医生坐诊信息表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
yishenggonghao | varchar(200) | 否 | 医生工号 | |
yishengxingming | varchar(200) | 否 | 医生姓名 | |
xingbie | varchar(200) | 是 | NULL | 性别 |
touxiang | varchar(200) | 是 | NULL | 头像 |
zhicheng | varchar(200) | 是 | NULL | 职称 |
keshi | varchar(200) | 是 | NULL | 科室 |
youxiang | varchar(200) | 是 | NULL | 邮箱 |
shanzhanglingyu | varchar(200) | 是 | NULL | 擅长领域 |
zuozhenshijian | varchar(200) | 是 | NULL | 坐诊时间 |
guahaojiage | int(11) | 否 | 挂号价格 | |
gerenjieshao | longtext | 是 | NULL | 个人介绍 |
表4.5 用户信息表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
yonghuming | varchar(200) | 否 | 用户名 | |
mima | varchar(200) | 否 | 密码 | |
xingming | varchar(200) | 否 | 姓名 | |
xingbie | varchar(200) | 是 | NULL | 性别 |
touxiang | varchar(200) | 是 | NULL | 头像 |
shouji | varchar(200) | 是 | NULL | 手机 |
money | float | 是 | 0 | 余额 |
表4.6 用户病例信息表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
binglibianhao | varchar(200) | 是 | NULL | 病例编号 |
binglimingcheng | varchar(200) | 是 | NULL | 病例名称 |
yonghuming | varchar(200) | 是 | NULL | 用户名 |
xingming | varchar(200) | 是 | NULL | 姓名 |
shouji | varchar(200) | 是 | NULL | 手机 |
bingqing | varchar(200) | 是 | NULL | 病情 |
jianchaxiangmu | varchar(200) | 是 | NULL | 检查项目 |
jianchajieguo | varchar(200) | 是 | NULL | 检查结果 |
yaodan | varchar(200) | 是 | NULL | 药单 |
yizhu | longtext | 是 | NULL | 医嘱 |
zhuyishixiang | varchar(200) | 是 | NULL | 注意事项 |
binglifujian | varchar(200) | 是 | NULL | 病例附件 |
riqi | date | 是 | NULL | 日期 |
yishenggonghao | varchar(200) | 是 | NULL | 医生工号 |
zhicheng | varchar(200) | 是 | NULL | 职称 |
表4.7 预约挂号信息表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | bigint(20) | 否 | 主键 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
yuyuebianhao | varchar(200) | 是 | NULL | 预约编号 |
yuyuemingcheng | varchar(200) | 否 | 预约名称 | |
yishenggonghao | varchar(200) | 是 | NULL | 医生工号 |
yishengxingming | varchar(200) | 是 | NULL | 医生姓名 |
touxiang | varchar(200) | 是 | NULL | 头像 |
yuyueshijian | datetime | 是 | NULL | 预约时间 |
guahaojiage | varchar(200) | 是 | NULL | 挂号价格 |
yuyueneirong | longtext | 是 | NULL | 预约内容 |
beizhu | varchar(200) | 是 | NULL | 备注 |
yonghuming | varchar(200) | 是 | NULL | 用户名 |
xingming | varchar(200) | 是 | NULL | 姓名 |
shouji | varchar(200) | 是 | NULL | 手机 |
sfsh | varchar(200) | 是 | 否 | 是否审核 |
shhf | longtext | 是 | NULL | 审核回复 |
ispay | varchar(200) | 是 | 未支付 | 是否支付 |
5 系统功能
5.1 管理员功能实现
5.1.1 药品管理
管理员权限中的药品管理,其运行效果见下图。管理员详细描述药品信息,可以帮助用户快速了解药品并购买。
5.1.2 已支付订单
管理员权限中的已支付订单,其运行效果见下图。管理员对已支付状态的订单进行发货。
5.1.3 医生管理
管理员权限中的医生管理,其运行效果见下图。管理员查看医生的科室,职称,联系方式等资料,可以修改删除医生。
5.2 医生功能实现
5.2.1 医生坐诊管理
医生权限中的医生坐诊管理,其运行效果见下图。医生登记坐诊信息,包括坐诊时间,挂号价格等资料,修改删除坐诊信息。
5.2.2 预约挂号管理
医生权限中的预约挂号管理,其运行效果见下图。医生审核预约挂号信息,为前来就诊的用户添加病例。
5.2.3 用户病例管理
医生权限中的用户病例管理,其运行效果见下图。医生添加的用户病例,可以在本模块进行管理,包括病例下载,病例修改。
5.3 用户功能实现
5.3.1 药品信息
用户权限中的药品信息,其运行效果见下图。用户收藏药品,可以通过购物车购买药品,也能直接在本页面立即购买。
5.3.2 医生坐诊
用户权限中的医生坐诊,其运行效果见下图。用户查看医生介绍,通过预约挂号按钮对本页面显示的医生进行挂号。
5.3.3 购物车
用户权限中的购物车,其运行效果见下图。用户通过购物车可以修改购买信息,然后提交订单。
5.3.4 提交订单
用户权限中的提交订单,其运行效果见下图。用户提交订单,一定要设置收货地址,检查购买的药品信息,信息无误之后,最后支付。
6 系统测试
6.1 系统测试的类型
检测系统是否合格,需要用到很多的测试类型。接下来就对这部分内容进行描述。
功能测试:这是系统测试中,首先进行的测试内容,其属于黑盒测试。主要检验制作的系统与需求说明文档的相符程度,还有它们之间存在的差异问题。
性能测试:主要测试制作的系统,在同时面对很多的用户请求时,该系统的应对能力。同时也是检查制作的系统跟事先预定的系统性能存在的差距问题。这样的方法通常在实时系统中,或者是嵌入式系统中运用得比较多。
容量测试:这种方法针对数据。检查正常运行的系统对数据处理的容量值。
安全性测试:这种方法常用于检验系统中设置的安全保护机制对来自非法用户的攻击时是否有效。而检测系统中的信息保护机制就需要使用常见安全测试中的保护测试来验证。
健壮性测试:这种测试还有一个别称是容错测试,通常运用故障插入法来检测系统的容错能力,看系统是否可以忽略故障保持继续运行,或者是检测系统应对故障时的自动恢复能力。
兼容性测试:面对计算机的各种软硬件环境,检测本系统是否可以兼容。
易用性测试:这种方法主要是面向用户,检测用户是否很容易理解和使用系统。
6.2 功能测试
在线医疗服务系统在经历最后的测试环节,需要检验本系统的功能安全性,功能适用性等内容,最终得出测试结论。
表6.1 功能测试数据表
测试结果 | |
符合要求 | |
符合要求 | |
符合要求 | |
符合要求 | |
符合要求 |
6.3 可用性测试
通常来说,一个布局合理,显示的内容无错别字,并具备合理正常的操作逻辑的系统往往很受欢迎,而且可以提升访问者的使用时间以及访问率。
表6.2 可用性测试数据表
测试内容 | 测试结果 |
合理 | |
合理 | |
能 | |
无 | |
检查系统功能有无友好性 | 有 |
能 | |
无 | |
检查系统有无提供帮助信息 | 有 |
6.4 测试结果分析
在线医疗服务系统经过了编码阶段的单元测试,和最后的系统整体测试等测试后,对于用户要求的功能,本系统都进行了实现,各个模块都运行正常。在面对一些故障性问题时,本系统也有相应的应对办法,并且本系统可以保持24小时正常运转。因此,在线医疗服务系统可以交付用户使用。
7 总结
在线医疗服务系统的开发设计并不是一件轻松事,因为毕设制作都是依照一定流程进行的。最开始是选择题目,然后通过各种方式查阅资料,以及对使用用户的需求进行调研,确定本系统的功能,为了降低系统编码的出错率,在设计阶段也需要下功夫,认真设计功能模块,使用大学所学的数据库知识,设计数据库。这样一来,对系统编码时,就会根据设计方案进行。编码完成,进行测试就能对合格的系统进行验收了。
借助身边同学还有导师提供的帮助,本人也顺利完成本系统的制作工作。对在线医疗服务系统的分析与总结,发现在线医疗服务系统具有如下特点:
(1)在线医疗服务系统有着详细的功能设计,所以编码时,基本依照设计的功能进行开发,因此具备较完善的功能;
(2)在线医疗服务系统在界面设计与布局时,参考了很多系统的界面设计风格,也从图书馆查阅了关于系统界面设计方面的资料,并把对本系统有用的知识做好笔记,有了这些知识积累,所以我在开发系统时,注重页面文字的排版,以及精确定位各页面元素,合理使用颜色搭配技巧,让本系统在不影响浏览效果的同时,让访问者产生一种简洁干净的视觉效果;
(3)在线医疗服务系统为了让用户易于使用,在能够直观表达系统内容的同时,也把页面的导航放在了页面中最关键的位置,这个位置也是充分考虑了用户的浏览习惯。所以用户操作系统,可以在短时间内找到需要的内容。
由于本人并不是专门从事开发工作的技术人员,目前在校学习的开发类知识处于初级阶段,只是对开发类技术有着简单了解和使用,加上日常完成的作业,也只是局限在某个系统的某个功能模块上,因此,完成一个功能完善的整个系统,对于我来说,还是有一定的压力。所以这也确定了我开发的系统具有缺陷。
(1)对于在线医疗服务系统的编码并没有完全依照编码规范,整个系统存在代码冗余的缺陷;
(2)在线医疗服务系统在数据输入上,对数据有效性检测还不够严格;
(3)对在线医疗服务系统的误操作提示,只是对部分功能进行了设计,还有很多功能都没有设计报错提示。
综上所述,本人仍需花费时间去学习编程知识,在后期,我将会学习代码模块化,将一些通用的函数,变量等进行单独设置,然后直接在需要的页面上进行调用,这样可以降低代码冗余率,同时也会多学习针对程序易出错地方的解决方案等知识。学习这些知识除了完善本系统之外,也是弥补自身编程能力不足的缺陷。