springboot校园拼车服务管理系统-毕业设计源码70271

Springboot校园拼车服务管理系统

摘 要

在信息飞速发展的今天,网络已成为人们重要的信息交流平台。每天都有大量的校园拼车服务管理系统需要通过网络发布,为此,本人开发了一个基于Springboot校园拼车服务管理系统 。

该系统以Java编程语言、Mysql和MVC等为开发技术,实现了添加、修改、查看、删除系统数据。本系统采取组件化的方式对系统进行拆分,并对数据库中各个表的增删查改、表与表之间的约束关系进行分析与设计,最终实现符合用户需求功能的商业级应用。

系统界面简洁大方,布局合理,易操作易上手。对应用户的每一步操作,系统都能高响应地做出反馈。系统具体包含对系统用户管理、路线信息管理、司机信息管理、拼车信息管理、拼车订单管理、长途拼车管理、长途订单管理等功能,为拼车服务管理系统提供一个管理平台,实现对数据地高效、安全地管理。

关键词:校园拼车服务管理系统,Java编程语言,Springboot框架;

Springboot campus carpool service management system

Abstract

In today's rapidly developing world of information, the internet has become an important platform for people to exchange information. There are a large number of campus carpool service management systems that need to be published online every day. Therefore, I have developed a campus carpool service management system based on Springboot.

The system is developed using Java programming language, MySQL, MVC, and other technologies to add, modify, view, and delete system data. This system adopts a componentized approach to split the system, and analyzes and designs the addition, deletion, query, and modification of various tables in the database, as well as the constraint relationships between tables. Ultimately, it achieves a commercial level application that meets user needs.

The system interface is simple and generous, with a reasonable layout, and is easy to operate and get started. The system can provide responsive feedback for each step of the user's operation. The system specifically includes functions such as user management, route information management, driver information management, carpool information management, carpool order management, long-distance carpool management, and long-distance order management. It provides a management platform for ride hailing, achieving efficient and safe management of data.

Key words:Campus carpool service management system, Java programming language, Springboot framework;

目录

 

Abstract

第1章 绪论

1.1 研究背景与意义

1.2 开发现状

1.3 本文的组织结构

第2章 相关技术介绍

2.1 Java编程语言

2.2 B/S模式

2.3 Tomcat简介

2.4 MySQL简介

第3章 系统分析

3.1 可行性分析

3.2 功能需求分析

3.3 非功能需求分析

3.4 用例分析

3.5 业务流程分析

第4章 系统设计

4.1 系统架构设计

4.2 系统功能结构

4.3 功能模块设计

4.4 数据库设计

第5章 系统实现

5.1 开发工具

5.2 注册模块

5.3 登录模块

5.4 个人资料模块

5.5 留言板模块

5.6 拼车信息模块

5.7 密码修改模块

5.8 拼车订单管理模块

5.9 司机信息管理模块

第6章 系统测试

6.1 测试概述

6.2 测试过程

6.3 测试结果

第7章 总结与展望

7.1 总结

7.2 展望

参考文献

致谢

  1. 绪论

    1. 研究背景与意义

本选题旨在设计一个对司机信息和客户信息进行管理、对校园拼车服务管理系统进行监控的系统,主要包括路线信息管理、司机信息管理、拼车信息管理、拼车订单管理、长途拼车管理、长途订单管理等。由于各项过程间关系的复杂性,使得拼车服务管理工作量大且复杂,以前乃至现在仍然有众多拼车服务管理系统采用人工方式进行管理,使得错误频繁发生,服务质量不断降低。校园拼车服务管理系统的开发使得这一状况得到根本的改善。这套管理系统涵盖车辆拼车服务管理系统业务的各个方面,使得拼车服务管理系统服务可以快速、规范地完成,节省了人力物力;简便拼车服务管理系统服务的同时,有效的提高服务质量和经济效益,构筑交易双方畅通的交流渠道。

    1. 开发现状

在国内,研究人员对校园拼车服务管理系统进行了广泛的探索。他们关注系统的设计与开发、路径规划、用户体验等方面。通过大数据分析,研究人员致力于提供高效、安全和可靠的校园拼车服务。

在国外,许多国家也进行了相关研究。他们聚焦于校园拼车服务的需求分析、路线规划优化、社交网络应用等方面。国外研究者致力于提供更加智能化和个性化的校园拼车服务。

此外,一些校园拼车服务平台已经在实际应用中取得成功,为校园内的学生和教职员工提供了便捷的出行方式。这些平台通过在线发布拼车信息、智能匹配乘客和司机、实时导航等功能,改善了校园交通拥堵问题,提高了出行效率。

总体而言,校园拼车服务管理系统的研究现状在国内外都呈现积极发展态势。通过不断的创新与优化,这些研究为校园交通提供了更加便捷、高效和可持续的解决方案,有望进一步推动校园拼车服务的发展和应用。

    1. 本文的组织结构

六个章节共同组成了本文研究及设计内容,包括:

第一章:绪论。本文章的开头部分,对本题目的研究背景和研究意义等一些做文字性的描述。

第二章:相关技术介绍。主要介绍springboot编程技术、java嵌入式脚本语言、B/S模式等。

第三章:系统分析。包括系统总体需求描述、功能性角度分析系统需求、非功能性等各个方面分析系统是否可以实现。

第四章:系统设计。本文章的重要部分,提供了系统架构的详细设计和一些主要功能模块的设计说明。

第五章:系统实现。将本系统分为前提的开发工具介绍和后期的功能代码实现。

第六章:系统测试。系统完成后,根据各个模块的测试用例才对各个模块进行功能测试。

  1. 相关技术介绍

    1. Java编程语言

Java采用函数或者过程来解析对于数据的操作,但又把数据和函数之间相互分开,这样并不利于维护,并会增加程序的工作量。而面向对象的编程将程序的函数和函数对于数据的操作封装在一个类中,作为一个整体来处理。所以Java语言是主要通过面向对象来实现编程,并且摒除了C++语言中的指针、多继承等比较难理解部分,创造出了自身独有的单继承、多接口、高内聚、低耦合等特性[3] [4]。

    1. B/S模式

计算机的系统软件主要分为两种:系统软件和应用软件。应用软件则是为了某个特定的应用而开发的一类软件,比如文字处理软件word、QQ、开发本软件用的myeclise工具等。而应用型软件大致的分为B/S和C/S两种模式,常用的QQ、Office办公软件就是C/S结构的,另外常见基于的B/S结构开发的有各种网站,比如淘宝、企业的门户网站[7]。

B/S模式的优势有三个:第一是开发和业务扩展简单、只需要改变网页代码,就可以达到想要的网页效果;第二学生的操作显浅易懂;第三具有分布性特定,可以随时随地的进行查询、浏览等业务的处理。这是C/S所无法实现的。综上因素,选择B/S模式来设计和实现本系统[8]。

    1. Tomcat简介

Tomcat是开发源代码,使用者可根据个人习惯、系统的需求对tomcat进行配置;另外对于系统的发布和运行是非常简单的[10],开发人员只需要在MyEclipse开发工具中导入Tomcat,服务器的配置就算完成了;这是非常适合JSP程序的。对于程序人员开发程序经常可能会遇到乱码的问题,而使用tomcat作为服务器,只需要在tomcat的安装目录下找到配置文件夹conf下的服务器配置文件server.xml,打开后改动端口号为8080的接收环节与请求处理环节的连接器Connector为相对应的编码,运行项目后,就不会出现中文乱码问题。本系统的设计和实现编码使用的是UTF-8,所以需要在端口号为8080的连接器中设置编URIEncoding="UTF-8"[11] [12]。

    1. MySQL简介

MySQL是一个开放的、快速的、多线程的SQL关系型数据库服务器。由于其体积小、免费、运行速度快以及可以通过相关免费的软件来对MySql数据库中的相关数据结构信息等等优点。受广大中等、小型企业所喜爱并占据了很大地位。本系统在数据库方面选用MySQL,并通过Nacivat来进行MySql数据库的管理。在Mysql的安装过程中,最需要注意的就是数据库的编码问题,所以在安装数据库时需要设置数据库的编码为Utf-8,与前台页面和服务器的编码相一致[13]。

  1. 系统分析

    1. 可行性分析
      1. 法律可行性分析

开发软件有没有触犯法律,这涉及到软件或者系统能不能发布的问题。如果触犯了法律,就必将会受到法律的制裁。常见法律问题就是软件抄袭问题,若是抄袭别人软件,将会受到严厉惩罚。

      1. 技术可行性分析

软件产业经过多年的发展,现在已经达到了很大的规模,从事软件开发的专业人员不计其数,软件产业的重要性已经上升到了影响和推动国民经济发展的核心地位。本系统基于的架构,目前技术已经非常的成熟,是不存在技术上面难以实现的麻烦。

      1. 经济可行性分析

开发软件所需的时间、人力和物力成本,开发完成后的收益如何,从投资回报的角度软件所需功能在现有经济条件能不能实现等进行深入的考虑,都符合实际的要求。所以洗衣店管理系统具有经济可行性和实用性,可以节约管理成本

    1. 功能需求分析

校园拼车服务管理系统主要是为了管理和控制新闻的管理情况,对用户的信息和路线信息管理、司机信息管理、拼车信息管理、拼车订单管理、长途拼车管理、长途订单管理、留言管理提供了方便的机制。本系统有多类使用者,分别是管理员、司机和乘客。以下是从这三种用户的角度分别介绍本系统所要实现的功能。

乘客用户:

注册:首先检查用户名和邮箱是否存在,如果都不存在才能进行注册,并将用户输入的密码进行MD5加密,注册成功后提示注册成功,并将用户信息保存到数据库中。

登录:使用系统前提是需要登录账号。

留言:进入留言界面,发表个人的留言信息以及回复已存在的留言信息,更新后,其他用户可以查看回复的留言。

资讯搜索和浏览:资讯展示功能模块主要包括资讯搜索、查看资讯详情功能。未注册用户(游客)和已注册用户均可以在首页进行资讯搜索及查看资讯详情。

拼车订单搜索和浏览拼车订单展示功能模块主要包括拼车订单搜索、查看拼车订单详情功能。未注册用户(游客)和已注册用户均可以在首页进行拼车订单搜索及查看拼车订单详情。具体功能需求如下:(1)拼车订单搜索:前台用户可以在前台输入关键词进行搜索,搜索成功后返回该拼车订单的动态排序列表,且能够进行分页展示。(2)查看拼车订单详情:用户可点击对应拼车订单,从而查看该拼车订单的拼车订单详情。

拼车订单接单:拼车订单已存在的前提下,提供司机对拼车订单的接单功能,司机对拼车订单接单成功后,可以查看到个人已有的拼车订单接单列表。

管理员:

用户管理:(1)新增用户,用于创建新用户。管理员在页面上选择"新增用户",输入用户所需的信息后保存。(2)查找用户信息,可根据条件查找用户。管理员第一次点击"用户列表"时,默认用户列表显示出全部的用户,可以根据用户姓名和出生年月进行模糊搜索,系统将查询到的用户显示到用户列表。如果不加限制、直接点击搜索按钮,则查询出全部的用户。(3)删除用户,用于删除已有用户。在用户列表显示出用户后,选择用户进行删除。在确定删除之后,该条记录将从数据库中删除,并提示删除成功,确认后列表会重新刷新。(4)修改用户信息,在用户列表显示出用户后,选择用户进行编辑。表单将出现已有用户信息,用户可以对已有信息进行确认更改。更改完成后选择确认,列表会重新刷新。

司机管理:

(1)新增司机;

(2)删除司机;

(3)更新司机;

资讯数据管理:

(1) 图片上传:给资讯添加资讯图片。

(2) 增加资讯;

(3) 更新资讯:更新资讯的信息,如资讯标题、内容等。

(4) 资讯数据删除销毁;

订单记录管理:

(1)按接单记录编号查询接单记录:

(2)查看接单记录详情:

    1. 非功能需求分析

系统非功能需求有非常多,比如性能需求、可承载最大用户数、稳定性、易用性需求等。本系统分析时考虑到易用性需求,因为系统是给人使用的,所以必须充分从用户的角度出发,考虑用户体验,使系统易理解易上手易操作。

    1. 用例分析

1.乘客用户主要使用系统的拼车服务管理系统拼车订单发布业务,下图所示为乘客用户的用例图。

图3-1 乘客用户用例图

2.司机用户主要使用系统的拼车服务管理系统拼车订单接单业务,下图所示为司机用户的用例图。

图3-1 司机用户用例图

3.管理员主要负责留言板管理、司机信息管理、订单管理、拼车管理、资源管理,下图所示描述管理员的用例图。

图3-2 管理员用例图

    1. 业务流程分析

系统业务流程图如下所示。

图3-3 系统业务流程图

首先系统使用用户分2种,使用接单功能的为乘客用户,使用管理功能的为管理员用户,乘客用户注册成功后得到账号和密码,在登录页输入账号密码后登录到系统,司机用户便可以浏览到系统展示的拼车订单,然后进行拼车订单接单,接着形成个人拼车订单接单记录;管理员用户对系统的数据进行维护,包括拼车订单信息的维护,对拼车订单的属性及数据等进行更新和编辑,对客户的拼车订单接单记录进行确认和维护等。

  1. 系统设计

    1. 系统架构设计

本系统采用MVC结构,结构包括了View、Controller、Service、ServiceImpl、Dao等模块。系统架构图如下图所示。

图4-1系统架构图

根据本系统需求分析,应为系统搭建多个包,分别为Controller、Service、ServiceImpl、Dao、Entity、Util。

现对上述的包进行简要的功能阐述,Controller层负责接收前台传来的请求并对取到的数据进行封装。Service层主要负责处理业务逻辑。Dao层负责数据库方面的交互。Entity包放置实体类,对应数据库里面一张张的表。Util包放置工具类,比如以json数据的格式返回前台的JSONUtil类,自动生成id的GenerateID类等。通过applicationContext.xml,applicationContext-dataSource.xml,web.xml这三个配置文件来搭建本系统。

首先配置applicationContext.xml,主要是自动扫描控制器,视图模式,注解的启动。

applicationContext.xml是springMVC的一些相关。

    1. 系统功能结构

为了将系统从“做什么”落实到“怎么做”,基于系统设计原则,对系统功能进行更适合编码实现的功能划分。根据上图的系统架构设计,整理出规范的系统功能结构图,为系统的实现编码做好准备。

如下图所示为系统功能结构图。

图4-2系统功能结构图

    1. 功能模块设计

用户管理针对所有用户和管理员。未注册用户点击注册,进入注册页面填写新用户信息,得到自定义生成账号后,注册完成。未注册用户注册的活动图如下图所示。

图4-3未注册用户注册活动图

用户可进行登录使用更多功能,首先进入用户登录界面,输入用户账号和密码,后台对账号和密码信息进行核对验证,验证成功则页面直接显示登录用户昵称代表登录成功,否则返回用户登录界面。用户登录活动图如下图。

图4-4用户登录活动图

用户登录后,进入功能页面,可对自己的信息进行管理,包括个人信息,拼车资讯、路线信息、司机信息、拼车信息、拼车订单等。用户使用功能活动图如下图所示。

图4-5用户使用功能活动图

用户功能界面可对自己的密码进行修改。进入修改密码界面后核对当前密码,核对成功后填写新密码。如下图所示。

图4-6修改密码活动图

    1. 数据库设计

校园拼车服务管理系统采用的数据库是Mysql,该部分将根据系统需求和设计,设计合理的数据库。本系统考虑到之后系统的扩展集群,数据库将不使用外键。此外,不用外键时数据管理也较为简单,操作更加方便,性能更高。

      1. E-R图

E-R图,更加直观的告诉开发人员系统的各个数据的属性,各个数据之间的联系,各个数据的类型。能通过该模型更直观地了解数据库的设计,并根据对其逐渐改善。

本系统图设计,如下图所示。

图4-7系统E-R图

      1. 表结构设计

本系统根据第三范式的思想设计数据库,减少最大程度的冗余,总共建立有多个表,表结构如下所示。  

表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

更新时间:

表carpool_order (拼车订单)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

carpool_order_id

int

10

0

N

Y

拼车订单ID

2

carpool_number

varchar

64

0

Y

N

拼车单号

3

driver_user

int

10

0

Y

N

0

司机用户

4

driver_no

varchar

64

0

Y

N

司机编号

5

drivers_name

varchar

64

0

Y

N

司机姓名

6

vehicle_type

varchar

64

0

Y

N

车辆类型

7

limited_number_of_passengers

varchar

64

0

Y

N

限载人数

8

license_plate_number

varchar

64

0

Y

N

车牌号码

9

route_number

varchar

64

0

Y

N

路线编号

10

carpool_unit_price

varchar

64

0

Y

N

拼车单价

11

carpool_passenger

int

10

0

Y

N

0

拼车乘客

12

passenger_name

varchar

64

0

Y

N

乘客姓名

13

passenger_phone_number

varchar

64

0

Y

N

乘客电话

14

number_of_carpools

int

10

0

Y

N

0

拼车人数

15

total_carpool_price

varchar

64

0

Y

N

拼车总价

16

carpool_remarks

text

65535

0

Y

N

拼车备注

17

pay_state

varchar

16

0

N

N

未支付

支付状态

18

pay_type

varchar

16

0

Y

N

支付类型: 微信、支付宝、网银

19

recommend

int

10

0

N

N

0

智能推荐

20

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

21

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表car_sharing_information (拼车信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

car_sharing_information_id

int

10

0

N

Y

拼车信息ID

2

driver_user

int

10

0

Y

N

0

司机用户

3

driver_no

varchar

64

0

N

N

司机编号

4

drivers_name

varchar

64

0

Y

N

司机姓名

5

drivers_phone_number

varchar

64

0

Y

N

司机电话

6

vehicle_type

varchar

64

0

Y

N

车辆类型

7

limited_number_of_passengers

varchar

64

0

Y

N

限载人数

8

license_plate_number

varchar

64

0

Y

N

车牌号码

9

car_pictures

varchar

255

0

Y

N

汽车图片

10

route_number

varchar

64

0

N

N

路线编号

11

route_name

varchar

64

0

Y

N

路线名称

12

number_of_participants

int

10

0

Y

N

0

已拼人数

13

residual_vacancy

int

10

0

Y

N

0

剩余空位

14

carpool_unit_price

varchar

64

0

Y

N

拼车单价

15

carpool_requirements

text

65535

0

Y

N

拼车要求

16

hits

int

10

0

N

N

0

点击数

17

praise_len

int

10

0

N

N

0

点赞数

18

recommend

int

10

0

N

N

0

智能推荐

19

create_time

datetime

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:

表driver_information (司机信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

driver_information_id

int

10

0

N

Y

司机信息ID

2

driver_user

int

10

0

Y

N

0

司机用户

3

driver_no

varchar

64

0

N

N

司机编号

4

drivers_name

varchar

64

0

Y

N

司机姓名

5

drivers_phone_number

varchar

64

0

Y

N

司机电话

6

vehicle_type

varchar

64

0

Y

N

车辆类型

7

limited_number_of_passengers

varchar

64

0

Y

N

限载人数

8

drivers_portrait

varchar

255

0

Y

N

司机头像

9

years_of_employment

varchar

64

0

Y

N

从业年数

10

professional_experience

text

65535

0

Y

N

从业经验

11

car_condition

text

65535

0

Y

N

汽车状况

12

hits

int

10

0

N

N

0

点击数

13

praise_len

int

10

0

N

N

0

点赞数

14

recommend

int

10

0

N

N

0

智能推荐

15

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

16

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表driver_user (司机用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

driver_user_id

int

10

0

N

Y

司机用户ID

2

drivers_name

varchar

64

0

Y

N

司机姓名

3

drivers_phone_number

varchar

64

0

Y

N

司机电话

4

driver_id

varchar

255

0

Y

N

司机证件

5

examine_state

varchar

16

0

N

N

未审核

审核状态

6

recommend

int

10

0

N

N

0

智能推荐

7

user_id

int

10

0

N

N

0

用户ID

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:

表long_distance_carpooling (长途拼车)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

long_distance_carpooling_id

int

10

0

N

Y

长途拼车ID

2

route_number

varchar

64

0

Y

N

路线编号

3

route_name

varchar

64

0

Y

N

路线名称

4

vehicle_type

varchar

64

0

Y

N

车辆类型

5

license_plate_number

varchar

64

0

Y

N

车牌号码

6

departure_location

varchar

64

0

Y

N

出发地点

7

arrival_location

varchar

64

0

Y

N

到达地点

8

departure_time

varchar

64

0

Y

N

出发时间

9

limited_number_of_passengers

varchar

64

0

Y

N

限载人数

10

fare_price

varchar

64

0

Y

N

车费价格

11

residual_vacancy

int

10

0

Y

N

0

剩余空位

12

passing_location

text

65535

0

Y

N

途经地点

13

carpool_requirements

text

65535

0

Y

N

拼车要求

14

hits

int

10

0

N

N

0

点击数

15

praise_len

int

10

0

N

N

0

点赞数

16

recommend

int

10

0

N

N

0

智能推荐

17

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

18

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表long_distance_orders (长途订单)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

long_distance_orders_id

int

10

0

N

Y

长途订单ID

2

carpool_number

varchar

64

0

Y

N

拼车单号

3

route_number

varchar

64

0

Y

N

路线编号

4

route_name

varchar

64

0

Y

N

路线名称

5

vehicle_type

varchar

64

0

Y

N

车辆类型

6

license_plate_number

varchar

64

0

Y

N

车牌号码

7

departure_location

varchar

64

0

Y

N

出发地点

8

arrival_location

varchar

64

0

Y

N

到达地点

9

departure_time

varchar

64

0

Y

N

出发时间

10

fare_price

varchar

64

0

Y

N

车费价格

11

carpool_passenger

int

10

0

Y

N

0

拼车乘客

12

passenger_name

varchar

64

0

Y

N

乘客姓名

13

passenger_phone_number

varchar

64

0

Y

N

乘客电话

14

number_of_carpools

int

10

0

Y

N

0

拼车人数

15

total_carpool_price

varchar

64

0

Y

N

拼车总价

16

carpool_remarks

text

65535

0

Y

N

拼车备注

17

pay_state

varchar

16

0

N

N

未支付

支付状态

18

pay_type

varchar

16

0

Y

N

支付类型: 微信、支付宝、网银

19

recommend

int

10

0

N

N

0

智能推荐

20

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

21

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表message (留言板)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

message_id

int

10

0

N

Y

留言板ID:

2

user_id

int

10

0

N

N

0

用户ID:

3

title

varchar

64

0

Y

N

标题:

4

content

longtext

2147483647

0

N

N

内容:

5

nickname

varchar

32

0

N

N

昵称:

6

avatar

varchar

255

0

Y

N

头像:

7

email

varchar

125

0

Y

N

留言者邮箱

8

phone

varchar

11

0

Y

N

留言者手机号码

9

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

11

reply

longtext

2147483647

0

Y

N

回复

12

reply_state

tinyint

4

0

Y

N

0

回复状态

表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

更新时间:

表passenger_users (乘客用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

passenger_users_id

int

10

0

N

Y

乘客用户ID

2

passenger_name

varchar

64

0

Y

N

乘客姓名

3

passenger_phone_number

varchar

64

0

Y

N

乘客电话

4

passenger_id

varchar

255

0

Y

N

乘客证件

5

examine_state

varchar

16

0

N

N

已通过

审核状态

6

recommend

int

10

0

N

N

0

智能推荐

7

user_id

int

10

0

N

N

0

用户ID

8

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

9

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已取消

表route_information (路线信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

route_information_id

int

10

0

N

Y

路线信息ID

2

release_passengers

int

10

0

Y

N

0

发布乘客

3

route_number

varchar

64

0

Y

N

路线编号

4

route_name

varchar

64

0

Y

N

路线名称

5

starting_point_of_the_route

varchar

64

0

Y

N

路线起点

6

route_endpoint

varchar

64

0

Y

N

路线终点

7

route_length

varchar

64

0

Y

N

路线长度

8

passing_through_stations

text

65535

0

Y

N

途经站点

9

route_situation

text

65535

0

Y

N

路线情况

10

hits

int

10

0

N

N

0

点击数

11

praise_len

int

10

0

N

N

0

点赞数

12

recommend

int

10

0

N

N

0

智能推荐

13

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

14

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表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

更新时间

表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

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

更新时间:

  1. 系统实现
    1. 开发工具

系统中应用的开发工具总结如下表所示。

表5-1开发工具

名称

工具

版本

操作系统

IDE(Integrated Development Environment)

windows

Myeclipse

7/8/10

2017

服务器

Tomcat

9.10.7

JDK(Java Development Kit)

JDK

Java SE 8.0 (1.8.0)

数据库

浏览器

界面工具

Mysql

谷歌

Photoshop

2008

6.0

2016

    1. 注册模块

未注册用户在用户注册界面uerRegister.jsp,输入新用户信息,点击注册后,新用户信息由界面传入控制层userAction,调用addUser(user)方法,通过userDAOImp向数据库用户表插入用户信息,由于用户账号是自动生成的,若成功则反馈注册成功,并提示新用户的用户账号;若失败则回到登录界面,并显示登录失败。

注册界面如下所示。

图5-1注册界面

注册关键代码如下:

   /**

     * 注册

     * @param user

     * @return

     */

    @PostMapping("register")

    public Map<String, Object> signUp(@RequestBody User user) {

        // 查询用户

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

        Map<String,Object> map = JSON.parseObject(JSON.toJSONString(user));

        query.put("username",user.getUsername());

        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);

}     

    1. 登录模块

用户在首页点击登录,进入用户登录界面uerLogin.jsp,输入用户账号和密码,点击登录,用户账号和密码信息由界面传入控制层userAction,调用userLogin(user)方法,通过userDAOImp向数据库用户表搜索该用户账号与密码,将最终结果反馈到前端。若成功则回到首页;用户成功登录,若失败则回到登录界面,并显示登录失败。

用户点击注销,清空浏览器session值,然后返回登录页或者首页。

登录界面如下所示。

图5-2登录界面

登录关键代码如下:

 /**

     * 登录

     * @param data

     * @param httpServletRequest

     * @return

     */

    @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;

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

        if(username != null && "".equals(username) == false){

            map.put("username", username);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }

        else if(email != null && "".equals(email) == false){

            map.put("email", email);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }

        else if(phone != null && "".equals(phone) == false){

            map.put("phone", phone);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }else{

            return error(30000, "账号或密码不能为空");

        }

        if (resultList == null || password == null) {

            return error(30000, "账号或密码不能为空");

        }

        //判断是否有这个用户

        if (resultList.size()<=0){

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

        }

        User byUsername = (User) resultList.get(0);

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

        groupMap.put("name",byUsername.getUserGroup());

        List groupList = userGroupService.selectBaseList(userGroupService.select(groupMap, new HashMap<>()));

        if (groupList.size()<1){

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

        }

        UserGroup userGroup = (UserGroup) groupList.get(0);

        //查询用户审核状态

        if (!StringUtils.isEmpty(userGroup.getSourceTable())){

            String res = service.selectExamineState(userGroup.getSourceTable(),byUsername.getUserId());

            if (res==null){

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

            }

            if (!res.equals("已通过")){

                return error(30000,"该用户审核未通过");

            }

        }

        //查询用户状态

        if (byUsername.getState()!=1){

            return error(30000,"用户非可用状态,不能登录");

        }

        String md5password = service.encryption(password);

        if (byUsername.getPassword().equals(md5password)) {

            // 存储Token到数据库

            AccessToken accessToken = new AccessToken();

            accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));

            accessToken.setUser_id(byUsername.getUserId());

            Duration duration = Duration.ofSeconds(7200L);

            redisTemplate.opsForValue().set(accessToken.getToken(), accessToken,duration);

            // 返回用户信息

            JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));

            user.put("token", accessToken.getToken());

            JSONObject ret = new JSONObject();

            ret.put("obj",user);

            return success(ret);

        } else {

            return error(30000, "账号或密码不正确");

        }

    }

    1. 个人资料模块

登录用户在首页点击进入用户中心userCenter.jsp,再点击修改个人信息按钮进入userChangeInfo.jsp界面,系统根据session中存储的目前登录的用户的账号,向控制层userAction发送请求,搜索当前用户信息,userAction向userDAOImp调用queryByUserId(user),向数据库的用户表搜索当前用户信息并将用户信息以对象的形式层层返回到userChangeInfo.jsp界面,显示出当前用户的个人信息。

若用户要对个人信息进行修改,则通过修改当前信息之后点击确认,向控制层userAction发送更改后的用户信息,调用changeUser(user)方法,通过userDAOImp向数据库用户表更新用户信息,若成功则反馈注册成功,则返回的userChangeInfo.jsp界面被更改成功;若失败则显示修改失败。

    1. 留言板模块

用户可以发表自己的留言。将页面session中的用户账号userId和发表留言文字框内容传入控制层LiuyanAction,调用addLiuyan方法,通过LiuyanDAOImp向数据库留言表插入,将结果返回lyb.jsp界面。

留言发表界面如下所示。

图5-4留言发表界面

    1. 拼车信息模块

司机可以在首页进行拼车信息搜索,在搜索框输入关键词后,前台发起请求,将传递的keyword参数信息从前台传递DingdanController类里,匹配到list()方法,list()方法调用DingdanServiceImpl类的getDingdanByKeywordCategory()方法,如果没有该关键词,则返回空的结果集。

拼车信息搜索界面如下。

图5-5拼车信息搜索界面

    1. 密码修改模块

管理员选择个人中心的修改本人密码。通过密码框输入现密码和2次新密码,如果现密码错误,则提示修改失败。如果2次新密码不一致,则提示修改失败。都没问题的话,系统提示修改成功,并返回登录界面。

密码修改界面如下所示。

图5-6密码修改界面

修改密码关键代码如下:

  /**

     * 修改密码

     * @param data

     * @param request

     * @return

     */

    @PostMapping("change_password")

    public Map<String, Object> change_password(@RequestBody Map<String, String> data, HttpServletRequest request){

        // 根据Token获取UserId

        String token = request.getHeader("x-auth-token");

        Integer userId = tokenGetUserId(token);

        // 根据UserId和旧密码获取用户

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

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

        query.put("user_id" ,String.valueOf(userId));

        query.put("password" ,service.encryption(o_password));

        int count = service.selectBaseCount(service.count(query, service.readConfig(request)));

        if(count > 0){

            // 修改密码

            Map<String,Object> form = new HashMap<>();

            form.put("password",service.encryption(data.get("password")));

            service.update(query,service.readConfig(request),form);

            return success(1);

        }

        return error(10000,"密码修改失败!");

    }

    1. 拼车订单管理模块

管理员在后台管理界面点击到所有拼车订单界面dingdanxinxi_list.jsp,向控制层dingdanxinxiAction发送请求,搜索当前所有拼车订单信息,dingdanxinxiAction向dingdanxinxiDAOImp调用搜索全部拼车订单的请求,向数据库的拼车订单表搜索当前所有拼车订单并将拼车订单信息以对象的形式层层返回到dingdanxinxi_list.jsp界面,显示出当前所有拼车订单信息。若要对拼车订单信息进行修改和删除,则分别进入dingdanxinxi_updt.jsp或dingdanxinxi_delete.jsp,通过dingdanxinxiAction向dingdanxinxiDAOImp调用对应的修改或删除方法,向数据库的拼车订单表做相应的持久层操作。

拼车订单管理界面如下所示。

图5-7拼车订单管理界面

拼车订单关键代码如下:

@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})

@EnableJpaRepositories

@MapperScan("com.project.demo.dao")

public class Application {

    public static void main(String[] args) {

        SpringApplication.run(Application.class,args);

    }

}

    1. 司机信息管理模块

管理员在后台管理界面点击到所有司机界面sijixinxi_list.jsp,向控制层sijixinxiAction发送请求,搜索当前所有司机信息,sijixinxiAction向sijixinxiDAOImp调用搜索全部司机的请求,向数据库的司机表搜索当前所有司机并将司机信息以对象的形式层层返回到sijixinxi_list.jsp界面,显示出当前所有司机信息。

司机管理界面如下所示。

图5-8司机信息管理界面

司机信息关键代码如下:

package com.project.demo.constant;

public class FindConfig {

    public static String PAGE = "page";

    public static String SIZE = "size";

    public static String LIKE = "like";

    public static String ORDER_BY = "orderby";

    public static String FIELD = "field";

    public static String GROUP_BY = "groupby";

    public static String MIN_ = "_min";

    public static String MAX_ = "_max";

    public static String SQLHWERE = "sqlwhere";

}

  1. 系统测试

    1. 测试概述

软件测试是软件开发完成后必须经过的一道程序,它在软件开发过程中地位十分重要,需要由专业的测试工程师来对软件进行各方面的测试,大到功能模块测试,小到代码的单元测试,这对测试工程师来说需要有足够的耐心和专业的测试方案,软件测试归根结底就是对软件的结构和功能的综合测评,需要做到结构稳定和功能正确,二者兼顾。软件测试也叫寻找系统bug的过程,世界上没有完美无缺、不存在bug的软件,只能将软件的bug降到最低最小,来追求极致。

    1. 测试过程
      1. 登录测试

登录测试是系统最开始就要进行,测试用户能否登录,才能完成后续的功能操作。

登录测试用例表如下所示。

表6-1登录测试

用例编号

YL001

程序版本

1.00

功能名称

使用者登录测试

编制人

李铁蛋

功能描述

根据用户的登录情况测试

用例目的

测试用户登录情况是否正确

测试项

测试数据

测试结果

预期结果

用户名

为空

请输入用户名

请输入用户名

密码

为空

请输入密码

请输入密码

用户密码组合

用户名:klouse 密码 klouses

用户与密码不匹配

用户与密码不匹配

用户密码组合

用户名 : klouse 密码

klouse

进入系统

正确的用户名和密码

登录系统

      1. 订单录入测试

用户在发布订单页面,通过按照预先格式发布订单,如果因为输入时候缺少相关内容,就不能发布成功,且有相应错误提示

订单录入发布测试用例表如下所示。

表6-1订单录入发布测试

用例编号

YL002

程序版本

1.00

功能名称

订单发布测试

编制人

李铁蛋

功能描述

对使用者发布或者录入订单进行测试,判断其功能是否达到预期的要求

用例目的

对系统使用者录入发布订单进行原型测试。

测试项

测试数据

测试结果

预期结果

属性1

为空

请输入属性1对应的数据

请输入属性1对应的数据

属性2

为空

请输入属性2对应的数据

请输入属性2对应的数据

属性3

为空

请输入属性3对应的数据

请输入属性3对应的数据

全部输入

数据均填入

录入发布成功

录入发布成功

      1. 订单更新测试

管理员在更新订单页面,通过按照预先格式更新订单,如果因为输入时候缺少相关内容或者更新的数据不符合当前规范的话,就不能更新成功,且有相应错误提示

订单更新测试用例表如下所示。

表6-1订单更新测试

用例编号

YL003

程序版本

1.00

功能名称

订单更新测试

编制人

李铁蛋

功能描述

对使用者更新订单进行测试,判断其功能是否达到预期的要求

用例目的

对系统使用者更新订单进行原型测试。

测试项

测试数据

测试结果

预期结果

属性1

编号:321

编号更新成功

编号更新成功

属性2

名称:名称1

名称更新成功

名称更新成功

属性3

内容:内容1234内容

内容更新成功

内容更新成功

全部输入

数据均未更改

更新成功

更新成功

      1. 订单删除测试

管理员在订单页面,通过点击数据删除按钮来删除该条数据,如果该数据和其他数据有关联,则提示是否确定删除。

订单删除测试用例表如下所示。

表6-1订单删除测试

用例编号

YL004

程序版本

1.00

功能名称

订单删除测试

编制人

李铁蛋

功能描述

对使用者删除订单进行测试,判断其功能是否达到预期的要求

用例目的

对系统使用者删除订单进行原型测试。

测试项

测试数据

测试结果

预期结果

数据1

无任何关联的数据1

数据删除成功

数据删除成功

数据2

和其他数据有关联的数据2

请确认是否删除

请确认是否删除

    1. 测试结果

在经过之前的所有的工作之后,通过对软件的测试方法、测试原则还有典型的测试用例进行全面的、深入的介绍。经过对系统的全面测试,系统目前所具有的所有功能均成功的实现并且通过了测试,整个系统实现了基于 Java 开发的期望。

  1. 总结与展望

    1. 总结

校园拼车服务管理系统采用MVC结构,该结构非常完美的集优点于一身,成熟、强大、易理解易使用,通过使用这个结构,降低了开发的难度。本系统实现了基于Java的校园拼车服务管理系统,将数据操作维护的过程转化成电脑操作流程,具体实现了对系统用户管理、留言板功能、拼车订单数据维护、司机数据维护,并提供查询统计功能来对拼车订单相关数据进行统计分析,让使用者能更清晰的掌握运营情况,帮助使用者进行数据操作维护,简化工作流程,提高工作效率和盈利。

    1. 展望

目前完成的校园拼车服务管理系统,还有许多有待改进的地方。一个是功能上的改进,用户理应可以修改自己的相关信息,故应增设个人中心功能;另外,系统如果能提供更多的功能就会使得系统更加丰富和多样化,比如数据当前分析和未来预测等。第二个是技术上的改进,由于对开发框架不太熟悉,权限管理这部分,本系统采用一个jsp页面来规定好导航栏,即跳转的页面,这相对比较不灵活,如果将URL路径记录到数据库并实现增删查改会比较好;另外就是对EasyUI的使用还不够熟练,视觉效果和界面观感有待提升,希望日后能对这个系统有所改进。

参考文献

[1]石文婷. 基于路网交通态势感知的实时拼车技术研究[D].南京邮电大学,2021.DOI:10.27251/d.cnki.gnjdc.2021.000470.

[2]彭琎,陆斌,陆国伟,姜代红.口袋校园服务平台的设计与实现[J].福建电脑,2021,37(05):112-114.DOI:10.16707/j.cnki.fjpc.2021.05.031.

[3]王雨. 乘客网约拼车服务使用意愿的形成机制研究[D].中国科学技术大学,2021.DOI:10.27517/d.cnki.gzkju.2021.000216.

[4]Liyan Teng , Yifei Wang , Yaojian Zhang , Yuntong Wang , Jiayi Liang. Design and Implementation of Campus Carpool System based on Mobile Devices[J]. Scientific Journal of Economics and Management Research,2021,3(3).

[5]Sakshi Taaresh Khanna. Embracive compendium of carpooling applications and proposed framework for agent mediated carpooling systems[J]. Journal of Critical Reviews,2020,7(13).

[6]别紫妮. 拼车路径匹配及异常轨迹预警研究[D].中南财经政法大学,2020.DOI:10.27660/d.cnki.gzczu.2020.000173.

[7]熊佳莹. 考虑拼车站点的网约拼车匹配问题研究[D].东南大学,2020.DOI:10.27014/d.cnki.gdnau.2020.001682.

[8]马文婷. 在线拼车出行方式下出行者选择行为研究[D].大连理工大学,2020.DOI:10.26991/d.cnki.gdllu.2020.003452.

[9]刘风雪.面向大学城的“WE”拼车平台安全功能的设计[J].电脑知识与技术,2019,15(18):20-22.DOI:10.14004/j.cnki.ckt.2019.1937.

[10]郑小梅. 国外高校校园静态交通体系研究[D].华南理工大学,2019.DOI:10.27151/d.cnki.ghnlu.2019.003178.

[11]戴伟敏,陈皓,蒋家恒,林镇伟.基于Android平台的校园百事通APP设计与实现[J].数字技术与应用,2018,36(03):180-181.DOI:10.19695/j.cnki.cn12-1369.2018.03.89.

[12]蒋家恒,戴伟敏,林镇伟,陈皓.高校校园微信公众号设计与开发[J].佳木斯职业学院学报,2018(02):434-435.

[13]郭峰,麻强.基于敏捷方法的校园拼单购物系统分析与设计[J].中国新技术新产品,2018(02):28-30.DOI:10.13612/j.cnki.cntp.2018.02.017.

[14]Kos-Labedowicz, Joanna|Urbanek, Anna. The potential for the development of carsharing and carpooling systems : a survey-based analysis of University students in Poland.[J]. International journal of transport economics = Rivista internazionale di economia dei trasporti.,2017,XLIV(3).

[15]武峰,郑纯萍,李钰.高校师生公益拼车的可行性研究[J].中国市场,2017(21):92-93+108.DOI:10.13939/j.cnki.zgsc.2017.21.092.

致谢

在老师的教导和帮助下,本人完成了本篇论文,老师对论文的内容、格式都有非常严格的要求,在我写毕业论文的过程中,他多次给出了建议,并定期检查,对我们严格要求,帮助我们在文档的编写上写到极致和正确,他这种教学和工作态度,让我对他产生无限的敬佩感和尊敬感。写毕业论文的同时,作为应届生,我也忙着找工作中,遇到了很多选择,感到困惑迷茫的时候,老师给了我很多意见,感谢老师的耐心开导,跟她的聊天我明白了许多。

我还要感谢我的父母,一直以来都非常支持和相信我,在精神和经济上给了我很多力量,如今我将毕业走上工作之路,终于能报答父母的养育教导之恩。还有我大学期间所有老师和全体同学,遇到问题时,这些老师同学总是无私地帮助我,真的非常感谢,我也会加油努力成长为一个有用的人。

请关注点赞+私信博主,免费领取项目源码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值