【最新原创毕设】基于SSM的养老志愿服务系统+47404(免费领源码)可做计算机毕业设计JAVA、PHP、爬虫、APP、小程序、C#、C++、python、数据可视化、大数据、全套文案

SSM养老志愿服务系统

摘 要

随着信息化时代的到来,管理系统都趋向于智能化、系统化,许多智能手机和相关的软件正在得到更多的关注和支持。养老志愿服务系统也不例外,传统的养老志愿者服务模式通常是通过志愿者个人或志愿者队伍自己寻找愿意接洽的社区或养老院,通过一系列的洽谈和协商之后最终开展养老志愿服务活动。这种模式通常需要花费大量的时间在找接洽单位以及细节的协商上,而且往往最终效果也不尽如人意,在一定程度上打击了志愿者服务活动的开展积极性。而养老志愿服务系统则优化了这些环节,且具有灵活性、节约性和智能性等特点。轻松应对志愿者平时的工作,既能提高人力物力财力,又能加快工作的效率,取代人工管理是必然趋势。

养老志愿服务系统主要功能模块包括系统用户、老人信息管理、服务地区管理、服务项目管理、个人信息管理、志愿安排管理、机构信息管理、加入机构管理、志愿者活动管理、服务申请管理、完成情况管理、志愿者风采管理、系统管理、通知公告管理、资源管理,采取面对对象的开发模式进行软件的开发和硬体的架设,能很好的满足实际使用的需求,完善了对应的软体架设以及程序编码的工作,系统基于Java语言、MySQL数据库和SSM框架进行养老志愿服务系统的设计与实现研究。通过使用Java语言的强大功能和灵活性,结合SSM框架的优势以及MySQL数据库的高效数据存储和管理能力,我们将开发一个功能全面、高效可靠的养老志愿服务系统。

本次报告,首先分析了研究的背景、作用、意义,为研究工作的合理性打下了基础。针对养老志愿服务系统的各项需求以及技术问题进行分析,证明了系统的必要性和技术可行性,然后对设计系统需要使用的技术软件以及设计思想做了基本的介绍,最后来实现养老志愿服务系统和部署运行使用它。

关键词:养老志愿服务;SSM框架;MySQL数据库

SSM Elderly Volunteer Service System

Abstract

With the advent of the information age, management systems are tending towards intelligence and systematization, and many smartphones and related software are receiving more attention and support. The elderly volunteer service system is no exception. The traditional model of elderly volunteer service usually involves individual volunteers or volunteer teams searching for communities or nursing homes they are willing to contact, and ultimately carrying out elderly volunteer service activities through a series of negotiations and consultations. This model usually requires a lot of time to find contact units and negotiate details, and the final results are often not satisfactory, which to some extent undermines the enthusiasm of volunteer service activities. The elderly volunteer service system optimizes these links and has characteristics such as flexibility, economy, and intelligence. Effortlessly handling volunteer work can not only improve human, material, and financial resources, but also accelerate work efficiency, replacing manual management is an inevitable trend.

The main functional modules of the elderly volunteer service system include system users, elderly information management, service area management, service project management, personal information management, volunteer arrangement management, institution information management, joining institution management, volunteer activity management, service application management, completion status management, volunteer demeanor management, system management, notification and announcement management, and resource management, Adopting an object-oriented development model for software development and hardware setup can effectively meet practical usage needs, improve the corresponding software setup and program coding work. The system is designed and implemented based on Java language, MySQL database, and SSM framework for elderly volunteer service system research. By utilizing the powerful features and flexibility of Java language, combined with the advantages of SSM framework and the efficient data storage and management capabilities of MySQL database, we will develop a comprehensive, efficient, and reliable elderly care volunteer service system.

This report first analyzes the background, role, and significance of the research, laying the foundation for the rationality of the research work. An analysis was conducted on the various requirements and technical issues of the elderly volunteer service system, demonstrating the necessity and feasibility of the system. Then, a basic introduction was made to the technical software and design ideas required for designing the system. Finally, the implementation and deployment of the elderly volunteer service system were discussed.

Key words:Elderly volunteer services; SSM framework; MySQL database

目  录

第1章 绪论

1.1 研究背景与意义

1.2 国内外研究现状

1.3 论文结构安排

第2章 相关技术介绍

2.1 J2EE技术

2.2 MVC模式

2.3 Mysql数据库

2.4 B/S结构

2.5 SSM框架

2.6 MyEclipse开发工具

2.7 tomcat服务器

第3章 系统分析

3.1 可行性分析

3.1.1 技术可行性分析

3.1.2 经济可行性分析

3.1.3 操作可行性分析

3.2 功能需求分析

3.2.1 前台用户功能

3.2.2 后台管理功能

3.3 非功能需求分析

3.4 安全性需求分析

3.4.1 系统的安全性

3.4.2 数据的安全性

3.5 数据流程分析

第4章 系统设计

4.1 系统功能结构

4.1.1 数据库概念设计

4.1.2 数据库表设计

第5章 系统实现

5.1 前台用户模块的实现

5.1.1 用户首页模块

5.1.2 用户登录模块

5.1.3 用户注册模块

5.1.4 个人资料模块

5.1.5 机构信息模块

5.1.6 志愿者活动模块

5.1.7 前台用户个人中心模块

5.2 后台管理模块的实现

5.2.1 志愿者团队后台管理模块

5.2.2 管理员系统用户管理模块

5.2.3 老人信息管理模块

5.2.4 系统管理模块

5.2.5 资源管理模块

第6章 系统测试

6.1 测试目的

6.2 功能测试

6.3 系统测试结果

第7章 总结与展望

参考文献

致谢

第1章 绪论

1.1研究背景与意义

随着社会老龄化程度的加剧,老年人群体的养老需求也日益增长。然而,现有的养老服务体系存在着各种问题,如服务资源不足、服务质量难以保证等。而志愿服务作为补充和完善现有养老服务体系的重要力量,发挥着不可忽视的作用。因此,研究养老志愿服务系统的开发,具有一定的现实意义和实用价值。

养老志愿服务着社会一些志愿者活动事务,平时信息管理和活动事务的具体管理都是依靠各个部门的人员反复沟通交流和核对。这种管理方式存在着许多缺点,如:效率低、另外时间一长,将产生大量的文件和数据,这对于查找、更新和管理都带来了不少的困难。 随着计算机技术的飞速发展,计算机在日常工作管理中应用的普及,利用计算机实现活动事务的管理势在必行。利用计算机支持协会组织高效率完成活动管理的日常事务,是适应现代社会发展要求,推动志愿者活动事务管理走向科学化、规范化的必要条件。

通过开发养老志愿服务系统,可以实现志愿者与养老服务需求方的精准匹配,提高服务的效率和质量。同时,通过系统收集和整理志愿者的经验与数据,可以为今后的志愿服务提供参考和借鉴。此外,通过系统的建立和推广,可以激发更多人参与到志愿服务中,形成良好的社会氛围。

1.2国内外研究现状

自第二次世界大战以来,西方国家的志愿者服务活动越加规范化,志愿者群体也渐渐从单纯的民间组织发展成以国家或政府为主体进行志愿者服务活动,志愿者的工作重心也慢慢扩大全面,志愿服务的管理工作也逐渐制度化、专业化。在许多西方国家,志愿者服务活动起步早、进步快且社会效益好,在国内具有良好的民众基础,使得志愿者活动更加规范化制度化,从而形成了一套比较完善的志愿者服务管理运作机制和国际惯例。比如美国志愿者服务几乎是每个美国公民的必修课。在美国甚至还有这样一条规定,中学生想进入好的大学,必须在三年内完成最少40个小时的养老志愿服务活动,要上更好的学校,则必须参加更多时间的养老志愿服务活动,美国如此普遍的养老志愿服务活动,除了政府的大力支持外,完善的管理系统也是功不可没的。信息化、系统化的管理是美国人管理志愿者队伍的成功所在。目前世界上许多国家都建立了各自的志愿志愿者活动管理网站,向社会大众和各个组织提供了大量的公益性信息,比如World Volunteer Web、Lions Clubs International、Volunteers of America等。

目前国内关于志愿服务系统的使用渐渐开始推广,比较出名的有许多,比如2008年的北京奥运会志愿服务系统“志愿北京”。该系统除了包括一般志愿者系统都存在的展示功能外,还包括了志愿者信息管理,调配等功能,实现了系统的智能化使用,同时也实现了系统的规范化和系统化,有效的帮助了奥运会时的一系列志愿者活动的开展和进行。再比如2010年的上海世博会志愿者系统,该系统充分利用信息化手段,将志愿者活动与现实结合起来,通过利用新媒体,将志愿者活动进行得更加系统化、高效化,不仅优化了志愿者的管理,更加优化了志愿工作的进行。但是无论是北京奥运会的志愿者系统,还是上海世博会的志愿者系统,都存在许多不足之处,对志愿者服务管理系统的应用都还有待改善。当然,现在国内也在政府的管理下慢慢的开始步入组织化、规范化和系统化的道路,政府已经意识到志愿者的服务活动不仅仅是国家进行公民的道德教育的机会,更是一种维护社会稳定的无形力量和有力措施,现在国内建立志愿者组织的目标就是为了对志愿者服务的管理形成一套很是完整的运作机制。

1.3论文结构安排

本文共分为六章,章节内容安排如下:

第一章为引言,此章节对所设计和实现的系统的背景和状况以及意义进行详细的论述以及说明,同时进行了论文整体框架的结构的简要介绍。

第二章为系统需求分析,章节所做的主要的工作是对系统进行了技术、经济和操作方面可行性的分析;对系统实行了总体功能的需求、用例分析。

第三章为系统的设计,主要是对系统的功能结构进行设计,并对系统数据库的概念结构以及物理结构的设计进行了分析。

第四章就是对系统的实现,根据系统功能的划分,分别的对系统所需要实现的前台客户功能和后台管理员功能进行了分析和说明。

第五章:系统测试。主要对系统的部分界面进行测试并对主要功能进行测试

第六章:总结。

第2章 相关技术介绍

2.1J2EE技术

人可以掌握多门外语,而一个计算机科学家精通的大多是编程语言,它不是人类的自然语言,比如C语言、Java、Perl等等。由于不同的公司开发出的“中间件”不够规范,所以Sun公司推出J2EE,用这个标准来解决弊病。它提供了良好的机制,让每个层次允许与之相对的服务器、组件运行,使得系统的搭建稳定可用、开发高效、维护方便[1][2]。

2.2MVC模式

MVC模式是常用的开发模式,主要是在代码实现上将其分为M层、V层和C层。

视图(View)代表用户交互界面,一个 Web 应用就可能有很多的界面,在 MVC 模式中,视图仅仅处理的只有数据采集、处理,还有用户的请求, 并不包括业务流程的处理,业务流程由模型(Model)来处理[3]。

模型(Model)就是业务流程/状态的处理及业务规则的制定。模型处理业务流程的过程其它层是无法看见了的,它就像黑箱子,在接受视图请求的数据之后,然后返回最终的处理结果。MVC 最主要的核心就是业务模型的设计,一个典型的应用例子就是目前流行的 EJB 模型,它从应用技术实现的角度对模型做了进一步的划分,以便充分利用现有的组件,但是它不能作为应用设计模型的框架[4]。

控制器(Controller)可以理解为接收用户的请求,然后视图和模型匹配在一起,一起再完成用户请求。它有非常明显的作用在划分控制层上,可以很清晰地告诉你,它就是一个分发器,选择什么样的模型、视图,可以完成用户的什么样的请求。控制层不做所有的数据处理,比如说:用户点击一个连接,控制层接受到请求之后,并不处理业务信息,它只是向模型传递用户的信息,同时告诉模型做什么,然后选择符合需求的视图返回给用户[5][6]。

2.3Mysql数据库

科技的进步,给日常带来许多便利:教室的投影器用到了虚拟成像技术,数码相机用到了光电检测技术,比如超市货物进出库的记录需要一个信息仓库。这个信息仓库就是数据库,而这次的高龄老人服务管理系统也需要这项技术的支持[7]。

用MySQL这个软件,是因为它能接受多个使用者访问,而且里面存在Archive等。它会先把数据进行分类,然后分别保存在表里,这样的特别操作就会提高数据管理系统自身的速度,让数据库能被灵活运用。MySQL的代码是公开的,而且允许别人二次编译升级。这个特点能够降低使用者的成本,再搭配合适的软件后形成一个良好的网站系统。虽然它有缺点,但是综合各方面来说,它是使用者的主流运用的对象[8]。

2.4B/S结构

B/S(Browser/Server)比前身架构更为省事的架构。它借助Web server完成数据的传递交流。只需要下载浏览器作为客户端,那么工作就达到“瘦身”效果, 不需要考虑不停装软件的问题[9]。

2.5SSM框架

SSM即SpringMVC+Spring+Mybatis,这三个框架有各自最独有的优势,那么将它们组合在一起能够碰撞出很强的火花。设计者在不需消耗大量功夫,能做出Web应用程序,而且这个程序还具有层次清晰、升级更新操作不影响正常使用的、允许多次使用的特点。这个复合框架形成一个有着结构完整、功能强大和结构良好的体系:SpringMVC使各板块分离,Spring使开发更灵活方便,使用Mybatis让开发者直接对对象进行操纵,各层次分工明细,并实现各个层次间的解耦,让代码更加的灵活精简。这个框架使程序员能够规避在开发时期避免个别错误导致整体被破坏,也能在后期应对客户对产品提出的新需求[10] [11]。

2.6MyEclipse开发工具

MyEclipse是由Genuitec公司开发的,一款功能非常强大的JavaEE的集成开发环境,其中包括有:完备的编码、调试、测试和发布功能[10],完整支持JSP、Spring、CSS、JavaScript、SpringMVC、HTML、JSF、Mybatis、SQL等技术。在体系结构上,MyEclipse的特征可以被分为7类:JavaEE模型;Web开发工具、EJB开发工具、JavaEE项目部署服务、应用程序服务器的而连接器、数据库服务、MyEclipse整合帮助[11]。

对于以上每一种功能的类别,在MyEclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse在结构上的这种模块化,可以让它在不影响其他模块的情况下,对其中任意的一个模块进行单独的扩展和升级。强大的MyEclipse应用开发平台也不仅仅只是Eclipse的插件而已,同时更是一款功能强大的,用于JavaEE的集成开发环境[12]。

2.7tomcat服务器

Tomcat软件是在一个开放的、参与式的环境中开发的,许多人都喜欢使用它[13]。它可以独立的被应用,却不适用于并发访问较高的情况。它是一个小型的服务连接器,程序员用它来测试服务器页面。Tomcat服务器的性能稳定、容易上手、不需要消费即可获得等,这些益处抓住开发者的眼球,使用者擢发难数[14]。

第3章 系统分析

3.1可行性分析

本次设计基于Java语言,采用的是Mysql数据库和SSM框架实现,总体的可行性共分为以下三个方面。

3.1.1技术可行性分析

所谓的技术可行性就是在限定时间,前期拟定的功能能否被满足。在开发设计上是否会遇上解决不了的问题。做完的项目能否被很好地应用,如果存在缺点在后期的维护上是否存在很大的难度。在对这个系统评估后,认定已存在的技术能达成目标。用JSP技术来实现动态的页面,嵌入低依赖性的设计模式,灵活的数据库,配合稳定的服务器,整个系统的运行效率大大提升。由此可见,在技术层面达成目标不是非非之想。

3.1.2经济可行性分析

在项目上使用的工具大部分都是是当下流行开源免费的,所以在开发前期,开发时用于项目的经费将会大大降低,不会让开发该软件在项目启动期受到经费的影响,所以经济上还是可行的。尽量用最少的花费去满足用户的需求。省下经费用于人工费,以及设备费用。将在无纸化,高效率的道路上越走越远。

3.1.3操作可行性分析

本系统实现功能的操作很简单,普通电脑的常见配置就可以运行本软件,并且只要粗通电脑使用的基本常识就可以流畅的使用本软件。电脑具备连接互联网的能力,并且可以正常访问系统,并不需要操作者有什么高超的能力,只需了解业务流程,并且按照专业知识进行正确操作即可,所以养老志愿服务系统具备操作可行性。

3.2功能需求分析

养老志愿服务系统的功能主要分为前台志愿者用户、志愿者机构和后台管理包括志愿者团队和管理员一共四个角色,其中志愿者团队账号由管理员后台添加登录。

志愿者用户用例图如下所示。

图3-1 志愿者用户用例图

志愿者机构用例图如下所示。

图3-2 志愿者机构用例图

志愿者团队用例图如下所示。

图3-3 志愿者团队用例图

管理员用例图如下所示。

图3-4 管理员用例图

3.2.1前台用户功能

前台用户可分为志愿者用户需求和志愿者机构用户需求。

志愿者用户的功能如下:

(1)用户注册登录:游客可以随时进入到系统中,对系统中的信息浏览,但是想要实现志愿服务申请和机构加入等操作,就必须有这个系统的账号,如果没有账号的话,可以注册用户进行相关的操作,同时用户还可以通过“我的账户”这按钮对个人信息以及操作的信息进行管控。

(2)查看养老志愿服务系统的首页信息:养老志愿服务系统的首页、通知公告、新闻动态、机构信息、志愿者活动、志愿者风采等。

(3)通知公告:在前台点击“通知公告”这一菜单按钮以后就会进入到系统网站的通知公告界面,可以查看网站公告、联系我们等信息。

(4)新闻动态:在前台点击“新闻动态”按钮进入新闻动态列表,可以输入关键词进行查询新闻动态信息,并且可以对查看的新闻动态进行评论、收藏、点赞操作。

(6)机构信息:用户可以查看志愿机构信息,在查询到自己想要了解的机构信息的时候,可以进入查看详细的介绍包括志愿者机构、机构名称、机构类型、机构简介等信息。点击“申请加入”这一按钮以后会跳转到申请加入信息填写的界面,根据提示填写好申请加入的信息,点击“提交”以后申请加入就完成了,在机构信息详情这个界面,同时支持用户对机构信息进行收藏、点赞以及评论的功能。

(7)志愿者活动:用户在前台点击“志愿者活动”这个菜单按钮,就会显示所有的志愿者活动列表,在查询到自己想要服务申请的活动时,可以进入查看详细的介绍,包括活动组织者、活动时间、活动地址、活动类型、活动名称、活动人数等信息。在这个界面,也可以对志愿者活动进行服务申请、点赞、收藏、评论操作。

(8)志愿者风采:用户在前台点击“志愿者风采”这个菜单按钮,可以进入查看详细的介绍包括活动时间、活动地址、活动类型、活动名称、活动视频、活动详情等信息,也可以对志愿者风采进行点赞、收藏、评论操作。

(9)我的账户:在前台点击“用户”下面的“我的账户”,因个人信息的变更可以随时修改自己注册信息,包括个人资料和密码修改。

(10)个人中心:志愿者用户在前台点击“个人中心”可以对个人首页、老人信息、个人信息、志愿安排、加入机构、服务申请、完成情况、收藏进行管理。

志愿者机构的功能如下:

(1)用户注册登录:志愿者机构可以通过注册进行相关的操作,同时还可以通过“我的账户”这按钮对个人信息以及操作的信息进行管控。

(2)查看养老志愿服务系统的首页信息:养老志愿服务系统的首页、通知公告、新闻动态、机构信息、志愿者活动、志愿者风采等。

(3)我的账户:在前台点击“用户”下面的“我的账户”可以对个人资料+密码修改+自己收藏的信息进行管控。

(4)个人中心:志愿者机构在前台点击“个人中心”可以对个人首页、机构信息、加入机构和自己收藏的信息进行管理。

3.2.2后台管理功能

后台管理角色可分为志愿者团队和管理员。

志愿者团队功能如下:

(1)登录:志愿者团队的账号由管理员在后台添加方可登录。

(2)系统用户:志愿者团队点击“系统用户”菜单可以对志愿者用户的信息进行增删改查。

(3)个人信息管理:志愿者团队点击“个人信息管理”菜单可以对志愿者用户的个人信息进行增删改查。

(4)志愿安排管理:志愿者团队点击“志愿安排管理”菜单可以对志愿者用户进行志愿者活动安排、分配人员。

(5)志愿者活动管理:志愿者团队点击“志愿者活动管理”菜单可以对发布的志愿者志愿者活动进行增删改查。

(6)服务申请管理:志愿者团队点击“服务申请管理”菜单可以对志愿者用户提交的服务申请信息列表进行增删改查。

(7)志愿者风采管理:志愿者团队点击“志愿者风采管理”菜单可以对前台展示的志愿者风采信息进行增删改查。

管理员功能如下:

(1)登录:管理员在后台可以输入用户名+密码进行登录,管理员的用户名和密码是在数据库中直接设定好的。

(2)系统用户:管理员点击“系统用户”菜单可以对管理员、志愿者用户、志愿者机构和志愿者团队信息进行增删改查。

(4)老人信息管理:管理员点击“老人信息管理”菜单可以对志愿服务的老人信息进行增删改查。

(5)服务地区管理:管理员点击“服务地区管理”菜单可以对志愿者活动服务的地区进行管理。

(6)服务项目管理:管理员点击“服务项目管理”菜单可以对志愿服务的项目信息进行增删改查。

(7)个人信息管理:管理员点击“个人信息管理”菜单可以对志愿者用户的个人信息进行增删改查。

(8)志愿安排管理:管理员点击“志愿安排管理”菜单可以对志愿者活动的人员安排信息进行增删改查。

(9)机构信息管理:管理员点击“机构信息管理”菜单可以对志愿者机构信息进行管控,增删改查。

(10)加入机构管理:管理员点击“加入机构管理”菜单可以对志愿者用户提交的申请加入信息进行管控,增删改查。

(11)志愿者活动管理:管理员点击“志愿者活动管理”这一菜单,可以发布新的志愿者活动,也可以对志愿者活动进行增删改查。

(12)服务申请管理:管理员点击“服务申请管理”这一菜单,可以查看到志愿者用户提交的服务申请申请信息,也可以对其进行审核以及审核回复。

(13)完成情况管理:管理员点击“完成情况管理”这一菜单,可以查看到志愿者活动的完成情况信息。

(14)志愿者风采管理:管理员点击“志愿者风采管理”菜单可以对前台展示的志愿者风采信息进行管理。

(15)系统管理:管理员点击“系统管理”菜单可以对首页展示的轮播图。

(16)通知公告管理:管理员点击“通知公告管理”菜单可以查看到系统中的所有通知公告信息,对已经存在的通知公告,管理员可以修改,也可以添加新的通知公告或者删除通知公告。

(17)资源管理:管理员可以对养老志愿服务系统前台展示的新闻动态以及新闻动态所属的分类进行管控。

3.3非功能需求分析

基于上面功能性需求,非功能需求也是项目设计中一项必定考虑进去的工作。首先是安全性的需求,其次是界面必须整洁干净等的需求,再次就是可扩展的需求。除此之外,还有性能、可靠性的需求,具体可以表示在如下表所示。

表3-1 系统非功能需求表

安全性

只有在登录的情况下才能进行相应功能的操作,尤其是管理员功能,防止后台管理端被侵入。

可靠性

系统的功能明确,操作一个功能,不会产生额外的功能影响,操作功能的时候,页面也不会造成额外的跳动。

性能

响应时间尽量控制在1s之内

可扩展性

后台采用自顶向下的开发,利于开发与维护。

易用性

在用户使用上,尽可能使用更多的图标进行功能暗示,提供系统的可阅读性和友好性。

可维护性

前台和后台注意按照模块化开发的原则,对于组件和方法的保存和包的建立需要遵照一般开发原则,以利于维护。

3.4安全性需求分析

3.4.1系统的安全性

安全性对每一个系统来说都是非常重要的。安全性很好的系统可以保护企业的信息和用户的信息不被窃取。提高系统的安全性不仅是对用户的负责,更是对企业的负责。尤其针对于养老志愿服务系统来说,必须要有很好的安全性来保障整个系统。

系统具有对使用者有权限控制,针对角色的不通限制使用者的权限,以此来确保系统的安全性。

3.4.2数据的安全性

数据库中的数据是从外界输入的,当数据的输入时,由于种种原因,输入的数据会无效,或者是脏数据。因此,怎样保证输入的数据符合规定,成为了数据库系统,尤其是多用户的关系数据库系统首要关注的问题。

因此,在写入数据库时,要保证数据完整性、正确性和一致性。

3.5数据流程分析

对系统的数据流进行分析,系统的使用者分为二类,前端用户和后台管理员。管理员权限下的工作流程主要为:管理员通过系统界面提供登录按钮并点击,转入管理员登录界面,并在界面上填入相应的管理员账户和管理员密码,进入管理员权限下的后台系统,并且在系统左侧导航条设置了相应的操作功能。

用户权限下的工作流程主要为:用户通过系统提供的注册功能,进行身份验证并注册,而后在登录界面进行个人身份验证,并且进入用户的个人后台界面,并进行相应的操作。

养老志愿服务系统的业务流程如下图所示。

图3-5 系统业务流程图

第4章 系统设计

4.1系统功能结构

养老志愿服务系统总体分为志愿者用户模块、志愿者机构模块、志愿者团队模块和管理员模块。四个模块表现上是分别独立存在,但是访问的数据库是一样的。每一个模块的功能都是根据先前完成的需求分析,并查阅相关资料后整理制作的。

综上所述,系统功能结构图如下图所示。

图4-1 系统功能结构图

4.1.1数据库概念设计

根据前面的数据流程图,结合系统的功能模块设计,设计出符合系统的各信息实体。

系统E-R图如下图所示。

图4-2 系统ER图

4.1.2数据库表设计

数据库是养老志愿服务系统的数据处理的基础,也是为界面数据的展示与存储的关键。养老志愿服务系统的数据库表如下。

表access_token (登陆访问时长)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

token_id

int

10

0

N

Y

临时访问牌ID

2

token

varchar

64

0

Y

N

临时访问牌

3

info

text

65535

0

Y

N

4

maxage

int

10

0

N

N

2

最大寿命:默认2小时

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

7

user_id

int

10

0

N

N

0

用户编号:

表article (文章:用于内容管理系统的文章)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

article_id

mediumint

8

0

N

Y

文章id:[0,8388607]

2

title

varchar

125

0

N

Y

标题:[0,125]用于文章和html的title标签中

3

type

varchar

64

0

N

N

0

文章分类:[0,1000]用来搜索指定类型的文章

4

hits

int

10

0

N

N

0

点击数:[0,1000000000]访问这篇文章的人次

5

praise_len

int

10

0

N

N

0

点赞数

6

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

7

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

8

source

varchar

255

0

Y

N

来源:[0,255]文章的出处

9

url

varchar

255

0

Y

N

来源地址:[0,255]用于跳转到发布该文章的网站

10

tag

varchar

255

0

Y

N

标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开

11

content

longtext

2147483647

0

Y

N

正文:文章的主体内容

12

img

varchar

255

0

Y

N

封面图

13

description

text

65535

0

Y

N

文章描述

表article_type (文章分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

type_id

smallint

5

0

N

Y

分类ID:[0,10000]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]决定分类显示的先后顺序

3

name

varchar

16

0

N

N

分类名称:[2,16]

4

father_id

smallint

5

0

N

N

0

上级分类ID:[0,32767]

5

description

varchar

255

0

Y

N

描述:[0,255]描述该分类的作用

6

icon

text

65535

0

Y

N

分类图标:

7

url

varchar

255

0

Y

N

外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表auth (用户权限管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

auth_id

int

10

0

N

Y

授权ID:

2

user_group

varchar

64

0

Y

N

用户组:

3

mod_name

varchar

64

0

Y

N

模块名:

4

table_name

varchar

64

0

Y

N

表名:

5

page_title

varchar

255

0

Y

N

页面标题:

6

path

varchar

255

0

Y

N

路由路径:

7

position

varchar

32

0

Y

N

位置:

8

mode

varchar

32

0

N

N

_blank

跳转方式:

9

add

tinyint

3

0

N

N

1

是否可增加:

10

del

tinyint

3

0

N

N

1

是否可删除:

11

set

tinyint

3

0

N

N

1

是否可修改:

12

get

tinyint

3

0

N

N

1

是否可查看:

13

field_add

text

65535

0

Y

N

添加字段:

14

field_set

text

65535

0

Y

N

修改字段:

15

field_get

text

65535

0

Y

N

查询字段:

16

table_nav_name

varchar

500

0

Y

N

跨表导航名称:

17

table_nav

varchar

500

0

Y

N

跨表导航:

18

option

text

65535

0

Y

N

配置:

19

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

20

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表collect (收藏)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

collect_id

int

10

0

N

Y

收藏ID:

2

user_id

int

10

0

N

N

0

收藏人ID:

3

source_table

varchar

255

0

Y

N

来源表:

4

source_field

varchar

255

0

Y

N

来源字段:

5

source_id

int

10

0

N

N

0

来源ID:

6

title

varchar

255

0

Y

N

标题:

7

img

varchar

255

0

Y

N

封面:

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表comment (评论)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

comment_id

int

10

0

N

Y

评论ID:

2

user_id

int

10

0

N

N

0

评论人ID:

3

reply_to_id

int

10

0

N

N

0

回复评论ID:空为0

4

content

longtext

2147483647

0

Y

N

内容:

5

nickname

varchar

255

0

Y

N

昵称:

6

avatar

varchar

255

0

Y

N

头像地址:[0,255]

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

9

source_table

varchar

255

0

Y

N

来源表:

10

source_field

varchar

255

0

Y

N

来源字段:

11

source_id

int

10

0

N

N

0

来源ID:

表completion_status (完成情况)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

completion_status_id

int

10

0

N

Y

完成情况ID

2

volunteer_users

int

10

0

Y

N

0

志愿者用户

3

volunteer_name

varchar

64

0

Y

N

志愿者姓名

4

volunteer_id

varchar

64

0

N

N

志愿者工号

5

activity_time

date

10

0

Y

N

活动时间

6

event_address

varchar

64

0

Y

N

活动地址

7

activity_type

varchar

64

0

Y

N

活动类型

8

activity_name

varchar

64

0

Y

N

活动名称

9

specific_situation

text

65535

0

Y

N

具体情况

10

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

11

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表elderly_information (老人信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

elderly_information_id

int

10

0

N

Y

老人信息ID

2

old_persons_name

varchar

64

0

Y

N

老人姓名

3

gender_of_the_elderly

varchar

64

0

Y

N

老人性别

4

hometown_of_the_elderly

varchar

64

0

Y

N

老人籍贯

5

contact_phone_number

varchar

64

0

Y

N

联系电话

6

address_of_the_elderly

varchar

64

0

Y

N

老人住址

7

family_information

text

65535

0

Y

N

家庭信息

8

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表hits (用户点击)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

hits_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

表institutional_information (机构信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

institutional_information_id

int

10

0

N

Y

机构信息ID

2

volunteer_organizations

int

10

0

Y

N

0

志愿者机构

3

institution_name

varchar

64

0

Y

N

机构名称

4

institution_type

varchar

64

0

Y

N

机构类型

5

institution_image

varchar

255

0

Y

N

机构图片

6

institutional_introduction

text

65535

0

Y

N

机构简介

7

hits

int

10

0

N

N

0

点击数

8

praise_len

int

10

0

N

N

0

点赞数

9

examine_state

varchar

16

0

N

N

未审核

审核状态

10

examine_reply

varchar

16

0

Y

N

审核回复

11

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

12

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表joining_institutions (加入机构)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

joining_institutions_id

int

10

0

N

Y

加入机构ID

2

volunteer_users

int

10

0

Y

N

0

志愿者用户

3

volunteer_name

varchar

64

0

Y

N

志愿者姓名

4

volunteer_organizations

int

10

0

Y

N

0

志愿者机构

5

institution_name

varchar

64

0

Y

N

机构名称

6

institution_type

varchar

64

0

Y

N

机构类型

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表notice (公告)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

notice_id

mediumint

8

0

N

Y

公告id:

2

title

varchar

125

0

N

N

标题:

3

content

longtext

2147483647

0

Y

N

正文:

4

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

5

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表personal_information (个人信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

personal_information_id

int

10

0

N

Y

个人信息ID

2

volunteer_users

int

10

0

Y

N

0

志愿者用户

3

volunteer_name

varchar

64

0

Y

N

志愿者姓名

4

volunteer_gender

varchar

64

0

Y

N

志愿者性别

5

volunteer_phone_number

varchar

64

0

Y

N

志愿者电话

6

service_area

varchar

64

0

Y

N

服务地区

7

service_items

varchar

64

0

Y

N

服务项目

8

personal_profile

text

65535

0

Y

N

个人简介

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表praise (点赞)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

praise_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

status

bit

1

0

N

N

1

点赞状态:1为点赞,0已取消

表sensitive_vocabulary (敏感词汇)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

sensitive_vocabulary_id

int

10

0

N

Y

敏感词汇ID

2

sensitive_vocabulary

varchar

64

0

Y

N

敏感词汇

3

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表service_application (服务申请)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

service_application_id

int

10

0

N

Y

服务申请ID

2

volunteer_users

int

10

0

Y

N

0

志愿者用户

3

volunteer_name

varchar

64

0

Y

N

志愿者姓名

4

volunteer_id

varchar

64

0

N

N

志愿者工号

5

activity_time

date

10

0

Y

N

活动时间

6

event_address

varchar

64

0

Y

N

活动地址

7

activity_type

varchar

64

0

Y

N

活动类型

8

activity_name

varchar

64

0

Y

N

活动名称

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表service_area (服务地区)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

service_area_id

int

10

0

N

Y

服务地区ID

2

service_area

varchar

64

0

Y

N

服务地区

3

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表service_items (服务项目)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

service_items_id

int

10

0

N

Y

服务项目ID

2

service_items

varchar

64

0

Y

N

服务项目

3

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表slides (轮播图)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

slides_id

int

10

0

N

Y

轮播图ID:

2

title

varchar

64

0

Y

N

标题:

3

content

varchar

255

0

Y

N

内容:

4

url

varchar

255

0

Y

N

链接:

5

img

varchar

255

0

Y

N

轮播图:

6

hits

int

10

0

N

N

0

点击量:

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表upload (文件上传)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

upload_id

int

10

0

N

Y

上传ID

2

name

varchar

64

0

Y

N

文件名

3

path

varchar

255

0

Y

N

访问路径

4

file

varchar

255

0

Y

N

文件路径

5

display

varchar

255

0

Y

N

显示顺序

6

father_id

int

10

0

Y

N

0

父级ID

7

dir

varchar

255

0

Y

N

文件夹

8

type

varchar

32

0

Y

N

文件类型

表user (用户账户:用于保存用户登录信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

user_id

mediumint

8

0

N

Y

用户ID:[0,8388607]用户获取其他与用户相关的数据

2

state

smallint

5

0

N

N

1

账户状态:[0,10](1可用|2异常|3已冻结|4已注销)

3

user_group

varchar

32

0

Y

N

所在用户组:[0,32767]决定用户身份和权限

4

login_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

上次登录时间:

5

phone

varchar

11

0

Y

N

手机号码:[0,11]用户的手机号码,用于找回密码时或登录时

6

phone_state

smallint

5

0

N

N

0

手机认证:[0,1](0未认证|1审核中|2已认证)

7

username

varchar

16

0

N

N

用户名:[0,16]用户登录时所用的账户名称

8

nickname

varchar

16

0

Y

N

昵称:[0,16]

9

password

varchar

64

0

N

N

密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成

10

email

varchar

64

0

Y

N

邮箱:[0,64]用户的邮箱,用于找回密码时或登录时

11

email_state

smallint

5

0

N

N

0

邮箱认证:[0,1](0未认证|1审核中|2已认证)

12

avatar

varchar

255

0

Y

N

头像地址:[0,255]

13

open_id

varchar

255

0

Y

N

针对获取用户信息字段

14

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

表user_group (用户组:用于用户前端身份和鉴权)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

group_id

mediumint

8

0

N

Y

用户组ID:[0,8388607]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]

3

name

varchar

16

0

N

N

名称:[0,16]

4

description

varchar

255

0

Y

N

描述:[0,255]描述该用户组的特点或权限范围

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

register

smallint

5

0

Y

N

0

注册位置:

9

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表volunteer_activities (志愿者活动)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

volunteer_activities_id

int

10

0

N

Y

志愿者活动ID

2

event_organizer

int

10

0

Y

N

0

活动组织者

3

activity_time

date

10

0

Y

N

活动时间

4

event_address

varchar

64

0

Y

N

活动地址

5

activity_type

varchar

64

0

Y

N

活动类型

6

activity_name

varchar

64

0

Y

N

活动名称

7

activity_photos

varchar

255

0

Y

N

活动相片

8

number_of_participants

varchar

64

0

Y

N

活动人数

9

event_details

text

65535

0

Y

N

活动详情

10

hits

int

10

0

N

N

0

点击数

11

praise_len

int

10

0

N

N

0

点赞数

12

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

13

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表volunteer_arrangements (志愿安排)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

volunteer_arrangements_id

int

10

0

N

Y

志愿安排ID

2

volunteer_team

int

10

0

Y

N

0

志愿者团队

3

institution_name

varchar

64

0

Y

N

机构名称

4

volunteer_users

int

10

0

Y

N

0

志愿者用户

5

service_area

varchar

64

0

Y

N

服务地区

6

service_items

varchar

64

0

Y

N

服务项目

7

detailed_arrangement

text

65535

0

Y

N

详细安排

8

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表volunteer_organizations (志愿者机构)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

volunteer_organizations_id

int

10

0

N

Y

志愿者机构ID

2

institution_name

varchar

64

0

Y

N

机构名称

3

contact_phone_number

varchar

64

0

Y

N

联系电话

4

examine_state

varchar

16

0

N

N

已通过

审核状态

5

user_id

int

10

0

N

N

0

用户ID

6

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

7

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表volunteer_style (志愿者风采)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

volunteer_style_id

int

10

0

N

Y

志愿者风采ID

2

activity_time

date

10

0

Y

N

活动时间

3

event_address

varchar

64

0

Y

N

活动地址

4

activity_type

varchar

64

0

Y

N

活动类型

5

activity_name

varchar

64

0

Y

N

活动名称

6

activity_video

varchar

255

0

Y

N

活动视频

7

activity_photos

varchar

255

0

Y

N

活动相片

8

event_details

text

65535

0

Y

N

活动详情

9

hits

int

10

0

N

N

0

点击数

10

praise_len

int

10

0

N

N

0

点赞数

11

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

12

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表volunteer_team (志愿者团队)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

volunteer_team_id

int

10

0

N

Y

志愿者团队ID

2

team_name

varchar

64

0

Y

N

团队名称

3

team_phone

varchar

64

0

Y

N

团队电话

4

examine_state

varchar

16

0

N

N

已通过

审核状态

5

user_id

int

10

0

N

N

0

用户ID

6

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

7

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表volunteer_users (志愿者用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

volunteer_users_id

int

10

0

N

Y

志愿者用户ID

2

volunteer_name

varchar

64

0

Y

N

志愿者姓名

3

volunteer_gender

varchar

64

0

Y

N

志愿者性别

4

volunteer_phone_number

varchar

64

0

Y

N

志愿者电话

5

volunteer_id

varchar

64

0

N

N

志愿者工号

6

residential_address

varchar

64

0

Y

N

居住地址

7

examine_state

varchar

16

0

N

N

已通过

审核状态

8

user_id

int

10

0

N

N

0

用户ID

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

第5章 系统实现

5.1前台用户模块的实现

5.1.1用户首页模块

首页主要分别展示各个模块的最新动态,浏览者可以很清楚地看到不同模块的最新更新内容。并且系统首页每个部分可以跳转到相对应的模块,方便浏览者选择感兴趣的地方。

前端首页载入流程图如下所示。

5-1 首页载入流程

前端首页如下图所示。

图5-2 首页界面

5.1.2用户登录模块

在登录界面中输入用户名+密码,然后选择相应的角色,点击“登录”按钮,系统会在用户数据库表中匹配相应用户的帐户,如果用户名+密码正确,则会登录到系统中每个用户的主管理界面,否则会提示相应的信息,如果是忘记了密码,请返回登录界面。

用户登录流程图如下所示。

图5-3登录流程图

系统登录界面如下所示。

图5-4系统登录界面

登录关键代码如下:

    @PostMapping("login")

    public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {

        log.info("[执行登录接口]");

        String username = data.get("username");

        String email = data.get("email");

        String phone = data.get("phone");

        String password = data.get("password");

        List resultList = null;

        QueryWrapper wrapper = new QueryWrapper<User>();

        Map<String, String> map = new HashMap<>();

5.1.3用户注册模块

当用户点击右上角“注册”按钮的时候,当填写上自己的账号+密码+确认密码+昵称+邮箱+手机号等信息后再点击“注册”按钮后将会先验证输入的有没有空数据,再次验证密码和确认密码是否是一样的,最后验证输入的账户名和数据库表中已经注册的账户名是否重复,只有都验证没问题后即可注册成功。

用户注册流程图如下所示。

图5-5 用户注册流程

用户注册界面展示图如下所示。

图5-6 用户注册界面

注册关键代码如下:

 @PostMapping("register")

    public Map<String, Object> signUp(HttpServletRequest request) throws IOException {

        Map<String, String> query = new HashMap<>();

        Map<String,Object> map = service.readBody(request.getReader());

        query.put("username",String.valueOf(map.get("username")));

        List list = service.selectBaseList(service.select(query, new HashMap<>()));

        if (list.size()>0){

            return error(30000, "用户已存在");

        }

        map.put("password",service.encryption(String.valueOf(map.get("password"))));

        service.insert(map);

        return success(1);

}

5.1.4个人资料模块

当您完成/注册操作,您就能够更新您的个人资料。您需要确保您的inputname值能够和您所属的实体类型的参数完全对应。当您更新您的个人资料时,您的账号密码应当保持完整,不能出现任何错误。您需要确保您的账号密码是唯一的,才能继续使用。

密码修改流程图如下所示。

图5-7密码修改流程图

密码修改界面如下所示。

图5-8密码修改界面

密码修改的逻辑代码如下所示。

 @PostMapping("/set")

    @Transactional

    public Map<String, Object> set(HttpServletRequest request) throws IOException {

        service.update(service.readQuery(request), service.readConfig(request), service.readBody(request.getReader()));

        return success(1);

}

5.1.5机构信息模块

当前台志愿者用户点击养老志愿服务系统中导航栏上的“机构信息”后将会进入到“机构信息”列表的界面,然后选择想要查看的机构信息,点击进入到详细界面,在详细界面可以查看包括志愿者机构、机构名称、机构类型、机构简介等信息,志愿者用户可以进行申请加入+收藏+点赞+评论等操作,机构信息详情界面如下图所示。

图5-9机构信息详情界面

5.1.6志愿者活动模块

志愿者用户通过“志愿者活动”详情的“服务申请”按钮填写详细资料申请志愿者活动报名。

志愿服务申请功能整体流程:志愿用户浏览志愿志愿者活动时,同时会显示志愿志愿者活动的状态,系统会在其显示详细信息的页面时便会判断志愿志愿者活动的状态,若志愿志愿者活动状态为可报名,则会显示报名的链接按钮。在用户点击报名按钮时,会先通过拦截器判断用户是否登录,若未登录,会跳转至登录页面,提示用户先登录,若为登录用户就会跳转至填写报名信息的页面,填写好报名信息之后,点击提交按钮,报名成功之后返回提示信息,告知用户报名成功。

志愿服务申请流程图如下图所示。

图5-10志愿服务申请流程图

志愿者活动详情界面如下图所示。

图5-11志愿者活动详情界面

5.1.7前台用户个人中心模块

前台用户点击右上角“个人中心”模块,可以查看和管理个人相关的信息和任务,不同前台用户角色有着不同的个人中心模块。其中志愿者用户包括个人首页、老人信息、个人信息、志愿安排、加入机构、服务申请、完成情况和收藏功能模块。志愿者机构包括个人首页、机构信息、加入机构和收藏功能模块。

志愿者用户个人中心界面如下图所示。

图5-12志愿者用户个人中心界面

志愿者机构个人中心界面如下图所示。

图5-13志愿者机构个人中心界面

5.2后台管理模块的实现

5.2.1志愿者团队后台管理模块

志愿者团队登录后台可以对系统用户、个人信息管理、志愿安排管理、志愿者活动管理、服务申请管理、志愿者风采管理等模块进行管理。志愿者团队后台管理界面如下图所示。

图5-14志愿者团队后台管理界面

5.2.2管理员系统用户管理模块

后台管理员在“系统用户”这一菜单中可以对注册的志愿者用户、志愿者机构以及后台的志愿者团队和管理员人员进行管控。系统用户管理界面如下图所示。

图5-15系统用户管理界面

5.2.3老人信息管理模块

管理员点击“老人信息管理”会显示出所有的老人信息,支持通过老人姓名对老人信息进行查询。老人信息添加界面如下图所示。

图5-16 老人信息添加界面

5.2.4系统管理模块

管理员点击“公共管理”菜单可以对系统的轮播图和通知公共进行管理,查看到系统中的所有轮播图信息息,对已经存在的轮播图,管理员可以修改,也可以发布新的信息。轮播图管理界面如下所示。

图5-17 轮播图管理界面

5.2.5资源管理模块

管理员点击“资源管理”会显示出所有的新闻动态信息,支持输入新闻分类或者关键词对新闻动态信息进行查询,如果想要添加新的新闻动态信息,点击“新闻动态添加”按钮,输入相关信息,点击“提交”按钮就可以添加了,同时可以选择某一条新闻动态信息,点击“删除”进行删除,也可以点击后面的“发布”按钮对新闻动态的新闻发布信息进行更新维护。

新闻动态管理界面如下图所示。

图5-18新闻动态管理界面

第6章 系统测试

6.1测试目的

对任何系统而言,测试都是必不可少的环节,测试可以发现系统存在的很多问题,所有的软件上线之前,都应该进行充足的测试之后才能保证上线后不会Bug频发,或者是功能不满足需求等问题的发生。下面分别从单元测试,功能测试和用例测试来对系统进行测试以保证系统的稳定性和可靠性。

6.2功能测试

下表是系统登录功能测试用例,检测了用户名和密码的不同的输入情况,观察系统的响应情况。得出该功能达到了设计目标。

表6-1 系统登录功能测试用例

功能描述

用于系统登录

测试目的

检测登录时的合法性检查

测试数据以及操作

预期结果

实际结果

输入的用户名和密码带有非法字符

提示用户名或者密码错误

与预期结果一致

输入的用户名或者密码为空

提示用户名或者密码错误

与预期结果一致

输入的用户名和密码不存在

提示用户名或者密码错误

与预期结果一致

输入正确的用户名和密码

登录成功

与预期结果一致

下表是注册功能测试用例,检测了各种数据的输入情况,观察系统的响应情况。得出该功能达到了设计目标。

表6-2 注册功能测试用例

功能描述

用于用户注册

测试目的

检测用户注册时的合法性检查

测试数据以及操作

预期结果

实际结果

输入的手机号不合法

提示请输入正确的手机号码

与预期结果一致

输入的字段为空

提示必填项不能为空

与预期结果一致

输入的密码少于6位

提示密码必须为6-12位

与预期结果一致

输入的密码大于12位

提示密码必须为6-12位

与预期结果一致

下表是志愿者活动管理功能的测试用例,检测了志愿者活动管理中对志愿者活动的增加,删除,修改,查询操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。

前置条件;用户登录系统。

表6-3 志愿者活动管理的测试用例

功能描述

用于志愿者活动管理

测试目的

检测志愿者活动管理时的各种操作的运行情况

测试数据以及操作

预期结果

实际结果

点击添加志愿者活动,必填项合法输入,点击保存

提示添加成功

与预期结果一致

点击添加志愿者活动,必填项输入不合法,点击保存

提示必填项不能为空

与预期结果一致

点击修改志愿者活动,必填项修改为空,点击保存

提示必填项不能为空

与预期结果一致

点击修改志愿者活动,必填项输入不合法,点击保存

提示必填项不能为空

与预期结果一致

点击删除志愿者活动,选择志愿者活动删除

提示删除成功

与预期结果一致

点击搜索志愿者活动,输入存在的志愿者活动名

查找出志愿者活动

与预期结果一致

点击搜索志愿者活动,输入不存在的志愿者活动名

不显示志愿者活动

与预期结果一致

下表是服务申请功能的测试用例,检测了服务申请中报名单的操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。

前置条件;用户登录系统。

表6-5 服务申请的测试用例

功能描述

用于服务申请

测试目的

检测服务申请时各种操作的情况

测试数据以及操作

预期结果

实际结果

未选择志愿者活动,点击提交

提示请选择志愿者活动

与预期结果一致

未输入报名人数,点击提交

提示请输入报名人数

与预期结果一致

未输入时间,点击提交

提示请输入时间

与预期结果一致

6.3系统测试结果

通过对养老志愿服务系统的调试,能够检测养老志愿服务系统的稳定性,为养老志愿服务系统正式运行、稳定运行提供了可预测性的维护备案。能够帮助使用者熟悉整个养老志愿服务系统,并对养老志愿服务系统可能出现的错误有所了解。本章节提供了部分调试用例及调试日志,可以帮助使用者解决简单的错误问题,也加深了开发者对于此框架下的养老志愿服务系统编写的了解度,为后期开发者顺利完成养老志愿服务系统、发布养老志愿服务系统提供了非常大的帮助。

第7章 总结与展望

在开发本养老志愿服务系统之前我胸有成竹,觉得很简单,但在实际的开发中我发现了自身的很多问题,许多编程思想和方法都还没有掌握牢靠,比如Jquery、AJAX 、Spring、SpringMVC、MyBatis等许多Java Web开发技术,通过开发这个养老志愿服务系统我成长了很多,懂得了做什么事情都要脚踏实地,不能眼高手低,在本次养老志愿服务系统的开发中我逐渐掌握逐渐熟悉的技术。

本次养老志愿服务系统的开发中我还学会了很多,例如良好的编程思想和完善的规划思想。在着手编程之前需要罗列出程序框架的大概,脑海中构建出程序的主题框架。做好这一步我们才能胸有成竹的经行开发项目。当设计框架了熟于心之后,需要思考本次编程所需的主要知识点和技术点,并充分学习。如此一来项目的开发才能循序渐进、如丝般顺滑,长久以往就能养成良好的开发习惯。一个程序好不好还要看出的bug多不多,如果在项目完成前做好bug的查验与预防可能发生的事故才能保证程序的稳定长久性运行。如果项目在完工后出现各种问题自己,那么在进入社会后,不仅会给公司团队带来麻烦和增加不必要的工作,还会导致客户流失,公司对自己的评价下降。

在本次项目中我也暴露了诸多问题。对于SSM的编程知识有所欠缺,环境配置和算法上出现诸多问题,时常导致项目运行出错,或者目标的实现有问题。或者实现想法时算法未优化,使得代码冗长,程序运行不顺畅。

参考文献

[1]李德鹏.志愿“微光”成就爱的双向奔赴[N].汕头日报,2023-12-28(001).

[2]马庆.计算机软件开发中JAVA编程语言的应用[J].山西电子技术,2023,(06):84-86+98.

[3]姜恒,伍红艳,余江霞等.青年人群互助养老服务参与意愿及影响因素分析[J].现代商贸工业,2024,45(02):123-126.

[4]张伟涛.互助养老有温度社区邻里更和睦[N].中国社会报,2023-11-08(001).

[5]Olesya N .Multi-dimensional framework as a new way to study the management of Olympic volunteering[J].European Sport Management Quarterly,2023,23(5):1523-1548.

[6]Roque N ,Adamo S .Modeling Observer Search Termination in a Subsequent Search Misses (SSM) Experimental Framework: The Role of Experience.[J].Journal of Vision,2023,23(9):5936-5936.

[7]Puiu S ,Udriștioiu T M .Environmental Volunteering Projects Management: A Multivariate Analysis of Volunteers’ Perspective on the Knowledge and Skills Gained, Their Involvement in Community Life and the Role of Environmental Monitoring Sensors[J].Sustainability,2023,15(14):

[8]崔心愿.基于用户成长体系的志愿服务系统设计研究[D].北方工业大学,2023.000381.

[9]胡子萌.乡村康养志愿者可持续服务设计研究[D].北方工业大学,2023.000452.

[10]荆鹏飞,何丽娜,陈晓苗.随迁老年人融入城市生活的社区志愿服务系统设计研究[J].包装与设计,2023,(03):106-107.

[11]张浩.SSM框架在Web应用开发中的设计与实现研究[J].电脑知识与技术,2023,19(08):52-54.

[12]Hongying Z .A Study on the Design of English Speaking Examination System Based on SSM Framework[J].Journal of Sensors,2022,2022

[13]耿玉杰.某社区服务系统的设计与实现[D].北京邮电大学,2022.001393.

[14]周海林.“互联网+”背景下大连市志愿服务创新研究[D].大连理工大学,2022.000015.

[15]求嘉懿.引入社会情绪选择理论的社区互助养老志愿服务设计研究[D].浙江理工大学,2022.000366.

[16]马春晓,叶青,吕明.志愿者活动管理系统的设计与实现[J].工业控制计算机,2022,35(01):135-136+139.

[17]王鑫,志愿者管理后台系统.山西省,山西华晟众慧信息科技有限公司,2022-01-01.

[18]许昕,叶晟澄,陈家乐等.基于Vue.js的志愿者监控管理系统的实现[J].电子制作,2021,(16):42-44.[19]董薇.“互联网+”视野下有效整合志愿资源探索——“援众”线上整合公益资源微信小程序[J].新闻研究导刊,2021,12(12):112-114.

[20]宋怡琳,李嘉如,林荣慧.志愿服务激励机制现状、问题与对策——以广州市和佛山市为例[J].就业与保障,2020,(23):142-144.

致谢

这篇文章的完成经历了多个日日夜夜的努力,终于在今天得以完成。这篇文章的创作过程实为不易,但在老师和同学的辛勤帮助下顺利渡过。让我在设计过程中举步维艰时,非常感谢我的导师不耐其烦的帮助我解决问题,给予了我许多指导意见。也感谢所有为我授业解惑的老师!

另外,本文的完成也参考借鉴了许多国内外在SSM技术上的著作,如果没有著作原作的辛勤付出和科研成果,我也很难完成本论文。感谢在本论文中关联到的学者们!也感谢Google等公司,感谢他们强大的搜索引擎,让我的资料查阅省事简单。

感谢之余也还有几句话要说,虽大学学习四年,怎奈何本人才疏学浅,本文的完成已为尽力,但文中不免有些不当和错误之处,诚挚真切的请求各位老师对本文的批评改正,感谢百忙之中费心审阅我论文的老师。

免费领取项目源码,请关注❤点赞收藏并私信博主,谢谢-

免费领取项目源码,请关注❤点赞收藏并私信博主,谢谢-

免费领取项目源码,请关注❤点赞收藏并私信博主,谢谢-

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值