此文章为本人亲自指导加编写,禁止任何人抄袭以及各类盈利性传播, 相关的代码+部署+论文+ppt+代码讲解+答辩指导文件都有可私
计算机专业毕业设计任何项目-程序-论文-想单独指导的可以私
目 录
摘 要...................................................... 1
Abstract.................................................... 2
1 概 述................................................... 3
1.1 课题研究背景............................................ 3
1.2 国内外研究现状.......................................... 3
1.3 该课题研究内容.......................................... 4
2 系统开发工具与主要技术简介.............................. 5
2.1 JSP技术................................................. 5
2.2 SSM框架................................................. 5
2.3 Mysql数据库............................................. 6
2.4 本章小结................................................ 6
3 分析..................................................... 7
3.1 可行性研究.............................................. 7
3.1.1经济可行性............................................. 7
3.1.2技术可行性............................................. 7
3.1.2操作可行性............................................. 7
3.2 功能描述和用例分析...................................... 7
3.2.1文献类型管理........................................... 8
3.2.2用户信息管理.......................................... 11
3.2.3健康日志管理.......................................... 14
3.2.4文献管理.............................................. 16
4 系统总体设计与详细设计................................. 18
4.1 系统总体设计........................................... 18
4.1.1系统设计原则.......................................... 18
4.1.2系统模式设计.......................................... 18
4.1.3系统功能设计.......................................... 19
4.2 系统详细设计........................................... 20
4.2.1系统功能流程图........................................ 20
4.2.2数据库设计............................................ 23
4.3 本章小结............................................... 26
5 网站的具体实现.......................................... 27
5.1 数据库连接............................................. 27
5.2 患者端实现............................................. 27
5.3 医生端实现............................................. 33
5.4 管理员端实现........................................... 35
5.5 本章小结............................................... 36
6 网站运行与测试.......................................... 37
结论....................................................... 39
致谢....................................................... 40
摘 要:随着互联网科技的发展,网上寻医问药这种看病方式也被越来越多的人接受,随着社区医院的普及,信息化系统却没有及时的跟进,且一些大型的医院的系统都较为庞大,没有做到一些普通疾病的针对性健康咨询管理平台,从而需要设计一款可以管理患者自身的健康信息的且可以做到在线咨询的社区健康求医平台。JAVA是本社区健康求医平台的首要开发语言,该系统存储的方式为Mysql,该平台主要由三种角色构成。患者在平台上注册、登陆后,填写自己的每日健康日志作为健康记录,可以向医生进行咨询;医生则需要录入个人的基本信息、从业资格证等材料证明符合为患者解答问题;平台管理员则是管理患者和医生的信息,可以上传健康文献提供社区居民学习参考。
关键词:社区;健康;Java;Mysql
Design and Implementation of Community Health Treatment Platform
Abstract:With the development of Internet technology, more and more people accept the way of seeking medicine online. With the popularization of community hospitals, the information system has not been followed up in time, and some large-scale hospital systems are relatively large. They have not achieved the targeted health consulting and management platform for some common diseases. Therefore, it is necessary to design a health consulting and management platform that can manage patients'own health. Health information and community health seeking platform for online consultation. JAVA is the primary development language of the community health care platform. The system is stored in Mysql. The platform is mainly composed of three roles. After registering and landing on the platform, patients can fill in their daily health logs as health records and consult doctors. Doctors need to input personal basic information, professional qualification certificates and other materials to prove that they are in line with the patient's answers. Platform administrators manage the information of patients and doctors, and can upload health documents to provide community residents with learning reference.
Key Words: Health; Community; Java; Mysql
1 概 述
在21世纪的今天,网络技术发展的很快,经济也随之发展了起来。人们的生活节奏逐渐加快,用户对产品的需求也越来越高。为了方便人们快节奏的生活环境,所以本课题研究了基于Java语言开发了一个关于社区健康求医平台,让人们在忙碌的生活中,咨询并记录自己的健康情况[1]。
在社会中信息的普及得到了扩大化,包括了区域,城市,社区,家庭和人,而在信息的传播过程中,社区有着不可忽视的关键作用。我们往往能够在社区中得到更安全靠谱的电子数据[2]。社区如今信息化水平越来越高,这是有许多好处的。比如能够提高公民生活水平,增强公民的时间观念,从而能够更直接的服务于人民群众。所以本健康平台开发基于社区。
1.1 课题研究背景
目前对于患者来说,没有更多的时间去及时就医;对于医生来说,没有更好的方式来帮助患者迅速解决及时就医;因此,本课题研究了一个专门为患者能够及时就医的一套管理系统,让患者能够及时的得到帮助。在这样的背景下,让更多人能够享受到计算机的好处,更省时、更省事的达到自己想要的效果[4]。
1.2 国内外研究现状
近年来,随着互联网的崛起,人们使用手机、电脑等通讯设备迅猛增加,在网络上搭建社区健康求医平台也呼之欲出。在国外,以英格兰为例,共有八千多个全科诊所,患者需要选择其中一处全科诊所进行注册,才能再次得到服务[5]。而美国的健康管理主要是依托一个有效的、多元化的体系。
目前,与不发达的国家相比较,经济比较发达的国家网上咨询业务会更加需要。其首要原因是因为在发达国家中,人们对工作以及资源的竞争更加的激烈,这也就导致生活压力非常大。对于一些行业要求也有着更高的标准[6]。网上咨询也将逐步在我国开始普及、流行,将会有更多的人们使用社区健康求医平台[7]。因此,开发网上社区健康求医平台对于我国是非常有利的,人们生活的健康指数与幸福指数也有所增加。
1.3 该课题研究内容
本课题研究的社区健康求医平台主要分为三个模块:患者、医生、平台管理员。
1.患者可以在系统中,注册账号并登陆系统,账号具有唯一性,他人不可登陆。登陆后,可修改个人的信息、查看相关文献和建立健康日记,健康日记具有增添、删除、查看健康评价等功能[8]。患者可查看医生并进行咨询,如觉得医生良好,还可关注此医生。
2.医师选择对应的端口,在健康平台中填写自己的用户名以及密码,系统登陆后,可以对自己的个人信息进行编辑并上传头像。并且能够上传相应资质和查看相关文献。医生可以对他人上传的文献进行审核,如有错误可进行删除[9]。医生可根据患者的问题进行解答并给出健康建议,可增加健康信息和查看健康信息。
3.在管理员登陆健康管理平台后,患者和医师的信息可以被管理员看到,并且管理员可以对信息进行适当的操作,例如对健康讯息的增加、查看、修改和删除。同时也负责文献审核,文献可以被管理员上传和下载。
2 系统开发工具与主要技术简介
2.1 JSP技术
jsp也成动态页面,里面包含了css、javascript、html标签,jsp其实就是html变换过来的,区别在于jsp中可以嵌套很多的标签,例如c标签、jstl标签,s标签,在用户访问时,首先浏览器会发送HTTP请求到应用服务器,然后服务器检索分析jsp网页的请求并传递此请求给JSP引擎,这样就可以得到能被服务器识别的JAVA文件。其实质也就是将jsp页面进行转化,使其成为Servlet类。之后servlet会将HTML格式的内容输出到浏览器中,浏览器处理Rseponse返回的页面,之后渲染显示样式内容。
2.2 SSM框架
Spring容器,作为java的三大框架之一。控制反转和切面编程被称为spring框架中两个核心特点,很多框架都可以被spring所整合。切面编程,用通俗的话来讲,就是切面设计原理,Java作为面向对象的设计理念,很多设计是基于对象的通俗来说就是基于点的设计或者拦截,AOP技术关注的不仅仅是某个横切点,而是整个分界行为面,将某种行为直接进行模块话,例如事务和日志、权限的管理拦截,核心构造是切入面,将对多个类构成影响的设计组装封装成一个模块,类似于Spring的interceptor设计思路,通过切面拦截,实现了某个接口,从而实现具体的切面业务逻辑。IOC核心设计是springframe.beans的jar包,主要设计为服务器自动生成代理对象,不经过用户创建生成,基于java的工厂设计模式,实现BeanFactory接口,通过Autowired 等名称注解注入和检索对象,BeanFactory作为最高级的抽象接口,直接管理对象之间的联系。Spring常用的设计单例模式,顾名思义,一个服务应用只能有一个且只能创建一次,一般为静态的static,Singleton作为最常用的设计对象模式,规避掉了每次用户都需检索创建新的对象。
SpringMVC框架介绍:在最开始的时候servlet作为后台请求处理,业务繁琐,跟页面的交互也比较乱,struts的出现解决了路由请求的烦乱,而作为新兴框架Springmvc,彻底将请求交互变得更为清晰,基于Spring的注解,@Controller可以将对象注入到服务器,框架将访问路径也更为简化,只需在对象头部定义就可以,基于restful的风格也更为简约鲜明.handlerMapping可以在servlet收到前端页面的请求后,根据配置的处理器映射,从而被检索找到。而对象的处理服务,也可以根据定义的规则被找到。在后端server处理好业务,根据ModelAndServlet视图对象,解析配置,确认对应的ViewResolver,拼接路径,将要显示的数据返回给对应的视图。
Mybatis框架介绍:jdbc作为底层的数据库处理交互的基础,无论是在事务的处理,还是增删改查sql的执行,拼接复杂,sql错乱,不易于阅读维护,mybatis可以简化sql语句,只需一个对象xml跟mapper对应,即可作为dao执行sql。
2.3 Mysql数据库
mysql服务器作为目前最主流的高效率数据库,mysql作为操作最简洁、sql最简单的数据库,便于很多小型项目的选择,数据库中很重要的核心为事务,事务能够保证数据的原子性和一致性,避免了数据的脏读,如若执行sql失败,数据立马回滚,事务具有的四大ACID特性,一致性:保证数据的一致,原子性:以最小的单位进行执行,成功与否都是一个执行整体,持久性:sql执行成功即保存到数据库不会再进行改变,隔离性:在事务执行过程中不受其他干扰,此数据库采用插件式的存储优化引擎设计,根据不同的表的搜索条件设置不同的存储引擎,给一些操作频繁的表设计索引,查询快捷。
2.4 本章小结
本章主要介绍此系统在设计过程中才涉及的技术,本系统中jsp技术被用于页面架构,系统采用的是MVC的三层设计思想.而SSM框架则被作为JAVA的后台设计。在健康管理平台中,mysql被用于数据储存。
3 分析
3.1可行性研究
3.1.1经济可行性
经济可行性:在开发系统的时候,依据目前已有的社区健康求医平台进行分析,根据已有的资料来进行整合,设计系统所需要的各项软件均已很好的获取。相对于其他大型的健康系统,本系统成本较低,可以满足社区健康信息的需求。前期投入开发较小。
3.1.2技术可行性
技术可行性:开发工具:IntelliJ IDEA,应用服务器:Tomcat,数据库所运行环境:MySQL,系统运行环境:Windows或Linux本系统在设计的过程中就是依靠JSP语言和MySQL数据库系统结合,采用实践法跟文献法进行分析设计。
3.1.2操作可行性
操作可行性:此系统是基于B/S开发,且分为三种用户角色,界面简单,在人工操作方面都较为健康,模块功能之间的关联度也更为合理,各种操作也更容易被医师和病人所理解。
3.2 功能描述和用例分析
用例是用来描述用户对每个功能的业务梳理和功能的具体详细功能,一个用户可以对应多个功能操作,用例图可以很清楚的分析到每一项功能的具体操作过程及跳转和错误操作的对应处理过程。可以依据用例图进行数据流转分析,且可以对参与者和操作步骤进行分析。
(1)管理员:拥有的功能包括用户管理、类型管理、健康讯息管理、文献审核、文献下载
(2)医生:拥有的功能包括个人信息修改、查看患者信息、查看患者健康日记,给出健康建议,健康讯息管理、文献上传和下载。如图3-1所示:
(3)患者:个人信息可以被病人所编辑、医生信息也可以在患者端被查看、关注医生、增加健康日记、查看医生健康建议、查看健康讯息、下载文献都是患者所拥有的功能。

3.2.1文献类型管理
(1)功能描述
文献类型添加:将文献类型信息进行新增;
文献类型编辑:对文献类型信息进行信息编辑,对数据库的文献信息进行修改;
文献类型删除:对文献信息进行删除,直接从数据库清除。
文献类型查询:对文献信息进行查询,将数据库里的文献信息进行分页展示。
(2)用例描述
表3-1 文献类型增加用例
| 内容 | 描述 |
| 英文称呼 | file_type_add |
| 用例名称 | 文献类型新增 |
| 用例说明 | 文献类型新增 |
| 参与者 | 平台管理员 |
| 前置条件 | 跳转到文献类型新增界面 |
| 使用流程叙述 | 1. 管理员登陆后进入文献新增页面,进行文献新增,若信息不全点击提交则跳转a1, 2. 文献类型和文献描述在指定长度填充,若超出长度则跳转a2。 |
| 错误流程原因 | a1. 文献类型新增信息不完整。 a2. 文献名称字段超出。 |
| 后置条件 | 文献类型新增成功。 |
表3-2文献类型编辑用例
| 内容 | 描述 |
| 英文称呼 | file_type_edit |
| 用例名称 | 文献类型编辑 |
| 用例说明 | 文献类型编辑 |
| 参与者 | 平台管理员 |
| 前置条件 | 跳转到文献类型编辑界面 |
| 使用流程叙述 | 1. 管理员登陆后进入文献编辑页面,进行文献编辑,若信息不全点击提交则跳转a1, 2. 文献类型和文献描述在指定长度填充,若超出长度则跳转a2。 |
| 错误流程原因 | a1. 文献类型编辑信息不完整。 a2. 文献名称字段超出。 |
| 后置条件 | 文献类型编辑成功。 |
表3-3文献类型删除用例
| 内容 | 描述 |
| 英文称呼 | file_type_delete |
| 用例名称 | 文献类型删除 |
| 用例说明 | 文献类型删除 |
| 参与者 | 平台管理员 |
| 前置条件 | 跳转到文献类型列表删除界面 |
| 使用流程叙述 | 1. 管理员登陆后进入文献删除页面,进行文献删除,若删除出错,则跳转a1, 2.若删除后跳转到文献列表界面,文献依然存在,则提示a1 |
| 错误流程原因 | a1. 文献类型信息删除出错,系统异常。 |
| 后置条件 | 文献类型删除成功。 |
表3-4文献类型查询用例
| 内容 | 描述 |
| 英文称呼 | file_type_querylist |
| 用例名称 | 文献类型分页查询 |
| 用例说明 | 文献类型分页查询 |
| 参与者 | 平台管理员 |
| 前置条件 | 跳转到文献类型列表查询界面 |
| 使用流程叙述 | 1. 管理员登陆后进入点击文献查看,若数据出错则提示a1 2.点击页码分页查询,若数据不显示或者出错则提示a1 |
| 错误流程原因 | a1. 文献类型查询信息异常 |
| 后置条件 | 文献类型分页查询显示。 |
3.2.2用户信息管理
(1)功能描述
用户登录:用户登陆后可使用所进入端口的所有功能
用户注册:用户注册成功后选择各自端口才可进入系统中。
用户删除:医生和患者的数量可以被管理员进行取消
用户信息编辑:用户可以对自己的信息进行适当的修改
用户查询:对平台注册的患者/医生进行分页查询
(2)用例描述
表3-5患者登录
| 内容 | 描述 |
| 用例编号 | Yonghu_login |
| 用例名称 | 用户登录 |
| 用例说明 | 用户进行登录操作 |
| 参与者 | 患者,医生,管理员 |
| 前置条件 | 正确的用户名以及密码已经被用户所知悉 |
| 使用流程叙述 |
|
| 错误流程原因 | a1.密码错误,登录失败 |
| 后置条件 | 信息被成功的保存在数据库中 |
表3-6用户注册
| 内容 | 描述 |
| 英文称呼 | Yonghu_register |
| 用例名称 | 用户注册 |
| 用例说明 | 用户进行注册操作 |
| 参与者 | 医生,患者 |
| 前置条件 | 跳转到用户注册页面 |
| 使用流程叙述 | 1.根据提示信息填写自己的个人资料,若没有完整填写提示,就会跳转a1 2.所有信息正确,则跳转登录页面 |
| 错误流程原因 | a1系统弹出窗口提示:出现未知错误 |
| 后置条件 | 系统成功保存注册用户的信息 |
表3-7 用户删除
| 内容 | 描述 |
| 用例编号 | Yonghu_delete |
| 用例名称 | 用户删除 |
| 用例说明 | 用户删除 |
| 参与者 | 平台管理员 |
| 前置条件 | 跳转到管理员的管理界面 |
| 使用流程叙述 | 1. 管理员登陆后进入患者或者医生删除界面,点击删除若删除失败则提示a1 2. 若删除后跳转到展示页,数据依旧存在,则提示a1 |
| 错误流程原因 | a1. 医生/医生删除错误,系统异常 |
| 后置条件 | 患者/医生删除成功 |
表3-8用户信息编辑
| 内容 | 描述 |
| 英文称呼 | Yonghu_edit |
| 用例名称 | 用户信息编辑 |
| 用例说明 | 用户信息编辑 |
| 参与者 | 医生,患者 |
| 前置条件 | 跳转到用户端信息编辑界面 |
| 使用流程叙述 | 1. 医生/患者登陆后进入信息编辑页面,进行自己信息的编辑,若提交的信息不够全面,则跳转到a1 |
| 错误流程原因 | a1. 医生/患者信息编辑信息不完整。 |
| 后置条件 | 医生/患者信息修改成功。 |
表3-9用户查询
| 内容 | 描述 |
| 用例编号 | Yonghu_querylist |
| 用例名称 | 用户查询 |
| 用例说明 | 用户查询 |
| 参与者 | 平台管理员 |
| 前置条件 | 跳转到用户查询界面 |
| 使用流程叙述 | 1. 管理员登陆后进入用户查询界面,若数据不显示则提示a1, 2.点击页面,若数据不显示或者出错,则提示a1 |
| 错误流程原因 | a1.系统异常,查询出错 |
| 后置条件 | 用户数据分页显示 |
3.2.3健康日志管理
(1)功能描述
健康日志增加:对平台注册的患者信息进行删除
健康日志删除:对平台注册的患者进行分页查询
健康日志评价:已登录用户可以使用患者端的所有功能;
(2)用例描述
表3-10 健康日记增加
| 内容 | 描述 |
| 用例编号 | Dairy_release |
| 用例名称 | 健康日志增加 |
| 用例说明 | 健康日志增加 |
| 参与者 | 患者 |
| 前置条件 | 跳转到患者健康日记界面 |
| 使用流程叙述 | 1. 患者登陆后进入健康日记界面,点击添加 2. 添加成功则新增加一条健康记录 3.若信息出现异常则跳转a1 |
| 错误流程原因 | a1. 健康日志类型新增信息不完整 |
| 后置条件 | 健康日志成功添加 |
表3-11健康日志类型删除用例
| 内容 | 描述 |
| 英文称呼 | Dairy_delete |
| 用例名称 | 健康日志类型删除 |
| 用例说明 | 健康日记类型删除 |
| 参与者 | 病患 |
| 前置条件 | 跳转到健康日志类型列表删除界面 |
| 使用流程叙述 | 1. 患者登陆后进入健康日志删除页面,进行日志的删除,若删除出错,则跳转a1, 2.若删除后跳转到健康记录界面,记录依然存在,则提示a1 |
| 错误流程原因 | a1. 文献类型信息删除出错,系统异常。 |
| 后置条件 | 健康记录类型删除成功。 |
表3-12健康日志类型评价用例
| 内容 | 描述 |
| 英文称呼 | Dairy_evaluate |
| 用例名称 | 健康日志评价 |
| 用例说明 | 健康日记评价 |
| 参与者 | 医生 |
| 前置条件 | 跳转到健康记录评价界面 |
| 使用流程叙述 | 1. 医生登陆后进入健康记录页面,选择健康日志进行评价 2.系统保存日志评价,出现系统问题则跳转a1 |
| 错误流程原因 | a1. 信息错误提示。 |
| 后置条件 | 健康日志评价成功。 |
3.2.4文献管理
(1)功能描述
健康文献增加:上传健康文献到平台
健康文献审核:管理员可以对平台文献进行审核
健康文献查询:对平台审核通过的文件进行分页查询;
(2)用例描述
表3-13 健康文献资料上传
| 内容 | 描述 |
| 用例编号 | file_upload |
| 用例名称 | 健康文献上传 |
| 用例说明 | 健康文献上传 |
| 参与者 | 医生或管理员 |
| 前置条件 | 跳转到文献资料新增界面 |
| 使用流程叙述 | 1. 医生进入文献新增界面,选择文件,点击添加 2. 添加成功则新增加一条健康文献记录 3.若信息出现异常则跳转a1 |
| 错误流程原因 | a1. 健康文献新增信息不完整 |
| 后置条件 | 健康文献成功添加 |
表3-14健康文献审核用例
| 内容 | 描述 |
| 英文称呼 | file_check |
| 用例名称 | 健康文献审核 |
| 用例说明 | 健康文献审核 |
| 参与者 | 管理员 |
| 前置条件 | 跳转到健康文献审核界面 |
| 使用流程叙述 | 1. 患者登陆后进入健康文献审核页面,进行文献审核,若审核出错,则跳转a1, 2.若审核后跳转到待审核界面,记录依然存在,则提示a1 |
| 错误流程原因 | a1. 文献审核出错,系统异常。 |
| 后置条件 | 健康文献审核成功。 |
表3-15健康文献查询用例
| 描述 | |
| 英文称呼 | file_list |
| 用例名称 | 健康文献查询 |
| 用例说明 | 健康文献查询 |
| 参与者 | 医患人员 |
| 前置条件 | 跳转到健康文献查询界面 |
| 使用流程叙述 | 1. 医生或者患者登陆后进入健康文献页面,选择健康文献进行查询 2.系统数据不显示,出现系统问题则跳转a1 |
| 错误流程原因 | a1. 信息错误提示。 |
| 后置条件 | 健康文献查询成功。 |
4 系统总体设计与详细设计
4.1系统总体设计
4.1.1 系统设计原则
此设计总体设计基于MVC的三层设计理念,数据库表结构设计基于第三范式,在程序执行中基于原子性和一致性,在整个的软件设计中要遵循统一原则,避免在某一段代码运行出错后导致故障,且在整个设计中可以采用工厂模式和单例模式,简化代码结构。
4.1.2系统模式设计
MVC设计模式主要分为三层,Model模型层,view界面层,controller控制层,主要用于代码层级关系进行结构化梳理,将页面和业务处理的代码进行分离,调用原理在于用户点击界面时,通过jsp页面发送请求到dispatchterservlet,然后找到对应的controller,再调用model进行业务的处理,通过三层架构可以将代码更为清晰,也将servlet代码从页面中脱离出来。代码层级更为明显。

图4-1代码层级
4.1.3系统功能设计
患者、医师、平台管理员三大版块构成了社区健康求医平台。
1.患者可以在系统中,注册账号并登陆系统,账号具有唯一性,他人不可登陆。登陆后,可修改个人的信息、查看相关文献和建立健康日记,健康日记具有增添、删除、查看健康评价等功能。患者可查看医生并进行咨询,如觉得医生良好,还可关注此医生。
2.医生同样也需要在系统中将账号进行注册才能够登陆系统。登陆后,个人信息可以被自由编辑,上传相应资质和查看相关文献。医生可以对他人上传的文献进行审核,如有错误可进行删除。医生可根据患者的问题进行解答并给出健康建议,可增加健康信息和查看健康信息。
3.在此平台管理系统中,管理员拥有对医生和患者信息的修改权限,同时健康信息也可以被平台管理员增加、查看、修改以及删除。同时他也负责文献审核、上传和下载文献。
根据需求梳理,模块功能总图如下:

图4-2系统模块结构图
依据不同的用户角色进行模块划分,基于各个模块之间的关联便于后期表结构的设计。
4.2系统详细设计
4.2.1 系统功能流程图
社区人员登录,主要为用户新增健康日志,查看医生,关注医生,查看文献,以及三高汇总,
流程图如图4-3

图4-3患者操作流程图
医生模块, 主要为医生登陆,医生查看患者信息,以及查看健康日志,上传健康文献等,流程图如图4-4

图4-4医生操作流程图
管理员模块,主要为管理员登陆后,对平台用户基本信息进行查询维护,发布通知,以及文献的审核和文献的上传等,流程图如图4-5

图4-5管理员操作流程图
4.2.2数据库设计
在该健康平台中,平台的数据以及信息等被存储在mysql中,数据库设计主要为表结构和字段以及表之间的业务关联,通过表中的主外键进行逻辑关联处理。
数据库E-R图设计如下:

图4-6 E-R图
数据库的逻辑结构,一般而言可以被人们所表格化。也就是指它是被数据库系统所支持的数据模型,也即数据库的概念结构转换来的的,然后再进一步形成数据库中的表格以及各个表格之间的关系。
其中,下表4-1所展示的就是医师信息表,表名:doctor
表4-1医生信息表
| 表列名 | 字段类型 | 是否为NuLL | 是否为主键 | 说明 |
| id | [整型]编号 | NOT NULL | YES | 编号(主键) |
| docusername | 文本(100) | NOT NULL | NO | 医师用户名 |
| docpwd | 文本(150) | NOT NULL | NO | 医生密码 |
| photo | 文本(150) | NOT NULL | NO | 医生头像 |
| docname | 文本(150) | NOT NULL | NO | 医生姓名 |
| tel | 文本(30) | NOT NULL | NO | 联系方式 |
| | 文本(50) | NOT NULL | NO | 邮箱 |
患者表如表4-2所示,表名:patient
表4-2 患者信息表
| 列名 | 数据类型 | 可否为空 | 是否主键 | 说明 |
| Id | [整型] | NOT NULL | Yes | 主键ID |
| patloginname | 文本(100) | NOT NULL | NO | 患者登陆名 |
| patpassword | 文本(150) | NOT NULL | NO | 患者密码 |
| telephone | 文本(50) | NOT NULL | NO | 患者联系电话 |
| patemail | 文本(50) | NOT NULL | NO | 患者邮箱 |
| address | 文本(100) | NOT NULL | No | 患者地址 |
患者健康日志表如表4-3所示,表名:patdaylog
表4-3患者健康日志信息表
| 列名 | 数据类型 | 可否为空 | 是否主键 | 说明 |
| Id | [整型] | NOT NULL | Yes | 主键ID |
| patid | 文本(100) | NOT NULL | NO | 患者编号 |
| shenghuofangshi | 文本(255) | NOT NULL | NO | 生活方式 |
| yibanjiancha | 文本(255) | NOT NULL | NO | 一般检查 |
| riqi | 文本(50) | NOT NULL | NO | 日期 |
平台通知表如表4-4所示,表名:news
表4-4通知信息表
| 列名 | 数据类型 | 可否为空 | 是否主键 | 说明 |
| Id | [整型] | NOT NULL | Yes | 主键ID |
| title | 文本(100) | NOT NULL | NO | 标题 |
| descciption | 文本(255) | NOT NULL | NO | 描述 |
| riqi | 文本(50) | NOT NULL | NO | 日期 |
患者关注医生表如表4-5所示,表名:pat_doc
表4-5患者关注医生信息表
| 列名 | 数据类型 | 可否为空 | 是否主键 | 说明 |
| Id | [整型] | NOT NULL | Yes | 主键ID |
| patientid | [整型] | NOT NULL | NO | 患者编号 |
| doctorid | [整型] | NOT NULL | NO | 医生编号 |
健康文献表如表4-6所示,表名:healthfile
表4-6健康文献信息表
| 列名 | 数据类型 | 可否为空 | 是否主键 | 说明 |
| Id | [整型] | NOT NULL | Yes | 主键ID |
| title | 文本(50) | NOT NULL | NO | 标题 |
| description | 文本(255) | NOT NULL | NO | 描述 |
| fileaddress | 文本(255) | NOT NULL | NO | 上传路径 |
| status | [整型] | NOT NULL | NO | 状态 |
4.3本章小结
本章主要是从可行性角度,数据库设计的角度进行分析,详细介绍了系统的主要功能模块,以及数据库表的设计介绍,介绍了每个实体的具体字段,以及更改表之间的关联性。一个好的数据库设计是开发的基础,避免了后期字段来回的变动。减少工作量,也减少了数据的冗余程度。
5网站的具体实现
5.1数据库连接
在后端与数据库的连接交互时我们经常会用到数据库连接工具之前是JDBC连接,目前采用的上司c3p0连接池,可以对连接池的最大连接数,最小连接数,连接唤醒等进行自动配置c3p0目前作为最常用的数据库连接池,主要可以将连接池的连接数进行监控,可以进行连接数的自动增减,且可以通过select 1然后在8小时内进行唤醒,避免了数据库假死情况数据库配置文件内容如下所示:

图5-1数据库连接
5.2患者端实现
患者首先通过填写个人信息等完成平台注册,注册完成后此账号可以被患者用来登录此平台,注册患者,即个人信息被病患编辑之后,用户名会被系统进行校验来确定是否已有此账号,然后信息通过form表单提交到registerController通过调用Service进行保存到数据库,具体界面如图5-2:

图5-2患者注册
核心代码如下:

患者登录,可以通过输入username,password,选择用户类型提交到LoginController进行校验,调用userSerivce,如果查询到此用户则登陆成功,否则登陆失败,返回用户名或者密码错误,登陆后可以跳转到个人信息中心,通过Session获取user信息,然后显示到页面,可以对个人信息进行编辑具体如下:

图5-3患者个人信息编辑
核心代码如下:


患者登录后可以对个人健康日志进行新增,包含患者的一些饮食习惯和健康生活方式,包含三高情况,血糖,血压,血脂等,在数据保存时,通过Session获取到user,在保存数据时则userid也保存到数据库中,患者可以对自己的健康日志进行查询维护具体如下:

图5-4患者健康记录
核心代码如下:

//页码对象

//设置总页数


患者登录后可以查询到平台上传的一些健康文献,文献可以被患者下载查看,点击下载时通过此文献的编号Id,然后调用findByUserFileId方法获取到file文件路径,然后通过二进制流写到页面下载,具体如下图5-5:

图5-5文献查询
下载核心功能代码如下:


患者登录后可以查询到平台所有医生列表可以点击查看医生资料,可以对自己较为心意的医生进行关注,关注后医生即可看到自己的健康日志,如果取消关注,则对医生进行信息隐藏:

图5-6医生列表
患者在填写了自己的三高情况后,系统自动会对患者近10天的三高情况进行汇总,后台通过session获取用户userid,然后调用patdaylogService查询出患者近10条数据,通过Array转换到页面,采用highchart赋值显示进行折现波动统计:

图5-7患者三高折线图
核心代码如下:


5.3医生端实现
医生首先通过填写个人信息等完成平台注册,通过调用registerController将数据保存到数据库,注册完成后可以以此账号通过username,password,提交到后台进行校验进行登录:

图5-8医生注册
医生登陆后可以对个人信息进行编辑,包括上传照片,修改医生资质,在个人信息展示时,通过useid调用userService中的findByUserId获取到用户信息,然后显示到前端,信息编辑后通过form表单提交到后台,通过updateByUserId保存医生信息等:

图5-9医生信息编辑
医生登陆后可以对进行健康文献上传,选择上传文献,选择文献类型,上传成功后,待管理员审核通过后即可展示,如果驳回可以进行编辑再审核:

图5-10医生上传文献
核心代码如下:

医生登陆后可以查看关注自己的患者就列表,可以点击查看患者健康日志详情,也可以点击折线图,查看患者的三高统计

图5-11患者查询
5.4管理员端实现
管理员登陆后,文献类型可以被管理员所查看和管理。可以对文献类型进行查询、编辑维护,同时文献也可以是被管理员上传到健康管理平台中而无需审核。文献类型主要是在上传文献时可选择文献类型类别进行分类,在保存时填写文献类型信息进行提交到typeService保存到数据库:

图5-12类型管理
管理员登陆后管理平台用户信息,可以对患者和医生信息进行查询维护,在后台对用户进行删除时,使用了假删操作,及对用户状态进行了禁用,避免了因一些数据删除造成系统关联错误,患者用户查询页面如下:

图5-13患者管理

图5-14医生管理
管理员登陆后可以对医生需要上传的文献进行审核,审核时根据文献的id,调用updatestatus进行状态的更新,审核通过后即可显示:

图5-15文献审核管理
核心代码如下:

5.5本章小结
本章主要是对本课题的详细模块设计及界面做一个介绍,且举例介绍了每个模块的核心代码设计,根据用户角色的不同,以及网站的前后端进行切割解析,分析了每个模块的设计思路和核心代码介绍。
6 网站运行与测试
在一个系统的设计中,要检测一个网站的开发质量,我觉得大多数人第一个想到的应该就是软件测试吧。在软件测试中比较常用的两种测试手段,是黑盒测试与白盒测试。作为整个项目最把关的环节,系统测试需要更为详情,测试包括测试用例、文档、测试结果、测试要求等,根据不同环境下的系统抗压能力对系统进行测试。
对于系统来说,测试是十分有必要的。测试系统才能知道开发者写的代码是否有错误。换句话来说,测试是为了能够开发出高品质、高质量的系统。而测试也并非一定要开发结束后才能测试,根据项目的大小来定可以现测试某一个功能或者几个功能一起测试,这样方便了后期代码过多而带来的测试量增大。
测试的不是为了给开发者找麻烦,而是为了更好的给用户带来服务。测试是为了确定在一开始定的需求开发者是否符合目标规范。在制定需求时有些需求是高层次的,所有的需求都是规范的,他可以被写的非常详细,无论何时,你测试的软件只是为了确保他应该做他应该做的事情。有时测试的目标也会改变,在《精益创业》中,Eric Ries提到编写如果你编写的软件并没有人想真正的用他,这种测试并不是验证你软件的规范,而是用他去学习你以前不知道的知识。
当你做测试时,你要知道你是属于哪一种测试,是想有人用他还是为了学习知识,这才是我们真正做测试的目标。
(1)文献模块测试
表6-1文献模块测试
| 测试模块 | 输入操作 | 期待输出 | 真实输出 |
| 文献模块测试 | 选择文件上传 | 提交成功 | 成功上传 |
| 选择文件为空 | 提示操作失败 | 操作失败 |
(2)登陆模块测试
表6-2登陆模块测试
| 测试模块 | 输入操作 | 期待输出 | 真实输出 |
| 登陆模块测试 | 输入正确用户名密码 | 提交成功 | 登陆成功跳转首页 |
| 输入用户名或者密码为空 | 提示输入信息为空 | 提示为空 | |
| 输入错误的用户名或者密码 | 用户名或者密码错误 | 提示用户名或密码错误 |
(3)健康日志模块测试
表6-3健康日志模块测试
| 测试模块 | 输入操作 | 期待输出 | 真实输出 |
| 健康日志模块测试 | 填写健康日志 | 提交成功 | 成功保存并显示 |
| 填写错误的健康信息 | 提示操作失败 | 操作失败 |
(4)患者求医模块测试
表6-4患者求医模块测试
| 测试模块 | 输入操作 | 期待输出 | 真实输出 |
| 患者求医模块测试 | 患者点击求医 | 医生可以查看到此患者信息 | 关注后医生可以查看到患者信息 |
| 医生可以查看患者健康日志记录 | 患者健康日志记录显示 | 患者健康日志记录显示 |
(5)通知模块测试
表6-5通知模块测试
| 测试模块 | 输入操作 | 期待输出 | 真实输出 |
| 通知模块测试 | 填写通知信息 | 通知信息保存成功 | 保存成功 |
| 点击通知查看 | 通知显示且可以查看详情 | 通知显示且可以查看详情 |
结论
基于java的社区健康求医平台,不论是需求的梳理分析还是前端页面的原型图设计,亦或是数据库设计,到后续框架的搭建,采用了SSM的后台框架,MVC的三层设计思路也被考虑在内,将代码归类、模块设计更为整洁,采用工厂模式、代理模式等设计思想,让设计更合理,在一步步的开发设计中学到了更多的开发知识,将课本知识与实战开发相结合,在设计中学习java,积累经验,解决一个个的bug,收获颇多,此系统主要分为三种用户角色,社区医生、管理员、社区人员,用户管理、健康日志管理、健康文献管理、健康三高汇总等功能此系统都有,前端采用jquery异步刷新,避免页面的更新跳转,采用CSS样式布局,但由于经验不足,还有许多不完善的地方,例如页面的美观度、并发量等,希望以后可以再接再厉弥补不足。
在整个项目的过程中,虽然功能基本完善,但仍有一些设计中的不足点,后续需要改进和优化。用户健康分析,后期在健康日志累计到一定数据量的情况下可以进行数据的分析,对数据进行汇总。目前患者和医生只有查看和留言功能,后续通过Socket加入在线诊疗功能,为在线求医提供便利。
网站使用使用SSM框架,为了削减该平台被访问时的压力,防止过多用户访问时系统崩溃,Redis缓存可以在那个时期被加入进系统。
致 谢
在两三个月的时间内完成这个系统的开发,的确需要大量的精力。在开发初期,通过对网络上存在的健康信息系统进行调查研究,对系统的大致结构进行规划设计。在需求分析的时候对现状进行分析,看看本系统到底需要哪些功能来满足用户们的需求。在实现的过程中,也遇到了许多技术性的难题,我对老师充满了感激,他在我的论文撰写以及项目完成中给予我很多帮助,让我能够度过这些技术性的难题。在这个学习阶段中我了解到了怎样将所学知识与现实的结合。在日后的过程中,需要学习更多的知识,来使项目做得越来越好。
参 考 文 献
[1] 王国辉.基于Java Web社区健康系统开发[M].北京:人民邮电出版社,2017
[2] 李刚.轻量级J2EE企业医疗应用实战[M].北京:电子工业出版社,2017
[3] 何丽欣. 基于jsp的健康档案系统设计与实现[J]. 科技创新导报, 2016(18):50-50.
[4] 伊雯雯.基于MVC的Java Web医院信息开发项目式教程.人民邮电出版社.2015
[5] 王小梅.论大数据分析社区健康信息的与运用[J].北京医学院, 2016(24):381-381.
[6] 赵利庆.JavaWeb架构中医疗数据库优化模式的研究与实现[D].北京:北京邮电大学,2015
[7] 杨婉. 基于JAVA技术的在社区医院信息系统的分析与设计[J]. 中国科技学院学报, 2015, 16(1):80-84.
[8] 马景涛,郑斌,张利益,孔伟伟.Java Web网站应用Matlab问题解决方案[J]. 现代电子技术,2016,(06):56-58+62.
[9] 林凯:基于Java Web的DRP企业分销资源计划系统的设计与实现[D].电子科技大学,2016.
[10] 王然.Java web开发的设计与实现[J]. 民营科技,2016,(01):6.
[11] 梁北海.基于污点分析的Java Web程序脆弱性检测方法研究[D].华中科技大学,2016.
[12] 黄立伟.基于JAVA WEB的车载信息管理系统的设计与实现[D].哈尔滨工业大学, 2017.
[13] Object-oriented programming Object-oriented programming and its key component technologies 2014, 11(4):63-89.
[14] Software reusability saves time in program development Supports single 2016, 11(4):23-11.
[15] Polymorphism enables us to write programs in general inheritance Web.2
项目难度: 中等难度
适用场景: 相关题目的毕业设计
包含内容: 整套源码+完整毕业论文
大家点赞、收藏、关注、评论啦 。


424

被折叠的 条评论
为什么被折叠?



