基于SSM的体检预约系统设计与实现

2020-01-26 05:49任方针秀友
电脑知识与技术 2020年34期
关键词:数据库设计系统设计

任方针 秀友

摘要:在当今人们越来越重视身体健康的情况下,人们体检需求大大增加,传统的体检预约方式较需要去机构进行预约,较为低效,基于这种情况,介绍一种体检预约系统的设计与实现,该系统采用了Spring+SpringMVC+Mybatis框架来实现,通过该系统,医院可以设置体检项目、体检日期等信息,需要体检的人可以通过公众号或者浏览器查看可以预约的项目和日期,并在线提交预约信息,充分利用了互联网的便利性,提高了预约的效率。

关键词:体检预约系统;SSM;系统设计;数据库设计

中图分类号:TP311      文献标识码:A

文章编号:1009-3044(2020)34-0010-04

Abstract:As people pay more and more attention to physical health,peoples medical examination needs have greatly increased. The traditional medical examination appointment method requires more appointments at institutions and is relatively inefficient. Based on this situation,the design and implementation of a physical examination appointment system are introduced. The system adopts the Spring+SpringMVC+Mybatis framework to achieve. Through this system,the hospital can set information such as physical examination items and physical examination dates. People who need physical examination can view the items and dates that can be reserved through the official account or browser,and online Submitting appointment information makes full use of the convenience of the Internet and improves the efficiency of appointments.

Key words: medical examination appointment system; SSM; system design;Database Design

1背景

隨着社会经济的发展,人们的饮食和生活条件虽然得到了改善,但是由于工作节奏的加快,心理压力的增加,生活环境的变化,人们常处于亚健康状态。因此,每个人都在关注健康,每个人都在追求健康,健康体检逐渐成为一种时尚[1]。健康体检机构在健康信息收集、风险评估和预测、健康维护和健康教育及健康指导等方面均发挥重要作用[2],健康体检已经成为人们生活的一部分,定期健康体检,及时早期发现异常体征,做出正确诊断和有效处理措施,将疾病消灭于萌芽时期,为健康提供了超前保障,成为一种促进身心健康的最好方式,在这种背景下,为了更高效地进行体检预约,我们设计了这个系统。

2需求分析

在设计系统之前,先对系统进行需求分析,明确系统所要实现的功能以及要达成的目标,因此,先进行功能需求分析然后进行业务流程分析。

2.1功能需求分析

根据体检预约的过程进行需求分析,首先由系统管理员给提供体检服务的机构进行体检项目的设置,比如有哪些体检项目服务提供,属于什么套餐等,因此系统需要提供体检项目的添加、删除和修改等功能。当系统管理员设置好体检项目信息之后,需要体检的人应该能够通过公众号或者浏览器访问,并且能够看到这些信息,所以系统应该具有展示体检项目的功能,当用户看到体检项目之后,应该可以选择自己想要做的体检项目并提交给后台,因此系统要具有提交体检预约信息的功能,当后台接收到用户提交过来的预约信息之后要对数据进行保存,因此需要有体检信息保存功能,并且能展示给管理员,以便工作人员进行相关准备。为了更好更直观地观察到预约情况,我们还可以增加体检信息分析的功能,以便看到用户通常做了哪些检测,选择了哪些套餐,以便我们可以对项目进行调整,也就是可以更科学地服务用户。由于人们大多使用手机,因此我们要做一个移动端的预约方式,我们选择通过微信公众号来做,因此需要提供体检项目在移动端的展示以及移动端的预约信息提交功能。

2.2业务流程分析

根据功能需求分析,我们可以梳理出系统的业务流程,首先由系统管理员设置体检项目,然后用户根据这些体检项目选择要体检的项目提交给后台,后台接收后将体检信息保存并做相应工作,然后数据分析员对这些信息进行分析。其业务流程图如图1所示:

3系统设计

进行需求分析之后,根据功能设计进行系统设计。本系统采用了SSM框架设计模式,全名是Spring MVC+Spring+Mybatis。它包含了一个四层结构体系,即表示层、控制层、服务层和数据库访问层,采用这种设计模式使表示层、业务逻辑的处理和前后台页面数据的交互分开。体现了项目整体各个模块之间能够独立存在,并且又紧密相连的特点。利用这种设计模式本系统分为以下几层:Bean、Dao、Mapper文件、Service、ServiceImpl和Controller。其中,Bean层主要存放的是与数据库中的每一个数据表相对应的实体类,Dao层和Mapper文件主要是为了对数据库进行操作,完成对数据表的增加、删除、修改、查询的功能,在SSM框架的Mybatis就是作用于这一层,Service层和ServiceImpl主要是实现业务逻辑处理的工作,而Controller层则是为了前后台数据交互[3]。

3.1 系统流程设计

根据业务流程图,我们可以对系统进行系统流程设计,体检预约系统采用B/S架构,用户通过浏览器访问Web服务器。系统管理员先通过后台设置预约项目、可预约人数、可预约日期等。预约者通过网页填写预约信息并上传到后台,然后工作人员统计这些预约信息,预约者按时体检。然后后台可以将这些信息收集,并进行分析,从而调整体检项目以更好地服务用户。

3.2 系统功能设计

根据功能需求分析,我们设计出系统所需功能,并进行模块划分。需要体检项目的添加、删除、修改等功能,因此需要网页端后台模块,为系统管理员提供添加、修改、删除体检项目功能以及提交用户网页端预约信息等功能,同样,也需要移动端后台模块,提供手机用户登录及移动端预约信息提交等功能,用户登录后要能够看到预约项目,因此要有网页端网页模块,提供网页端相关信息展示功能,同样的,也需要一个移动端网页模块来提供移动端相关信息的展示。由于有三种角色,每种角色有不同的权限,因此,需要有权限模块,来控制系统的角色与权限。因此,系统功能模块划分了网页端后台模块、移动端后台模块、网页端网页模块、移動端网页模块以及权限模块。

3.2.1 网页端后台模块

网页端后台模块提供体检项目的添加、删除、修改等功能;提供预约相关信息的设置功能,即设置预约时间、可预约人数等;提供预约信息提交功能,即当用户通过网页提交了自己的预约信息后,将预约信息提交给后台并保存到数据库,以便进行准备;还需要提供为数据分析员进行数据分析的功能,同时还要负责不同角色的登录校验。

3.2.2 权限模块

权限模块是对使用系统的人进行角色和权限的划分,因此权限模块要完成为角色赋权限,从数据库中查询角色与权限,对登录的用户的权限进行校验,这个模块采用spring-security框架来实现。

3.2.3 网页端网页模块

网页端网页模块要完成体检项目等相关信息在网页端的展示,包括预约项目,预约时间等等,并且要把用户在网页上填的预约信息提交到网页端后台模块,由网页端后台来进行保存及处理,采用vue来完成。

3.2.4 移动端后台模块

移动端后台模块与网页端后台模块类似,要处理从公众号入口提交的体检预约信息,还要完成手机用户用手机号通过短信验证码来登录的功能。

3.2.5 移动端网页模块

移动端网页模块与网页端网页模块类似,要完成移动端相关信息的展示,预约项目、时间等,同样要将移动端用户提交的预约信息提交到移动端后台模块,由移动端后台来进行相应的处理。

4数据库设计

数据库是系统的核心和基础,通过对系统各功能模块的分析,对数据库进行设计,由功能分析及模块划分,明确需要存储的信息包括体检项目信息、会员信息、角色权限信息等。

4.1 数据库概念设计

数据库的合理设计是系统能够高效运行和存储数据的前提之一,先进行数据库的概念设计,然后进行数据库逻辑设计[4],数据库的概念模型如图2所示:

4.2.1 逻辑设计

由概念模型图对数据库进行逻辑设计,设计出数据库中各表。

t_checkgroup检查组表(检查组编号id、检查组编码code、检查组名称name、检查组助记码helpCode、性别gender、注意事项attention、标签remark),记录检查组的各项信息。

t_checkitem检查项表(检查项编号id、检查项编码code、检查项名称name、性别gender、年龄age、价格price、类型type、注意事项attention、标签remark),记录检查项的各项信息,也就是体检项目的信息。

t_checkgroup_checkitem检查组检查项中间表(检查组编号checkgroup_id、检查项编号checkitem_id),将检查组与检查项关联起来。

t_member会员表(会员编号id、会员名name、性别gender、身份证号idCard、电话号码phoneNumber、注册时间regTime、密码password、邮件email、生日birthday),记录会员的各项信息,某些用户注册为会员时,将记录在此表。

t_menu菜单表(菜单编号id、菜单名name、链接地址linkUrl、路径path、优先级priority、图标icon、描述description、父菜单编号parentMenuId),记录菜单的各项信息,用来进行菜单展示。

t_order预约表(预约编号id、会员编号member_id、预约日期orderDate、预约类型orderType、预约状态orderStatus、套餐编号setmeal_id)记录用户的预约信息,也是主要业务。

t_ordersetting预约设置表(预约设置编号id、预约日期orderDate、预约数量number、已预约人数reservations)记录预约设置的各项信息,如预约日期、预约数量。

t_permission权限表(权限编号id、权限名称name、权限关键字keyword、描述description),记录用户的权限。

t_role角色表(角色编号id、角色名称name、角色关键字keyword、描述description),记录系统所有的角色。

t_role_menu角色菜单中间表(角色编号role_id、菜单编号menu_id),将角色和菜单关联起来,使不同角色看到与自己角色对应的菜单。

t_role_permission角色权限中间表(角色编号role_id、权限编号permission_id),将角色与权限关联起来。

t_setmeal套餐表(套餐编号id、套餐名称name、套餐编码code、套餐助记码helpCode、性别gender、年龄age、价格price、套餐标签remark、注意事项attention、套餐图片img),记录套餐信息。

t_setmeal_checkgroup套餐检查组中间表(套餐编号setmeal_id、检查组编号checkgroup_id),将套餐与检查组关联起来,就是将知名套餐包含哪些检查组。

t_user用户表(用户编号id、用户生日birthday、性别gender、用户名username、密码password),记录用户信息。

t_user_role用户角色中间表(用户编号user_id、角色编号role_id),将用户与角色关联起来。

5系统实现

完成初步系统设计之后,进行系统的实现,根据系统的流程设计,以及功能模块的划分来进行系统实现。

5.1 界面展示模块实现

网页端网页模块主要是网页端体检项目等信息的展示,并且用户通过此模块来填写网页端的体检预约信息并提交给网页端后台,因此主要是前端页面,采用了vue来实现。网页端主页面如图3所示:

移动端网页模块与网页端网页模块类似,主要是移动端的体检项目等信息的展示,同时也要提交用户通过移动端填写的体检预约信息给移动端后台,因此同样主要是前端网页。移动端主页面如图3所示。

5.2 后台模块实现

包括网页端后台模块和移动端后台模块,用户通过网页端或者移动端进入系统并提交体检预约信息后,将会将信息提交给对应的后台模块,并由后台模块对这些体检预约信息进行处理,比如有数据分析员进行数据分析,比如将这些信息保存到数据库,然后展示给对应的角色,因此该模块是将网页端提交的预约信息保存到数据库,及将数据库查询到的数据传到前端网页,该模块要完成与数据库进行交互的职责。

网页端后台控制器部分代码如下,负责接收前端页面传过来的数据。

还要负责与数据库进行交互,将页面传过来的信息保存到数据库,并将页面所需要的数据从数据库查询出来后再传给前端页面,因此还要有与数据库进行交互的实现,以检查项为例,检查项实现类部分代码如下,完成查询数据库信息传到前端页面。

5.3权限模块实现

权限模块是对用户进行角色划分并赋予权限的模块,不同用户具有不同的权限和职责,通过本模块来进行权限和角色的赋予,本模块采用了Spring-Security安全框架。部分实现控制器代码如下。

6结束语

为解决医疗资源合理充分利用的问题,本文设计了这个系统。通过这个系统,医院工作人员和用户之间有了一个平台来协调体检项目的预约问题。本文在对系统展开充分需求分析和系统设计的基础上,综合运用SSM、Ajax和数据库等相关技术,实现体检预约各项功能[5]。同时本系统采用了接口抽取,因此扩展性大大增加,模块耦合度低,本系统若想扩展其他功能,只需增加接口及相应的处理即可。

参考文献:

[1] 蔡穗珍,黄守清,林建著,等.预约系统在健康体检中的应用[J].中国医药指南,2012,10(10):719-720.

[2] 李鹏,陈军伟,辛海燕,等.基于支付寶平台下体检预约系统的解决方案[J].中国数字医学,2017,12(7):67-68,71.

[3] 陈培龙,仁增多杰.基于SSM框架旅游网站后台系统设计与实现[J].电脑编程技巧与维护,2018(10):28-29.

[4] 杨永琪,董国泰,朱文豪.基于Java和数据库系统设计的航空售票系统[J].电脑知识与技术,2020,16(6):75-76.

[5] 刘昊,李民.基于SSM框架的客户管理系统设计与实现[J].软件导刊,2017,16(7):87-89.

【通联编辑:谢媛媛】

猜你喜欢
数据库设计系统设计
试论数据库设计在网站开发中的应用
面向等级考试,探讨高校理工科计算机基础课程教学改革