计算机毕业设计-计算机毕设辅导-社区健康求医平台的设计与实现-源码-论文-一条龙稳过

此文章为本人亲自指导加编写,禁止任何人抄袭以及各类盈利性传播, 相关的代码+部署+论文+ppt+代码讲解+答辩指导文件都有可私
计算机专业毕业设计任何项目-程序-论文-想单独指导的可以私

目    录

摘  要...................................................... 1

Abstract.................................................... 2

概  述................................................... 3

1.1 课题研究背景............................................ 3

1.2 国内外研究现状.......................................... 3

1.3 该课题研究内容.......................................... 4

系统开发工具与主要技术简介.............................. 5

2.1 JSP技术................................................. 5

2.2 SSM框架................................................. 5

2.3 Mysql数据库............................................. 6

2.4 本章小结................................................ 6

分析..................................................... 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

系统总体设计与详细设计................................. 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

网站的具体实现.......................................... 27

5.1 数据库连接............................................. 27

5.2 患者端实现............................................. 27

5.3 医生端实现............................................. 33

5.4 管理员端实现........................................... 35

5.5 本章小结............................................... 36

网站运行与测试.......................................... 37

结论....................................................... 39

致谢....................................................... 40

参 考 文 献................................................ 41

社区健康求医平台的设计与实现

  要:随着互联网科技的发展,网上寻医问药这种看病方式也被越来越多的人接受,随着社区医院的普及,信息化系统却没有及时的跟进,且一些大型的医院的系统都较为庞大,没有做到一些普通疾病的针对性健康咨询管理平台,从而需要设计一款可以管理患者自身的健康信息的且可以做到在线咨询的社区健康求医平台。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 课题研究背景

随着科技的快速发展,计算机已经成为了人们生活中不可代替的使用工具,人们的各个生活领域都有着计算机的身影,与传统的纸质记录相比,计算机有着更快捷、更方便、更可靠的优点。如何设计一套科学的、适合在网上咨询病情的系统就更为重要了[3]。

目前对于患者来说,没有更多的时间去及时就医;对于医生来说,没有更好的方式来帮助患者迅速解决及时就医;因此,本课题研究了一个专门为患者能够及时就医的一套管理系统,让患者能够及时的得到帮助。在这样的背景下,让更多人能够享受到计算机的好处,更省时、更省事的达到自己想要的效果[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-1功能分析

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

用例名称

用户登录

用例说明

用户进行登录操作

参与者

患者,医生,管理员

前置条件

正确的用户名以及密码已经被用户所知悉

使用流程叙述

  1. 输入正确的账号以及密码
  2. 选择对应的端口
  3. 用户点击登录按钮
  4. 系统验证用户名以及密码,若失败则跳转a1

错误流程原因

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

联系方式

email

文本(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


项目难度: 中等难度
适用场景: 相关题目的毕业设计
包含内容: 整套源码+完整毕业论文
大家点赞、收藏、关注、评论啦 。

内容概要:本文围绕“基于分布式模型预测控制的多个固定翼无人机一致性控制”展开,利用Matlab代码实现相关算法的仿真,旨在通过分布式控制策略实现多架固定翼无人机在复杂动态环境中的协同飞行一致性控制。研究结合模型预测控制(MPC)方法,构建适用于多无人机系统的分布式优化框架,重点解决了通信受限、信息延迟及无中心化指挥条件下的协同定性问题。内容涵盖固定翼无人机的动力学建模、分布式MPC优化求解机制、一致性协议设计、通信拓扑结构分析以及仿真验证全过程,确保多机系统在保持队形一致的同时完成协同任务。; 适合人群:具备自动控制理论、无人机系统建模或多智能体协同控制基础,从事智能无人系统、集群控制、自动化机器人等领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于多无人机协同编队飞行、集群侦察、分布式任务执行等实际工程场景;②为分布式MPC算法在多智能体系统中的一致性控制提供可复现的Matlab仿真案例,推动先进控制理论向工程实践转化;③服务于科研论文复现、算法验证、控制系统课程设计毕业课题参考。; 阅读建议:建议读者结合文中提供的Matlab代码逐模块运行调试,重点关注分布式MPC在不同通信拓扑下对一致性收敛性能的影响,并可通过调整预测时域、权重矩阵噪声参数等方式深化对算法鲁棒性适应性的理解。
内容概要:本文提出了一种基于变分模态分解(VMD)、麻雀搜索算法(SSA)优化长短期记忆网络(LSTM)相结合的光伏功率预测模型(VMD-SSA-LSTM),旨在提升光伏发电预测的精度鲁棒性。该方法首先利用VMD对原始非平光伏功率序列进行自适应分解,获得一系列具有更定特征的本征模态分量(IMFs),有效降低数据复杂性噪声干扰;随后引入麻雀搜索算法(SSA)对LSTM网络的关键超参数(如学习率、隐层节点数等)进行全局寻优,克服传统试凑法效率低、易陷入局部最优的问题,显著提升模型收敛速度泛化能力;最后,构建多个LSTM子模型分别预测各模态分量,并将结果重构得到最终的光伏功率预测值。该混合模型充分融合了VMD在信号预处理中的优异分解性能、SSA在参数优化中的高效搜索能力以及LSTM在捕捉时间序列长期依赖关系上的强大建模优势,实现了对复杂气象因素影响下光伏出力波动的高精度拟合预测。; 适合人群:具备一定电力系统、新能源发电或时间序列预测基础知识,熟悉MATLAB编程环境,从事光伏功率预测、智能电网调度、可再生能源集成、负荷预测等领域研究的科研人员、工程技术人员及高校研究生。; 使用场景及目标:①应用于光伏电站的短期超短期功率预测,为电网安全调度、电力市场交易、储能系统配置及需求侧响应提供精准数据支撑;②解决传统单一预测模型(如ARIMA、BPNN、单一LSTM)在处理非平、强波动性光伏数据时存在的精度不足、定性差等问题;③为风电、负荷等其他非平时序预测问题提供一种有效的“分解-优化-预测”混合建模范式技术实现路径。; 阅读建议:建议读者结合文中提供的完整MATLAB代码,深入理解VMD信号分解、SSA优化算法流程及LSTM网络构建的每一个技术环节,通过实际历史数据进行模型复现对比实验(如VMD-LSTM、SSA-LSTM等模型比较),掌握参数调优技巧模型性能评估方法,从而真正掌握该先进混合预测模型的核心思想应用精髓。
代码转载自:https://pan.quark.cn/s/a4b39357ea24 在当代信息技术行业,深度学习技术的应用已经全面渗透到众多实际情境中,其中生成对抗网络(GAN)以及深度卷积生成对抗网络(DCGAN)被视为促进人工智能领域发展的核心技术之一。接下来将具体阐述如何借助Pytorch框架MNIST数据集来完成基础GAN和DCGAN的开发,并解析过程中涉及的关键概念。 ### Pytorch框架MNIST数据集概述 **Pytorch** 被视为一种广受欢迎的开源机器学习平台,其具备动态计算图高度适应性等特性,因此在学术研究领域备受推崇,能够支持多种类型的深度学习架构。 **MNIST数据集** 是一个包含手写数字的图像集合,常用于训练各类图像识别系统,涵盖从0至9的数字图像,每张图像的尺寸为28x28像素。由于其入门级难度,MNIST数据集特别适合用于教学演示和实验操作。 ### 基础生成对抗网络(GAN)核心概念 **基础GAN** 是一种由生成器(Generator)和判别器(Discriminator)构成的无监督学习框架。生成器的核心任务是创造足以乱真的图像数据,而判别器的关键职责在于精确辨别真实图像生成图像之间的差异。 1. **生成器**:该模块以随机噪声为输入,通过深度神经网络进行转换,最终输出接近真实图像的数据。其根本目的在于迷惑判别器。 2. **判别器**:对输入数据(无论是真实图像还是生成图像)进行评估,并输出其属于真实样本的概率。判别器的训练重点在于提升识别的精确度。 3. **训练机制**:GAN的训练过程涉及两个网络之间的交替训练,即在锁定一个网络参数的情况下对另一个网络进行训练。首先优化判别器以增强其区分能力...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值