摘 要
伴随着家政需求量的扩大,传统的中介方式存在着信息闭塞不全,服务与需求对接慢,管理模式陈旧等问题,为了缓解供求两端沟通难的问题,搭建起一个便捷快速的信息对等化的云家政服务平台是当务之急的需求。本文所设计实现的平台能够做到汇聚家政服务资源、规范服务流程、加快服务对接及管理速度的目的。
平台以B/S结构为基础,采取前后端分离的方式来进行程序设计。后台利用SpringBoot框架搭建RESTful API,将数据存在MySQL数据库中,前端使用Vue.js框架来设计动态化的用户界面。该系统主要有三个角色:居民用户、服务商以及管理员。居民用户可以查看新闻和服务资讯,在线预定服务项目,查询历史并评论。服务商对自己的所提供的服务项目进行管理并且对接受的服务项目的预定请求进行处理、确认服务的记录。管理员可以从后台首页来了解平台整体的运行状态并对系统的所有用户和服务类别、家政服务、服务预定、服务记录、新闻发布等功能模块进行全面维护,从而实现从审核订单开始直到服务结束整个过程的管理。
平台运行平稳,实现了服务信息的汇聚共享以及业务办理线上化,实际应用证明平台提高了家政服务业获取便捷度和服务监管水平,在从业人员诚信体系建设方面还有待优化。
关键词:家政服务平台,SpringBoot框架,Vue.js,MySQL数据库,服务预约
Abstract
Rising demand on domestic services demonstrates the limitations of conventional models of agency, including uneven access to information, ineffective matching of services, and obsolete approaches to management. The need to ensure that the gap between the supply and the demand is filled with effective communication is becoming a pressing issue in the industry and is addressed by creating an efficient and transparent online domestic service platform. This project develops and implements a platform which would integrate service resource, standardize processes, and enhance the efficiency of service matching and management.
The platform has a B/S structure (front-end and back-end) based on a separate development pattern. Backend is built using the SpringBoot framework to develop RESTful APIs with a MySQL database as a storage of data, whereas frontend is developed using the Vue.js framework to provide a responsive user interface. The system basically incorporates three roles; resident users, service employees and administrators. The resident can browse through news and services that are available and also online booking and viewing of records and posting of reviews. Employees of service manage their service inventory, take care of appointment requests and confirm service entries. Administrators have access to information about the operation of the platform through a backend interface and control all central modules such as system users, service types, home services, service schedules, service logs, and news announcements, controlling the whole process of reviewing orders to finishing the service.
The platform is stable and efficiently promotes the centralized sharing of information on services and the online implementation of business processes. Practical experience has demonstrated that the system is helping to improve the availability of local services and unify the management, but there is still some space to develop in terms of developing a credit system of workers providing services.
Key words:Domestic service platform, SpringBoot framework, Vue.js,MySQL database, Service appointment
第一章 绪论
1.1 研究背景与意义
传统家政服务业一直采用拨打电话进行预定,再到线下的实体中介去寻找信息,信息传递具有单向性,滞后性严重,供求双方的匹配速度低,社区居民和服务人员之间的信息不对称问题比较严重[1]。虽然互联网早期有出现一些分类信息网及论坛,一定程度上解决了信息查询难的问题,但是在服务的过程中还是一段一段的服务体验。服务项目更新慢,缺乏有效的信用保障体系支撑,用户的评论不能沉淀下来等,这些都无法满足市场需求对于服务时效性、透明性和规范化的需求[2]。构建一体化的线上平台,可以有效提高家政服务行业的资源配置效率,降低由于信息封锁造成的不必要的错误发生率,系统的业务流程重造使服务过程更规范、标准[3]。保障了客户以及服务工作人员的双方利益,是建立良性市场环境的基础。也为其他的生活类服务的网络化整合提供了技术支持和运营经验借鉴。
1.2 国内外研究现状
国内家政服务平台线上化进程经过了多个阶段,初期的门户网站仅仅是对基础的分类信息进行呈现,服务互动性较差。之后随着移动互联网的发展,家政领域的垂直型应用逐渐出现,“58到家”、“天鹅到家”等平台集成了信息展示及线上预约服务,实现了服务平台化[4]。在初期他们更多的是充当一个供需对接的角色[5]。后来又添加了服务员工的审核认证体系和服务的好评评级制度作为信任背书[6]。近一两年的发展方向是打造服务闭环系统,部分平台会加入服务调度系统及征信管理系统模块来提高服务匹配准确率和服务体验[7]。但是在家政服务全流程信息化及不同平台间的信息打通上还有很长的一段距离[8]。
国外家政服务平台起步相对较早,种类也较为丰富。其中Taskrabbit就属于典型的按需服务平台,以地理位置为基础对工作需求进行及时匹配和即时雇用[9]。Handy则依靠标准化的服务产品套餐和公司化雇佣服务员工两种方式保证服务的质量标准[10]。而欧洲市场中还存在着不少以专项高端家政服务或者区域式家政服务为主的平台。而这些国外家政服务平台都十分注重数据支撑下的数据分析,利用算法优化派单规则[11]。同时充分接入第三方支付,背景审查和保险环节形成了相对完整的商业闭环[12]。这也反映了技术和服务的高度融合,以及平台的信任保障体系对于整个家政平台发展的重要性[13]。
1.3 主要研究内容
本文的研究目标是设计并开发一个基于浏览器/服务器架构的家政服务系统平台。论文主要内容包括系统的总体需求分析和定位以及居民客户、服务人员和管理员三个主要角色的功能分配和交互环节的设计。在软件工程的标准指导下,先后对系统的总体架构进行设计;前后台的各项细粒度的功能模块进行设计;数据库的概念结构和逻辑结构进行了设计。技术方案采取了前后端分离的架构方式。前端通过Vue.js框架进行开发,后端以SpringBoot框架为基础开发RESTful架构的数据接口。数据存储层选用MySQL数据库。经过开发所完成的系统主要包括家政服务的发布、预定;服务日志管理和服务评价管理;后台的数据汇总和各类资源管理等主要系统功能模块,致力于解决家政服务行业存在的信息不对称、流程不规范和管理效率低下等问题。
第二章 相关技术介绍
2.1 SpringBoot框架
这个框架基于Spring生态体系之上,目的是为了方便开发者减少传统的Spring应用项目的初始化及开发难度。它的主要原理就是自动配置、起步依赖。自动配置是根据项目类路径所存在的库来进行自动推测以及自动配置相应的Spring组件[14]。起步依赖则是预先定义好的一组依赖描述符,可以将常见的一系列所需库整合起来进行导入,在整个系统开发中,后端服务模块的搭建快速便捷就是得益于此类框架。框架内置了web容器,使应用能被打包成可执行的jar文件独自启动运行[15]。使用了基于java注解的方式去代替了大量的xml文件配置。在应用程序主类上添加的@SpringBootApplication注解开启组件扫描及自动配置,框架内部通过条件化配置类确定哪些bean才会最后被实例化。此方式让开发者更加关注业务层面而不是基础设施的组合配置。
2.2 Vue框架
Vue.js是一款可以用来创建UI的渐进式JavaScript框架,它的核心是一个响应式数据绑定系统,用数据劫持结合发布者-订阅者模式的方式实现了数据与视图之间的双向绑定,当一个组件的状态数据发生改变的时候,对应的视图会自动更新,以展现最新的数据状态[16]。它采用了以html为基础的模板语法,允许开发者声明式的将组件实例的数据绑定到渲染成的dom上去,在编译阶段,模板会被编译为渲染函数,最终生成虚拟dom树。在系统前端界面当中,服务列表卡片的生成便是依靠此原理进行的。虚拟DOM是一种轻量级的真实DOM的javascript对象表达式。状态的变更引起新的虚拟DOM树产生,框架用高效的算法来计算新老两棵DOM树的区别。计算出最小化的更新操作集之后再批量性的施加到真实的DOM上[17]。这一过程避免了频繁直接接触真实DOM带来性能损失。组件是构成Vue应用程序的基本单位,每个组件都包含自身专属的模板、逻辑以及样式,父组件通过props向下传值,子组件通过events向上传递事件信息。而全局状态下,跨组件间的通信则是由特定的库来进行管理的。这样的组件化结构使得大型单页面应用程序也可以方便地切分为一个个相对独立的小型模块进行组合。
2.3 MySQL数据库
MySQL是一个开放源码的关系型数据库管理系统,遵循客户机/服务器体系结构。它使用标准的SQL语句来进行数据定义、数据操以及查询等操作,数据库的逻辑结构分为数据库、表、行、列等多个层次。数据以二维表格形式组织起来,表与表之间通过主键、外键相联系[18]。在本系统里面的服务信息以及用户的预约记录都存放在这样的关系表里头。数据库引擎用于存储、查询和管理数据,其常用的存储引擎InnoDB就具有事务和外键的功能。事务是一个不可再分的工作单位,包括原子性、一致性、隔离性和持久性四个性质。事务的隔离级决定了多个事务如何相互影响,事务的并发控制就是以此为基础来防止可能出现的数据问题。为了使数据查询的效率更高,数据库允许我们在表的一列或多列上建立索引。索引是一种特殊的文件,通常以B+树的形式存储,以便对表中的特定行进行快速访问。在处理复杂的涉及许多表的SELECT语句时,查询优化器会评估不同可能的处理方法,并确定最优的执行方案。安全性则有用户账户管理和权限控制系统提供保护,系统赋予不同角色的数据库操作者不同的权限对数据库对象进行不同的操作[19]。系统持久化的数据都是靠这一系列的机制实现。
2.4 MyBatis
MyBatis是基于java的持久化层框架,其封装了对JDBC的操作过程,在核心设计思想上是将SQL语句与java代码分离,统一存放在XML文件或者注解当中加以管理配置,从而使得业务逻辑与数据库访问逻辑相互独立。开发人员只需定义表示数据库操作的映射接口,运行时框架将会为此类接口创建一个代理实例对象。SQL映射文件或者注解将会把接口的方法映射成对应的SQL语句。应用程序调用接口方法时,框架将会执行相应的SQL指令。在数据处理的过程中,服务记录查询请求的映射就是由该框架实现的。它可以自动处理java对象和sql参数间的类型转化,还能将sql查询结果集转化为java对象或对象列表[20]。结果映射规则明确地写入配置文件。针对动态SQL的构造,提供了标签元素,可以在运行时环境下根据不同条件来构造出不同内容的SQL片段,以此来适应多变的数据库查询要求。并且还可以很好地同Spring等容器框架相整合,会话工厂以及会话对象均由容器创建并管理,而数据处理过程中的各种事务操作则交给容器统一管控,简化了持久层相关代码的开发和维护任务。
第三章 系统需求分析
3.1 功能需求分析
居民用户可以在家政服务平台上,查阅家政类的最新消息并对新闻内容进行编辑处理。系统提供了家政服务的浏览模块,居民用户可浏览服务项目,也可浏览指定服务项目的具体内容。预约服务作为一项主要操作,居民在确定了服务类别和服务内容以及服务人员并核实相关价格之后,可以提出某一特定时间的服务申请,之后再进行预约情况的查询、修改或者清空,待服务结束之后,居民可以查看以往服务记录,查阅记录详情。针对已经发生过的服务记录,居民对其服务项目、类别、费用以及完成时刻可以做出评判,输入评分级别。
居民角色用例图如图3-1所示。
图3-1居民用例图
管理员管理整体后台。后台首页显示平台总体运行的数据情况,如访问总次数,各种资源的数量统计等。管理员还管理着系统内所有的用户账号,包括管理员账号、居民用户账号和服务员账号,可以对账号进行增加、删除、查看详情、重置的信息的操作。服务类型管理和家政业务管理对整个平台的基本服务数据进行管理;服务预订管理对预定的订单的状态进行审核、跟踪支付、生成服务记录。服务记录管理和服务评述管理对服务记录及其完成订单后的反馈进行监督。家政新闻模块管理对新闻的发布、类别维护、内容维护。
管理员角色用例图如图3-2所示。
图3-2管理员用例图
服务员在平台上管理自己发布的家政服务项目,能够查看、修改自己的服务信息,处理服务预定是他们的重要工作,服务员要查看指派给自己的预订单据,审核单据,检查付款状况,期间可以更改预定信息。服务结束后要由服务员核实并形成服务记录表,里面的服务内容包括:服务项目、类别、服务人员、金额、结束时间等内容。
服务人员角色用例图如图3-3所示。
图3-3服务人员用例图
3.2 可行性分析
(1)技术可行性:系统基于B/S模式,前后端分离式的开发方式具有广泛的工业应用基础,后台选用Spring Boot框架,可以减少繁琐的配置过程,快速实现一个RESTful风格API的服务提供者,前端界面用Vue.js框架实现,具有良好的响应式页面特点,适用于实时性强的数据更新显示,数据库采用的是关系型数据库MySQL用来保存结构化的数据信息。开发人员掌握Java web技术和JavaScript相关知识,可独立编写代码,系统部署在一个本地服务器环境上,主要的硬件设备就是一台普通配置的电脑,可能存在的安全威胁就是用户的隐私信息泄漏问题,可通过增加权限认证模块与参数拦截的方式进行防范,所以系统从技术的角度来说是可行的。
(2)操作可行性:系统界面布局采用普通的web应用程序布局方式,层次分明易于查找,居民用户使用浏览器进行操作,流程简单明确,查看服务–预约–确认–评价一目了然,服务者和管理者也都是通过web进行自己相关事务的管理,之前线下的联系协调变为线上程序化的流程处理,该系统上线之后应能正常运行,平时只需要定时做数据备份和日志查看之类的维护工作。这些维护工作对于掌握基本计算机技术的人来说都不难学会,不需要太复杂的培训学习过程。所以系统从操作上来看具有可行性。
(3)经济可行性:项目开发过程中费用主要用于人力资源上,主要是系统的分析设计、编程以及调试等工作。开发所需要的硬件条件基于现有的个人电脑。开发工具IntelliJ IDEA、MySQL等都可以采用免费开源的版本。项目上线及试运营无需花费过多资金租赁云服务器或专用服务器,借助学校和实验室内部的局域网环境即可构建。完成系统开发后可以提高家庭服务业供需匹配的管理水平,该系统的应用价值远远大于少量的开发成本。因此,该系统从经济角度来讲是可行的。
第四章 系统设计
4.1 系统架构设计
家政服务平台以模块化的思想搭建,各模块分工明确。前端UI层使用Vue.js框架编写,主要承担服务信息显示以及与用户的交互逻辑。用户的操作指令以HTTP的形式交给后台的服务端,后台服务端使用的是Spring Boot框架。服务逻辑主要集中在Service层,主要处理从前端接收请求,完成诸如审核、支付状态更新等具体服务操作以及一些统计计算等工作。在进行数据处理的过程中涉及的数据传输都借助于MySQL数据库进行持久化,服务信息,订单,评论等主要业务数据都保存在该数据库当中。这样的层次结构保证了数据流向的一致性和逻辑的明了性。前端渲染、后端计算和数据存储之间通过定义好的接口相互协作,形成了整个应用程序的运作链路。总体架构图描述了整个应用程序的数据流转路线,系统总体架构如下图4-1所示。
图4-1系统架构图
4.2 系统结构功能设计
系统主要是面向三种用户的管理,即居民用户用户,服务人员,平台管理员,其中,居民用户用户的功能模块基于家政服务消费过程来进行设计,主要有家政新闻的阅读、家政服务信息检索、家政服务信息详情查看等,居民用户进行家政服务的预定操作并可对已发生的家政服务进行查看和对已结束的服务进行点评。服务人员主要以自身所从事的服务项目管理和接单为主,能够对自己的提供服务的信息进行编辑,对预定自己的服务订单进行审核以及对自己提供的服务进行确认。平台管理员具有系统最大的管理权限,后端功能主要包括系统的总体数据分析、用户账号管理、家政服务类别及内容的管理,所有预定订单和服务记录和居民用户点评的审核监督。各个用户角色功能模块既相互独立又彼此间通过流程衔接在一起,组成了家政服务平台的主要功能结构体。其功能架构如图4-2所示。
图4-2系统功能结构图
4.3 流程图
4.3.1 系统总体业务流程设计
系统的总体业务流程从用户登录和验证开始。当普通用户登录成功后,可阅读家政新闻及各种类型的服务信息,挑选所需要的服务以及填写相应的订单信息等。而此时的此份申请处于待审状态,服务者可以登录系统来查看并处理分派给自己相关的一些申请订单,并对其进行审核等一系列的操作。当经过审核之后的订单就可以让用户进行付款操作,在其付费成功的情况下,服务者就可通过订单中相关的信息,到用户家里进行上门服务,为他们解决问题,服务结束之后,服务者需要在系统当中确认已经完成这次的服务并且形成服务流水账目,然后居民用户就能够看相关的流水信息,在此次服务结束的基础上,对服务者进行相应的考评。管理人员在这个过程当中监督整个过程,处理一些特殊情况下的订单情况,维护基础的数据资料以及生成报表等。系统总体业务流程如下图4-3所示。

图4-3系统总体业务流程图
4.3.2 服务预约流程设计
居民用户发起预约过程首先要登录系统。用户查询家政服务项目,选择心仪的家政服务项目点击查看详情界面,在核对了家政服务种类、家政服务员,费用以及时间等情况之后,填写预约表格并且发起预约请求。系统先对预约表格信息是否齐全进行验证。表单信息缺失则退回预约表重新填入信息。表单信息完整则系统生成一个新的预约记录,初始状态设为“待审核”。预约记录产生之后,流程继续转向家政服务员审核阶段。服务预约流程如图4-4所示。

图4-4服务预约流程图
4.3.3 预约审核流程设计
服务员登陆后台,在待办事宜内点击新接预约单,服务员对预约单内的服务内容,预约时间段以及客户留言等内容仔细核对,结合自身工作时间和工作能力作出审核决定,如果不能为客户提供服务的话就审核失败,必须填写驳回原因,同时告知客户;如果能为客户提供服务则审核成功,后台会把订单的状态变更为“已通过”,审核成功之后,系统向居民用户推送消息,提醒居民用户付款,预约审核过程如图4-5。

图4-5预约审核流程图
4.4 数据库设计
数据库设计是软件系统构建的核心环节,它为数据的存储、检索与管理提供了结构化基础。本系统采用关系型数据库模型,利用其严格的表结构定义与丰富的关系约束来组织数据。关系模型通过实体与联系将现实业务抽象为二维表,有效避免了数据冗余并保证了数据的一致性[21]。规范化设计原则指导了表结构分解,使得每个数据项依赖其主键[22]。在平台中,数据库承担着存储用户信息、服务目录、交易订单与交互评价等核心业务数据的职责。通过定义主键、外键约束以及各类索引,数据库确保了数据的实体完整性与参照完整性,为上层应用提供了可靠、高效的数据访问服务。
4.4.1 数据库表设计
数用户表主要用于存放整个系统的全部用户账号基本信息。主要包括用户id、用户名、手机号码、密码等等字段。如表4-1所示。
表4-1用户表系统实现
| 1 | user_id | int | 11 | 是 | 是 | 用户ID |
| 2 | username | varchar | 16 | 是 | 否 | 用户名 |
| 3 | phone | varchar | 11 | 否 | 否 | 手机号码 |
| 4 | password | varchar | 64 | 是 | 否 | 密码 |
| 5 | avatar | varchar | 255 | 否 | 否 | 头像地址 |
| 6 | create_time | timestamp | – | 是 | 否 |
居民用户表主要是用于存放居民用户的身份信息详情。主要包含居民用户id,居民姓名,居民电话,审核状态等字段。如表4-2所示。
表4-2居民用户表
| 1 | resuser_ident_user_id | int | 11 | 是 | 是 | 居民用户ID |
| 2 | name_of_resuser_ident | varchar | 64 | 否 | 否 | 居民姓名 |
| 3 | resuser_ident_mobile_phone | varchar | 16 | 是 | 否 | 居民手机 |
| 4 | examine_state | varchar | 16 | 是 | 否 | 审核状态 |
| 5 | user_id | int | 11 | 是 | 否 | 用户ID |
| 6 | create_time | datetime | – | 是 | 否 |
服务员表主要是用来存储家政服务员的相关信息。主要包含服务员id,人员工号、人员姓名等字段,以及审核状态字段。如表4-3所示。
表4-3服务人员表
| 1 | service_personnel_id | int | 11 | 是 | 是 | 服务人员ID |
| 2 | personnel_work_number | varchar | 64 | 是 | 否 | 人员工号 |
| 3 | name_of_personnel | varchar | 64 | 否 | 否 | 人员姓名 |
| 4 | examine_state | varchar | 16 | 是 | 否 | 审核状态 |
| 5 | user_id | int | 11 | 是 | 否 | 用户ID |
| 6 | create_time | datetime | – | 是 | 否 |
服务分类表主要是用于家政服务类型的划分。包括服务分类id,服务类型,创建时间等属性,如表4-4所示。
表4-4服务分类表
| 1 | service_class_nameification_id | int | 11 | 是 | 是 | 服务分类ID |
| 2 | service_type | varchar | 64 | 否 | 否 | 服务类型 |
| 3 | create_time | datetime | – | 是 | 否 |
家政服务表主要为了记录平台发布上线的家政服务项目信息。包括了家政服务id、服务项目、服务类型、服务价格等相关字段。如下表4-5所示。
表4-5家政服务表
| 1 | housekeeping_service_id | int | 11 | 是 | 是 | 家政服务ID |
| 2 | service_item | varchar | 64 | 否 | 否 | 服务项目 |
| 3 | service_type | varchar | 64 | 否 | 否 | 服务类型 |
| 4 | service_personnel | int | 11 | 否 | 否 | 服务人员 |
| 5 | service_price | double | – | 否 | 否 | 服务价格 |
| 6 | service_picture | varchar | 255 | 否 | 否 | 服务图片 |
| 7 | service_content | text | 65535 | 否 | 否 | 服务内容 |
| 8 | create_time | datetime | – | 是 | 否 |
服务预约单主要的作用是用于记录居民用户的提交的服务预约请求单。包含服务预约编号、服务内容、服务类别、审批情况等信息。如表4-6所示。
表4-6服务预约表
| 1 | service_reservation_id | int | 11 | 是 | 是 | 服务预约ID |
| 2 | service_item | varchar | 64 | 否 | 否 | 服务项目 |
| 3 | service_type | varchar | 64 | 否 | 否 | 服务类型 |
| 4 | service_personnel | int | 11 | 否 | 否 | 服务人员 |
| 5 | service_price | double | – | 否 | 否 | 服务价格 |
| 6 | resuser_ident_user | int | 11 | 否 | 否 | 居民用户 |
| 7 | appointment_time | datetime | – | 否 | 否 | 预约时间 |
| 8 | examine_state | varchar | 16 | 是 | 否 | 审核状态 |
| 9 | pay_state | varchar | 16 | 是 | 否 | 支付状态 |
| 10 | create_time | datetime | – | 是 | 否 |
服务记录表主要是用于存放完成的服务相关记录信息。包括有服务记录id、服务项目、服务类型、完成时间等属性。如下表4-7所示:
表4-7服务记录表
| 1 | service_records_id | int | 11 | 是 | 是 | 服务记录ID |
| 2 | service_item | varchar | 64 | 否 | 否 | 服务项目 |
| 3 | service_type | varchar | 64 | 否 | 否 | 服务类型 |
| 4 | service_personnel | int | 11 | 否 | 否 | 服务人员 |
| 5 | service_price | double | – | 否 | 否 | 服务价格 |
| 6 | resuser_ident_user | int | 11 | 否 | 否 | 居民用户 |
| 7 | appointment_time | datetime | – | 否 | 否 | 预约时间 |
| 8 | completion_time | datetime | – | 否 | 否 | 完成时间 |
| 9 | service_records | text | 65535 | 否 | 否 | 服务记录内容 |
| 10 | create_time | datetime | – | 是 | 否 |
服务评价表主要用于存放社区居民对于已完成的服务进行评价的相关信息数据。主要包含服务评价id、服务事项、评价星级、评价详情等字段。如下表4-8所示。
表4-8服务评价表
| 1 | service_evaluation_id | int | 11 | 是 | 是 | 服务评价ID |
| 2 | service_item | varchar | 64 | 否 | 否 | 服务项目 |
| 3 | service_type | varchar | 64 | 否 | 否 | 服务类型 |
| 4 | service_personnel | int | 11 | 否 | 否 | 服务人员 |
| 5 | service_price | double | – | 否 | 否 | 服务价格 |
| 6 | resuser_ident_user | int | 11 | 否 | 否 | 居民用户 |
| 7 | completion_time | datetime | – | 否 | 否 | 完成时间 |
| 8 | evaluation_grade | varchar | 64 | 否 | 否 | 评价等级 |
| 9 | evaluation_content | text | 65535 | 否 | 否 | 评价内容 |
| 10 | create_time | datetime | – | 是 | 否 |
文章表主要用于保存平台上发布的一些家政新闻类的文章。主要有文章id、标题、文章分类、封面图等属性。如下表4-9所示。
表4-9文章表
| 1 | article_id | mediumint | 8 | 是 | 是 | 文章id |
| 2 | title | varchar | 125 | 是 | 否 | 标题 |
| 3 | type | varchar | 64 | 是 | 否 | 文章分类 |
| 4 | img | varchar | 255 | 否 | 否 | 封面图 |
| 5 | description | text | 65535 | 否 | 否 | 文章描述 |
| 6 | create_time | timestamp | – | 是 | 否 |
第五章 系统实现
5.1 居民用户功能实现
5.1.1 家政新闻功能实现
客户用户在此模块查看平台上传的最新的家政行业的各种新闻以及相关政策信息,页面以列表的形式聚合式的展现新闻信息,每篇新闻都有标题、分类以及发布时间等信息,点击感兴趣的新闻标题则跳转到详情页面显示新闻详情。在阅读时,用户可以在发布的新闻上做个性化编辑标注,便于之后再次阅读。家政新闻界面如图5-1所示。
图5-1家政新闻界面
5.1.2 家政服务功能实现
此模块是平台上所有的可以被预定的家庭服务项目,居民用户在进入页面之后,会以格子方式或表格形式显示各个服务项目,每个服务项目的卡片会显示该项目的服务名称、服务种类、提供服务者和服务费用等信息,点开卡片就可以进入到该服务项目的详细界面,在此处可以看到该项目的服务标准、服务内容和已预定过的用户的反馈评价等等信息。用户可以在其中对该服务项目列表排列顺序进行调整或者添加筛选条件来满足自己的查看习惯,家庭服务功能界面如图5-2所示。
图5-2家政服务界面
5.1.3 服务预约功能实现
这是居民客户下订单的关键步骤。居民选定所需的具体服务之后,跳转至预约订单表单页,在此页面中已经自动填入了服务项目、种类以及相关服务人员和对应的价格。居民需自行选取或录入自己想要预约的时间并录入服务地点等相关信息。在提交之前,顾客还可以对自己所录入的信息进行核对以及重新设置。系统自动生成唯一的带有预约单编号的订单。服务预定界面如下图5-3所示。
图5-3服务预约界面
5.1.4 服务记录功能实现
模块用来控制居民客户历史服务工单。系统按时间逆序呈现全部已完成或正在进行的服务记录,每个记录摘要展现服务项目及服务方式和预约单号,点击详情按钮可以看到此次服务的详细内容:服务人员,预约日期,服务地址等等,居民在该页面可对一些次要非关键性记录信息做修改更新。服务记录界面如图5-4所示。
图5-4服务记录界面
5.1.5 服务评价功能实现
服务结束后,居民用户在此模块处提出服务后的感想。测评页面对应着相应的服务条目,自动填入服务项目、类别、收费金额和完成日期,居民要选择一颗星级代表打分情况并可输入文字表述具体情况,提交对服务的感受之前,居民有权更改已经写出的文字以及等级。评价一旦提交就成为了服务员个人信誉系统中的一部分。服务测评界面如下图5-5所示。
图5-5服务评价界面
5.2 管理员功能实现
5.2.2 系统用户管理功能实现
管理员在此模块中对网站的所有账号进行统一管理。用户列表明确划分出管理员、居民用户用户和服务人员三种角色,管理员可执行搜索操作查找某一具体用户并能查看其账号信息,系统提供新增用户账号或者注销坏账号的功能,对于已注册用户的资料,管理员可以执行清空处理,比如清空密码或者更新状态等。系统用户管理页面如图5-7所示:
图5-7系统用户管理界面
5.2.4 家政服务管理功能实现
管理员在此对所有上线的服务进行管理。页面展示的是每一个服务的服务项目名称和服务类型以及所对应的服务员工。管理员根据查询和重置按钮来对服务进行筛选。新增服务要填写详细的关于该服务的服务信息表单。点击详情可显示关于这个服务的更详细的内容及其和用户的交互情况。管理员对服务的信息进行管理和审核。家政服务管理界面见图5-9。
图5-9家政服务管理界面
5.2.5 服务预约管理功能实现
模块集对全部居民用户上报的预约订单进行处理。管理人员可以通过筛选条件来查找订单,浏览每一个预约的信息详情,对未审批的订单进行审核操作来确认是否通过,系统会监测订单的缴费情况,管理人员可以对订单进行备注或者创建相关的服务工单,针对一些无效、违反规定的预约管理人员有权将订单删除,服务预约管理页面如下图5-10所示:
图5-10服务预约管理界面
5.2.6 服务记录管理功能实现
管理员在这里模块监管所有的已经结束的服务记录,记录清单显示服务的种类以及与之相关的预约单编号。管理员可以通过查询功能寻找对应的服务记录,点击详尽了解该次服务的具体内容比如服务的人员,服务结束的时间等等。为了保证数据的真实有效,管理员可以对有误或者多余的记录进行删除操作。服务记录管理界面如图5-11所示。
图5-11服务记录管理界面
第六章 系统测试
6.1 测试目的
测试目标主要是通过对系统进行测试验证,从而使得软件或者系统满足设计要求以及功能标准,可以长期安全稳定地进行运行。从具体的层面来说其测试的目标就是为了找出软件可能存在的问题隐患,并对其进行修复,优化增强系统质量及性能,降低实际应用中出现的问题概率。通过对不同类型的测试方法进行运用,例如单测,联调,功能测试,性能测试等一系列方式来对软件是否可以在不同的环境中正常运行并正常使用。同时测试也起到了验证系统安全性的效果,避免出现信息泄漏或者是系统崩溃等风险事故,通过对各个层面进行充分的测试,使得软件的流畅度得到提升,提高了客户的满意程度以及减少了后期的维护费用[23]。所以测试的过程既是软件开发的一部分,又是保证软件产品质量与客户需求的重要环节。
6.2 测试方法
测试技术是对软件或者系统进行质量保证的一个重要途径,在很多情况下依据测试的目的及要求不同,采取不同的测试方式。常用的测试技术有黑盒测试、白盒测试、灰盒测试、回归测试和性能测试。
黑箱测试关心的是软件的功能表现,而不是软件的内部组成。测试人员输入数据并查看输出的数据结果,确定程序是否满足规格要求,适合做功能测试和接口测试,白箱测试检查的是程序内部的组成状况,测试工程师通过阅读源代码来进行细致的逻辑结构、控制流及数据流的检测,代码中的每一条路径以及每一段代码都得到了充分的测试,有助于找出隐藏的逻辑缺陷或者性能问题。灰盒测试综合了黑盒测试和白盒测试的优点,测试工程师部分理解系统的内部逻辑结构,在一定程度上既注重功能执行又注意安全性与集成性。
回归测试是指软件被修改或更新之后再次去测试之前的已经完成的功能,新版本没有增加新的错误或问题。性能测试是对系统在不同的负载下及不同的压力情况下系统的表现如何,测试它的响应速度、并发处理的能力等等一系列重要的性能参数。
应用这些测试技术能够检测并提高软件的功能性,可靠性以及稳定性,最后提供的系统符合用户的需求,提高了软件质量。
6.3 测试用例
服务预约模块测试主要检查自居民进行预约直到产生订单这一系列完整过程,测试主要检查预约信息填写无误,时间选取合理及订单状态初始是否正常。通过对不同的服务种类和服务预约时间等不同排列组合的方式,对系统后台数据的可靠性和前端后端数据同步一致性进行了验证。服务预约测试见表6-1。
表6-1服务预约测试用例表
| 1 | 预约信息提交 | 选择有效服务项目,填写完整的预约信息并提交。 | 系统成功创建预约订单,状态显示为待审核,并生成唯一订单号。 | 符合预期 |
| 2 | 预约信息校验 | 提交预约时不选择服务项目或必填信息缺失。 | 系统提示信息不完整,阻止表单提交,高亮显示必填项。 | 符合预期 |
| 3 | 服务类型与项目联动 | 先选择一种服务类型,再查看可选的服务项目列表。 | 服务项目列表动态更新,仅显示属于所选类型的项目。 | 符合预期 |
服务评价模块测试用于验证评价过程能否顺利进行以及相关联的数据是否能成功建立联系。测试主要是为了检验已经完成的服务事项能否被成功识别从而进行评价,对评价等级的提交和保存等功能能否实现,服务评价信息是否能够与相应的服务和人员之间形成关联关系并得到保持。服务评价测试如下表6-2所示。
表6-2服务评价测试用例表
| 1 | 评价提交 | 对已完成的服务记录选择评价等级并填写内容后提交。 | 评价信息成功保存,并在服务人员详情和该服务历史评价中可见。 | 符合预期 |
| 2 | 评价限制验证 | 尝试对未完成或已评价过的服务记录再次提交评价。 | 系统阻止评价提交,并提示“无法评价”或“已评价”。 | 符合预期 |
| 3 | 评价内容边界 | 提交极短或极长的评价内容文本。 | 系统能正常处理并保存,前端显示无异常,内容完整。 | 符合预期 |
后台首页统计模块测试主要关注数据汇总统计及可视化结果正确性,测试验证了对访问次数、服务申请数、点评次数等各项关键业务指标统计数据计算规则是否合理,数据仪表盘能否实时动态地呈现系统当前的业务处理情况,为管理人员进行管理决策给予有力的支持。后台首页数据统计测试如表6-3所示。
表6-3后台首页统计测试用例表
| 1 | 核心指标统计 | 在产生新的预约、评价等业务数据后,刷新后台首页。 | 首页各项统计图表和数据面板的数字实时更新,与数据库记录一致。 | 符合预期 |
| 2 | 数据范围筛选 | 检查统计图表是否支持按时间范围(如本日、本周)进行筛选查看。 | 更换不同的时间段过滤器,图中显示的数据也将发生改变,相对应所选取的时间段。 | 符合预期 |
| 3 | 统计数据准确性 | 将后台首页显示的某项统计总数与数据库聚合查询结果进行比对。 | 两者显示的数值完全一致,无统计误差。 | 符合预期 |
系统用户管理模块测试针对不同的角色用户的账号添加删除更新查看以及状态管控等功能进行测试。测试验证管理员是否可以正确查看指定账户、查看详情等信息,进行添加新用户账户或者暂停使用账户,同时保证权限设置和身份标签正确无误。系统用户管理测试如下表6-4所示。
表6-4系统用户管理测试用例表
| 1 | 用户信息查询与详情查看 | 在用户管理列表中使用查询条件筛选,并点击某用户详情。 | 列表正常显示满足条件的用户,详情页完整展示该用户的注册信息及角色。 | 符合预期 |
| 2 | 新增用户账户 | 通过添加功能,填写新用户信息并指定角色后保存。 | 新用户账号建立完成,可以利用此账号进行登录系统并且具有相应的角色权利。 | 符合预期 |
| 3 | 用户角色与权限验证 | 以新创建的不同角色账户登录系统。 | 登录之后显示的菜单、能够使用的功能模块完全与其身份相匹配,无违规访问操作。 | 符合预期 |
测试结论
本次系统功能测试针对平台主要业务流程进行,包括服务预定、服务评分、后台报表汇总、用户账号管理、预定单审核、服务记录管理以及评分审核等功能模块共七个部分,在功能测试中严格按照事先设定好的测试用例来进行,逐一对各个模块的业务逻辑及功能进行了测试。测试结果显示:服务预订流程无缺漏,并且能够对输入的信息进行校验并能正常更新服务订单状态;服务评分提交正常并且能够建立对应的关系以及相应的限制措施。后台报表汇总模块能够实时的计算并且准确地展示出核心经营指标。系统用户管理完善,做到了对各类别账号的精确管理。预定审核流程推动了订单的状态变化和通知的下发。服务记录的产生和查看查询管理都达到预期的要求。评分审核模块可以提供多种角度的审核和处理方式。所有测试用例执行的结果均满足要求,测试通过率百分之一百,系统主要功能模块工作稳定,逻辑实现准确。
总结
伴随着城市发展进程的加速以及日趋缩小的家庭规模,社会各界对于标准化、便利性的家政服务的需求越来越高,而目前传统的家政服务中介模式又存在着信息不对称、供求匹配低效、服务过程得不到监督等弊端,使得居民在寻找服务时比较麻烦,同时也会使提供服务的一方找不到稳定的服务对象。开发基于Spring Boot的家政服务平台,就是为了针对上述行业痛点提出的解决方案,以期通过搭建统一化的网络化的服务平台来解决家政服务行业的现存痛点问题,实现家政服务供需双方的有效对接,使服务得到规范,提高信息传递速度及资源利用效率,最终实现了集服务推介、在线预订、进度追踪及事后评价为一体的综合性平台的设计目的。
本文的研究工作严格地遵守了标准的软件工程开发规范。经过充分的需求调研,确定了用户、服务员以及管理者三种主要角色之间相互关联的工作职责范围和业务处理规则,在系统的总体架构设计上采取了前后端独立开发的B/S模式,前端采用Vue.js开发了页面动态交互视图,后端基于Spring Boot开发了稳定的RESTful API接口服务,数据存储利用了MySQL关系数据库管理系统进行存储,在整体的技术路线选择上保证了整个系统后续易于维护并且具有很好的扩展性和响应效率。在具体的编码实现过程中实现了家政信息宣传、服务项目展示查询、在线下单预约、生成服务记录、双方互评机制、后台数据分析以及后台资源管理等多项重要功能模块。
虽然系统目前已经完成了预期的基础的功能并且可以稳定地运行,但是由于受研究周期以及开发规模的限制,仍有一些缺陷。首先是关于支付部分,系统的支付流程只实现了对支付状态的虚拟化更新,并不能实现与微信支付和支付宝等第三方的真实的支付平台接口对接,有一定的功能缺失。其次是对于订单的匹配和分配,系统过于倾向于由居民用户自行挑选和服务人员手动确认的方式,缺乏利用GIS定位信息以及服务人员技能水平评分以及接受订单的历史数量等综合因素来为双方提供智能化匹配推荐和自动化指派服务人员的相关算法,匹配准确程度较低。再次是关于后台大数据分析部分,虽然可以呈现基本的数据统计结果,但是对数据的利用率不够高,没有进行用户的使用习惯等进一步的行为模式的探究或者对未来的服务需求情况进行预估,对于用数据指导决策的支持力度较小。最后就是系统现阶段主要是针对网页端做了开发和完善的工作,没有开发出相配套的手机端的应用程序,缺乏较好的移动互联网场景体验。
参考文献
[1] 连旭璇. X物业公司社区增值服务商业模式优化研究[D]. 广东工业大学, 2025.
[2] 张雅莉. 广州Q家政公司发展战略研究[D]. 广州大学, 2025.
[3] 王红飞. 上海市平台家政服务员参保需求及参保政策优化研究[D]. 华东师范大学, 2024.
[4] 马莹. WWGJ家政企业数字化转型升级研究[D]. 商务部国际贸易经济合作研究院, 2024.
[5] 王凯文.基于深度学习的家政服务推荐平台的研究及应用[D].太原师范学院,2024.
[6] 邹连飞. A家政公司O2O管理模式的优化研究[D]. 广州大学, 2024.
[7] 潭浩. 基于微服务的家政服务平台的设计与实现[D]. 北京交通大学, 2022.
[8] 刘艺溥. 基于人脸识别的家政服务平台设计与实现[D]. 北京交通大学, 2020.
[9] Lu Y, Li Y, Liu Y, et al. Evaluating the customer acceptance of mobility-as-a-service solutions: a case study of Shenzhen, China[J]. Industrial Management and Data Systems, 2026, 126(1): 323-343.
[10] The article by Liu R, Lu W, Zhao J et al. will be published in 2025 in the journal Systems, 13 (12) 1085. The paper is titled Dynamic Pricing and Subsidy Strategies in Public Service Platforms with Private Participation: A Two-Level Stackelberg Game Approach.
[11] Wang Q. Conceptualization and Deployment of a Community Convenience Service Platform using WeChat Mini Programs[J]. Lecture Notes in Education, Arts, Management and Social Sciences, 2025, 3(9): 109-113.
[12] Ettarfi K. Theoretical framework of resistance in conceptualizing labor agency: The use of reassembly practices to work with the domestic service platform. Geoforum, 2024, 156: 104130.
[13] Revised Services and Expanding to Southeast Asia: Thailand Largest Home Services Platform [J]. M2 Presswire, 2022.
[14] 陈蓓蕾,洪年松. 基于SpringBoot的数据库接口设计[J]. 信息与电脑,2023,35(16):181-183.
[15] 王志亮,纪松波. 基于SpringBoot的Web前端与数据库的接口设计[J]. 工业控制计算机,2023,36(3):51-53.
[16] 八度云计算(安徽)有限公司. 一种基于Vue框架的UI组件库构建方法:CN202311590956.7[P]. 2024-03-29.
[17] 李晓薇.vue.js前端开发技术研究[J].网络安全技术与应用,2022(4):44-45.
[18] 庞敏. MySQL数据库的数据安全应用设计技术研究[J]. 数字通信世界,2024(9):25-27.
[19] 柳青,程晨. MYSQL数据库技术应用一体化课程开发研究[J]. 造纸装备及材料,2024,53(5):251-253.
[20] 陈倩怡,何军.Vue+Springboot+MyBatis技术应用解析[J].电脑编程技巧与维护,2020,(01):14-15+28.
[21] 何金龙. 电子信息工程计算机数据库应用[C]//2024智慧施工与规划设计学术交流会论文集. 2024:1-3.
[22] 张晓蕾,王斌,郭锡泉."互联网"背景下数据库应用技术课程思政教学设计与实践[J].现代商贸工业,2024(23):251-253.
[23] 罗超,彭玉涛. 计算机软件测试方法的研究分析[J]. 长江信息通信,2023,36(2):83-85.
致谢
光阴似箭,日月如梭。随着论文写作进入最后阶段,我的大学生活也将走向终点,在此之际,由衷的感谢在我求学之路及日常生活中所有帮助过我的人们。首先特别鸣谢我的校内导师,在这篇论文的选题构思,开题论证,系统设计层层递进的过程中到最后文章修改定稿,每一步都倾注了老师一丝不苟的治学风格和深厚的知识底蕴对我精心的教导,无论何时当我遇到瓶颈的时候您总是能为我拨云见雾,让我茅塞顿开,悉心教导令我获益良多。还要特别感谢在校外实习过程中指导我的企业导师,感谢您的专业阅历以及实践经验能够融入我的设计中来,使我能更好的扎根于工程项目实践的土壤当中去。
回顾此次毕业设计整个过程,从开始的阅读文章、选择技术的困惑,再到中期解决一项项具体的难题,到最后实现系统并进行文章的编写,的确是对自身学习知识的一次综合的历练,期间不仅使我在技术方面从前到后有了完整的了解,还提升了我发现问题,解决问题的能力。他也是我对四年大学生涯交上的一份沉甸甸的答案卷,是我初步建立自己知识框架的标志,获得这样的经历的开心与安心会成为我今后前行路上重要的资产。
我要感谢我的学院,给我们这样一个良好的学习环境和条件。感谢所有授课老师们,在课堂上对我们的孜孜教诲,使我们有了扎实的理论功底,还要特别感谢我们的辅导员老师对我们在学习和生活中无微不至的关怀。同时还要感谢我的同学朋友和实验同伴们,还记得我们一起熬夜讨论问题,调代码的日子,有你们陪伴,有你们智慧的点播,让我的研究生生活有了许多的温馨和力量,这些我都不会忘记。
最后,写下这篇文章用来向我最亲爱的家人表达感激之情吧。谢谢我的爸爸妈妈,这么多年来你们一直都是我的强大依靠,在背后为我提供着无微不至的关怀和支持,在你们的支持下才能够让我安心读书、踏实向前。养育之恩,难以回报。文章到这里就要结束了,而我的学业生涯也要告一段落了,但学习和求索是不会停止的。我会带着你们对我的希望、爱护向着人生新的篇章前进,用行动来表达对你们的谢意,并且尽力用自己的知识来回馈社会,不辜负你们对我的期望和关心。





