基于Java的健康管理系统的设计与实现_第1页
基于Java的健康管理系统的设计与实现_第2页
基于Java的健康管理系统的设计与实现_第3页
基于Java的健康管理系统的设计与实现_第4页
基于Java的健康管理系统的设计与实现_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章绪论1.1研究目的和意义健康管理系统的特性有:个性化、及时性、便利性以及互动性,可以让用户进行实时的健康记录更加的方便快捷,查询本人的健康记录更加的迅速更加的醒目,系统帮助用户达成迅速养成良好的自我健康管理的习惯的目标。这套健康管理系统可以从多方面角度帮助人们养成优良的,有秩序的,健康的生活习惯,充分的提高人们对自我健康的重视,以及人们的自律的能力,同时可以降低人们患病风险,不断的提高人们的生活质量。如今伴着社会大步前进和,现代人们生活水平的不断攀升,现代人对于自我身体健康的重视程度逐渐攀升。由于慢性疾病可能会造成的危害越来越大,迫使现代人们意识进行主动健康管理的必要性。目前,在我国,大约有15%的人是健康人群,15%的人是非健康人群,70%的人是亚健康人群。会主动积极参与健康管理的人群不到5%,由此可见人们的健康意识是非常薄弱的,着导致了很多家庭每年在医疗的费用支出会超出该家庭年总收入的30%以上更有甚者比例难以想象,这个比例非常的惊人,甚至于有人因为医疗费用变的贫困却也无法挽救他们家人生命。因而一个具有高实用性的系统,可以快速便捷且精确的综合评测人们健康状况的健康管理软件的需求愈来愈变的迫切[1]。1.2国内外研究现状现如今我国的健康管理作为一个新起行业还处于萌发阶段,合理的健康管理理念并没有让人们得到合理重视,健康管理的目标群体相对较小,健康管理的目标群体多为高收入群体。到目前为止,健康管理服务机构只发展了几个,而且大多数的健康管理机构所能提供的健康服务十分简单,未能实现健康管理服务多样化的目的。杨彬、华泽玺、杨关建等人于2014年发表的《基于云计算的个人智能健康管理系统》一书,在云计算的基础上,将医疗信息以云端的形式进行储存,并以云端的形式将医疗信息储存起来。该系统能够对医务人员提供一个参考的诊断结果,同时也能够将自己的健康情况上传到云端,方便与医务人员进行及时的交流。这就减少了使用者到医院进行的检查次数,也减少了下线就医的次数,从而提升了使用者的生活品质[2]。赵露婷、左海维、孙世强等于2019年发表的《基于物联网的日常体检健康管理系统》中,首次提出了一种针对慢性疾病及其他人群的健康管理服务体系。该系统以物联网技术和无线Mesh网络技术为基础,可以完成对用户体征信息的采集及软硬件之间的数据互动。病人可以在Android端进行一键体验,可以进行实时的身体检查,方便对身体进行自我的健康管理。欧美等发达国家早在二十世纪七十年代就开始了对健康管理的研究,随着时代的发展,对健康管理的研究越来越多,对它的研究也越来越多,越来越多的人开始关注它。健康管理这一领域有着庞大的市场需求,它正强力地向前推进着,并逐渐形成了一个独立的行业--健康管理行业。在医疗卫生领域,美国是一个很早就开始进行医疗卫生服务的国家,而且已经建立了较为完备的医疗卫生服务体系[3]。PravinPawar,NeerajParolia,SameerShinde,ThierryScarEdoh,MadhusudanSingh,《eHealthChain—ablockchain-basedpersonalhealthinformationmanagementsystem》,eHealthChain-ablockchain-basedpersonalhealthinformationmanagementsystem,由PravinPawar,NeerajParolia,SameerShinde,TierryScarEdoh,ThierryScarEdoh,MadhusudanSingh,提出的一个以区块链为基础的个人健康管理系统,这种区块链技术是通过整合所有患者的健康实时临床数据并经过数据处理后将其呈现的最新的安全医疗保健设置,可以实现真正的个性化、真实和安全的以来保健。2020年,Baer,HeatherJ;DeLaCruz,BarbaraA;Rozenblum,Ronen等人在《Integratinganonlineweightmanagementprogramwithpopulationhealthmanagementinprimarycare:Design,methods,andbaselinmedatafromthePROPSrandomizedcontrolledtrial》的研究表明,在线的应用程序可以帮助人们实现真正意义上的具有临床意义的健康管理,尽管效果可能小于面对面的指导纠正,但是在几项研究中证明是有效的。1.3论文组织架构这篇论文的框架是这样的:第一章:绪论。文章在引言部分,首先引出了基于Java的健康管理系统的选题目标和现实意义,分析了目前国内外健康管理体系存在的主要问题,设计出了论文的基本框架以及基本流程。第二章:相关理论技术。介绍了软件的设计与实现过程。第三章:系统分析。是对系统的分析,在此基础上,重点论述了建立健康管理系统的必要性和可行性。第四章:系统设计。是本系统的整体设计,在此基础上进行了系统的整体设计,主要包括系统所需要的主要功能和系统所用的数据库等。第五章:系统实现。为本系统的具体实施,系统的实施主要是在本系统的功能中,对每一个功能模块的函数进行了代码的实施,并给出了一些主要的代码。第六章:系统测试。对本系统进行了实验验证。本章的重点是对本系统的各大项模块的基础性能进行了初步的试验,并给出了试验结果。第七章:总结。主要是对本系统进行一次全面的总结,分析已有的功能潜在的问题,以及待完善项和待规划项目,并对系统今后的发展进行展望。第2章相关理论和技术2.1Java简介在1995年5月,太阳微系统公司发明并发布了Java程序语言[4]。Java编程是一个通用术语,也是一个Java开发平台。因为Java具有跨平台性、动态性和可移植性等优点,所以它才会慢慢地被大量的程序设计爱好者所接纳,并持续地将Java技术向前推进,而这也是Java技术能够一直保持稳定和完善的原因。按照Java的应用发展方向,Java平台可以被划分成三个发展体系,分别是J2SE(java2Platform标准版)标准版、J2EE(java2Platform)企业版、J2ME(Java2平台标准)小版本。JAVA与C++都是面向对象的编程语言。在继承了C++的很多理念的同时,又去除了C++中的指针,多重继承等技术理念。另外,在Java语言中引入了一个不需要程序员手动处理的自动化垃圾收集的特性,从而保证了Java容器对系统资源的充分利用,同时也提高了系统的整体工作效率[5]。它的工作机理跟其他的编程语言也有很大的区别,Java语言的程序在运行时,会先将代码编译成二进制的字节码,之后再由其虚拟机来进行解码,因此,才能达到其“一次编译、处处可执行”的跨平台特征。在Java的基础运行环境中,有很多对于我们进行编程很有帮助的基础类库函数,可以使我们无需二次开发就可以大大提高我们的程序开发效率,也可以加速我们的程序开发过程。其中,JAVA企业程序设计界面为JAVA企业程序设计提供了一个可以被直接使用的大量类库。另外,Java的应用范围非常广泛,使用它所研制出来的系统在未来的维修保养方面也非常的便利。总之,采用Java进行开发是一种不错的选择[6]。2.2MySQL特点 1.功能强大在MySQL中,本系统采用了多种形式的数据储存引擎,每一种都有其自身的特点,能够根据不同的情况作出相应的响应。这样,就能让使用者,按照自己的偏好,挑选出最适合自己的,发挥出MySQL性能的引擎。MySQL可以对每天访问量达到几亿级的高密度搜索网站进行处理。MySQL5还提供了一些与处理、视图、储存程序、触发等有关的特性。2.支持跨平台MySQL可以被用于20多个开发平台,比如:Linux、IBMAIX、免费BSD、windows、AIX等。这种能力让MySQL可以在多种不同的平台上进行操作。而无需修改现有的软件。3.运行速度快MySQL其中一个特性是运行速度非常块。因为MySQL使用一种叫做MyISAM的B型树形磁盘数据,并使用了一个新的数据集来进行数据的存储和存储;MySQL是利用一个经过优化的单个扫描多个连接来达到效率;SQL功能还可以用成都的高级类库来进行优化,综上所诉优点与MySQL使其运行速度非常快。4.支持面向对象MySQL为用户提供了一种混合程序设计的方法。主要有三种方法:单纯的物件导向,以及面句,把物件导向可以当作程式设计的方法。具有较高的安全性MySQL是一种具有弹性与安全性兼备的授权与口令体系,它使用了一种以宿主为基础的身份认证方式。为了保证口令的安全,在使用者联机至MySQL伺服器时,会在传送时对口令进行加密。6.成本低相比较与Oracles数据库,MySQL最大的优势之一在于它提供了一个开放的、免费的软件,而这个软件无需使用者花钱从网上下载。7.支持各种开发语言MySQL可以支持目前世界上绝大多数的流行语言,其中也包括了很多的API函数,支持的语言包括了PHP、ASP.NET、Java、Python、C、C++语言等等,体现其具有很高的适用性,可以满足绝大多数人的数据库开发需求。8.数据库存储容量大事实上,MySQL中可以使用的最大表尺寸由用户自身的OS定义,而不是由MySQL定义的。InnoDB存储引擎可以将其的表储存在一个表的空间内,这个控件可以由多个文件来创建,这个表的最大可以容纳的数据通常是64TB,这已经足够处理大量的数据了。9.支持强大的内置函数MySQL给用户带来了大量的内部函数,这些函数能够为任何Web程序的开发提供必要的支持。在其内部,它还可以完成文件的上传功能,对数据库的连接等功能,同时MySQL还支持非常多的扩展库。例如MyQLi等,可以快速的开发为用户提供了高效快捷的方式。2.3Spring框架Spring框架是一个开放源码的容器,它以Java平台为基础,由Spring所提供[8]。虽然Spring框架本身并不受限于编程模式,但是它在Java开发环境中的普遍使用,以及与企业JAVABean(企业JAVABean)的融合,都让Spring成为了主流。SpringFramework为开发人员提供了一个简便的解决方法。比如,Spring充分挖掘了控制反转(IOC)这一关键特征,采用依赖性的注射方法来完成IOC,为其提供了一个全寿命的容器。Spring框架使用了一种基于切割的程序设计来实现声明性的交易,它整合了多种持久性技术来对数据进行存取,并为其提供了一系列易于开发的优良Web框架。Spring的可逆特性就是利用Java中的一种映射方法来实现对Java对象的统一配置与管理。SpringFramework利用一个用于对生成的对象进行全寿命管理的容器。Spring容器可以根据XML文件或专门的Java注释对对象进行配置。在此基础上,本文提出了一种新的面向对象生成方法。Spring体系结构包括一个AOP体系结构,该体系结构基于一个AOP体系结构,该体系结构可以在运行时进行配置;AOP体系结构的关键是要解决各功能模块之间的相关性问题。虽然Spring的AOP体系结构无法与AspectJ体系结构相提并论,但Spring体系结构的AOP体系结构只能为AOP体系结构提供基本的AOP特性,而且还可以与AspectJ集成,实现软件开发的目标。通过使用Spring的AOP技术,我们可以在Spring的框架内实现交易、远程存取等功能。Spring的交易管理框架为Java平台提供了一种抽象机制,使得局部交易、全局交易、嵌套交易等都能在Java平台上运行,并且适用于Java平台上的各种环境[8]。Spring集成了大量的交易模版,可以通过对交易模版进行设置、对hiXML进行修改,也可以使用Java注解对交易进行设置。Spring的数据访问框架帮助开发者解决了在其应用程序中面对的普遍问题。该系统既能在各种常用数据存取框架中实现,又能在各种数据存取框架中实现,还能在Spring中实现数据存取。2.4Vue框架VueFramework是一个逐步发展的架构,其目的是建立使用者界面。VueFramework和其他一些大的Framework的区别在于:VueFramework是为了能够自下而上地实现一个层次的应用而设计的。VueFramework的核心代码库仅仅关注于VueFramework,该框架不但易于使用,而且可以与一个第三方的基础程序或现有的项目相融合。另外,如果将Vue架构与当代的工具链以及各类支援类库一起运用,那么Vue架构就能完全胜任为一个单一页面的复杂程序所需的所有工作[9]。第3章系统分析3.1可行性分析3.1.1技术可行性技术的可行性的意义指的是,系统在开发者的开发过程中,所运用的技术,所依据的平台,所运用的框架,开发者采取了怎样的设计模式,这些本文在基础知识的介绍中都对其进行了具体的阐述[7]。对于本次系统的开发,本人以Java语言为基础,对健康管理系统进行了设计与实现。本系统所使用的语言是Java语言,在这套系统的整体开发过程中,本系统使用SpringBoot框架作为系统的主体框架。IDEA是目前表现最好的一种多语言综合开发环境,而且大部分与它有关的软件都可以自由使用[10]。3.1.2经济可行性经济可行性的意义是开发者在软件开发的过程要合理安排项目既定的开发预算,在开发的过程中所有的指出费用都需要进行记录,并且是需要可查的,需要评估是否符合开发者在系统开发的过程中的要求。在系统完成后,开发者开发的基于Java的健康管理的系统的设计与实现拥有非常好的行业前景,同时系统也有非常高的经济价值,项目在进行系统开发前就已经考虑过系统的经济价值,综合以上多方面的考量,本人认为该系统从经济上来讲是可行的。3.1.3操作可行性在本系统交付使用人员或者运维人员以后,开发者需要保证系统使用的操作简便性,操作便捷性,本系统绝大多的功能都是通过提前设计完好的UI界面来实现的,数据的录入也保证了设计的灵活性和完整性,保证一定程度上不产生歧义,达到方便管理员以及用户查看健康信息。本人认为简洁高效必须是系统要满足的特性,在开发者的实际的开发过程中,不用等级的用户就要给予不同的权限,防止可能出现的权限问题导致系统的可用性降低。从以上的几点做出考量,本人认为本次开发从操作上来说是绝对可行的。3.1.4法律可行性此次整体开发,我们从法律的角度做出一下声明:1.本次本人开发所使用的所有的技术资料都是通过合法途径获取到的;2.整个自主进行研发过程中不存有任何的知识产权问题;3.自主进行研发过程从无抄袭任何的网站和论文,不可能存在有任何侵犯版权的问题;4.自主进行研发的过程都由本人操作,本人原始的劳动,不涉也承担其不存在的任何的法律责任。3.2需求分析通过对系统的功能需求分析,可以更好地理解在软件功能需求的实现过程中,所需要实现的功能和不需要实现的功能。周期性的对系统进行需求分析对避免和更早的发现早期产生的错误有较大的帮助,以此来达到提升软件生产效率,降低了软件的开发成本,更好的改进了软件质量。3.2.1功能需求分析本文设计将要实现一个基于Java的健康管理系统,首先是实现用户的注册与登录,可以查看体检项目和健康咨询,进行在线反馈,发表健康论坛。管理员可以对系统内的信息展开统一管理等功能。健康医生可以对用户身体数据和BMI值进行管理。在此基础上来完成的基于Java的健康管理系统的设计与实现。主要业务流程如图3.1,主要用例如图3.2、3.3、3.4所示:健康医生健康等级BMI管理身体数据管理在线反馈管理健康建议管理健康论坛管理是系统首页是否登录否登录/注册健康指南健康论坛健康建议体检项目健康咨询在线反馈健康论坛…判断身份用户管理员健康医生健康等级BMI管理身体数据管理在线反馈管理健康建议管理健康论坛管理是系统首页是否登录否登录/注册健康指南健康论坛健康建议体检项目健康咨询在线反馈健康论坛…判断身份用户管理员用户管理健康指南管理图3.1业务流程图用户用户登录注册健康体检项目在线反馈查看BMI健康值健康论坛发帖查看健康指南图3.2用户用例图管理员管理健康体检项目管理员管理健康体检项目登录用户管理管理在线反馈管理身体数据管理BMI健康值管理健康论坛图3.3管理员用例图健康医生注册登录管理身体数据管理健康等级管理BMI值健康医生注册登录管理身体数据管理健康等级管理BMI值3.2.2非功能需求分析因为本文所开发的以Java为基础的健康管理系统中,存在着海量的信息和与之有关的基础信息,因此,在系统的设计和研发中,特别设置了一个用户身份验证和权限控制模块,来验证进入系统的用户的身份。当整个系统中的所有用户的身份都经过了系统的认证之后,系统将根据用户的身份来给他们分配对应的权限,为了保证他们能够在自己的权限范围之内进行数据的处理,系统对他们的权限进行了限定,并且对他们的权限进行了限定,使得他们的权限仅限于他们自己的权限范围。用户权限控制机制对系统数据的安全起到了很好的保护作用[16]。第4章系统设计4.1功能模块设计这个系统应该完成的主要功能包括:用户实现登录注册,健康论坛的查看与发表,在线反馈,查看体检项目,管理员实现用户的管理,健康医生的管理,在线反馈数据的管理,用户体检项目的管理。健康医生实现对用户的身体数据的管理,BMI健康值的管理,用户的健康等级的管理。系统的功能模块如图4.1所示:健康管理系统健康管理系统用户健康医生管理员登录注册在线反馈管理健康论坛管理健康医生管理用户管理查看体检项目在线反馈健康论坛发帖体检项目管理身体数据管理健康等级管理BMI健康值管理图4.1系统功能模块图4.2数据库概念设计1.管理员实体图管理员管理员用户名创建时间角色密码图4.2管理员实体图2.用户实体图用户用户电话号码创建时间密码账号邮箱性别年龄头像图4.3用户实体图 3.健康医生实体图健康医生用户名创建健康医生用户名创建时间性别密码工号图4.4健康医生实体图4.健康管理实体图健康管理健康指南管理身体数据管理健康等级管理BMI健康值管理在线反馈管理健康管理健康指南管理身体数据管理健康等级管理BMI健康值管理在线反馈管理健康体检项目管理图4.5健康管理实体图5.E-R图用户建议健康管理电话号码密码健康论坛用户建议健康管理电话号码密码健康论坛BMI健康值创建时间头像性别账号姓名健康咨询在线反馈体检项目健康指南管理员管理管理用户名密码创建时间角色邮箱健康医生建议创建时间工号用户名密码性别图4.6E-R图4.3数据库物理设计本次对数据库的物理设计包含了四个步骤:一是要在选择的数据库中保存的数据结构,二是要用什么方式保存并获得这些数据,三是要为系统的数据库寻找一个合适的保存地点,四是要把这些数据放在系统的数据库之中[17]。而数据库本体的设计则是为了解决在系统的数据库中,数据是怎样被保存和获得的,而这些数据又是怎样被保存的问题。接下来,他要做的,就是在资料库里设置一个连接线,吸引更多的资料进入资料库。按照访问数据的类型,可以将数据的存储结构划分成索引表和序列表,它们分别实现了不同的查询效果。健康管理系统的设计具体表设计如下:表4.1gonggaolan公告栏字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPCURRENT_TIMESTAMPbiaotivarchar200标题gonggaoleixingvarchar200公告类型fengmiantupianlongtext4294967295封面图片neironglongtext4294967295内容faburiqidatetime发布日期faburenvarchar200发布人表4.2forum健康论坛字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPtitlevarchar200帖子标题contentlongtext4294967295帖子内容parentidbigint父节点iduseridbigint用户idusernamevarchar200用户名avatarurllongtext4294967295头像isdonevarchar200状态表4.3shentishuju身体数据字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPyonghuzhanghaovarchar200用户账号xingmingvarchar200姓名xingbievarchar200性别nianlingint年龄tiwenvarchar200体温xinlvvarchar200心率xueyavarchar200血压shengaovarchar200身高tizhongvarchar200体重celiangriqidate测量日期表4.4discussjiankangzhinan健康指南评论表字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPrefidbigint关联表iduseridbigint用户idavatarurllongtext4294967295头像nicknamevarchar200用户名contentlongtext4294967295评论内容replylongtext4294967295回复内容表4.5nwes健康咨询字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPtitlevarchar200标题introductionlongtext4294967295简介picturelongtext4294967295图片contentlongtext4294967295内容表4.6config配置文件字段名称类型长度字段说明主键默认值idbigint主键主键namevarchar100配置参数名称valuevarchar100配置参数值表4.7messages在线反馈字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPuseridbigint留言人idusernamevarchar200用户名avatarurllongtext429496头像contentlongtext429496留言内容cpicturelongtext429496留言图片replylongtext429496回复内容rpicturelongtext429496回复图片表4.8bmijiankangzhibmi健康值字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPyonghuzhanghaovarchar200用户账号xingmingvarchar200姓名tizhongvarchar200体重shengaovarchar200身高jiankangzhivarchar200bmi健康值yishenggonghaovarchar200医生工号yishengxingmingvarchar200医生姓名dengjiriqidatetime登记日期表4.9jiankangzhinan健康指南字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPwenzhangbiaotivarchar200文章标题wenzhangtupianlongtext4294967295文章图片wenzhangjianjievarchar200文章简介wenzhangneironglongtext429496文章内容wenzhangleixingvarchar200文章类型faburiqidatetime发布日期huibaoneironglongtext429496汇报内容renyuanxingmingvarchar200人员姓名sfshvarchar200是否审核待审核shhflongtext429496审核回复表4.10yonghu用户字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPyonghuzhanghaovarchar200用户账号xingmingvarchar200姓名mimavarchar200密码xingbievarchar200性别nianlingint年龄shoujivarchar200手机shenfenzhengvarchar200身份证touxianglongtext429496头像表4.11jiangkangyisheng健康医生字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPyishenggonghaovarchar200医生工号yishengxingmingvarchar200医生姓名mimavarchar200密码xingbievarchar200性别yilingvarchar200医龄lianxidianhuavarchar200联系电话zhaopianlongtext4294967295照片表4.12xiangmufenlei项目分类字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPxiangmufenleivarchar200项目分类表4.13jiankangtijianxiangmu健康体检项目字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPxiangmubianhaovarchar200项目编号xiangmumingchgvarchar200项目名称xiangmufenleivarchar200项目分类xiangmufengmianlongtext429496项目封面fabushijiandate发布时间xiangmuxiangqiglongtext429496项目详情表4.14users用户表字段名称类型长度字段说明主键默认值idbigint主键主键usernamevarchar100用户名passwordvarchar100密码rolevarchar100角色管理员addtimetimestamp新增时间CURRENT_TIMESTAMPuseridbigint用户idusernamevarchar200用户名avatarurllongtext429496头像isdonevarchar200状态表4.15jiankangjianyi健康建议字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPyonghuzhanghaovarchar200用户账号xingmingvarchar200姓名shengaovarchar200身高tizhongvarchar200体重jianyineirongvarchar200建议内容jianyixiangqingvarchar200建议详情beizhuvarchar200备注yishenggonghaovarchar200医生工号yishengxingmingvarchar200医生姓名lianxidianhuavarchar200联系电话jianyiriqidatetime建议日期表4.16tokentoken表字段名称类型长度字段说明主键默认值idbigint主键主键useridbigint用户idusernamevarchar100用户名tablenamevarchar100表名rolevarchar100角色tokenvarchar200密码addtimetimestamp新增时间CURRENT_TIMESTAMPexpiratedtimetimestamp过期时间CURRENT_TIMESTAMPjianyixiangqingvarchar200建议详情beizhuvarchar200备注yishenggonghaovarchar200医生工号yishengxingmingvarchar200医生姓名lianxidianhuavarchar200联系电话jianyiriqidatetime建议日期表4.17jiankangdengjibiaozhun健康等级标准字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPbiaozhunleixingvarchar200标准类型表4.18jiangkagndengji健康等级字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPjiankangdengjivarchar200健康等级yonghuzhanghaovarchar200用户账号xingmingvarchar200姓名yishenggonghaovarchar200医生工号yishengxingmingvarchar200医生姓名第5章系统实现5.1实现环境开发语言:Java框架:springboootJDK版本:JDK1.8服务器:tomcat7数据库:mysql5.7数据库工具:Navicat11开发软件:Eclipse/MyEclipse/IDEAMaven包:Maven3.3.9浏览器:谷歌浏览器5.2登录注册用户首次登录网站,使用本系统的时候是需要注册的,在二次登录的时候就不需要注册了。然后,用户就可以登陆了,只需要用户点击一下“登录”键。用户在登录管理系统时,输入正确的用户名和密码后,页面将会自动的通过重定向的方式转到平台个人中心。用户注册的功能界面图如图5.1:图5.1用户注册界面用户注册功能的注册数据流程图如图5.2所示:输入账号输入账号输入密码确认密码输入用户信息点击注册注册成功结束开始是否已注册是否一致否是否是图5.2注册数据流程图用户登录的登录界面如图5.3所示:图5.3用户登录界面用户登录的登录数据流程如图5.4所示:是是否是是否登录开始注册否输入账号密码,选择角色判断账号密码是否正确查询角色权限跳转对应页面结束图5.4登录数据流程图用户的个人信息界面如图5.5所示:图5.5用户个人信息界面用户在进入网址时候映入眼帘的是网站首页界面,如图5.6所示:图5.6网站首页界面实现以及完成该功能的关键代码如下:/** *登录 */ @IgnoreAuth @PostMapping(value="/login") publicRlogin(Stringusername,Stringpassword,Stringcaptcha,HttpServletRequestrequest){ UsersEntityuser=userService.selectOne(newEntityWrapper<UsersEntity>().eq("username",username)); if(user==null||!user.getPassword().equals(password)){ returnR.error("账号或密码不正确"); } Stringtoken=tokenService.generateToken(user.getId(),username,"users",user.getRole()); returnR.ok().put("token",token); } /** *注册 */ @IgnoreAuth @PostMapping(value="/register") publicRregister(@RequestBodyUsersEntityuser){if(userService.selectOne(newEntityWrapper<UsersEntity>().eq("username",user.getUsername()))!=null){returnR.error("用户已存在");}userService.insert(user);returnR.ok();}5.3健康体检项目管理健康体检项目页面,如图5.7所示:图5.7健康体检项目健康论坛界面,如图5.8所示:图5.8健康论坛界面5.4健康指南管理健康指南,可以为用户推荐适合用户的健康指南文章,如图5.9所示:图5.9健康指南健康咨询界面,为用户提供健康咨询,如图5.10所示:图5.10健康咨询界面实现以及完成该功能的关键代码如下:@RequestMapping("/remind/{columnName}/{type}")publicRremindCount(@PathVariable("columnName")StringcolumnName,HttpServletRequestrequest,@PathVariable("type")Stringtype,@RequestParamMap<String,Object>map){map.put("column",columnName);map.put("type",type);if(type.equals("2")){SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");Calendarc=Calendar.getInstance();DateremindStartDate=null;DateremindEndDate=null;if(map.get("remindstart")!=null){IntegerremindStart=Integer.parseInt(map.get("remindstart").toString());c.setTime(newDate());c.add(Calendar.DAY_OF_MONTH,remindStart);remindStartDate=c.getTime();map.put("remindstart",sdf.format(remindStartDate));}if(map.get("remindend")!=null){IntegerremindEnd=Integer.parseInt(map.get("remindend").toString());c.setTime(newDate());c.add(Calendar.DAY_OF_MONTH,remindEnd);remindEndDate=c.getTime();map.put("remindend",sdf.format(remindEndDate));}}Wrapper<NewsEntity>wrapper=newEntityWrapper<NewsEntity>();If(map.get("remindstart")!=null){wrapper.ge(columnName,map.get("remindstart"));}if(map.get("remindend")!=null){wrapper.le(columnName,map.get("remindend"));}intcount=newsService.selectCount(wrapper);returnR.ok().put("count",count);}5.4在线反馈管理在线反馈,用户可以发布、查询、查看帖子,如图5.11所示:图5.11在线反馈界面发布帖子,如图5.12所示:图5.12添加论坛界面帖子内可以进行评论交流,如图5.13所示:图5.13帖子评论界面实现以及完成该功能的关键代码如下:/***论坛详情*/@IgnoreAuth@RequestMapping("/list/{id}")publicRlist(@PathVariable("id")Stringid){ForumEntityforum=forumService.selectById(id);getChilds(forum);returnR.ok().put("data",forum);}privateForumEntitygetChilds(ForumEntityforum){List<ForumEntity>childs=newArrayList<ForumEntity>();childs=forumService.selectList(newEntityWrapper<ForumEntity>().eq("parentid",forum.getId()));if(childs==null||childs.size()==0){returnnull;}forum.setChilds(childs);for(ForumEntityforumEntity:childs){getChilds(forumEntity);}returnforum;}5.5个人中心通过管理员身份登录到健康管理平台中,点击登录,跳转到后台管理首页,里面可以对个人中心,健康指南、健康医生、用户的资料、用户的健康数据、健康检查条目、体质指数、用户的健康指数、用户的健康分级。管理员登陆界面见图5.14:图5.14管理员登录界面后台管理首页如图5.15所示:图5.15后台管理首页界面个人中心,可以修改个人信息,如图5.16所示:图5.16个人中心界面用户管理界面,可以修改用户的用户数据,如图5.17所示:图5.17用户管理健康医生管理,可以修改健康医生的数据,如图5.18所示:图5.18健康医生管理实现以及完成该功能的关键代码如下:@RequestMapping("/save")publicRsave(@RequestBodyYonghuEntityyonghu,HttpServletRequestrequest){yonghu.setId(newDate().getTime()+newDouble(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(yonghu);YonghuEntityu=yonghuService.selectOne(newEntityWrapper<YonghuEntity>().eq("yonghuzhanghao",yonghu.getYonghuzhanghao())); if(u!=null){ returnR.error("用户已存在");} yonghu.setId(newDate().getTime());yonghuService.insert(yonghu);returnR.ok();}5.6健康论坛管理健康论坛,管理员可以进行增删改查,并且对帖子内的评论进行删除,如图5.19所示:图5.19健康论坛管理界面5.7健康医生-身体数据管理身体数据管理可以设置用户账号、姓名、性别、年龄、体温、心率、血压、身高、体重和测量日期,身体数据是由健康医生添加的,正如图5.20所示:图5.20身体数据页面身体数据管理,健康医生可以对用户的身体数据记录进行修改,如图5.21所示:图5.21身体数据管理5.8健康医生-BMI健康值管理BMI健康值管理界面,可以对用户的数据进行修改,如图5.22所示:图5.22BMI健康值管理界面BMI健康值管理,可以修改用户的数据记录,如图5.23所示:图5.23BMI数据值管理5.10健康医生-健康等级管理健康等级管理界面可以对用户的健康等级记录进行修改查询,如图5.24所示:图5.24健康等级页面健康等级管理界面可以修改用户的健康管理等级,如图5.25所示:图5.25健康等级管理5.11系统管理系统管理轮播图管理界面可以对系统首页的轮播图进行管理,如图5.26所示:图5.26轮播图管理界面健康咨询界面可以对健康咨询的数据进行管理,如图5.27所示:图5.27健康资讯界面实现以及完成该功能的关键代码如下:@RequestMapping("/query")publicRquery(NewsEntitynews){EntityWrapper<NewsEntity>ew=newEntityWrapper<NewsEntity>(); ew.allEq(MPUtil.allEQMapPre(news,"news")); NewsViewnewsView=newsService.selectView(ew); returnR.ok("查询健康资讯成功").put("data",newsView);} @RequestMapping("/info/{id}")publicRinfo(@PathVariable("id")Longid){NewsEntitynews=newsService.selectById(id);returnR.ok().put("data",news);} @IgnoreAuth@RequestMapping("/detail/{id}")publicRdetail(@PathVariable("id")Longid){NewsEntitynews=newsService.selectById(id);returnR.ok().put("data",news);}第6章系统测试在对各功能模块设计和前台操作界面设计完成之后,为了确保系统可靠稳定地运转,在正式使用之前,需要对系统进行一系列的功能和性能测试,从而方便在正式使用之前,对系统进行修复和改进。黑箱测试属于一种对整个系统的功能性进行的测试方法,在进行黑箱测试的时候,测试人员要以使用者的视角来考量,使用对应的功能测试用例,将系统的实际测试情况与期望情况进行对比,从而更容易地找到系统中存在的问题。在进行黑箱试验时,采用了偏差和边界值两种方法。一般情况下,在输入和输出值的边界上,系统的误差出现的几率要比内部大得多,所以,在决定了一个好的输入和输出范围之后,就可以选择一个边界值来对系统进行检测,进而对系统的稳定性和可靠性做出一个更深层次的判断。6.1测试步骤就像同样的发展过程中,应进行试验期间分步实施。从最基本的逻辑体现来说,后一步都是前面一步的继续,一个庞大的软件程序往往会由许多子程序组合而成,而每一个子程序下又有许多的代码模块。因此,一个大型的软体程式的测试,必须包括如下的步骤:1.对该模块进行了测试,以便能够发现该软件中的代码以及某些显著的设计缺陷。2.接下来要做的就是对该软件进行测试,然后找到该软件中的bug。3.对检测出缺陷的接受试验程序进行规定。6.2测试用例6.2.1登录测试用例用户端的测试用例是按照用户的需求来设计的,使用了黑盒测试的技术,因为版面的原因,在此仅列出了一些有代表性的测试用例表格。如表6.1所示。表6.1登录测试用例表测试编号测试目的操作步骤预期结果实际结果001登录测试输入正确的用户名和密码登录成功登录成功002登录测试输入错误的用户名登录失败登录失败003登录测试输入错误的的密码登录失败登录失败6.2.2身体数据管理测试用例管理端在运行时要满足用户的运行需求,比如添加身体数据测试、修改身体数据测试、删除身体数据测试等。本节根据管理端各模块进行测试,因考虑到本文篇幅有限,这里代表性的部分测试用例,如表6.2所示。表6.2身体数据测试用例表测试编号测试目的操作步骤预期结果实际结果001添加身体数据测试在添加页面输入身体数据,点击确认按钮添加成功添加成功002修改身体数据测试在修改页面修改身体数据,点击确认按钮修改成功修改成功003删除身体数据测试在管理身体数据页面,点击某一试卷的删除按钮删除成功删除成功004查询身体数据测试在身体数据管理页面查询输入框输入要查询的身体数据,点击查询按钮查询成功查询成功6.2.3健康论坛管理测试用例管理端在运行时要满足管理者的运行需求,比如添加评论测试、修改评论测试、删除评论测试等。如表6.3所示。表6.3健康论坛测试用例表测试编号测试目的操作步骤预期结果实际结果001添加评论在添加页面输入评论,点击确认按钮添加成功添加成功002修改评论在修改页面修改评论,点击确认按钮修改成功修改成功003删除评论在管理论坛页面,点击某一试卷的删除按钮删除成功删除成功6.3测试结论通过不同的测试用例对系统的大部分功能都进行了非常全面的测试,整个健康管理系统在测试的进程中,数据基本上都是正确的,可以准确的提供给用户。所以该系统不管是功能还是用户的使用体验感上

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论