养老院管理系统的设计与实现_第1页
养老院管理系统的设计与实现_第2页
养老院管理系统的设计与实现_第3页
养老院管理系统的设计与实现_第4页
养老院管理系统的设计与实现_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

养老院管理系统的设计与实现摘要随着老年化步伐的加速,老年人群体对于社会养老服务水平的要求不断提高,期待获得适时,适宜,经济,合理的社会养老模式,在这样的条件与环境下,社会养老服务逐渐成为现代医疗卫生服务中不能缺少的重要组成部分,并逐步成长了起来。尽管民众对经济上便捷的社会养老服务的要求日益紧迫,但同时也暴露出社会养老服务有待加强的方面。社区养老系统能够方便、快捷地处理各项事务。本系统借助IDEA平台以及MYSQL开发工具,以B/S为基点完成整体开发。该系统按照四个角色来进行功能模块划分:管理员可管理系统的权限列表、用户列表、日志列表、老人信息、床位信息、护工信息、亲属信息、探访申请、缴费信息等。护工可以添加查看老人的基本信息、床位分配管理、查询护工信息、薪资待遇、护工假勤。本系统是利用SSM结构,系统开发平台选择了IDEA2021,系统主要的开发语言采用Java(JDK:1.8.0)、VUE、MySQL等。系统后台管理采用ElementUI框架和HTML、CSS、LESS,SCSS等语言;采用MySQL关系型数据库;使用MyBatisPlus数据库ORM框架开发;采用SpringBoot内置Tomcat/Jetty作为应用务器。本系统主要实现的功能模块主要包括:系统的登录、老人信息模块、床位信息模块、护工信息模块、护工假勤模块等。关键词:SpringBoot;MyBatisPlus;养老;MySQL;IDEA目录TOC\o"1-3"\h\u265191绪论 页绪论随着社会的发展变迁,我国人口老龄化问题越加严重,传统的养老院模式在当今高速发展的互联网时代,存在着很多局限性,人工操作的模式,容易导致大量的人力物力的流失,这些问题的出现推动了信息技术的实现,急需一种高效率简单的操作系统来改良目前状况。研究背景和意义人口老龄化已经成为我国社会乃至全人类发展中最为关注的问题之一,且我国人口老龄化发展过程中还出现空巢化趋势,了解空巢老人的需要,加强对他们的关注无论是对空巢老人,对社会及国家来讲都是有必要的。民间传统的养儿防老,老人的病情并没有被家人或者医生及时的发现和的到良好的诊断,老人的病例以及身体状况指标信息不齐全也很大程度上影响医师对老人身体状况进行的正确评估,部分身心残障的老人购买物品和就餐也是很大的问题,对当代老人心里状况和精神生活需求也不能适应,老人的健康问题很容易遭到忽略。为了缓解空巢老人的实际需要,满足老年人生活需要,情感需要,社区养老能够给丰富的物质和精神生活。且当前疫情愈发严重,社区养老院管理变得愈发重要。国家视角:通过妥善解决空巢老人问题促进了社会主义和谐社会的建设,促进了尊老爱幼的中华传统文化的传承与发扬。而社会视角:通过构建和完善社会老龄化问题有利于增进社区平等互助的良好氛围,增强邻里感情,调高了社会的凝聚力,促进了社会的健康发展。个人视角:通过构建和完善社会赡养问题,可以让空巢老人更好的享受晚年生活,从而提高幸福度以及归属感,也可以让年轻人缓解养老压力,更好的保持与家人的和睦,所以社区养老模式营时而生,可以帮助中国家庭实现社区养老,合理配置护理资源,解决国家养老资源匮乏。养老院管理系统的设计与实现对全面提高养老院的服务及管理水平有很大的提升,为养老院的发展提供了可靠依据,减少护工人员的工作量,通过收集各种养老服务的数据,一方面完成数据统计,以报表的形式呈现结果,另一方面,为管理工作提高可靠的数据信息支持。国内外研究现状老龄化已经成了我国的“基本国情”,老龄化问题已经成为我国近些年来持续面临的挑战,第七次人口普查结果更是印证了这一判断,根据公布的全国第七次人口普查数据统计报告显示,中国总人口141178万,其中60岁及以上口为26402万,占总人口的18.7%;65岁及以上人口为19064万,占总人口的13.5%。该报告中也提出从2021年到2050年期间,我国社会将处于加速老龄化的发展阶段。到2030年和2050年老年人数量将分别超过2.7亿和4亿,老龄化水平超过30%。且我国人口老龄化发展过程中还出现空巢化趋势,老年人口越来越多,新一代90后因为房贷、车贷等各种因素生育意愿低,所以在今后的几十年中,老人占比会越来越多,因此养老院的发展越来越重要。而且近几年来新冠疫情愈加严重,所以养老院的管理变得尤为重要,且我国养老院处于传统人工模式,容易出现各种问题,继续一种新式的管理模式,所以养老院管理系统由此而生。面对人口老龄化的严峻挑战,我国传统的以家庭养老为主的模式已不能很好的承担养老重任,在社会经济条件有限的情况下,社会化养老在相当长的时间内也不可能取代家庭养老。所以,我国目前养老模式存在居家养老和养老院两种模式,家庭养老,一家只需照顾自家老人,所以十分容易,而养老院则需照看更多家庭的老人,所以养老院管理系统由此兴起,当然,作为一种新式的养老服务模式,养老院服务还存在着大量的问题等待解决。当前国际社会养老院模式多样花样百出,但是都很看重老人的精神状态,隐私生活等方面,不仅仅是为了保障老人的基本生活所需。特别是发达国家,比如美国,瑞士等,对养老院这一方面表现非常的重视,国家每年都会花费大量的资金去支持本国的养老事业。瑞士很早之前就被誉为“养老天堂”,瑞士的养老体系之所以很发达,是因为瑞士是一个人尽皆知的人口老龄化国家,养老制度相对于其他国家比较完善,否则根本无法支撑国内的现状。国外现代化科技的使用,树立了一个全新化的养老环境,脱离了保姆看管模式,采用全新电子保姆看护,如自动提醒老人吃药等服务,针对老年人的需求提供针对性和个别化的医疗服务,即减少了对老人打扰,且在老人需要时,及时的提供服务。主要内容及章节安排本文主要讲述了国内外养老事业的背景以及从数字化上来说,需要解决的问题。从现状出发,总结系统需求,根据需求,最终完成毕业设计,同时对系统的性能以及所选用技术进行介绍。具体的章节安排如下:第一章绪论,这一章的内容包括研究背景,意义,通过分析国内外目前关于这一课题的应用技术以及带来的优越性,最后列出本文的主要内容及章节安排。第二章主要是系统技术选型。详细讲述了系统的开发语言,详细设计,包括数据库设计,代码结构设计等。第三章是本文的主要部分,详细地讲述了养老院管理系统的设计。第四章,介绍了系统模块的设计。第五章主要介绍性能测试,功能测试。第六章是总结和展望。系统技术选型此次设计的题目要求为利用Java语言,MySQL数据库,SpringBoot开发框架等,实现软件的编码。本设计还采用IDEA,Navicat等开发工具。此外,本设计需要NodeJS运行环境才可以使用。Java编程语言的介绍Java诞生于1994年,是詹姆斯-高斯林发明的Java语言。从Java的第一个版本开始,到后续的Java5,Java6,Java7,Java8等,每个版本都具备较大的改动和功能迭代。同时Java具备良好的跨平台性,可以在Mac,Window,Linux系统下良好地运行,因为其采用了Java虚拟机,也就是JVM来进行运行Java程序,所以Java应用程序可以做到一处编写,处处运行。其实现此特性的根本原因为Java的底层是C/C++编写的,分别调用了Mac,Window,Linux系统底层的API,比如Java的volatile使用了底层的内存屏障指令,让线程副本变量强制从CPU的L1,L2,L3级别缓存强制性刷新到主内存里面(此处采用了CPU缓存一致性协议,此协议实现原理暂时不做介绍)。再比如,Java的syncronized关键字是可以实现可重入锁以及非公平锁,其底层就采用了操作系统的自旋,park,unpark机制来实现的,这种方法主要是通过调用Java的Native方法来实现的。Java由于良好的虚拟机设计,让它可以实现较好的内存管理机制,可以根据多种Java垃圾回收器和回收算法来实现良好的程序健壮性。Java虚拟机的发展,历经了很多个版本和过程,大致可分为:SunClassic/ExactVM->SunHotSpotVM->SunMobile-EmbeddedVM/Meta-CircularVMBEAJRockit/IBMJ9VM->AzulVM/BEALiquidVM->ApacheHarmony/GoogleAndroidDalvikVM等无论是虚拟机厂商的Java虚拟机的版本如何,都需要遵循Java虚拟机的设计规范,其大致规范结构如下图:图2.1Java虚拟机结构图在上图,程序计数器,是用来记录Java代码执行到哪一行,方便方法在退出栈帧后再次继续执行的,每个线程都有一个,这是线程私有的。方法区是线程共有的,它存储了已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。堆是存储了Java对象信息,同时堆区域也是分为区域的,一般分为s0和s1区还有eden区域,它是线程共享的(在Java8以后,方法区消失,划归到堆区中,同时可以申请堆外内存。线程栈,是每个Java的线程都具备的,为线程私有区域,它一般存储局部变量表,动态链接,方法出口,操作数栈等。本地方法区,是线程使用Native方法的时候所需要调用的。在Java程序运行的过程中,栈空间随着Java线程运行结束而结束,而堆内存会在不同时期会被Java内存回收机制(GC)回收。本系统采用Java8作为系统Java的版本,它具备良好的性能和广泛的应用性,是工业级生产中常用的Java版本。开发环境的搭建本毕业设计在编码前,需要配置安装Java和配置Java环境变量,此处只需要在Java官网下载对应的版本即可,然后直接安装,然后按照如下图配置好Java的环境变量即可:图2.2Java环境变量配置安装其他开发工具本毕业设计在编码时,需要安装IDEA,Maven,Navicat,NodeJS工具;此处,IDEA在官网下载即可,Maven也只需要在官网下载,如同Java配置环境变量一样(如图2.3),配置完毕即可。Navicat是数据库的浏览工具,采用官网下载安装的方式即可。图2.3Maven环境变量配置除了以上开发工具外,还需要安装NodeJS并且配置好环境变量,如图2.4所示:图2.4NodeJS环境变量配置系统运行需要链接和运行MySQL数据库,此处安装过程不再赘述。本章小结本章讲解了毕业设计需要编程语言的介绍,开发环境搭建以及配置,为完成毕业设计做好技术选型以及环境等工作。系统设计本章节主要是介绍养老院管理系统的详细设计,概要设计,系统模型建立,系统逻辑梳理等。系统开发环境及运行环境开发环境:1、操作系统:MacOS(本次设计使用的是MacOS12.3.1版本)2、开发语言:Java3、开发工具:IDEA、Navicat、NodeJS、MySQL4、数据库:MySQL系统运行环境:Java8.0需求分析本次毕业设计重点在于后端系统,专注于业务逻辑的实现[15]。在系统上可以实现所需的各种条件和需求。模块具体的分析如下:系统菜单权限的管理,系统人员的管理;老人信息的管理,亲属信息管理,护工薪资,假勤,报修功能记录的实现。探访申请的实现,健康资讯,健康活动功能的实现。总体功能设计如图3.1系统功能模块图3.1系统功能模块图流程设计当用户登陆系统后,系统就会跳转到主界面,然后根据RBAC权限模型实现判定当前用户的角色,能访问哪些菜单和按钮,从而决定改用户的权限,如护工可以对老人的信息进行管理,亲属可以预约探访,床位报修等,管理员可以对老人,护工,亲属的信息进行管理,可以发布资讯,可以发布健康项目,老人可以查看自己的信息,可以预约健康项目,可以查看资讯等。上述为系统的总体功能。系统模块划分完成系统模块的设计,需要按照需求分析完成系统流程设计,按照流程设计对系统进行模块分化,同时对于要加强系统的高内聚低耦合,让系统变得更加的完善。下面介绍系统每个模块需要实现的基本功能:(1)系统管理模块。此处主要是对系统的菜单,按钮进行定义,同时可以自定义任何系统角色,如老人,亲属,护工等角色,从而定义出每个角色所具备的权限,能访问的菜单等。(2)老人模块,此处是对老人的信息进行管理,可以对老人的信息进行增删改查操作。为分配老人的床位,可以查看老人所在的床位。可以对老人的床位进行增删改查操作。(3)护工模块,可以对护工的假勤信息,薪资信息,护工本身的信息进行维护。(4)亲属模块,可以对亲属的信息,亲属所对应的老人的信息进行维护。(5)健康项目模块和新闻资讯模块,可以对这两个模块信息进行维护。数据库设计数据库表的设计:根据本次毕业设计要求,为了满足系统的各项功能,设计了如下所示的数据库表。(1)系统用户表如表3.1所示,系统用户表存储了用户登陆的一些基本信息,如用户名、密码等,还存储了一些其他的信息,比如姓名等。表3.1系统用户表字段名称字段意义字段类型字段约束id系统用户IDbigint(20)PRIauth_user_id业务主键IDvarchar(32)user_name用户名textuser_number用户编号varchar(32)phone_number手机号码varchar(32)decryption_password明文密码textpassword密码(MD5)textnick_name昵称textavatar_url头像textreal_name真实姓名textgender性别varchar(6)auth_status用户状态bit(1)create_time创建时间datetimeupdate_time修改时间datetimeoperator_id创建人varchar(32)delete_status是否删除int(1)(2)角色表如表3.2所示,角色表存储了系统角色的一些基本信息,如角色名称等。表3.2角色表字段名称字段意义字段类型字段约束id主键IDbigint(11)PRIauth_role_id业务主键IDvarchar(32)role_name角色名称varchar(255)role_code角色编码textrole_remark描述信息textcreate_time创建时间datetimeupdate_time最后修改时间datetimeoperator_id创建人varchar(32)delete_status是否删除int(1)(3)权限表如表3.3所示,权限表存储了系统菜单的访问地址,菜单的类型,菜单的VUE组建地址表3.3权限表字段名称字段意义字段类型字段约束idbigint(20)PRIauth_permission_id权限名称varchar(255)parent_id上级权限idvarchar(32)permission_type1页面2按钮3其他资源int(20)MULsort_index排序int(10)permission_path前端路由路径textpermission_name权限名称textpermission_code权限编码varchar(50)permission_icon权限图标textpermission_remark备注textcreate_time创建时间datetimeupdate_time最后修改时间datetimeoperator_id创建人varchar(32)delete_status是否删除int(1)(4)角色-权限关联表如表3.4所示,角色权限关联表是连接角色表和权限表的一个中间表。在系统登陆的时候会进行关联查询。表3.4角色-权限关联表字段名称字段意义字段类型字段约束id主键IDbigint(20)unsignedPRIauth_role_permission_id业务主键IDvarchar(32)auth_role_id角色IDvarchar(32)MULauth_permission_id权限IDvarchar(20)create_time创建时间datetimeupdate_time更新时间datetimeoperator_id创建人varchar(32)delete_status是否删除int(1)(5)用户-角色关联表如表3.5所示,用户-角色关联表是连接角色表和用户表的一个中间表。在系统登陆的时候会进行关联查询表3.5用户-角色关联表字段名称字段意义字段类型字段约束idbigint(20)PRIauth_user_role_id业务主键IDvarchar(32)auth_role_id系统角色IDvarchar(32)auth_user_id系统用户IDvarchar(32)create_time创建时间datetimeupdate_time最后修改时间datetimeoperator_id创建人varchar(32)delete_status是否删除int(1)(6)事故记录表如表3.6所示,事故记录表主要存储了事故记录信息,如事故时间,事故详情等,它是和老人信息表关联起来的。表3.6事故记录表字段名称字段意义字段类型字段约束id主键IDbigint(11)PRIaccident_record_id业务主键IDvarchar(32)aged_data_id老人IDvarchar(32)accident_sketch事故详情textoccurred_time发生时间datetimecreate_time创建时间datetimeupdate_time修改时间datetimedelete_status是否删除int(1)(7)活动信息表如表3.7所示,活动信息表主要存储了活动信息数据,如活动时间,名称,地点等。表3.7活动信息表字段名称字段意义字段类型字段约束id主键IDbigint(20)PRIactivity_data_id业务主键IDvarchar(32)activity_name活动名称varchar(32)activity_time活动时间datetimelocation活动地点varchar(32)phone_number手机号varchar(32)turnout_name参与人姓名varchar(32)create_time创建时间datetime(8)老人-床位关联表如表3.8所示,老人-床位表主要存储了老人ID和床位ID,用于关联两者的信息。表3.8老人-床位关联表字段名称字段意义字段类型字段约束id主键IDbigint(11)PRIaged_bed_id业务主键IDvarchar(32)aged_data_id老人IDvarchar(32)bed_data_id床位IDvarchar(32)create_time创建时间datetimeupdate_time修改时间datetimedelete_status是否删除int(1)operator_id操作人varchar(32)(9)老人信息表如表3.9所示,老人信息表主要存储老人信息数据,如老人的姓名,家庭住址等。表3.9老人信息表字段名称字段意义字段类型字段约束id主键IDbigint(11)PRIaged_data_id业务主键IDvarchar(32)auth_user_id关联系统用IDvarchar(32)real_name姓名varchar(32)aged_img老人照片textgender性别,跟随枚举varchar(32)age年龄int(10)unsignedbody_state身体状况varchar(32)census_register户籍varchar(32)id_card_num身份证号码varchar(32)contacts联系人varchar(32)contacts_phone联系人号码varchar(32)home_address家庭住址textintake_time入住时间datetimedischarged_time出院时间datetimecreate_time创建时间datetimeupdate_time修改时间datetimedelete_status是否删除int(1)operator_id操作人varchar(32)(10)床位信息表如表3.10所示,床位信息表主要存储床位信息数据,如床位编号,是否被占用等。表3.10床位信息表字段名称字段意义字段类型字段约束id主键IDbigint(11)PRIbed_data_id业务主键IDvarchar(32)bed_num床位编号varchar(32)bed_remark床位备注varchar(32)use_status是否被占用int(1)create_time创建时间datetimeupdate_time修改时间datetimedelete_status是否删除1删除2未删除int(1)operator_id操作人varchar(32)id_card_num身份证号码varchar(32)(11)缴费信息表如表3.11所示,缴费信息表主要存储缴费的数据,如交钱的时间,金额等。表3.11缴费信息表字段名称字段意义字段类型字段约束id系统用户IDbigint(20)PRIfee_pay_data_id业务主键IDvarchar(32)correlation_id关联IDvarchar(32)fee_amount费用金额decimal(12,6)fee_remark费用备注textfee_type费用类型varchar(32)create_time创建时间datetimeupdate_time修改时间datetimeoperator_id创建人varchar(32)delete_status是否删除int(1)(12)健康服务预约表如表3.12所示,健康服务预约表主要存储健康服务预约数据,它包含多种健康预约信息。表3.12健康服务预约表字段名称字段意义字段类型字段约束id系统用户IDbigint(20)PRIhealth_order_id业务主键IDvarchar(32)user_name用户姓名varchar(32)contact_way联系方式varchar(32)order_type预约类型varchar(32)experts_name专家名称varchar(32)order_time预约时间datetimecreate_time创建时间datetimeupdate_time修改时间datetimeoperator_id创建人varchar(32)create_time创建时间datetimeupdate_time修改时间datetimedelete_status是否删除int(1)operator_id操作人varchar(32)(13)资讯信息表如表3.13所示,资讯信息表主要存储资讯信息数据,如咨询标题,咨询时间等。表3.13资讯信息表字段名称字段意义字段类型字段约束id系统用户IDbigint(20)PRInews_data_id业务主键IDvarchar(32)news_title资讯标题varchar(32)news_data资讯内容longtextcreate_time创建时间datetimeupdate_time修改时间datetimeoperator_id创建人varchar(32)delete_status是否删除int(1)(14)护工关联表如表3.14所示,护工关联表主要存储护工与老人关联数据,用于将老人和护工关联起来。表3.14护工-老人关联表字段名称字段意义字段类型字段约束id主键IDbigint(11)PRInursing_aged_id业务主键IDvarchar(32)nursing_data_id护工IDvarchar(32)aged_data_id老人IDvarchar(32)create_time创建时间datetimeupdate_time修改时间datetimedelete_status是否删除int(1)(15)护工信息表如表3.15所示,护工信息表主要存储护工信息数据,如护工名称,当前状态等,它是护工模块的主表。表3.15护工信息表字段名称字段意义字段类型字段约束id主键IDbigint(11)PRInursing_data_id业务主键IDvarchar(32)auth_user_id关联用户IDvarchar(32)nursing_img护工照片textnursing_name护工名称varchar(32)nursing_status护工状态1:正常2:禁用int(1)create_time创建时间datetimeupdate_time修改时间datetimedelete_status是否删除int(1)operator_id操作人varchar(32)(16)护工工资表如表3.16所示,护工工资表主要存储护工工资数据,如护工工资,支付状态等。表3.16护工薪资表字段名称字段意义字段类型字段约束id主键IDbigint(11)PRInursing_salary_id业务主键IDvarchar(32)nursing_data_id护士IDvarchar(32)salary_amount薪资decimal(10,2)deduction_amount扣除费用decimal(10,2)pay_status支付状态varchar(10)pay_amount实付decimal(10,2)salary_remark薪资备注varchar(32)create_time创建时间datetimeupdate_time修改时间datetimedelete_status是否删除int(1)(17)护工假勤表如表3.17所示,护工假勤表主要存储护工假勤信息数据,如请假时间,请假事由等。表3.17护工假勤表字段名称字段意义字段类型字段约束id主键IDbigint(11)PRInursing_time_off_id业务主键IDvarchar(32)nursing_data_id护工IDvarchar(32)time_off_status请假状态int(1)unsignedtime_off_begin请假开始时间datetimetime_off_end请假结束时间datetimetime_off_remark请假缘由textcreate_time创建时间datetimeupdate_time修改时间datetimedelete_status是否删除int(1)operator_id操作人varchar(32)(18)系统API日志表如表3.18所示,系统API日志表主要存储系统API日志数据,每次系统的接口被访问和调用,都会向该表中插入数据。表3.18日志表字段名称字段意义字段类型字段约束id主键IDbigint(11)PRIplatform_api_log_id系统API日志主键IDvarchar(32)user_name操作者用户名varchar(32)operation操作内容varchar(32)operation_time耗费时间varchar(32)method操作方法longtextparams方法参数longtextlocation操作地点varchar(32)request_ipIP地址varchar(32)create_time创建时间datetimeupdate_time修改时间datetimeoperator_id创建人varchar(32)delete_status是否删除int(1)operation操作内容varchar(32)operation_time耗费时间varchar(32)method操作方法longtext(19)业务字典表如表3.19所示,务字典表主要存储业务字典信息数据。表3.19业务字典表字段名称字段意义字段类型字段约束id主键IDbigint(11)PRIplatform_dict_id系统字典主键IDvarchar(32)dict_type业务字典类型varchar(32)dict_key键varchar(64)dict_value值varchar(100)sort_index排序字段int(10)dict_remark字典备注textcreate_time创建时间datetimeupdate_time修改时间datetimedelete_status是否删除int(1)operator_id操作人varchar(32)(20)亲属关联表如表3.20所示,亲属关联表主要存储亲属信息数据,如亲属id,创建时间等,用于关联亲属和老人信息,方便查询。表3.20亲属-老人关联表字段名称字段意义字段类型字段约束id主键IDbigint(11)PRIrelative_aged_id业务主键IDvarchar(32)aged_data_id老人IDvarchar(32)relative_data_id亲属IDvarchar(32)create_time创建时间datetimeupdate_time修改时间datetimedelete_status是否删除1删除2未删除int(1)operator_id操作人varchar(32)(21)亲属信息表如表3.21所示,亲属信息表主要存储亲属信息数据。表3.21亲属信息表字段名称字段意义字段类型字段约束id主键IDbigint(11)PRIrelative_data_id业务主键IDvarchar(32)auth_user_id关联用户IDvarchar(32)relative_img亲属照片textrelative_name亲属姓名varchar(32)phone_number联系电话varchar(32)id_card_num身份证号码varchar(32)gender性别,跟随枚举varchar(32)age年龄int(10)unsignedcreate_time创建时间datetimeupdate_time修改时间datetimedelete_status是否删除int(1)(22)报修信息表如表3.22所示,报修信息表主要存储报修信息数据,如保修内容,维修状态。表3.22报修信息表字段名称字段意义字段类型字段约束id系统用户IDbigint(20)PRIrepairs_data_id业务主键IDvarchar(32)repairs_data报修内容textrepair_status维修状态1:待维修2:已处理int(1)repairs_remark备注信息textcreate_time创建时间datetimeupdate_time修改时间datetimeoperator_id创建人varchar(32)delete_status是否删除int(1)(23)申请探访信息表如表3.23所示,申请探访信息表主要存储申请探访的信息数据,如探访人,探访时间等。表3.23申请探访信息表字段名称字段意义字段类型字段约束id系统用户IDbigint(20)PRIvisiting_apply_id业务主键IDvarchar(32)audit_status审核状态int(1)aged_data_id老人IDvarchar(32)relative_data_id亲属IDvarchar(32)visit_time探访时间datetimevisit_remark备注信息textcreate_time创建时间datetimeupdate_time修改时间datetimeoperator_id创建人varchar(32)delete_status是否删除int(1)contacts_phone联系人号码varchar(32)系统权限模块设计系统权限模块主要用于控制系统的权限认证,系统用户能访问哪些菜单以及按钮,其数据层隔离原理是通过RBAC权限模型实现的,主要分为以下表格的表设计:表3.24系统权限设计表表名释义备注auth_user系统用户表存储系统用户信息auth_role系统角色表存储系统角色信息auth_permission系统权限表存储系统菜单权限信息auth_role_permission系统角色-权限关联表存储角色-菜单关联信息auth_user_role系统用户-角色关联表存储系统用户-角色关联信息信息概述:以上表设计是参考RBAC权限模型,即为:资源-权限模型,把系统的菜单,按钮抽象成系统权限,然后定义出系统的角色,每个角色能访问该角色对应的系统菜单和按钮。同时系统用户信息又和系统角色信息通过中间表关联起来,从而能精准查询到每个用户具备哪些角色以及具备哪些权限,从而能在前端判断。业务模块设计系统业务数据表设计是设计出系统存储业务数据的表,主要是对这些表进行数据操作,下面是这些表的介绍:表3.25业务模块设计表表名释义备注accident_record事故记录表存储事故记录信息aged_bed老人-床位关联表存储老人-床位信息aged_data老人信息表存储老人信息bed_data床位信息表存储床位信息fee_pay_data费用信息表存储费用信息nursing_aged护工-老人关联信息表存储护工-老人关联信息nursing_data护工信息表存储护工信息nursing_salary护工薪资表存储护工薪资信息nursing_time_off护工请假表存储护工请假信息accident_record事故记录表存储事故记录信息aged_bed老人-床位关联表存储老人-床位信息aged_data老人信息表存储老人信息bed_data床位信息表存储床位信息fee_pay_data费用信息表存储费用信息nursing_aged护工-老人关联信息表存储护工-老人关联信息nursing_data护工信息表存储护工信息nursing_salary护工薪资表存储护工薪资信息系统模块设计系统界面的设计是整个项目显示的核心所在,客户的所有操作,都在系统上进行,所以系统界面的简洁明了显得十分重要。本系统的界面采用ElementUI进行开发,界面相对简洁大方。系统登陆模块用户登录界面如图4.1所示图4.1系统登陆界面系统登陆界面采用具备科技感的大图作为背景图,整体风格采用ElementUI的蓝色风格作为系统的主风格。登陆按钮采用ElementUI的el-button控件制作。同时,表单控件采用el-form表单控件制作。在页面布局方面,主要采用了Flex布局来进行布局,它可以使该系统具备响应式,可以适应任意大小的屏幕。工作人员可以通过输入账号密码进行登录,后台会根据输入的账号密码与数据库中的进行验证,若验证成功后对身份进行验证,进入相对应的界面,反之则输出密码错误,具体流程图如图4.2所示。图4.2登录流程图系统首页模块系统首页界面采用了左侧菜单,右侧为页面内容的布局。在左侧的所有菜单可以收缩展开,且菜单是无限层级的,如图4.3所示。图4.3系统界面在首页,做了2个图表,此图表不同于传统的Echart,它采用的是阿里巴巴出品的G2控件,非常适合作为大数据量分析的图表,此处可以看到系统访问量的图表,此图表采用了动态渲染的模式进行渲染,即查询条件发生变化,数据会被重新渲染,此处,访问统计量是统计的系统API接口的访问量。在首页的右侧做了饼状图,它具备分析当前系统具备的角色的人员情况,做了归类统计,后端采用了Java8的流式计算框架来进行处理。图4.4编辑系统用户界面如图4.4所示,在系统顶部左侧,可以让用户修改当前登陆用户的信息,具备上传头像功能,此处头像的存储技术是采用了阿里云的OSS存储技术,它具备CDN加速,可以快速地让用户访问到图片,具体流程图如图4.5所示。图4.5创建用户流程管理员创建用户是调用AuthRoleController.Java文件,如若用户不存在则调用addItem方法,对人员进行添加,如若存在的话,则调用queryByPage方法,对人员进行查询,并通过jsp的El表达式,把数据传输到界面中,再通过调用upadteItem方法对角色信息进行更新,最终保存到数据库中。系统管理模块系统管理界面如图4.6所示.图4.6系统管理模块界面如4.6图所示,此处是系统的关键点,它主要是实现了对系统的菜单进行管理的功能,定义了权限的类型(按钮或者菜单),从而前端可以根据后端返回的每个用户具备的权限信息来进行动态判断是否显示某个菜单或者按钮。此处需要前后端配合才能实现相关功能。图4.7角色管理界面如图4.7所示,此处是系统的角色管理界面,管理人员通过本界面创建或者删除人员。系统定义了多个角色,每个角色都绑定了菜单,可以实现不同的角色访问到的菜单和按钮都不同。下图是例子:图4.8角色权限管理界面如图4.8所示,此处角色具备已经被勾选了的菜单和按钮的访问权限,没有被勾选的,该角色的用户登陆或就不会显示相关菜单和按钮,使得整个系统显得更加完善。老人信息管理模块老人信息的管理界面,在页面内容顶部内置了对老人信息的多种查询条件,如图4.9所示。图4.9老人信息管理界面此处是使用ElementUI的表单控件实现的。该界面实现了增删改查等基本功能,护工可以通过此界面对老人进行管理,具体流程图如图4.10所示。图4.10新增老人信息管理流程护工管理是调用AgedDataController.Java文件,若添加老人信息调用addItem方法,对人员进行添加,如若存在的话,则调用queryByPage方法,对老人进行查询,并通过jsp的El表达式,将查到的数据传输到界面中,再通过调用upadteItem方法对老人信息进行修改,最终保存到数据库中床位信息管理模块床位信息管理界面是对床位信息管理的模块,主要是编辑床位的一些基本数据,床位是否被占用,以及被谁占用了等,如图4.11所示图4.11床位信息管理界面护工信息管理模块护工信息管理模块是对护工的身份数据进行管理,如图4.12,4.13所示图4.12新增护工界面图4.13护工管理界面护工信息的管理界面,主要是护工的信息的管理,在新增和编辑的时候,可以选择护工照顾的老人,一个护工可以对应多个老人,但一个老人只能对应一个护工,此处会向护工和老人的关联表里面插入数据。亲属管理模块亲属管理界面,主要是对亲属的信息,还有亲属对应的老人信息,进行管理。此处主要是维护亲属表的数据,如图4.14所示。图4.14亲属管理界面探访管理模块探访管理界面是管理员对探访申请进行管理的界面,亲属可以在这个界面提交探访申请。管理员可以在此处审核探访申请,如图4.15所示图4.15探访管理界面缴费信息模块缴费信息管理界面如图4.16所示图4.16缴费信息界面亲属在支付过后,由养老院管理人员进行核实后录入。维修信息模块维修管理界面是护工提交维修信息的界面,需要填写维修内容等字段信息,如图4.17所示。图4.17维修信息界面活动信息模块设计活动信息界面是对养老院活动信息的记录和管理,维护的是活动信息表的数据,如图4.18所示。图4.18活动信息界面护工薪资管理模块护工薪资管理界面是给护工和管理员使用的界面,不针对与用户开放,可以是对护工的薪资进行查询,管理界面,如图4.19所示图4.19护工薪资管理界面护工假勤模块护工假勤界面是对护工的假勤信息进行管理的界面,维护的是护工假勤数据表。护工可以在此处提交和查询假勤信息。管理员可以对护工请假信息进行审核。如图4.20所示。图4.20护工假勤界面健康服务预约模块健康服务预约界面,由老人找护工进行报名,信息由护工负责填写,此界面主要是维护健康预约表的数据,老人和管理员都可访问此界面。具体界面如图4.21所示。图4.21健康服务预约界面床位分配信息模块床位分配管理界面是由护工对床位进行分配,此处可以查看每个老人所被分配的床位,以及对老人的床位进行分配。管理员,护工,都可以访问此界面。具体界面如图4.22所示。图4.22床位分配管理界面资讯信息模块资讯信息界面如图4.23所示图4.23资讯信息界面图4.24编辑资讯信息界面从图4.24可以看出,此处是对资讯信息的管理,包含了管理界面和一个查询界面。查询界面主要是对资讯进行查询。图中资讯内容采用的是v-html解析富文本的方式来进行展现的。此处主要是展示和维护资讯信息表的数据。测试验收报告在实际对本次毕业设计成果进行验收的时候,需要对本文中的每一个功能点进行多次的测试与改进,本章节内容节选了一些具有代表性的功能接口和功能进行测试和分析。此处功能测试验收是指对系统的功能点进行完整地验收操作测试,并发测试是指对系统的接口进行JMeter模拟请求,进行压力测试。登录接口功能验收测试报告在本次设计中,登陆功能是比较重要的功能,涉及到前后端很多功能代码,对编码细节和数据库设计具备较高的要求,下面是此功能的测试报告和性能测试报告,此处的性能测试是采用JMeter进行并发压力测试。功能测试验收报告表5.1功能测试验收报告功能点测试系统测试步骤预期结果匹配度用户登陆后台系统点击登陆,跳转到主页界面100%性能压力测试验收报告表5.2性能压力测试验收报告功能接口并发量线程量预期结果匹配度用户登陆接口30000次/S10100%老人信息接口功能验收测试报告在本系统中对老人的信息进行维护是比较重要的,此处选取查询老人信息的查询和新增接口进行功能测试和压力测试,下面是测试报告:功能测试验收报告表5.3功能测试验收报告功能点测试系统测试步骤预期结果匹配度新增老人信息后台系统填写老人信息,提交100%查询老人信息后台系统根据各种条件查询老人的信息100%性能压力测试验收报告表5.4性能压力测试验收报告功能接口并发量线程量预期结果匹配度新增老人信息30000次/S5099.9%查询老人信息30000次/S20100%测试结果分析通过上述的测试报告,可以看出,系统的接口可以满足正常用户的需求,即便是面临大用户量,大数据量的场景,也可以完全适应实际生产应用要求。总结与展望养老院管理系统,实现了既定的功能需求,实现了对老人信息,护工信息,活动信息,亲属信息,以及其他模块的功能编码,测试交付。通过几个月努力,中间有引以为豪的地方,也有失败的诸多环节。但是通过不断地改进,最终还是成功的完成了养老院管理系统的设计。整个毕设从研究现状出发,了

温馨提示

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

评论

0/150

提交评论