自学内容网 自学内容网

基于微服务的在线校园便民服务站的设计与实现

摘要

在互联网时代,一切都紧随时代潮流,人们的生活方式发生了翻天覆地的变化,校园内也正在进行一场新的革命。“让在校学生的生活更便捷”这个口号成为了广大学生们的述求。为了实现这一目标,校园便民服务站将重点放在便民服务上,以多种便民服务为学生们的在校生活提供便利。同时提供了校内动态板块,在校园内开放学生的交流空间,建立一个简单、干净的网络平台。基于微服务的校园便民服务站系统对校园内学生们使用最多的信息进行整合。本系统后端SpringBoot框架,前端使用VUE,数据库使用Mysql。论文按照软件通用开发流程设计并编写,首先对系统开发的目的与意义进行论述之后进行需求分析、详细设计、系统测试等章节的编写。

关键词

校园便民服务站系统;JAVA;Spring Boot;MySQL

Abstract

In the Internet era, everything follows the trend of the times, people's lifestyle has undergone earth shaking changes, and a new revolution is taking place on campus. The slogan of "making life more convenient for students in school" has become the statement of the majority of students. In order to achieve this goal, the campus convenience service station will focus on convenience services and provide convenience for students' school life with a variety of convenience services. At the same time, it provides a dynamic plate in the school, opens the communication space of students in the campus, and establishes a simple and clean network platform. The campus convenience service station system based on micro service integrates the information most used by students on campus. The system uses the springboot framework at the back end, Vue at the front end and MySQL in the database. The paper is designed and compiled according to the general software development process. Firstly, the purpose and significance of system development are discussed, and then the chapters of demand analysis, detailed design and system testing are compiled.

Key words

Campus convenience service station System; JAVA; Spring Boot; MySQL


目录

摘要

Abstract

第一章 前言

1.1 研究背景

1.1.1 国内研究现状

1.1.2 国外研究现状

1.2 研究的目的与意义

1.2.1 研究的目的

1.2.2 研究的意义

1.3 相关技术介绍

1.3.1 开发环境

1.3.2 Spring Boot框架

1.3.3 B/S架构

1.3.4 MyBatis框架

1.3.5 MySQL数据库

1.4 论文结构

第二章 需求分析

2.1 可行性分析

2.1.1 技术可行性

2.1.2 经济可行性

2.1.3 操作可行性

2.2 用例建模

2.3 用例描述

2.4 本章小结

第三章 系统设计

3.1 系统总体设计

3.2 系统功能描述

3.3 数据库设计

3.3.1 概念模型设计

3.3.2 数据库表设计

3.4 本章小结

第四章 系统详细设计与实现

4.1 系统的详细设计

4.1.1 系统登录功能的设计

4.1.2 系统注册功能的设计

4.1.3 未还图书查看功能的设计

4.1.4 成绩查看功能的设计

4.1.5 用户管理功能的设计

4.1.6 成绩导入功能的设计

4.1.7 未还图书导入功能的设计

4.1.8 数据统计功能的设计

4.2 系统的实现

4.2.1 系统登录功能的实现

4.2.2 系统注册功能的实现

4.2.3 未还图书查看功能的实现

4.2.4 成绩查看功能的实现

4.2.5 用户管理功能的实现

4.2.6 成绩导入功能的实现

4.2.7 未还图书导入功能的实现

4.2.8 数据统计功能的实现

4.9 本章小结

第五章 系统测试

5.1 系统登录功能测试

5.2 动态发布功能的测试

5.3 系统注册功能的测试

5.4 用户管理功能的测试

5.5 未还图书导入功能的测试

5.6 动态管理功能的测试

5.7 性能测试

5.8 本章小结

结论

参考文献

致谢

第一章 前言

本章主要就研究背景、国内研究现状、国外研究现状、研究的目的与意义、技术选型、技术介绍、开发环境、所选框架等进行说明。最后总结系统要解决的主要问题以及论文的主要结构。

1.1 研究背景

在互联网时代,一切都紧随时代潮流,人们的生活方式发生了翻天覆地的变化,校园内也正在进行一场新的革命。“让在校学生的生活更便捷”这个口号成为了广大学生们的述求。为了实现这一目标,全球各大高校都开始了校园信息化这一目标,校内图书馆系统,教务系统等信息化系统,这些信息化系统很好用但会出现信息割裂的问题。学生无法方便快捷的获取到想要的信息。根据校园内出现的这一问题,校园便民服务站将重点放在便民服务上,将多个平台信息整合到一起并以多种便民服务为学生们的在校生活提供便利。

1.1.1 国内研究现状

便民服务中心是近年来全国新兴的一种服务机构。为人们提供充值话费、公用事业收费、行政事业收费、电子机票、火车票等各类便民服务,具有快捷、方便、安全等特点[1]。

便民服务基本分为以下几类:

1、通讯服务类:例如手机话费充值,办理宽带,办理手机号卡等。

2、生活缴费类:水费、电费、天然气费、物业费、暖气费、有线电视费等。

3、金融服务类:存取款ATM机,信用卡还款等。

4、医疗服务类:社区诊所,药店等。

5、出行服务类:机票预订,火车票预订等。

6、购物服务类:便利店、超市、快递点等。

随着互联网的普及,越来越多的业务转为线上[2]。便民服务也不例外。近些年爆火的美团,服务人数超2.5亿[3]。叮当快药服务次数450万次以上、微信上的在线交电费,交水费、饿了么上的订餐送餐业务都极为火爆,发展前景十分乐观[4]。

由此可见在线便民服务站已经在各行各业生根发芽,成为了人们日常生活不可或缺的一部分。在校园内也需要这种一站式便民服务系统,让便民服务与互联网相结合,打造在线便民校园服务服务站成为了校园信息化的一大重要步骤。

1.1.2 国外研究现状

美国的分类信息平台网站巨无霸Craigslist。该网站是信息分类平台,同时也是便民服务平台,该网站上没有图片,只有密密麻麻的文字,标着各种生活信息与便民服务,尤其是便民服务方向做的非常好。在上面可以轻松找到钟点工,跑腿等信息,国内的58同城等也是仿照Craigslist进行搭建的。

在美国还有另一大互联网巨头亚马逊也加入便民服务,因为这是人们需要的服务。亚马逊希望通过拓展它在纽约、洛杉矶和西雅图等地的本地便民服务(Amazon Local Services)[5]。来帮助用户联系水管工和电工等杂务工。在日本的广岛大学,也搭建了校园便民服务平台,学生们可以在平台上实现信息共享,聊天,照片传送,文件传输等功能。学校管理人员还可以对校内考务,校务进行管理。学生可以一站式的完成查看考试成绩、图书管信息,还可以完成水卡、电费等充值。

1.2 研究的目的与意义

1.2.1 研究的目的

在校园内也有许多自发组成的互助群、二手群、表白墙、万能墙等等便民服务渠道,但其中信息鱼龙混杂,人员监管不完善,散步各种诈骗广告,以及没有官方提供信息的渠道,导致虚假信息散步,新同学不了解这方面很容易上当受骗造成个人财产损失。所以一个便民服务平台就显得十分重要。

1.2.2 研究的意义

在校园便民服务站同学们可以在上面沟通交流分享自己的想法,表达自己的感情还可以买卖物品,跑腿带饭在大学赚取自己的第一桶金。

校园便民服务站可以提供快捷、方便、安全的便民服务渠道,让同学和老师们的在校生活更加便捷。校园便民服务站能丰富高校学生课余生活在校园内开放学生的交流空间,建立一个简单、干净的网络平台。希望此项目能够让学生能在平台,第一时间解决学生所面对的困难,感受到如家人般无微不至的呵护。为高校学生提供,方便快捷,安全可靠的服务和良好的互帮互助氛围。丰富课余生活的同时,通过帮助他人获得相应报酬,接触更多的校友,开阔交友圈子。学生在此畅所欲言让校园生活多姿多彩。

1.3 相关技术介绍

基于微服务的在线校园便民服务站系统前端使用VUE框架,后端使用SpringBoot框架,数据库使用开源数据库MySQL,在设计上使用B/S架构也是就用户使用浏览器服务端使用服务器提供服务。下面将对开发中使用的框架以及环境进行简要说明。

1.3.1 开发环境

基于微服务的在线校园便民服务站开发环境简要描述:

  1. 开发环境运行平台:Windows 10
  2. 开发语言:JAVA( JDK 1.8 )
  3. 技术选型:Spring Boot、Mybatis、Vue、ElementUI
  4. 开发环境:IntelliJ IDEA 2020
  5. 后台数据库:MySQL 8.0
  6. 服务器:TomCat 8.5

1.3.2 Spring Boot框架

SpringBoot是 Pivotal团队从2013年开始研发并于2014年4月首次发布的全新开源轻量级框架[6]。而且通过简化配置进一步简化了 Spring应用的构建和开发[7]。此外, SpringBoot集成了大量的框架,使得依赖包的版本冲突和引用不稳定等问题得以很好地解决[8]。

SpringBoot具有以下几个特点:(1)可以创建独立的 Spring应用,并根据 Maven或 Gradle插件创建可执行 JARs和 WARs;[9] (2)尽可能对 Spring容器进行自动配置。

1.3.3 B/S架构

B/S 的特征和基本结构:在 B/S 结构中,每个节点都分布在因特网上,这些网络节点可以分为浏览器端、服务器端和中间件,通过它们之间的链接和交互来完成系统的功能任务[10]。

浏览器端:即用户使用的浏览器,用户通过浏览器界面向服务器端提出请求,并对服务器端返回的结果进行处理并展示[11]。

服务器端:提供数据服务,处理数据,然后把结果返回中间层,结果显示在系统界面上[12]。

1.3.4 MyBatis框架

MyBatis 是支持普通 SQL查看,存储过程和高级映射的优秀持久层框架[13]。MyBatis使用XMl文件将SQl与数据库链接起来,极大的方便了程序员的开发。

1.3.5 MySQL数据库

MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,这样就增加了速度并提高了灵活性[14]。MySQL是一款中小型数据库[15]。本项目数据量较小所以选用此数据库。MySQL数据库还具有体积小,易操作,免费等优势[16]。

1.4 论文结构

 基于微服务的在线校园便民服务站的实现是主要是使用前端VUE+后端SpringBoot技术,本论文主要是对校园内学生们常用的信息进行整合,开发出符合校园特色的便民服务系统

基于以上需求,本文也将从以下章节进行深入阐释该课题。

第一章 前言:主要说明了便民服务的发展以及在校园内的生活产生的影响,从研究背景、目的、意义等多个方面进行了分析与阐述。之后介绍了项目的开发背景以及使用技术。

第二章 需求分析:在三个维度进行了可行性分析,分别是技术可行性、经济可行性、操作可行性。还说明了系统的用例建模,主要使用用例图与用例描述进行说明。

第三章 系统设计:对系统的整体进行设计,包括数据库表,总体功能设计以及对各项功能的作用进行描述。

第四章 系统的详细设计与实现:对系统的每一项功能进行详细的设计,分别画出对应的时序图、界面图、流程图以及使用的算法等。

第五章 系统测试:系统完成后进行测试,以检查系统的是否符合设计需求,本章主要使用黑盒测试来完成系统的测试工作。


第二章 需求分析

在本章中,在三个维度进行了可行性分析,分别是技术可行性、经济可行性、操作可行性。还说明了系统中的用例建模以及系统中的角色,主要使用用例图与用例描述进行说明。

2.1 可行性分析

可行性分析是通过对项目的配套条件和主要内容,例如市场的需求、盈利能力等进行分析,从而提出关于该项目是否值得进行建设的咨询意见在经过可行性分析和总结,本系统的可行性如下:

2.1.1 技术可行性

基于微服务的在线校园便民服务站系统是主要是使用前端VUE + 后端SpringBoot技术。 数据库选用MySQL,UI界面选用 ELementUI进行编写,这些框架经过多年发展已经越发完善,在开发中遇到解决不了的问题,可以很快地在搜索引擎上搜索到解决方案,根据以上分析得出在技术上是可行的。

2.1.2 经济可行性

基于微服务的在线校园便民服务站系统人力成本低,单人开发并维护,在开发过程中使用的开发软件、开发工具、开发环境都是免费的。不需要额外费用,并且平台在投入使用后无需大量人员维护,切收益大于日常维护费用因此总体上开发成本较低,经济上可行。

2.1.3 操作可行性

此系统采用菜单式设计,界面简洁友好,操作方便。整个系统具有查看、编写、修改、删除等功能,用户只需会简单的电脑操作即可使用,系统主打方便快捷,本系统的口号就是“简单可依赖”所有的操作都十分简单。

2.2 用例建模

校园便民服务站系统现有两种不同权限:

  1. 普通用户权限:

可以进行查看成绩、查看图书等便民服务功能,还可以进行管理校园动态操作。

  1. 管理员用户权限:

管理员的管理全部动态包含普通用户管理自我动态功能。

系统总用例图如图2-1所示。

图2-1 系统总用例图

  1. 普通用户权限用例

普通用户权限可使用功能包括登录、注册、管理动态、查看成绩、查看未还图书、查看校历等操作。其中管理动态包含以下三个功能。

  1. 回收站:

可将动态删除进入回收站,还可以将回收站内动态进行还原

  1. 草稿箱:

编写好的动态可以保存到草稿箱。

  1. 已发表:

查看所有已发表动态,可以进行删除与修改操作。

用户权限用例图如图2-2所示。

图2-2 普通用户权限用例图

  1. 管理员用户权限用例

管理员用户主要完成管理全部动态、导入成绩、导入未还图书、管理用户、统计数据以及管理栏目等操作。

管理员用户权限用例图如图2-3所示。

图2-3 管理员用户权限用例图

2.3 用例描述

以下是对用户登录的用例描述,如表2-1所示。

表2-1用户登录用例描述表

用例条目

用例描述

用例名称

用户登录

参与者

用户

描述

用户选择登录功能并使用用户名密码登录系统

前置条件

1.用户选择登录功能;

2.用户输入合法

后置条件

1.页面跳转到网站首页展示信息

优先级

正常

正常流程

1.用户在系统中选择登录功能

2.用户在登录界面输入用户名、密码及验证码确认身份信息

3.系统审核输入信息确认登录

扩展流程

2a:用户未输入完整的信息

2a1:系统提示用户输入不完整

2b:用户临时不想登录系统,选择返回主页

3a:用户输入的验证码、用户名、密码出错

特殊要求

补充说明

用户输入信息包括用户名、密码

以下是对用户注册的用例描述,如表2-2所示。

表2-2用户注册用例描述表

用例条目

用例描述

用例名称

用户注册

参与者

匿名用户

描述

匿名用户选择注册功能输入用户名密码昵称等信息进行注册账号

前置条件

1.用户选择注册功能;

2.用户输入完整且合法注册信息

后置条件

1.系统提示注册成功;

优先级

正常流程

1.用户在系统中选择注册功能

2.用户在注册界面输入合法且完整的注册信息

3.系统判断用户名是否存在,提示注册成功

扩展流程

2a:用户未输入完整的信息

2a1:系统提示用户输入不完整

2b:用户两次输入的密码不一致

2b1:系统提示两次输入的密码不一致

3a:用户注册的用户名已存在

3a1:系统提示用户名已存在,请重新输入

特殊要求

补充说明

用户输入注册信息添加到数据库时通过了加密算法进行加密

以下是对校园动态查看的用例描述,如表2-3所示。

表2-3校园动态查看用例描述表

用例条目

用例描述

用例名称

校园动态查看

参与者

普通用户

描述

用户进入校园动态模块查看校内全部动态

前置条件

1.用户点击动态模块;

2.注册用户登录

后置条件

1.页面跳转到相应功能页面

优先级

正常流程

1.用户点击动态模块

2.系统跳转到动态界面

3.用户查看动态

扩展流程

2a:系统无法展示正常的动态

2b:该系统中没有动态

特殊要求

要求动态加载快速,准确

补充说明

以下是对成绩查看的用例描述,如表2-4所示。

2-4成绩查看用例描述表

用例条目

用例描述

用例名称

成绩查看

参与者

普通用户

描述

用户进入主页进行成绩查看,用户可以查看当前登录用户成绩

前置条件

1.用户点击成绩查看;

2.注册用户登录

后置条件

1.页面跳转到相应功能页面

优先级

正常流程

1.用户点击成绩查看

2.系统跳转到成绩查看界面

3.用户查看成绩

扩展流程

2a:系统无法展示正常的成绩

2b:该系统中没有成绩

特殊要求

要求成绩加载快速,准确

补充说明

以下是对未还图书查看的用例描述,如表2-5所示。

表2-5未还图书查看用例描述表

用例条目

用例描述

用例名称

未还图书查看

参与者

普通用户

描述

进入主页进行未还图书信息查看,用户可以查看当前登录用户的未还图书信息

前置条件

1. 用户登录系统;

2. 用户点击未还图书模块

后置条件

1.页面跳转到相应功能页面

优先级

正常流程

1.用户点击未还图书模块

2.系统跳转到未还图书界面

3.用户查看未还图书

扩展流程

2a:系统无法展示正常的未还图书

2b:该系统中没有未还图书

特殊要求

要求未还图书加载快速,准确

补充说明

以下是对校历查看用例描述,如表2-6所示。

表2-6校历查看用例描述表

用例条目

用例描述

用例名称

校历查看

参与者

普通用户

描述

普通用户对校历内容进行相应查看

   续表2-6

用例条目

用例描述

前置条件

1.用户登录系统;

2.点击校历查看

后置条件

1.首页显示校历内容

优先级

正常流程

1.用户登录系统或点击校历查看

2.显示校历内容

扩展流程

1a:没有登录系统

1a1:提示登录用户账号

特殊要求

要求内容加载快速,准确

补充说明

以下是对成绩导入用例描述,如表2-7所示。

表2-7成绩导入用例描述表

用例条目

用例描述

用例名称

成绩导入

参与者

管理员

描述

管理员导入Excel表格数据,系统自动进行分析并导入数据库

前置条件

1. 管理员选择成绩导入功能并导入Excel表格数据;

2. Excel表格数据无误;

3.管理员用户登录到系统

后置条件

1.导入成功

优先级

正常

正常流程

1.用户在系统中选择成绩导入功能

2.选择Excel表格

3.上传Excel表格

4.导入成功

扩展流程

3a:Excel表格数据有误

3a1:系统提示导入失败

特殊要求

补充说明

Excel表格要使用规定格式

以下是对未还图书导入用例描述,如表2-8所示。

表2-8未还图书导入用例描述表

用例条目

用例描述

用例名称

未还图书导入

参与者

管理员

描述

管理员选择未还图书导入功能并导入Excel表格数据

前置条件

1.管理员选择未还图书导入功能并导入Excel表格数据;

2. Excel表格数据无误;

3.管理员用户登录到系统

后置条件

1.导入成功

续表2-8

用例条目

用例描述

优先级

正常

正常流程

1.用户在系统中选择未还图书导入功能

2.选择Excel表格

3.上传Excel表格

4.系统进行数据分析

5.导入成功

扩展流程

4a:Excel表格数据有误

4a1:系统提示导入失败

特殊要求

补充说明

Excel表格要使用规定格式

以下是对用户管理用例描述,如表2-9所示。

表2-9用户管理用例描述表

用例条目

用例描述

用例名称

用户管理

参与者

管理员

描述

管理员选择用户管理功能进行用户管理操作

前置条件

1. 管理员选择用户管理功能;

2. Excel表格数据无误;

3.管理员用户登录到系统

后置条件

1.用户管理操作成功

优先级

正常

正常流程

1.管理员在系统中选择用户管理功能

2.进行用户管理操作

3.操作成功

扩展流程

2a:操作失败

2a1:系统提示操作失败

特殊要求

补充说明

以下是对数据统计用例描述,如表2-10所示。

表2-10数据统计用例描述表

用例条目

用例描述

用例名称

数据统计

参与者

管理员

描述

管理员选择数据统计功能进行数据查看

前置条件

1. 管理员用户登录到系统;

2. 管理员选择数据统计功能

后置条件

1. 界面显示数据图表

优先级

正常

正常流程

1.管理员在系统中选择数据统计功能

续表2-10

用例条目

用例描述

2.系统获取数据并计算

3. 使用折线图显示数据

扩展流程

2a:数据获取失败

2a1:系统提示失败

特殊要求

补充说明

2.4 本章小

本章对校园便民服务站系统的项目需求进行了简要分析得出项目可行。然后使用用例图与用例描述对项目内角色进行用例建模。


第三章 系统设计

在本章中从项目的总体角度来进行设计,在界面划分上划分出前台和后端两个大界面,随后又对两个大界面下的每个小模块进行功能描述。最后使用E-R图以及数据库表对数据库进行设计。

3.1 系统总体设计

校园便民服务站系统采用微服务架构进行开发,微服务对于项目的开发以及维护十分友好,使用SpringBoot框架进行模块化开发,系统首先划分为两大界面前台与后台,随后编写每一个功能模块在进行整合。前端使用Vue,数据交互使用ajax,数据库选用开源的MySQL。系统操作数据库选用MyBatis框架,然后将这些框架使用SpringBoot整合到一起,完成整个系统的开发 

基于微服务的校园便民服务站系统功能结构图如图3-1所示。

图3-1 校园便民服务站系统管理系统功能结构图

3.2 系统功能描述

根据项目的总体功能设计以及项目需求,可以将本系统的功能分为如下几点:

1. 前台展示部分使普通用户可以进行查看校园动态、管理个人动态、成绩查看、未还图书查看、查看校历等功能。

2. 后台管理部分使用管理员登录系统可以进行管理动态、成绩与未还图书的信息进行导入、用户和栏目等执行管理的操作并且可以查看系统各模块访问量数据统计。

3.3 数据库设计

3.3.1 概念模型设计

基于微服务的校园便民服务站系统设计了多个实体分别是管理员实体、用户实体、动态实体、成绩实体、图书实体。这些实体是根据数据库表设计以及系统功能需求进行设计。下面对基于微服务的校园便民服务站系统的E-R图进行说明。

基于微服务的校园便民服务站系统E-R图,如图3-2系统整体E-R图所示。

图3-2 系统整体E-R图

下面依次详细介绍各个实体。

  1. 用户实体属性图

用户实体含有ID、用户名、昵称、密码、邮件地址、头像、注册日期、学号,如图3-3所示。

图3-3 用户实体属性图

  1. 动态实体属性图

动态实体含有ID、用户ID、标题、简介、内容、标签、栏目、发布时间、修改时间,如图3-4所示。

图3-4 动态实体属性图

  1. 图书实体属性图

图书实体含有ID、书名、导入时间、用户ID、学号,如图3-5所示。

图3-5 图书实体属性图

  1. 成绩实体属性图

成绩实体含有ID、导入时间、科目、分数、用户ID、学号,如图3-6所示。

图3-6 成绩实体属性图

  1. 栏目实体属性图

栏目实体含有ID、栏目名、创建时间,如图3-7所示。

图3-7 栏目实体属性图

  1. 管理员用户属性图

管理员用户含有ID、用户名、昵称、密码、邮件地址、头像、注册日期、学号、权限级别,如图3-8所示。

图3-8 管理员用户实体属性图

3.3.2 数据库表设计

在系统设计阶段,数据库表设计是系统设计阶段以及系统开发阶段非常总要的环节这关系到整个系统的功能实现以及日后系统的扩展与迭代还关系到底层代码实现,下面将完成本系统的数据库表的设计。

参照本系统的总体设计方案,需要6个主要数据表,因章节原因次要数据表因不予论文中体现,下面对数据表依次叙述。

  1. 用户信息表

用户信息表中字段有ID、学号用户名、昵称、密码、邮箱、头像、注册时间、是否可用。如表3-1所示。

表3-1 用户信息表

序号

字段名称

英文字段名称

数据类型

长度

是否为主键

1

ID

id

int

11

2

用户名

username

varchar

20

3

昵称

school

varchar

20

4

密码

password

varchar

20

5

是否可用

enabled

tinyin

1

6

邮箱

email

varchar

64

7

头像

userface

varchar

255

8

注册时间

regTime

timestamp

10

9

学号

sid

varchar

255

  1. 动态信息表

动态表中字段有ID、用户id、标题、简介、md内容、html内容、栏目id、发布时间、修改时间、状态。如表3-2所示。

表3-2 动态信息表

序号

字段名称

英文字段名称

数据类型

长度

是否为主键

1

ID

id

int

11

2

标题

title

varchar

100

3

简介

summary

Text

200

4

md内容

mdContent

Text

20

5

html内容

htmlContent

Text

20

6

栏目id

cid

Int

20

7

发布时间

publishDate

timestamp

10

8

修改时间

editTime

timestamp

10

9

状态

state

Int

50

10

用户id

uid

Int

20

  1. 未还图书信息表

未还图书信息表中字段有ID、学号、用户id、书名、借书日期。如3-3所示。

表3-3 未还图书信息表

序号

字段名称

英文字段名称

数据类型

长度

是否为主键

1

ID

id

int

11

2

书名

book_name

varchar

255

3

用户id

uid

int

10

4

学号

sid

varchar

255

5

借书日期

start_date

timestamp

10

  1. 栏目信息表

栏目表分别有ID、创建时间、栏目名称。如表3-4所示。

表3-4 栏目信息表

序号

字段名称

英文字段名称

数据类型

长度

是否为主键

1

ID

id

int

11

2

创建时间

start_date

timestamp

10

3

栏目名称

cateName

varchar

100

  1. 成绩信息表

成绩表分别有ID、导入时间、科目、分数、用户ID、学号。如表3-5所示。

表3-5 成绩信息表

序号

字段名称

英文字段名称

数据类型

长度

是否为主键

1

ID

id

int

11

2

导入时间

start_date

timestamp

10

4

科目

achievement_name

varchar

100

5

分数

achievement_score

Int

10

6

用户ID

uid

int

10

7

学号

sid

varchar

255

  1. 访问量统计信息表

访问量统计信息表分别有ID、日期、访问量、模块名称。如表3-6所示。

表3-6访问量统计信息表

序号

字段名称

英文字段名称

数据类型

长度

是否为主键

1

ID

id

int

11

2

日期

count_date

timestamp

10

3

访问量

pv

int

100

4

模块名称

model_name

varchar

255

3.4 本章小结

本章对系统的总体功能进行了简要设计,对系统功能进行了简要描述,根据总体功能结构完成了数据库的设计。


第四章 系统详细设计与实现

基于微服务的校园便民服务站系统实现了包括登录、注册、未还图书查看、成绩查看、用户管理、成绩导入模块、未还图书导入模块等多个功能模块,因模块较多只展示8个模块,下面依次叙述系统的具体设计与实现。

4.1 系统的详细设计

4.1.1 系统登录功能的设计

基于微服务的校园便民服务站系统是一学生一账号的方式进行登录,每个学生都自己的账号。用户进入系统如果之前没有保存过登录信息会显示登录界面,在输入框内输入用户名及密码,点击登录按钮。系统会将数据发送至后台进行登录校验。后台的业务逻辑是将接收的数据与数据库的数据进行对比,如果完全相符则发送成功信息给用户。反之用户登录失败,发送失败信息给用户,提示用户名及密码失败。

登录功能设计如图4-1系统登录功能时序图所示。

图4-1 系统登录功能时序图

4.1.2 系统注册功能的设计

基于微服务的校园便民服务站系统的新用户进行注册操作。本系统的注册功能在代码结构设计层面使用三层架构自上向下依次实现。首先在第一层Controller层实现regist ()方法;实现接收用户名和密码参数,之后调用第二层Service层regist ()方法然后在Service层中编写具体业务逻辑。看用户名是否被使用如果没有使用则调用第三层Dao层中addUser()方法实现用户的注册,使用MyBatis技术操作数据库完成业务流程。

系统注册功能设计如图4-2注册功能时序图所示。

图4-2 系统注册功能时序图

4.1.3 未还图书查看功能的设计

登录成功的用户进行未还图书的查看操作。本系统的未还图书查看功能在代码结构设计层面使用三层架构自上向下依次实现从上向下依次叙述。在第一层Controller层BookController()中依次实现了获取未还图书信息方法getBook(),在第二层Service层getBookByUid()方法中,实现了具体的业务逻辑并进行了日期处理。随后在第三层Dao层BookMapper接口中,使用SSM框架中的Mybatis技术完成业务流程。对数据库进行了查看最后将数据返回给用户,用户及可在BookHomePage页面查看未还图书信息。

未还图书查看功能设计如图4-3未还图书查看时序图所示。

图4-3 未还图书查看时序图

4.1.4 成绩查看功能的设计

登录成功的用户可以使用查看成绩功能。本系统的查看成绩功能在代码结构设计层面使用三层架构实现从上向下依次叙述。在第一层Controller层getAllAchievement()方法接收前端的用户信息数据。在第二层Service层getAchievementByUid()方法中实习具体的业务逻辑,在第三层Dao层AchievementMapper接口中使用MyBatis技术操作数据库完成业务流程。登录用户在成绩查看界面,即可查看所有成绩信息。成绩查看功能设计如图4-4成绩查看时序图所示。

图4-4 成绩查看时序图

4.1.5 用户管理功能的设计

用户管理功能需要具有管理员权限才能使用登录成功的管理员用户可以使用用户管理功能。本系统的用户管理功能在代码结构设计层面使用三层架构实现从上向下依次叙述。 管理员用户点击用户管理可进行对用户封禁和权限管理等功能。

在第一层Controller层UserManaController()方法中,实现了getUserByNickname()、getUserById()、getAllRole()、updateUserEnabled()、deleteUserById()、updateUserRoles()等方法。在第二层Service层userService()中编写了具体的业务逻辑并实现getUserByNickname()、getUserById()、getAllRole()、updateUserEnabled()、deleteUserById()、updateUserRoles()等方法,在第三层Dao层中使用了Mybatis技术完成对数据库的操作从而实现具体的业务逻辑。用户管理功能如图4-5用户管理时序图所示。

图4-5 用户管理时序图

4.1.6 成绩导入功能的设计

基于微服务的校园便民服务站系统因未连接外部平台数据接口,设计时选用Excel数据表格作为外部数据导入媒介。成绩导入功能可完成对成绩的导入操作,管理员登录系统后选择成绩导入功能按操作导入Excel数据表格系统会自动完成成绩的导入。

成绩导入功能需要具有管理员权限才能使用,登录成功的管理员用户可以使用成绩导入功能。本系统的成绩导入功能在代码结构设计层面使用三层架构实现从上向下依次叙述。在第一层Controller层方法中实现了uploadxls()方法,该方法接收到Excel数据表格后保存到临时文件。第二层Service层Service中,依次实现importFromExcelToMySQL()方法在该方法中完成了具体业务逻辑的实现。第三层Dao层使用Mybatis技术进行数据库操作。

成绩导入功能设计如图4-6成绩导入时序图所示。

图4-6 成绩导入时序图

4.1.7 未还图书导入功能的设计

基于微服务的校园便民服务站系统因未连接外部平台数据接口,设计时选用Excel数据表格作为外部数据导入媒介。未还图书导入功能可完成对未还图书的导入操作,管理员登录系统后选择未还图书导入功能按操作导入Excel数据表格系统会自动完成未还图书的导入。本系统的导入功能在代码结构设计层面使用三层架构实现从上向下依次叙述。在第一层Controller层方法中实现了uploadxls()方法,该方法接收到Excel数据表格后保存到临时文件。第二层Service层Service中,依次实现importFromExcelToMySQL()方法在该方法中完成了具体业务逻辑的实现。第三层使用了Mybatis技术完成数据库操作。

未还图书导入功能设计如图4-7未还图书导入时序图所示。

图4-7 未还图书导入时序图

4.1.8 数据统计功能的设计

基于微服务的校园便民服务站系统的数据统计功能可对系统的访问量进行统计,管理员登录系统后选择数据统计功能界面上会显示折线图、柱状图等数据图表,管理员可根据需要自行切换还可将图表下载成图片进行保存,使用区域查看功能可查看小范围区域的详细图表数据。本系统的数据统计功能的实现是基于三层架构完成的,从上而下依次叙述。在Controller层方法中实现了dataStatistics ()方法,该方法接收到导请求后调用Service层方法。在Service层articleService中,依次实现getCategories ()和getDataStatistics()方法。在以上方法中完成了具体业务逻辑的实现。最后Mybatis技术,完成数据库操作。

数据统计功能设计如图4-8数据统计时序图所示。

图4-8 数据统计功能时序图

4.2 系统的实现

4.2.1 系统登录功能的实现

系统的登录界面使用ElementUI框架作为前端框架,使用html+css编写账号与密码输入框。登录功能界面如图4-9所示。

图4-9 系统登录功能界面图

用户进入登录界面,在登录界面的输入框中输入用户名和密码,然后单击登录按钮,系统使用ajax将数据传递到后台完成校验,在数据库中判断用户名和密码是否正确,如果正确则登录到主界面,如果错误则给出错误提示并让用户从新输入用户名和密码。系统登录流程图如图4-10所示。

图4-10 系统登录流程图

4.2.2 系统注册功能的实现

系统的登录界面使用ElementUI框架作为前端框架,使用html+css编写账号、密码昵称的输入框。系统注册功能界面如图4-11所示。

图4-11 系统注册功能界面图

基于微服务的校园便民服务站新用户进入系统的注册界面后,在界面输入用户名密码和昵称后点击注册操作,即可向系统发送注册请求如果用户名没有被使用即可注册成功。系统注册功能流程图如图4-12所示。

图4-12 系统注册功能流程图

4.2.3 未还图书查看功能的实现

未还图书查看功能界面如图4-13所示。

图4-13 未还图书查看功能界面图

基于微服务的校园便民服务站普通用户进入系统成功之后,系统首先会校验用户的登录信息,并获取用户的信息,之后用户在界面中点击未还图书查看操作,即可向系统发送查看请求系统会去数据库中查找与用户信息对应的未还图书信息。未还图书查看功能流程图如图4-14所示。

图4-14 未还图书查看功能流程图

4.2.4 成绩查看功能的实现

系统的查看成绩界面使用ElementUI框架中的数据列表作为前端UI组件,使用html+css美化页面。成绩查看功能界面如图4-15所示。

图4-15 成绩查看功能界面图

基于微服务的校园便民服务站普通用户进入系统成功之后,首先获取用户的登录信息之后用户在界面中点击成绩查看按钮,即可向系统发送查看请求后台校验登录信息后在数据库中查询用户相关成绩信息。成绩查看功能流程图如图4-16所示。

图4-16 成绩查看功能流程图

4.2.5 用户管理功能的实现

用户管理功能界面如图4-17所示。

图4-17 用户管理功能界面图

基于微服务的校园便民服务站管理员用户进入系统成功之后,在界面中点击用户管理操作,即可对系统的用户进行管理。用户管理功能流程图如图4-18所示。

图4-18 用户管理功能流程图

4.2.6 成绩导入功能的实现

系统的注册界面使用ElementUI框架作为前端框架,使用html+css编写页面。成绩导入功能界面如图4-19所示。

图4-19 成绩导入功能界面图

基于微服务的校园便民服务站管理员用户进入系统成功之后,在界面中点击成绩导入操作,导入Excel表格后,系统会自动将数据导入。成绩导入功能流程图如图4-20所示。

图4-20 成绩导入功能流程图

4.2.7 未还图书导入功能的实现

系统的未还图书导入界面使用ElementUI框架作为前端框架,使用html+css编写页面。未还图书查看功能界面如图4-21所示。

图4-21 未还图书查看功能界面图

基于微服务的校园便民服务站管理员用户在界面中点击未还图书导入,导入Excel表格后,系统会自动将数据导入。未还图书导入功能流程图如图4-22所示。

图4-22 未还图书导入功能流程图

4.2.8 数据统计功能的实现

数据统计功能界面如图4-23所示。

图4-23 数据统计功能界面图

基于微服务的校园便民服务站管理员用户进入系统成功之后,在界面中点击数据统计功能,界面会显示数据图表。数据统计功能流程图如图4-24所示。

图4-24 数据统计功能流程图

数据统计功能算法描述:

pv 是指页面被浏览的次数,比如你打开一网页,那么这个网站的pv就算加了一次。校园便民服务站系统就是根据这个定理来设计的数据统计功能。首先记录网站每一天的访问量,然后计算出pv数据后进行图表的渲染。数据统计功能算法描述流程图如图4-25所示。

图4-25 数据统计功能算法描述流程图

4.9 本章小结

本章完成了系统的详细设计和具体的开发流程,使用三层架构在代码层面进行了详细描述分别说明了Controller层,Service层,Dao层的设计以及作用,使用项目效果图对项目的界面进行初步设计与实现。通过使用流程图对功能流程加以解释,并根据设计图实现了所有方法的代码构建,完整的将项目实际效果展示出来。完成了项目的详细设计与实现。


第五章 系统测试

在系统测试是在软件开发过程中十分重要的一部,这关系到软件的质量以及后续维护的难度,系统测试十分重要,在软件的各个阶段都要进行测试,在最新的软件开发流程中敏捷开发要比瀑布开发更容易发现错误,就是因为敏捷开发是在每个模块编写完成都进行一次上线测试。这种测试方式可以更早发现错误,并解决。在测试的时候通常使用黑盒测试与白盒测试两种方式,本章测试使用黑盒检测。

5.1 系统登录功能测试

目的:测试登录功能是否符合预期设计要求。

意义:发现该功能可能的存在的故障或缺陷并藉此对软件的质量进行度量,尽最大可能的找出最多的错误,以保证项目上线后高度可用。

前置条件:1. 用户进入登录界面。

基于微服务的校园便民服务站系统设计多种登录权限,现以用户登录为例。具体的测试输入数据包括用户名及密码正确、密码错误、用户名错误、用户名为空、密码为空、用户名和密码为空。

系统登录功能测试用例如表5-1所示。

表5-1 系统登录测试用例表

序号

输入

操作及步骤

预测结果

实际结果

测试结果

1

用户名:zhangsan

密码:123456

登录

登录成功

登录成功

通过

2

用户名:zhangsan

密码:112322

登录

密码错误

登录失败

通过

3

用户名:zHangSan

密码:123456

登录

用户名错误

登录失败

通过

4

用户名:ZhangSan

密码:223455

登录

用户名及

密码错误

登录失败

通过

5

用户名:null

密码:123456

登录

用户名为空

登录失败

通过

6

用户名:zhangsan

密码:null

登录

密码为空

登录失败

通过

7

用户名:null

密码:null

登录

用户名及

密码为空

登录失败

通过

测试数据通过等价分类法的相应数据测试。对预测结果以及实际结果进行对比后进行记录发现输入测试数据通过测试并且功能运转正常。最终得出结论该功能完成通过测试。

5.2 动态发布功能的测试

目的:测试动态发布功能是否符合预期设计要求。

意义:发现该功能可能的存在的故障或缺陷并藉此对软件的质量进行度量,尽最大可能的找出最多的错误,以保证项目上线后高度可用。

前置条件:1. 用户登录系统;2. 用户进入动态发布界面。

基于微服务的校园便民服务站系统的动态发布功能,用户进入动态界面,输入信息后,点击发布动态即可发布动态。具体测试数据包括输入空值,输入特殊字符,插入图片。

动态查看功能测试用例如表5-2所示。

表5-2 动态查看测试用例表

序号

输入

操作及步骤

预测结果

实际结果

测试结果

1

内容:Null

点击发布按钮

提示请输入内容

提示请输入内容

通过

2

内容:@#¥%&*()

点击发布按钮

发布成功

发布成功

通过

3

内容:图片

点击发布按钮

发布成功

发布成功

通过

测试数据通过等价分类法的相应数据测试。对预测结果以及实际结果进行对比后进行记录发现输入测试数据通过测试并且功能运转正常。最终得出结论该功能完成通过测试。

5.3 系统注册功能的测试

目的:测试注册功能是否符合预期设计要求。

意义:发现该功能可能的存在的故障或缺陷并藉此对软件的质量进行度量,尽最大可能的找出最多的错误,以保证项目上线后高度可用。

前置条件:1. 用户进入注册界面。

基于微服务的校园便民服务站新用户进入系统的注册界面后,在界面输入用户名密码后即可完成注册操作,具体测试数据有输入正确的注册信息、输入不符合的注册信息、输入部分注册信息系统注册功能测试用例如表5-3所示。

表5-3 系统注册测试用例表

序号

输入

操作及步骤

预测结果

实际结果

测试结果

1

输入账号:h123456

输入密码:123456

确认密码:123456

随机输入与之对应的注册信息

成功录入数据库

成功录入数据库

通过

2

输入账号:null

输入密码:123456

确认密码:123456

输入不符合的注册信息

录入失败数据库

录入失败数据库

通过

3

输入账号:h123456

输入密码:

确认密码:123456

输入部分的注册信息

录入失败数据库

录入失败数据库

通过

测试数据通过等价分类法的相应数据测试。对预测结果以及实际结果进行对比后进行记录发现测试数据通过测试并且功能运转正常。最终得出结论该功能完成通过测试。

5.4 用户管理功能的测试

目的:测试用户管理功能是否符合预期设计要求。

意义:发现该功能可能的存在的故障或缺陷并藉此对软件的质量进行度量,尽最大可能的找出最多的错误,以保证项目上线后高度可用。

前置条件:1. 管理员用户登录系统;2. 用户进入用户管理界面。

基于微服务的校园便民服务站管理员用户进入系统成功之后,在界面中点击用户管理操作,即可对系统的用户进行管理。用户管理功能测试用例如表5-4所示。

表5-4 用户管理功能测试用例表

序号

输入

操作及步骤

预测结果

实际结果

测试结果

1

点击用户管理功能

显示全部用户信息

显示全部用户信息

通过

2

点击封禁用户

封禁用户

封禁用户

通过

zhangsan

zhangsan成功

zhangsan成功

3

点击删除用户

zhangsan

删除用户zhangsan成功

删除用户zhangsan成功

通过

4

点击角色添加

角色添加成功

角色添加成功

通过

测试数据通过等价分类法的相应数据测试。对预测结果以及实际结果进行对比后进行记录发现输入测试数据通过测试并且功能运转正常。最终得出结论该功能完成通过测试。

5.5 未还图书导入功能的测试

目的:测试未还图书导入功能是否符合预期设计要求。

意义:发现该功能可能的存在的故障或缺陷并藉此对软件的质量进行度量,尽最大可能的找出最多的错误,以保证项目上线后高度可用。

前置条件:1. 管理员用户登录系统;2. 管理员用户进入未还图书导入界面。

基于微服务的校园便民服务站系统的未还图书导入功能可以完成对用户未还图书信息的导入具体的测试数据未还图书导入未还图书导入功能测试用例如表5-5所示。

表5-5 未还图书导入功能测试用例表

序号

输入

操作及步骤

预测结果

实际结果

测试结果

1

点击未还图书导入界面

显示未还图书导入界面

显示未还图书导入界面

通过

2

上传Excel文件并点击导入按钮

导入成功

导入成功

通过

测试数据通过等价分类法的相应数据测试。对预测结果以及实际结果进行对比后进行记录发现输入测试数据通过测试并且功能运转正常。最终得出结论该功能完成通过测试。

5.6 动态管理功能的测试

目的:测试动态发布功能是否符合预期设计要求。

意义:发现该功能可能的存在的故障或缺陷并藉此对软件的质量进行度量,尽最大可能的找出最多的错误,以保证项目上线后高度可用。

前置条件:1. 用户登录系统;2. 用户进入动态管理界面。

基于微服务的校园便民服务站系统动态管理功能可以完成动态的已发表、草稿箱、回收站、还原等功能。动态管理功能测试用例如表5-6所示。

表5-6 动态管理功能测试用例如表

序号

输入

操作及步骤

预测结果

实际结果

测试结果

1

点击动态1

显示全部已发表动态

显示全部已发表动态

通过

2

保存动态1

保存草稿成功

保存草稿成功

通过

3

删除动态1

删除成功

删除成功

通过

4

还原动态1

还原成功

还原成功

通过

测试数据通过等价分类法的相应数据测试。对预测结果以及实际结果进行对比后进行记录发现输入测试数据通过测试并且功能运转正常。最终得出结论该功能完成通过测试。

5.7 性能测试

性能测试是对系统在高并发下的系统可用性进行的测试,本次测试的模块为登录模块,接口路径为/login。系统负载关系表如表5-7所示。

表5-7 系统负载关系表

序号

用户数

请求路径

间隔时间

循环次数

测试数

通过数

1

100

/login

10

10

100

100

2

200

/login

10

20

200

200

3

400

/login

10

33

400

400

4

800

/login

10

20

800

758

5

1200

/login

10

20

1200

1100

6

1600

/login

10

20

1600

1400

5.8 本章小结

本章对各项功能模块进行了黑盒测试,并将详细数据使用测试用例表展示出来。最后对登录模块的login接口进行性能测试。根据结果得出结论,各模块,以及界面通过测试,测试结果符合预期。

本文从需求分析到项目总体设计再到详细设计以及测试,充分展现了校园便民服务站系统的体系结构。项目内角色分为普通用户,管理员用户两种角色。不同角色对应使用多个不同模块功能,项目在UI设计上贴合使用者内心需求完全诠释了“简单可依赖”这句话。校园便民服务站将重点放在便民服务上,以多种便民服务为学生们的在校生活提供便利。同时提供了校内动态板块,在校园内开放学生的交流空间,建立一个简单、干净的网络平台。整个系统基于springboot框架,前端使用VUE,数据库使用Mysql,综合以上技术实现了包括登录、注册、未还图书查看、成绩查看、用户管理、成绩导入模块、未还图书导入模块等多个功能模块。工程结束后,根据实际情况对系统各功能模块进行了大量数据测试,保证了系统的安全和完整。


参考文献

[1] 朱文婧. 便民服务中心用户满意度调研及管理优化研究[D]. 江西财经大学,2022.

[2] 邓笑. 基于微服务的智慧校园系统的设计与实现[D]. 华中科技大学,2019.

[3] 王倩. 一站式便民服务的发展前景 [D]. 山东大学,2020.

[4] 邱斌. 便民服务平台的竞争战略研究[D]. 华东交通大学,2019.

[5] Michael rose; Jurgen born. Research on Amazon's one-stop convenience service platform [D]. California Institute of technology,2020.

[6] 张艳红. 高校创设校园阳光服务平台的探索与实践[J]. 科教导刊(上旬刊), 2018(04).35-36.

[7] 宁方美,贺雪梅,牟晋娟.SpringBoot集成Redis缓存技术在企业一卡通系统中的应用[J].电子技术与软件工程,2019(24):133-134.

[8] 杨昆宇.基于SpringBoot的年度考核投票系统的研究与实现[J].通信管理与技术,2019(05):39-41.

[9] Design and Implementation of Service and Management System of Agricultural Technicians [J] . YangLu, FurongWang, ChangshouLuo, MATECWebofConferences.2019,10(23): 28-29.

[10] Design and Implementation of a GPS Guidance System for Agricultural Tractors Using Augmented Reality Technology [O] . Javier Santana-Fernández, Jaime Gómez-Gil, Laura del-Pozo-San-Cirilo, 2020.

[11] 江进. 杨健. 基于悉尼协议的《MYSQL数据库》课程教学改革[J].《科技风》, 2021(003):59-60.

[12] Lan Sommerville. Software Engineering[M]. Beijing: Addison-Wesley Publishing Press, 2020:18-34.

[13] Chun‐Yen Tsai, Huann‐shyang Lin, Shu‐Chiu Liu The effect of pedagogical GAME model on students' PISA scientific competencies[J]  Journal of Computer Assisted Learning, 2020, 36(3) 30-31

[14] 李荣国,王见.MySQL数据库在自动测试系统中的应用[J].计算机应用,2020(31):169-171.

[15] 李艳杰. 基于JAVA与MySQL数据库的移动端题库练习系统的设计与实现[J]. 《黑龙江科学》, 2022(2):56-57.


原文地址:https://blog.csdn.net/weixin_46959376/article/details/145199241

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!