基于SSM的校园快递代取系统的设计与实现

基于SSM的校园快递代取系统的设计与实现

摘要:校园快递代取系统是一个便利学生收取快递和提供兼职工作的平台,实现快递代取,学生可以不出门就收到自己的快递。系统中的用户可以发起快递代取订单,代领人能够自行选择接单和对异常的订单进行处理、反馈等,系统管理员能够管理订单、管理代领人、处理用户反馈等。这个系统可以高效率地实现校园快递代取模式。
针对许多高校中学生不便取件和取件地方拥挤等问题,深度分析了校园快递代取模式在高校中运作的可行性以及校园快递代取系统具有操作规范、操作简单、方便统计结算的特点,校园快递代取系统采用SSM框架,并使用Spring+Springmvc+Mybatisplus作为业务流程、使用Shiro作为系统的认证框架和使用Mysql作为后台数据管理库,解决了传统的线下交流代取快件带来的交流繁琐和代取效率低以及学生无暇取件等问题,实现了通过安全的网络平台收取校园快递点中的包裹,提高了校园快递物流运作的流畅性。
基于SSM的校园快递代取系统具有简单便利的操作性,是一个方便快捷、可靠的快递代取平台。该系统可以很好地缓解高校校园物流高峰的拥挤问题,帮助高校学生节省时间收取快递,给予学生兼职工作,改善校园快递服务的效率。

关键词:快递,校园,代取系统,SSM

Design And Implementation of Campus Express Delivery
System Based on SSM
Abstract:The campus express delivery system is a convenient platform for students to collect express ,and provide part-time jobs, so that students can receive their express delivery without going out. The user in the system initiates express delivery to pick up the order, the agent can choose to accept the order and handle and feedback the abnormal order, and the system administrator can manage orders, manage victors, handle user feedback, etc. This system can efficiently implement the campus express delivery mode.
In many universities, students are not able to pick up the express and the place is crowded,and this paper deeply analyzes the feasibility of the operation of campus express delivery mode in universities, and the characteristics of campus express delivery system, such as standard operation, simple operation and convenient statistics and settlement. Campus express delivery system adopts SSM framework, Spring+SpringMVC+MybatisPlus as a business process handler, Shiro is used as the authentication framework of the system and Mysql is used as the background data management library. The system has solved the problems of cumbersome communication, low efficiency and no time for students to pick up the goods caused by the traditional offline communication. It realizes the collection of parcels in campus express delivery points through the secure network platform and improves the smooth operation of campus express logistics.
The campus express retrieval system based on SSM is a convenient and reliable platform with simple and convenient operability. The system can well alleviate the problem of college campus logistics peak congestion, help college students save time to collect express, give students part-time jobs, improve the efficiency of campus express services.

Keywords:Express , Campus , Delivery System, SSM

目 录

第1章 绪 论 1
1.1 系统开发的背景及意义 1
1.2 国内外校园快递代取模式现状 2
1.3 本课程研究主要内容 2
1.4 系统开发环境与开发工具 3
第2章 系统需求分析 4
2.1 可行性分析 4
2.2 UML系统建模 5
2.2.2 普通用户用例图 5
2.2.3 代领人用例图 7
2.2.4 系统管理员用例图 9
2.3 数据流图 12
2.4 本章小结 13
第3章 系统设计 15
3.1 系统总体架构设计 15
3.2 数据库设计 16
3.3 系统模块的设计 19
3.3.1 登陆模块 19
3.3.2 下单模块 20
3.3.3 意见反馈模块 21
3.3.4 代领人接单模块 22
3.4 本章小结 22
第4章 系统实现 23
4.1 登陆模块的实现 23
4.2 下单模块的实现 24
4.3 意见反馈模块的实现 26
4.4 代领人接单模块的实现 27
4.5 反馈处理模块的实现 29
4.6 本章小结 30
第5章 系统测试 31
5.1 测试目的和意义 31
5.2 测试方法 31
5.3 测试用例 32
5.3.1 登录测试 32
5.3.2 用户下单测试 32
5.3.3查询订单测试 34
5.4 本章小结 34
第6章 结束语 35
6.1 全文总结 35
6.2 课题展望 35
参考文献 36
致 谢 37

第1章 绪 论

1.1 系统开发的背景及意义
最近几年以来,网络购物渐渐地成为人们的一种生活习惯和消费,各高校快递物流的流通量近些年呈现出高幅度增长的趋势。在校园内,很多人都在为接收快递而苦恼。出于学校的校园区域限制非本校人员的进入,并且学校的快递点多和快递量又大,还有学校管理上没有送件上门这个服务。学生和学校的职工只有到快递点才能取到快递。因为各个快递点比较分散以及一般离学生宿舍比较远,因而学生取件很不方便。针对上面所说到的问题,实现一种由校园人员代取快递模式,以及基于SSM的校园快递代取系统,可以很好地化解了现有校园快递取件不便的问题,让系统中的用户能够足不出户,更方便的拿到自己的快递。
本课题主要研究和开发校园快递代取系统,对高校校园快递收取存在的问题进行分析和解决。随着互联网信息迅速发展,以及学生消费水平的显著提高,网购已成为各高校学生优先考虑的一种购物方式。我们能够从网上商城浏览各种商品信息,不用出门就能买到自己想要的商品,并且网络支付的出现让我们更容易进行网上购物。在快递走进校园的同时,它也带来了快递量大造成的拥挤等问题。因此,校园快递代取系统的出现就可以很好地改善快递量多带来的滞后问题,同时给需要的同学提供了兼职的机会。基于SSM的校园快递代取系统具有简单的操作性,目前主要是面向全国高校在校学生提供快递代取功能,让快递迅速到达收件人手上,为没有时间或者不方便取快递的人送快递上门。只要有需求的用户登录系统中选择所需求的功能进行操作,即可快捷并方便地获取到自己的快递或有效地接下订单带领快递。校园快递代取系统的研发具有以下两点意义:
1)该系统的研发成功可以便利同学们领取自己的快递和提供一个很好的兼职平台给需要的同学。开拓校园兼职市场。
2)该系统的成功开发将成为高校兼职信息化、物品送货上门的一个典范作为高校的一个快递带领平台的开发,该系统的成功与否将给本系甚至本校的兼职市场提供了许多机会和解决同学们不方便取快递的需求。
1.2 国内外校园快递代取模式现状
目前校园快递代取作为一种顺应快递迅速猛增的模式应运而生。信息化技术和互联网化的交易方式被应用在网上各个平台。在电子商务行业高速发展起来了,高校学生大多数选择网上购物。高校的购物党会因为时间冲突、不在学校等其他缘故,错过取快递时间而心慌意乱。校园快递代取系统的出现很好地解决了这些问题,这种代取平台的出现不单单可以解决购物党无法顺利取到快递的问题,也为需要做兼职的同学们提供了一个工作机会。校园快递代取模式已成为高校学生们非常欢迎的取快递服务。
代取快递服务模式的投入成本小、校园物流多和工作分配灵活、具有效率收益。因此,在大学校园里的推行相比较容易。[ 张议, 肖珊珊, 卓晓芸. 高校校园快递现状调研及问题分析[J]. 中国物流与采购, 2017(14):76-77.]快递代取服务在校园中深受大众喜欢,它能够满足许多学生的消费需求。
1.3 本课程研究主要内容
校园快递代取系统包括以下子系统如图1-1所示:

在这里插入图片描述

图1-1系统的组成
用户子系统:用户在系统中可以发起订单,然后可以根据订单号查询进度,还可以反馈系统或订单的意见,并可根据反馈号查询结果。其需求有:用户注册登录、下单、意见反馈、查询订单、查询反馈以及个人中心服务。
代领人子系统:拥有代领人角色权限的用户能接下其他用户添加的订单,在规时间内完成订单并确认完成,期间可以对异常的订单进行异常处理。包括以下需求:接单、确认完成订单、处理异常订单。
系统管理员子系统:系统管理员对校园快递代取系统的订单、人员、反馈信息进行管理,维护系统运转所需要的数据。系统管理员包括以下需求:人员管理,订单处理,反馈处理。
1.4 系统开发环境与开发工具
校园快递代取系统开发的过程使用的OS为:Windows 10,以及其CPU为i5-8260U和运行内存为8G;开发工具选用IDEA;使用JDK Version1.8.0作为开发工具包,[ Jason Brittain, Ian F. Darwin. Tomcat the Definitive Guide[M]// Tomcat: The Definitive Guide. O’Reilly Media, Inc. 2003.]使用Tomcat8.5作为项目部署的服务器;使用Google Chrome浏览器测试项目运行。

第2章 系统需求分析

网络购物方式日益成为高校学生在校生活的重要组成部分,为了方便学生收取快递,校园快递代取模式的产生和发展正好满足同学们的这种需求。然而,校园快递代取系统也应运而生,成为一种深受同学们欢迎的快递代取平台。
校园快递代取系统的角色被划分为普通用户、代领人、以及系统管理员。普通用户登录成功之后,即可填写订单信息并发起订单,并能根据订单号查询具体的订单信息,普通用户也可以对订单进行意见反馈。配送员是普通用户申请具有配送员权限的角色,能够进入接单大厅进行选择性接单和管理自己的订单。系统管理员负责对管订单、人员、用户反馈等进行管理。该系统的核心与主要功能模块分为:普通用户模块、代领人模块、管理员模块。
2.1 可行性分析
可行性研究可以确定系统能否值得去开发,避免投入开发等资金亏损。通常来说,要从经济、技术、运行和法律四个方面进行分析,做出明确结论给用户参考。
(一)经济可行性
校园快递代取系统开发过程消耗成本低和维护过程损耗低,本系统使用免费版IDEA作为开发工具;[ Widenius M , Axmark D , Dubois P . Mysql Reference Manual[M]. O’Reilly & Associates, Inc. 2002.]使用版本为5.7.28的MySQL作为系统后台数据管理库,开发工具都不用花费资金,即能使用。因此该系统开发过程,主要是在消耗个人时间和精力,基本上不用开销开发经济。
(二)技术可行性
校园快递代取系统后端使用开源框架[ Tomcy John. Learn Spring Framework[M]. Springer, Berlin, 2013.]SSM实现,前端的实现使用了bootstrap+layer开源框架;IDEA是功能齐全,编码效率高的JAVA开发工具。开发过程中用到的技术和知识都是在校期间学习过的,因此,这些工具对本系统的开发有了肯定的技术支持。
(三) 运行可行性
校园快递代取系统简单易操作,功能清晰。懂得浏览网站的人都能轻松使用,学生们完全能够掌握使用,在运行上是没有问题的。
(四)法律可行性
本系统的设计和实现均由个人独自开发,使用的系统框架均为开源框架和正版的开发工具,无入侵他人权益行为和没有违反国家政策的行为。
2.2 UML系统建模
根据上述的功能分析,可以得出系统的参与者有:普通用户、代领人和系统管理员。根据参与者来划分,系统用例图可以分为:普通用户用例图、代领人用例图和系统管理员用例图。
2.2.2 普通用户用例图
普通用户用例有:用户注册登录、查询订单或反馈、下单、意见反馈、个人中心等用例。在校园快递代取系统中,用户可以通过注册成为系统的普通用户之后登录上系统;当自己有需要时,填写被代领快递订单的信息,即可发起订单;可以根据订单号查看订单的信息状态;在个人中心,可以修改用户的基本信息。普通用户用例图如图2-1所示:
在这里插入图片描述

图2-1 普通用户的用例关系图

用户用例的部分用例描述如下所述。
表2-1下单用例规约表
用例编号 2-1 用例名称 下单
功能描述 用户在填写订单界面进行下单操作
执行者 用户
前置条件 进入填写订单界面
后置条件 下单成功,显示订单号
涉众利益 用户
基本路径 1、用户下单
1.1、用户在填写订单界面填写订单信息(取件人姓名、联系电话、取件短信、配送地址、备注(可选)),以及验证码
1.2、订单结算
1.2.1、用户提交订单信息请求,进入订单结算界面
1.2.2、用户输入包裹重量,系统计算出订单费用
1.2.3、用户可以选择线下支付,系统保存订单信息,订单完成;用户也可以悬着线上支付宝支付方式,系统将提交用户请求,进入支付界面,等待用户支付完成后,系统保存订单信息,订单完成
1.3、用户成功下单,得到系统反馈的订单号
拓展 1.2.3a、用户对快递订单付款时,支付费用时间超过系统允许的时间范围时订单将被系统取消
1.2.3b、用户选择线上支付宝平台进行付款时,如果用户付款账户余额不足,用户付款操作被终止,系统提示用户付款账户余额不足,请重新付款
字段列表 取件人姓名、配送地址、取件短信、备注(可选)、联系电话、验证码
备注 无

表2-2 意见反馈用例规约表
用例编号 2-2 用例名称 意见反馈
功能描述 用户可以对系统或订单等问题进行反馈
执行者 用户
前置条件 登录用户进入填写意见反馈信息界面
后置条件 显示出反馈号
涉众利益 用户
基本路径 1.意见反馈
1.1输入反馈类型、反馈人、联系电话、反馈内容、验证码,提交反馈
1.2系统得到用户的反馈请求,保存反馈信息到后台数据库表,并反馈给用户系统随机生成的反馈号
1.3界面显示反馈号
拓展 1.1a、如果输入条件为空,则提示该条件不能为空
字段列表 反馈人、反馈类型、联系电话、反馈内容、验证码
备注 无

2.2.3 代领人用例图
代领人用例有:注册、登录、订单管理、接单、个人中心等用例。代领人用例图如图2-2所示:

在这里插入图片描述

图2-2 代领人用例图
代领人用例的部分用例描述如下所述。

表2-3 接单用例规约表
用例编号 2-3 用例名称 接单
功能描述 代领人在接单大厅界面查看到订单表,可以查看每个订单详细信息,选择订单进行接单
执行者 代领人
前置条件 代领人已登录系统,前往接单大厅界面
后置条件 在我的订单可以查看到已经接单的订单
涉众利益 代领人、用户
基本路径 1.代领人进入接单大厅界面,查看到订单列表
1.1选择一个订单查看其详细内容,点击查询图标
1.2系统获得点击请求,根据该订单id查询后台数据表,反馈查询结果
1.3界面显示订单详情
2.接单
2.1代领人可以单选或多选订单进行接单,提交接单请求
2.2系统相应用户请求,保存提交请求后反馈成功信息
2.3弹框界面显示接单成功
拓展 无

表2-4 订单管理用例规约表
用例编号 2-4 用例名称 订单管理
功能描述 代领人在我的订单界面,可以查看订单、确认完成的订单,标记异常的订单
执行者 代领人
前置条件 代领人已登录系统,前往我的订单界面
后置条件 代领人操作后的订单得到异步刷新
涉众利益 代领人
基本路径 1.代领人进入我的订单界面,查看到接单列表
1.1选择一个订单查看其详细内容,点击查询图标
1.2系统获得点击请求,根据该订单id查询后台数据表,反馈查询结果
1.3弹框界面显示订单详情
2.确认订单
2.1在代领人完成订单配送后确认订单,提交确认请求
2.2系统得到请求后,更新订单状态,返回更新结果
2.3订单配送完成,订单刷新,显示完成状态
3 标记异常订单
3.1代领人选择异常订单进行操作,输入订单的异常详情,提交到系统
3.2系统得到请求后,更新订单状态,返回更新结果
3.3该订单刷新,显示为异常状态
拓展 无
字段列表 异常详情
备注 订单发生异常,可以是订单信息存在问题或订单存在意外状况(快递不存在、丢失)问题

2.2.4 系统管理员用例图
系统管理员图中包括的用例有:登录、订单处理、反馈处理、人员管理、个人中心。系统管理员用例图如图2-3所示。
在这里插入图片描述

图2-3 系统管理员用例图
系统管理员用例的部分用例描述如下所述。
表2-5 订单处理用例规约表
用例编号 2-5 用例名称 订单处理
功能描述 系统管理员浏览订单列表,可以查看订单详情、分配订单给配送员,处理异常的订单、以及进行删除订单
执行者 系统管理员
前置条件 系统管理员进入系统,前往订单列表界面
后置条件 订单列表内容得到异步刷新
涉众利益 系统管理员
基本路径 1.查看订单详情
1.1选择一个订单查看其详细内容,点击查询图标
1.2系统获得请求,根据该订单id查询后台数据表,反馈查询结果
1.3弹框界面显示订单详情
2.分配订单
2.1管理员根据业务情况可以分配订单,选择订单并选择订单派送人员(代领人),提交确认请求
2.2系统得到请求后,更新订单状态,返回更新结果
2.3订单配送完成,订单刷新,显示派送员和显示订单在派送中
3.标记异常订单
3.1管理员选择异常订单进行操作,输入订单的异常详情,提交到系统
3.2系统得到请求后,更新订单状态,返回更新结果
3.3该订单刷新,显示为异常状态
4.删除订单
4.1管理员在订单列表界面选择订单移入订单回收站
4.2系统得到请求后,更新订单,返回更新结果
4.3管理员在订单回收站可以对订单进行恢复、删除的操作
4.3.1管理员选择订单进行恢复,系统会更新订单状态,该订单将显示
在订单列表界面中
4.3.2管理员选择订单删除,系统响应请求,把该订单所有信息从数据表中删除,并返回反馈结果
4.4订单删除成功
拓展 无
字段列表 异常详情
备注 3a .订单发生异常,可以是订单信息存在问题或订单存在意外状况(快递不存在、丢失)问题

表2-6 反馈处理用例规约表
用例编号 2-6 用例名称 反馈处理
功能描述 管理员对用户的反馈信息进行回复和删除操作
执行者 管理员
前置条件 管理员登录系统,进入反馈管理界面
后置条件 反馈信息的到管理员处理或反馈信息已被删除
涉众利益 管理员
基本路径 1.回复反馈
1.1管理员进入填写反馈内容界面
1.2填写反馈内容,提交处理
1.3系统保存反馈信息,更新数据表,并返回更新结果给用户
1.4反馈状态更新,管理员和用户可以查看到反馈处理结果
2.删除反馈信息
2.1选择反馈进行删除,点击删除图标
2.2系统响应删除请求,将该反馈信息从数据表删除,反馈处理结果
2.3该反馈信息从列表移除
拓展 输入反馈内容为空,处理将取消并返回上一页面
字段列表 反馈内容
备注 无
2.3 数据流图
1.登录数据流图
登录数据流的过程:用户进入校园快递代取系统的登陆界面,填写用户的登录信息;系统校验数字图形验证码,用户信息是否与后台数据一致;系统将查询结果返回并判断用户的角色权限,生成相应的主页。用户登录数据流图如图2-4所示:
在这里插入图片描述

图2-4 登录DFD
2.用户下单数据流图
用户下单数据流的过程:第一步是已登录的用户进入填写快递信息和个人信息后提交下单请求;第二步是系统验证订单信息通过后,然后用户可以选择支付方式,如果选择线下支付方式,下单完成;若选择上线方式,等待用户线上支付成功后订单才会生成;最后系统将处理结果返回给用户。用户发起订单DFD如图2-5所示:
在这里插入图片描述

图2-5 用户下单DFD
3.意见反馈数据流图
意见反馈数据流的过程:第一步是填写相关信息提交到系统;第二步是系统保存反馈信息并将用户反馈的信息传送给系统管理员;第三步就是管理员查看到反馈的信息,将实际地做出处理;最后将处理的结果返回给用户。意见反馈数据流图如图2-6所示:
在这里插入图片描述

图2-6意见反馈DFD
4.代领人接单数据流图
代领人接单数据流过程为:代领人请求接单,系统处理接单请求,代领人成功接单后,系统将订单被接单信息反馈给用户。代领人接单DFD如图2-7所示:
在这里插入图片描述

图2-7代领人接单DFD
5.订单管理数据流图
系统管理员能够查看订单和删除订单。管理员提交查看或删除请求,系统处理管理员的请求,最后将处理结果返回给管理员。订单管理DFD如图2-8所示:
在这里插入图片描述

图2-8订单管理DFD
2.4 本章小结
本章对校园快递代取系统进行了明确清晰的需求分析。通过可行性分析,确保校园快递代取系统开发的可能性。另外,本章从普通用户、代领人、系统管理员三个角色的角度对系统进行了UML建模,给出了各自的功能用例关系图以及部分用例对应的规约表,进行了详细的分析说明。最后,本章给出登录、用户发起订单、意见反馈、代领人接单、订单管理这五个小模块的数据流图,并作了简要说明。

第3章 系统设计

3.1 系统总体架构设计
根据校园快递代取系统的需求分析,校园快递代取系统的功能模块有:普通用户模块、代领人模块和管理员模块,图3-1为校园快递代取系统的功能模块结构图。
在这里插入图片描述

图3-1 系统的功能模块结构图
用户模块功能设计如下:
①登录注册:用户可以向系统申请注册为普通用户,然后可以进行登录系统。
②下单:用户填写相关订单信息,完成结算提交支付后,订单将发布到接单大厅。
③查询订单或反馈:用户可以根据订单号(或订单号)准确查询到某个订单(或反馈)的状态。
④意见反馈:用户把订单完成过程产生的问题和系统中的不足反馈给系统管理员。
⑤个人中心:更改用的基本信息,例如:修改密码。
代领人模块功能设计如下:
①接单:代领人能够在订单列表中选择性接单。
②订单管理:代领人可以查询自己的接单列表,完成订单后可选择确认完成订单操作,订单存在问题时,可将订单标记为异常状态并提交相关问题信息。
③个人中心:更改用户的基本信息,例如:修改密码。
管理员模块功能分析如下:
①订单处理:管理员可查看订单列表,可标记异常订单,也可将订单移除到订单回收站。
②人员管理:管理员可对代领人的权限进行任职、离职操作。
③用户反馈:管理员查看到用户反馈的信息,将处理结果回复给用,删除已经处理或无意义的反馈信息。
④个人中心:更改用户的基本信息,例如:修改密码。
3.2 数据库设计
根据第二章的系统需求分析和系统总体架构设计,[ 陈浩川, 饶志坚. 校园快递代取系统的数据库分析与设计[J]. 中国信息化, 2018, 000(010):43-45.]可以对校园快递代取系统的数据库进行设计。在校园快递代取系统E-R图中,有四个实体,分别是系统用户、快递订单、订单支付信息、反馈信息。系统用户与快递订单、系统用户与反馈信息是一对多的关系,快递订单与订单支付信息是一对一的关系。校园快递代取系统E-R图如图3-2所示。
在这里插入图片描述

					图3-2  系统全局E-R图

根据校园快递代取系统E-R图的设计,系统需要建立数据库表来保存一些相关的信息,数据库的名称为express-ssm,数据表有:用户信息表、订单信息表、订单支付信息表、反馈信息表,以下表是对上述数据库表具体的设计:
(1)SysUser(用户信息表)表
表3-1 SysUser表
列名 数据类型 可为空 注释
ID VARCHAR(255) NOT NULL 用户Id
USERNAME VARCHAR(255) NOT NULL 用户名
PASSWORD VARCHAR(255) NOT NULL 密码
TEL VARCHAR (1) NULL 电话号码
SEX VARCHAR(255) NOT NULL 性别
ADDRESS VARCHAR(255) NULL 地址
BIRTHDAY VARCHAR(255) NULL 生日日期
ROLE_ID INT(11) NOT NULL 权限id
STATUS INT(11) NOT NULL 状态
CREATE_DATE DATETIME NOT NULL 创建时间
UPDATE_DATE DATETIME NULL 修改时间
表3-1给出了存放用户信息的数据库表结构(如用户Id、权限id、用户名、性别、地址、密码、生日日期、状态、电话号码等),表中各字段代表的含义在第四列“注释”中有具体描述,该表的主键为用户Id。
(2)Express(订单信息表)表
表3-2为订单信息表,用于存放用户快递订单的有关信息(如姓名、手机号码、订单号、快递短信、配送地址、订单备注、订单状态、配送人员、配送人员备注、订单是否删除、创建时间等),该表的主键为ID。Express表结构如表3-2所示:
表3-2 Express表
列名 数据类型 可为空 注释
ID VARCHAR (255) NOT NULL 订单号
NAME VARCHAR(16) NOT NULL 收件人
TEL VARCHAR(24) NOT NULL 手机号码
MESSAGE VARCHAR(255) NOT NULL 快递短信
ADDRESS VARCHAR(255) NOT NULL 配送地址
REMARK VARCHAR(255) NULL 订单备注
STATUS INT(11) NOT NULL 订单状态
STAFF VARCHAR (255) NULL 配送人员
STAFF_REMARK VARCHAR (255) NULL 配送人员备注
HAS_DELETE TINYINT (1) NOT NULL 订单是否删除
CREATE_DATE DATETIME NOT NULL 创建时间
UPDATE_DATE DATETIME NULL 修改时间
(3)Express_payment(订单支付信息表)表
表3-3为订单支付信息表,用来存储订单支付的相关信息(如订单号、支付方式、支付状态、线上支付、线上支付第三方的流水号、线上收款方、线下支付金额等),该表主键为EXPRESS_ID,Express_payment表结构详情如表3-3所示:
表3-3 Express_payment表
列名 数据类型 可为空 注释
EXPRESS_ID VARCHAR(255) NOT NULL 订单号
STATUS INT(11) NULL 支付方式
TYPE INT(11) NULL 支付状态
ONLINE_PAYMENT DOUBLE NULL 线上支付
ONLINE_ PAYMENT _NUM VARCHAR(255) NULL 线上支付流水号
ONLINE_SELLER VARCHAR(255) NULL 线上收款方
OFFLINE_PAYMENT DOUBLE NULL 线下支付金额
REMARK VARCHAR(255) NULL 备注
CREATE_TIME DATETIME NOT NULL 创建时间
UPDATE_TIME DATETIME NULL 修改时间
(4)Feedback(反馈信息表)表
表3-4为反馈信息表,用来存放用户反馈给管理员的相关信息,该表主键为id。Feedback表结构详情如表3-4所示:
表3-4 Feedback表
列名 数据类型 可为空 注释
ID VARCHAR (255) NOT NULL id
NAME VARCHAR (255) NOT NULL 反馈人
TEL VARCHAR (255) NOT NULL 联系方式
TYPE VARCHAR (255) NOT NULL 反馈类型(1.订单反馈、2.意见反馈
、3.BUG反馈)
MESSAGE VARCHAR (255) NOT NULL 反馈信息
STATUS INT(11) NULL 反馈状态(0:等待处理、1:处理完成)
STAFFID VARCHAR (255) NULL 处理人
RESULT VARCHAR (255) NULL 处理结果
CREATE_DATE DATETIME NOT NULL 创建时间
UPDATE_DATE DATETIME NULL 更改时间
3.3 系统模块的设计
根据校园快递代取系统的需求分析和功能模块设计,校园快递代取系统的模块设计主要包括普通用户模块、代领人模块、系统管理员模块的设计,本小节不在此对所有的模块的设计进行介绍,以下将介绍系统小模块中的用户登陆模块、下单模块、用户意见反馈模块、代领人接单模块、反馈处理模块的设计。
3.3.1 登陆模块
登录模块是用户前往登录界面后,输入相关信息进行登录,如果登录信息错误,则登录失败,只有通过校验正确的用户,即可根据用户的权限访问校园快递代取系统。。其具体的流程图如图3-3所示:
在这里插入图片描述

图3-3 登陆流程图
3.3.2 下单模块
用户下单的前提是用户能够登陆校园快递代取系统。用户进入填写好快递具体的信息,填写好相关信息之后向系统提交下单请求,接下来前往订单结算,系统会根据用户输入的快递重量计算出配送费,用户还可以挑选线上或线下的支付方式,如果用户选择线上进行支付,支付完成,则用户下单成功了;如果用户选择线下支付,则用户下单成功;系统将保存订单信息到数据库的订单信息表中。下单的流程图如图3-4所示:
在这里插入图片描述

图3-4 下单流程图
3.3.3 意见反馈模块
意见反馈可以是反馈订单问题、意见反馈、系统BUG反馈。在意见反馈页面,用户填写相关的反馈信息,当用户填写完信息后,发送反馈请求,反馈信息将由系统写入数据库的反馈信息表中,并等待管理员处理。意见反馈的流程图如图3-5所示:
在这里插入图片描述

图3-5 意见反馈的流程图
3.3.4 代领人接单模块
代领人接单是拥有代领人权限的用户可以在订单列表界面选择性接单,代领人可以先查看订单的详细信息后做出接单选择,接单后,如果订单出现异常,代领人可以在系统的订单列表页面选择异常的订单,向系统提交异常处理,并上报该异常的详细情况,提交到系统中;如果订单顺利完成后,代领人可以在系统的订单列表页面选择该订单,向系统提交确认请求,完成接单任务。其具体的流程图如图3-6所示:
在这里插入图片描述

图3-6 代领人接单流程图
3.4 本章小结
本章介绍了从系统的总体架构:系统功能模块分为用户模块、代领人模块、管理员模块的;数据库的设计:建立数据表以及设计每张表的字段类型和大小。系统模块设计中,通过流程图详细介绍了部分模块的流程设计。本章节对校园快递代取系统进行了详细的功能设计和数据库设计,清晰地说明了系统的主要功能和数据存储的详情。

第4章 系统实现

根据上一章系统模块的详细设计,本节给出了它们实现。下面分别是它们实现的部分界面效果。
4.1 登陆模块的实现
下图4-1是登陆模块的实现界面图,页面上有验证码、用户名和密码的文本框,一个数字图片验证码,以及一个登录按钮,当用户单击“登陆”按钮将进行登陆操作;

在这里插入图片描述

图4-1 登陆界面
如图4-1所示,用户填写完登录信息,单击“登陆”按钮后,系统将进行信息验证,若验证码、用户名和密码都正确,用户身份校验通过,系统将根据这个用户的权限生成相关的主页面。如图4-2为普通用户登录成功进入的主页面。普通用户主页中,左边是用户操作的菜单栏,右边是主页显示的内容区域。
在这里插入图片描述

图4-2用户主页面
实现登录模块中校验账号的主要代码如图4-3所示:
在这里插入图片描述

							图4-3 登录校验代码图

4.2 下单模块的实现
如图4-4是下单模块实现的模态框界面图,主要有六个文本框(订单信息的取件人姓名、取件短信、备注、配送地址、联系电话、验证码)、一个数字图形验证码以及三个按钮(提交订单的前往结算按钮、清空表单的重新填写按钮、关闭模拟框的关闭按钮)。
在这里插入图片描述

	图4-4  用户主页面

如图4-5所示,当用户用户输入表单信息并提交后,系统将跳转到订单结算界面,界面中有显示出订单的基本信息(姓名、取件短信、配送地址、备注、联系电话)、价格计算说明、包裹重量,以及两个按钮(支付宝支付的按钮、线下支付按钮)。若用户选择线下支付,系统将保存用户订单,提示用户完成订单并生成订单号。若用户采用支付宝支付,系统将响应用户请求跳转页面到支付宝支付界面,支付宝支付界面如图4-6所示。
在这里插入图片描述

图4-5订单结算界面
在这里插入图片描述

图4-6支付宝支付界面
实现用户下单模块的线下支付方式的主要代码如下:
// 创建订单
String expressId = expressService.createExpress(express);
// 创建订单支付信息
ExpressPayment payment = expressPaymentService.createOfflinePayment(expressId, money);
// 将支付信息写入session
session.setAttribute(SESSION_LATEST_PAYMENT, payment);
// 下单成功后删除Express的session
session.removeAttribute(SESSION_LATEST_EXPRESS);
return Msg.ok(null,“/user/payment/result”);
4.3 意见反馈模块的实现
意见反馈模块实现的模态框如图4-7所示,界面中有五个文本框(反馈信息的反馈类型、反馈内容、姓名、验证码、联系电话)、一个数字图形验证码以及三个按钮(提交反馈按钮、清空表单的重新填写按钮、关闭模拟框的按钮)。用户填写完信息,提交反馈,系统会响应用户的请求,生成反馈号反馈给用户。反馈成功界面如图4-8所示。
在这里插入图片描述

图4-7 意见反馈模态框界面
在这里插入图片描述

图4-8反馈成功界面
实现意见反馈模块的主要代码如下所示:
public Msg feedback2(Feedback feedback) {
feedback.setCreateDate(new Date());
feedbackService.insert(feedback);
return Msg.ok(null,feedback.getId());
}
4.4 代领人接单模块的实现
如图4-9是代领人接单模块实现的接单大厅界面。代领人进入接单大厅界面后,可以根据姓名、订单号等条件进行查询,得到订单列表。代领人可以查看订单的详细信息和单选或多选订单进行接单。当代领人接单成功后,该订单将从接单大厅列表中移除,显示到代领人的“我的订单”界面中。代领人的订单界面如图4-10所示,代领人在完成订单过程中能够处理异常订单,当订单配送完成,代领人可以确认订单完成。
在这里插入图片描述

图4-9 接单大厅界面
在这里插入图片描述

图4-10 代领人的订单界面
实现代领人接单模块的主要代码如下所示:
public Msg acceptExpress(String[] ids) {
for(String id : ids) {
Express express = expressService.selectById(id);
express.setStaff(globalFunction.getUserId());
express.setStatus(ExpressStatusEnum.TRANSPORT.getIndex());
expressService.updateById(express);
}
return Msg.ok();
}
4.5 反馈处理模块的实现
如图4-11是反馈处理模块的反馈列表界面。管理员在反馈列表界面可以根据反馈类型、反馈号、反馈状态这些条件查询相关的反馈信息,同时可以对用户的反馈进行恢复,以及删除反馈信息。
在这里插入图片描述

                               图4-11 反馈列表界面
管理员对用户的反馈进行回复时,将进入反馈处理模态框,界面里有一个文本框。

管理员填写反馈的处理结果,提交处理,系统将保存反馈信息并将处理详情提供给用户查看,此条反馈状态将更新为已处理状态。反馈处理模态框的实现如图4-12所示。
在这里插入图片描述

							图4-12反馈处理模态框

实现反馈处理模块的主要代码如下所示:
public Msg handleFeedback(String id, String content) {
if(StringUtils.isBlank(id) || StringUtils.isBlank(content)) {
return Msg.error(“参数错误”);
}
Feedback feedback = feedbackService.selectById(id);
// 设置处理人为当前用户
feedback.setStaffId(globalFunction.getUserId());
feedback.setResult(content);
// 0代表未处理,1代表已处理;默认为0
feedback.setStatus(1);
feedbackService.updateById(feedback);
return Msg.ok();
}
}
4.6 本章小结
本章从系统的五个模块的实现进行了介绍。对每个模块的实现效果和功能都做出了详细的说明。比如下单模块和代领人接单,这两个模块是校园快递代取系统的核心模块。这些模块的实现效果基本上可以满足用户的需求。

第5章 系统测试

5.1 测试目的和意义
找到系统中的存在的不足是系统测试的目的。系统中可能存在界面溢出、功能错乱、数据错误、显示不当等缺陷,为了保证软件产品的质量和给用户更好的体验感以及降低软件项目开发的成本,系统测试已经成为了软件开发流程中的关键环节。
系统测试提升了软件质量,降低了软件开发投资的资金,提高用户的体验。测试成为了保障整个软件系统质量的重要环节。
5.2 测试方法
校园快递代取系统的测试使用黑盒测试的方法进行测试。测试中,采用的用例输入分别是错误和正确的条件。部分功能具体的测试计划如下所示:
测试1:测试名称:登录
测试目的:测试用户登录功能
测试内容:验证码、用户名和密码的输入,校验正确,用户主页面显示
测试2:测试名称:用户下单
测试目的:测试用户下单功能
测试内容:用户填写订单界面显示、取件人姓名输入、联系电话输入、取件短信输入、配送地址输入、备注输入、验证码输入、表单清空按钮检查、检查支付宝方式支付按钮、
测试3:测试名称:查询订单
测试目的:测试查询订单功能
测试内容:订单号输入、搜索功能测试 、检查查询内容显示
5.3 测试用例
5.3.1 登录测试
功能描述:用户输入相关信息进行登录。如果输入的登录信息错误或不输入任一登录信息,则登录界面会显示相应的警告信息;输入正确的登录信息后,将登录进入系统主页。登录测试用例如表5-1所示。
表5-1 用户登录测试用例表
序号 测试目的 测试输入 测试结果 测试说明
用户名 密码 验证码
1 空用户名 (为空) 123 验证码正确输入 用户名或密码不能为空
2 密码为空 李明 (为空) 验证码正确输入 用户名或密码不能为空
3 用户名和密码不输入 (为空) (为空) 验证码正确输入 用户名或密码不能为空
4 验证码不输入 李明 123 (为空) 验证码不能为空 用户名和密码正确输入
5 验证码错误输入 李明 123 0000 验证码输入错误 用户名和密码正确输入
6 用户名、密码错误输入 123 李明 验证码正确输入 用户名或密码错误
7 用户名、密码正确输入 李明 123 验证码正确输入 登录成功 进入正确的用户主界面
5.3.2 用户下单测试
功能描述:用户进入订单填写界面,输入相关信息,提交订单,完成结算后,将生成相关订单。每项信息均为必填项,如果输入信息为空,会出现提示信息;联系电话验证长度不少与11位;提交填写信息,将跳转到订单结算界面并显示出填写信息,选择包裹重量只能输入阿拉伯数字。根据用户下单测试计划的内容(用户填写订单界面显示、取件人姓名输入、联系电话输入、取件短信输入、配送地址输入、备注输入、验证码输入、表单清空按钮检查、检查支付宝方式支付按钮),用户下单测试用例如表5-2所示。
表5-2 用户下单测试用例表
序号 测试目的 测试内容 测试结果 测试说明
1 测试下单功能 选择“我要下单”命令 正常显示“快递代取信息填写”模拟框界面 界面和设计时保持一致
2 测试数据输入完整性 “取件人姓名”、“联系电话”、“取件短信”、“配送地址”、“验证码输入”都未空 提示——不能为空
3 测试输入部分数据 “取件人姓名”为张三、“联系电话”为空、“取件短信”为中通快递、“配送地址”为3栋605、“验证码输入”为正确输入 提示——联系电话不能为空
4 测试输入部分数据 “取件人姓名”为张三、“联系电话”为13764563322、“取件短信”为中通快递、“配送地址”为空、“验证码输入”为正确输入 提示——配送地址不能为空
5 测试输入部分数据 “取件人姓名”为空、“联系电话”为13764563322、“取件短信”为中通快递、“配送地址”为3栋605、“验证码输入”为正确输入 提示——必填项 取件人姓名不能为空
6 测试输入部分数据 “取件人姓名”为张三、“联系电话”为13764563322、“取件短信”为空、“配送地址”为3栋506、“验证码输入”为正确输入 提示——取件短信不能为空
7 测试输入部分数据 “取件人姓名”为张三、“联系电话”为13764563322、“取件短信”为中通快递、“配送地址”为3栋506、“验证码输入”为空 提示——验证码不能为空
8 测试表单清空按钮 点击“重新填写”命令 填写信息被清空 效果与设计一致
9 测试逻辑处理按钮 点击“支付宝”命令 跳转到支付界面,支付金额准确 效果与设计一致
5.3.3查询订单测试
功能描述:用户进入查询订单模拟框界面,输入搜索条件订单号即可查询到该订单的详细信息。如果输入订单号为空,会出现提示信息。如果输入不存在的订单号,会出现查询不到的提示信息。当输入正确的订单号,则会显示出该订单的详细信息。根据查询订单测试计划的内容(订单号输入、搜索功能测试 、检查查询内容显示),查询订单测试用例如表5-3所示。
表5-3 查询订单测试用例表
序号 测试目的 测试内容 测试结果 测试说明
1 测试输入数据为空 不输入订单号,点击“搜索”命令 提示—查询内容不能为空
2 测试输入不合理的数据 输入123后,点击“搜索”命令 提示—没有查询到相关数据
3 测试查询内容显示 输入合理的订单号,点击“搜索”命令 显示出该订单号的订单信息 显示内容与设计一致
5.4 本章小结
以上主要介绍了系统采用了黑盒测试进行校园快递代取系统测试的部分具体实例,其中包括了用户登录模块测试、用户下单模块测试、查询订单模块测试,大概介绍了校园快递代取系统主要的功能实现情况,在测试过程中发现了一些系统问题并对这些问题作出了修改。

第6章 结束语

6.1 全文总结
经过三个月的基于SSM的校园快递代取系统的设计与实现,我巩固了所学的Java的知识,对项目中出现的一些问题有了更加深刻的理解和相对应的解决办法,对SSM架构、编程思想有了更加深刻的理解。我通过基于SSM的校园快递代取系统的实现,学会了一种新的后端认证框架,那就是现在比较好用的Shiro,以及掌握了前后分离项目的设计思路。在项目设计中,其中由于设计思路不清晰出现了这样一个问题:编写完后台的接口才发觉后台接口返回给前端都是json格式的数据,以致于无法访问前端界面。最后通过四处搜索别人的Dome,才知道可以再前端通过js解析json数据形成再次访问路径(此路径为页面跳转),然后再通过建立页面跳转的Controller,就顺利将前后端链接起来了。
毕业设计是学校对我们四年来学习成果的一次检验,基于SSM的校园快递代取系统的设计与实现基本上自己在大学生活中学习的大部分知识都运用进去了,但是还不够,在许多方面还没有考虑全面,相信自己在以后进入工作中会更加努力,做出更加完美、用户体验更好的系统。
6.2 课题展望
基于SSM的校园快递代取系统的主要功能都得以实现,但是还有很多方面需要完善。线上支付方式只实现了支付宝支付,还需添加微信支付的方式。由于时间不足,对于系统界面的设计比较简洁,对于系统的功能设计也比较单一,后期将会优化校园快递代取系统的界面,补充快递代寄功能、订单评价功能、系统消息通知功能、代领人工资结算功能,使得校园快递代取系统可以给予用户更好的体验感。

参考文献

[1]林信良. Spring2.0技术手册[M]. 北京:电子工业出版社,2005
2威尔德,斯尼德等著,赵利通译. SpringFramework 2入门经典[M]. 北 京:清 华大学出版社,2009
[3] 田珂,谢世波,方马. J2EE数据持久层的解决方案[J]. 计算机工程,2003, 29(22): 93-95
[4]刘京华. Java Web整合开发王者归来[M]. 北京:清华大学出版社,2010
[5]张孝祥. 深入Java Web开发内幕——核心基础[M]. 北京:电子工业出版社. 2006
[6]孙卫琴,李洪成. Tomcat 与 Java Web 开发技术详解[M]. 电子工业出版社,2003.6:1-205
[7]孙一林,彭波. Java数据库编程实例[M]. 清华大学出版社,2002.8:30-210
[8] FLANAGAN. Java技术手册[M]. 中国电力出版社,2002.6:1-465
[9]LEE ANNE PHILLIPS. 巧学活用HTML4[M].电子工业出版社,2004.8:1-319
[10]Brown. JAVA编程指南(第二版)[M]. 电子工业出版社,2003.3:1-268
[11] Craig Walls, Ryan BreidenBach. Spring In Action[M]. Manning Publications. 2006
[12]Bruce Eckel. Thinking in Java[M]. Upper Saddle River, New Jersey, USA: Prentice Hall, 2006
[13]Joshua Bloch. Effective Java[M]. Piscataway, N.J: IEEE Press, 2009
[14]Joshua Bloch.Effective Java Programming Language Guide.Addison-Wesley Professional.2001
[15]Rachit Mohan Garg,YaminiSood,Balaji Kottana,Pallavi Totlani.A Framework Based Approach for the Development of Web Based Applications Waknaghat[J].Jaypee University of Information Technology,2011,1(1):1-4

致 谢

转眼间,大学四年学习生涯即将结束了,当我写完这篇毕业论文的时候,有一种如释重负的感觉,感慨良多。回想过去几年的校园生活,交到了许多志同道合的朋友,让我的人生也增添了许多丰富多彩的生活,学到了许许多多,在各个方面都得到了发展、提高。

在校四年期间,老师们教导我们学习的方法以及引导我们接触社会,在此,我衷心感谢老师们给予我们的帮助,是你们教育了我们踏实做人,刻苦学习,指导着我们沿着正确的方向前进。还有,特别要感谢刘红敏老师对我的关心和指导。同时也谢谢在此期间给予我帮助的同学们。

  • 8
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值