基于SpringBoot的快递配送规划系统的设计与实现.doc

上传人:封****n 文档编号:96762463 上传时间:2024-03-19 格式:DOC 页数:32 大小:5.23MB
返回 下载 相关 举报
基于SpringBoot的快递配送规划系统的设计与实现.doc_第1页
第1页 / 共32页
基于SpringBoot的快递配送规划系统的设计与实现.doc_第2页
第2页 / 共32页
点击查看更多>>
资源描述

《基于SpringBoot的快递配送规划系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《基于SpringBoot的快递配送规划系统的设计与实现.doc(32页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、本科论文目 录摘 要IAbstractII引 言11 相关技术31.1 Spring Boot框架31.2 Vue框架41.4 Bootstrap框架41.5 JQuery技术51.6 Ajax技术51.7 ECharts51.8 MySQL61.9本章小结62 系统分析72.1 需求分析72.2 非功能需求102.3 本章小结103 系统设计113.1 系统总体设计113.1.1 系统体系结构113.1.2 系统目录结构113.1.3 系统功能结构113.2 系统详细设计123.2.1 系统功能设计123.2.2 数据库设计133.3 本章小节184 系统实现194.1 开发环境194.2

2、开发规范194.3 数据库实现194.4 Spring Boot项目搭建194.5 功能实现204.6 本章小结225 系统测试235.1 测试计划235.2 用例测试235.3 压力测试245.4 本章小结24结 论25致 谢26参考文献27本科论文摘 要随着近几年来社会与经济快速的发展和电子商务的不断兴起,我国的快递行业现在已经成为了使社会经济提升的途径之一并且是新型的服务产业结构体系。由零点公司在国内发起的关于快递服务满意程度调查,现阶段有些领先的快递企业已经进入了服务化的转型期,面临服务提升的瓶颈,而第二梯队的服务能力显著提高。快递行业的绝对霸主尚未成型,你追我赶的竞争形式会更加严峻。

3、目前快递行业普遍面临的人员稳定性问题、服务专业性问题、与第三方合作的问题、远低于其他行业的售后服务水平等问题都需要更加系统化的改革方案,尤其是加盟制的快递企业,而这些问题都更加需要系统化的方案去解决这些问题。本项目本为了加强快递业的发展,加强推动互联网能够在各行各业中得到充分使用。项目使用的最短路径算法,分析并且规划快递的配送路径,系统平台为用户提供并整合快递信息,用户可以更直观的观察快递的配送路径,以及快递员配送其他快递的配送路径,可以整理个人所有快递信息。系统使用了Spring Boot 编写最短路径算法,基于克鲁斯卡尔算法,以及决策出最优的路径,解决对多个指定地点并且指定起始点进行规划,

4、利用Redis处理数据缓存问题、通过SSL协议解决数据安全问题等,可以对用户高并发请求进行分流处理。关键词:Spring Boot; 快递配送; 最短路径本科论文AbstractWith the rapid social and economic development in recent years and the continuous rise of e-commerce, Chinas courier industry has now become one of the ways to enhance the social and economic and is a new servic

5、e industry structure system. The survey on courier service satisfaction launched by Zero Point in China, some leading courier companies at this stage have entered the transition period of serviced, facing the bottleneck of service improvement, while the second echelon of service capacity has signifi

6、cantly improved.The absolute hegemon of the courier industry has not yet taken shape, and the form of competition will be even more severe if you catch up. At present, the courier industry is generally faced with personnel stability issues, service professionalism issues, problems with third-party c

7、ooperation, far lower than other industries, such as the level of after-sales service, etc. need more systematic reform programs, especially the franchise system of courier enterprises, and these problems are more in need of systematic programs to solve these problems.This project is intended to str

8、engthen the development of the courier industry and enhance the promotion of the Internet can be fully used in all industries. The project uses the shortest route algorithm to analyze and plan the delivery route of the courier, the system platform provides and integrates the courier information for

9、the user, the user can more intuitively observe the delivery route of the courier, as well as the delivery route of the courier to other courier, can organize all the courier information of the individual. The system uses Spring Boot to write the shortest path algorithm, based on the Kruskal algorit

10、hm, and determine the optimal path, solve the planning of multiple specified locations and specify the starting point, use Redis to handle data caching problems, solve data security problems through SSL protocol, etc., can be triaged for high concurrent user requests.Keywords: Spring Boot; Delivery

11、express; Shortest path引 言在如今的互联网、电商快速发展的时代,网购可以说是离不开我们的日常生活了。而我国的快递业也会发展得越来越迅猛。然而这种服务的建设比较容易被超越,新的企业要追上甚至赶超领先的企业,必须进行非常大的改革,需要培养企业核心竞争力。而互联网技术,技术融入给快递行业带来了新的面貌,如何实现人力资源与技术嵌入的无缝衔接将会是是未来工作重点。由零点公司进行的全国快递服务满意度调查的结果显示越来越多的用户经常使用新兴的寄、收件方式,微信、官网等下单方式,智能快件箱、第三方合作自提点等收件方式从被动接受逐渐变为主动选择。新兴方式的服务满意度仍然低于传统的电话下单、

12、上门取、派件,在越来越多的智能化方式的辅助下,派送服务甚至出现了下降的趋势。为了不让更多的快递服务人员遭遇到失业的困难,本项目使用最短路径算法,分析并且规划快递的配送路径,系统平台为用户提供并整合快递信息,使其快递配送人员能够更快的送到用户手中。系统前端使用Html5+Vue+jQuery进行混合式开发,使用vue-resouse处理前端分离跨域问题。使用Spring Boot 编写最短路径算法,基于克鲁斯卡尔算法,以及决策出最优的路径,解决对多个指定地点并且指定起始点进行规划,通过数据缓存对查询速度的进行优化,通过前后端分离使得项目部署更加节省服务器资源。算法中的结点以及无向图的边实例出来,

13、用路程表示权值,最后生成的最小生成树为最短路径。通过快递员与快递包裹之间的多重关系,建立数据库表结构。使用Maven仓库搭建Spring Boot框架通过快递员录入快递信息,快递员配送快递等功能从而确定页面格式导入数据库信息,添加快递并完成投递测试。采用前后端分离的方式,使得需要对前后端文件分别打war包部署到服务器。在本文中着重介绍了快递配送规划系统使用的相关技术,对系统进行系统分析,系统设计,介绍快递配送规划系统的实现部分,说明了系统包括的哪些测试工作。第1章,介绍项目中使用的相关技术,说明快递配送规划系统后台的核心架构Spring Boot框架技术,数据库使用MySQL数据库,服务器采用

14、Tomcat服务器等,使用ECharts技术分析学生数据信息,了解用户活跃度, 第2章,对快递配送规划系统进行系统分析,分析快递配送规划系统的功能需求、用例分析和非功能需求,分为四大模块:用户模块、快递模块、配送模块、数据展示模块。第3章,介绍快递配送规划系统的系统设计,主要是分为详细设计和概要设计两种。使用功能模块去分,将快递配送规划系统总体分为四大模块,分别为用户模块、快递模块、配送模块、数据展示模块。本文结构安排如下。其中详细设计中要介绍数据库设计以及详细功能设计,在数据库设计中,展示了项目中使用到的主要数据表;功能设计中展示设计功能用例图。第4章,介绍快递配送规划系统的系统实现部分,该

15、部分分为开发环境、开发规范、数据库实现以及核心功能实现四大部分。其中数据库实现中,展示项目所用到的全部数据表。展示相应功能的伪代码以及项目功能实现截图。第5章,介绍快递配送规划系统的测试工作,分为单元测试和压力测试。在单元测试中测试核心功能,并且写明测试计划以及测试用例,单元测试结束后,写明测试结果。压力测试中,向系统发送数量较多的请求,查看系统响应时间、吞吐量,编写测试结果报告。结论,说明系统总体的完成情况,总结系统所需要解决的一些问题、系统的应用价值,对系统进行整体评价,说明系统的优点、缺点,对下一步工作进行构想,展望系统之后需要设计的功能。1 相关技术本系统使用MacOS的操作系统,ID

16、EA进行开发。前端采用了Bootstrap模板和ECharts技术,用来对界面进行绘制和数据展示,使用Ajax实现前后端数据的访问,使用Vue.js和jQuery进行脚本编写。后台使用Spring Boot框架,使用单例模式的设计模式进行代码的编写,使用MySQL作为后端数据库,使用MyBatis作为中间件对数据库进行访问,服务器使用的Tomcat。1.1 Spring Boot框架Spring Boot 是在2013年推向市场的开发框架,主要的用途是用来将Spring框架的开发、配置、调试、部署工作进行简化 1。在创建Spring项目时,必须要设定指定的XML文件。Spring 3和Spri

17、ng 4的推出使得开发者的认知比设置更为重要。XML正在逐渐改变不同的注释。Spring 4项无法创建XML文件。要创建一个大项目,需要很多软件包2。即使使用Maven配置也需要很多代码。现在一个网站平台快速发展,Spring的开发模式越来越麻烦,在这个环境中Spring Boot和Spring 4一起出现,如图1.1所示。图1.1 SpringBoot框架示意图框架虽然很强,但即使是很简单的项目,也需要多一些配置,Spring Boot的功能非常简单,帮助我们自动设置,Spring Boot框架的核心是自动设置。如果有合适的jar包,Spring将自动设置3。如果默认设置不能满足要求,可以更

18、换configuration并使用自己的设置。另外,Spring Boot会对内部网络服务器、系统监控等许多有用功能进行自动设置。合并并快速构建企业和应用程序。1.2 Vue框架Vue 是用于构建用户界面的框架,通过整合第三方iview库,基于脚手架框架开发 Web 前端页面2。可提供强大的伸缩能力。Vue是用户界面的框架,进步代表的意义是最小化,所有的框架只能以自己的特点向用户提出一定的要求,这些要求都是号召的,强烈的4。要求强是影响企业发展的使用方式,简单地说,对于大家不知道的Vue的模块或函数是不能使用的,可以换成熟悉的技术,与其他框架相比,基本上没有生硬的要求,如图1.2所示。图1.2

19、 Vue框架示意图1.4 Bootstrap框架Bootstrap是以Java脚本等技术为基础的开发结构,由美国推特的设计师马克奥特和杰特Thortan开发,使网络开发更加快速,Bootstrap提供了美观的前端代码编写规范6。这些规范是由动态CSS语言less编写的,该框架一上市就成为最流行的开放源项目,NASA的MSNBC突发新闻使用了这个程序7。据了解,Wex5前端开放源框架是基于Bootstrap源代码进行性能优化的。1.5 JQuery技术JQuery库是一个快速、简洁的JavaScript库,拥有强大的浏览器兼容性,创造出更少的代码,并提供更多的工作8。JQuery将常见的Java

20、Script函数编码组合起来,JavaScript的设计模式,便于处理的HTML,易于分离结构和行为,JQuery具有独特的连锁语法,它有着极其简单明了的多重功能界面 9。JQuery可以操作页面的对象,并且对页面的外观进行修改,并为页面添加更多的效果和浏览器兼容。1.6 Ajax技术Ajax是为了创建交互式网络程序的网络开发技术。Ajax函数控制整体或个体应用,Ajax库包含一系列的JavaScript代码。Ajax技术根本上是由JavaScript组合而成的11。Ajax是一种网络开发环境10。可以在这里建立客户端库和使用客户端库。Ajax的特点是在未提交数据的情况下,可以重新修改某些页面

21、。1.7 EChartsECharts技术是一款开源的工具,具有数据可视化的功能,它比较依赖于轻量级的画布,用户使用ECharts可以在电脑和移动端设备上进行设计,设计个性化界面,使图表看起来更加直观生动形象,使用多种类型展示数据的变化趋势,方便用户查看使用12。ECharts所提供的图表的种类很多,兼容性也比较好,它可以为用户提供饼图、折线图、柱状图、地图等各种各样关系图形表,更加直观、生动的展示出各组数据之间的关系变化,用户可根据系统需求设计出不同的图表关系13。通过导入所需图表的JS文件,文件中调取所需展示的某组数据,即可展示出这些数据之间的关系以及他们的变化趋势14。ECharts技术

22、不仅仅在视觉上增加了用户体验度,在后台的管理上也有效的减少了工作时间。使数据更加直观,方便查看。快递配送系统中,快递员角色和用户角色中的数据统计部分使用图表分析。管理员可以在本系统中以图形的形式观察系统当中的一些数据,这些数据在展示的时候会更加智能,可以展示所需要对比的细节。大大降低工作复杂度提高工作效率。1.8 MySQLMySQL数据库具有快速的性能。该数据库支持非常多的操作系统,能够工作在不同的操作系统上15。因为MySQL数据库的服务器与PHP 都具有良好的跨平台的特点16,所以开发软件时经常将这两者结合起来16。1.9本章小结本章主要介绍了快递配送规划系统项目所应用到的Spring

23、Boot框架,以及对MySQL数据库的使用、Tomcat服务器等相关内容介绍,项目中使用了ECharts数据可视化对数据进行处理。介绍了这些技术在快递配送规划系统的实现中能够起到的重要作用。进行深入学习,为快递配送规划系统项目的实现打下良好的基础。2 系统分析本章基于第一章介绍的相关技术,详细的描述了基于SpringBoot的快递配送规划系统的系统分析,分别从实体和功能需求进行分析,使用用例图展示了用例之间的关系可以更加直观的展示基于SpringBoot的快递配送规划系统的用例之间的关系。2.1 需求分析为解决快递员只能配送小范围快递,用户无法看到快递最后配送路径的问题设计快递配送规划系统。本

24、系统的共有用户模块、快递模块、配送模块、数据展示模块四大模块。本系统通过分拣员录入快递信息,之后快递员对快递进行选择投递,选择完毕后进行配送,系统会绘制最短路径,将路径显示在地图上。用户可以在快递投递过程中和配送完毕后查看配送路径。实现了快递的“最后一公里“对用户的透明化,也实现了快递员可以配送大范围地区的难题。通过获取的需求且对现有系统常规功能的分析,确定基于SpringBoot的快递配送规划系统包括:基于SpringBoot的快递配送规划系统用户模块包括用户的常规信息数据展示,用户的信息修改,以及用户发布信息操作,用户申请实名认证操作,用户申请发布广告权限,申请发布公告权限等功能,如图2.

25、1所示。图2.1用户模块用例图申请实名认证。使用者进入主页,进入菜单栏中的实名认证页面,进入申请实名认证的页面后需要根据提示输入需要输入的信息,单击提交按钮,然后就可以进行申请实名认证。管理员可以对申请的实名认证进行审核。申请发布公告权限。使用者进入主页,进入用户的信息页面,进入申请发布公告的主页面,点击页面中的提交按钮即可完成功能,管理员就可以查看到申请信息对其进行操作。申请发布广告权限。用户进入主页,进入用户信息页面,进入菜单栏中广告公告页面,进入申请广告公告页面后,点击提交就可以申请发布广告权限,管理员可以对申请的发布广告权限进行审核。快递模块。包含系统当中用户和快递员对快递的信息获取以

26、及对快递的操作,其中模块的主要功能是快递员录入快递,快递员选择快递,用户查看快递等功能如图2.2所示。图2.2快递模块用例图快递员录入快递功能。快递员进入系统,进入菜单栏中录入快递页面,进入快递录入界面后,快递员输入快递公司、手机号、地址等信息,点击录入,快递则被录入到系统内,快递员可以查看到快递信息。快递员选择快递功能。快递员进入系统,进入菜单栏中快递选择页面,进入快递选择界面后,系统会显示当前录入的且没有被选择和配送的快递,快递员可以点击选择按钮将快递放入自己的配送列表当中。用户查看快递功能。用户进入系统,进入主页菜单栏中我的快递页面,进入我的快递页面后,系统会显示当前手机号属于用户的快递

27、信息,其中包括快递的快递公司,快递地址和配送状态。配送模块。包含系统当中的快递配送相关功能,主要功能是快递员配送快递,快递员绘制配送路径,快递员规划配送路径,快递员进行配送,快递员继续配送,用户查看快递配送路径,如图2.3所示。图2.3配送模块用例图快递员使用配送快递功能。当快递员登陆并且进入到主页时,单击菜单栏中的选择快递按钮,进入到选择快递页面,在选择好快递之后,进入配送快递界面,系统会显示快递员已经选择的快递信息,点击配送快递就可以对快递进行配送。快递员绘制配送路径功能。快递员进入主页,在选择快递并且进入配送快递节目点击配送快递,系统会将快递的位置信息显示在地图上,快递员点击绘制,系统就

28、会绘制出快递之间的所有路线。快递员规划配送路径功能。快递员登陆进入主页,点击菜单栏中的选择快递按钮,进入选择快递页面,在选择完快递,点击配送快递,并且绘制快递路线后,点击规划按钮,系统就会根据克鲁斯卡尔算法规划出配送路径。快递员进行配送功能。快递员进入主页,在选择快递后,点击配送快递,绘制并规划配送路径后,系统就会将快递信息和配送路径保存到系统当中,快递员就可以对快递进行配送。数据展示模块包括整个系统的数据统计展示,在主页里面使用图表的方式,将系统的主要信息展示出来,主要功能是展示用户登陆次数信息,用户登陆比例信息,如图2.4所示。图2.4数据展示模块用例图展示用户登陆次数信息功能。管理员输入

29、账号密码点击登陆后,进入系统主页,系统会自动获取系统单中用户的登陆次数,通过Echarts图表来展示用户的登陆次数,管理员可以直观的观察到用户的活跃度。用户登陆比例信息展示功能。管理员登陆后,进入系统主页,系统会获取系统单中用户比例信息,通过图表的形式展示用户登陆比例信息,管理员可以直观的观察到快递员与用户的登陆频率比例。2.2 非功能需求非功能需求的满足程度,直接影响软件能否以正常的形式运行。快递配送规划系统的非功能需求是功能需求分析介绍的功能以外的特性,包括对服务器硬件和软件要求、客户端软件要求、访问容量以及响应时间。2.3 本章小结本章介绍的是快递配送规划系统的需求分析,主要包含了项目的

30、功能需求、用例分析以及非功能需求。经过这一阶段的项目分析,对整个项目平台需求有了进一步规划。可用于今后指导该项目的设计、开发、测试工作。3 系统设计3.1 系统总体设计本章是对基于Spring Boot的快递配送规划系统的用例划分、功能模块、数据结构、接口、异常处理、扩展性等进行了设计,使该系统更加符合用户的需求,同时为测试人员提供参考。3.1.1 系统体系结构系统使用浏览器和服务器结构(B/S结构)。能耗优化系统大概分为表示层、应用层、数据库三层。表示层既用户的操作界面,在快递配送规划系统中用户的前端使用vue.js,且用户端使用前后端分离技术,便于将来的APP或其他类型的开发,前后端交互操

31、作利用Ajax技术实现。管理员管理后台使用前端使用Bootstrap模板,界面简洁清晰,容易操作18。B/S结构保留了C/S结构的优势,同时也使得复杂的程序更容易实现。3.1.2 系统目录结构系统的配置文件(application.properties)放在src/main/resources /;系统公共文件(ApplicationServer.java)放在com.app;系统实体(bean)放在com.app.bean;系统业务层(Service)放在com,app.service;系统控制器(Controller)放在com.app.controller;系统工具(tool)放在com

32、.app。3.1.3 系统功能结构本系统的功能分为四大模块:用户模块、快递模块、配送模块、数据展示模块。其中这些模块内的主要功能如下: 用户的信息查询,用户的信息修改,用户发布信息操作,用户查看发布信息,用户申请实名认证操作,用户查看实名认证状态,用户申请发布广告权限,用户查看申请发布广告权限,申请发布公告权限,用户查看申请发布公告权限,快递员录入快递,快递员查看录入快递,快递员选择快递,快递员查看选择快递,用户查看快递,快递员配送快递,快递员绘制配送路径,快递员规划配送路径,快递员进行配送,快递员继续配送,快递员查看配送路径,快递员查看配送路径详细信息,用户查看快递配送路径,系统展示用户登陆

33、次数信息,系统展示用户快递员登陆比例,具体的功能结构图如图3.1所示。图3.1系统功能结构图3.2 系统详细设计3.2.1 系统功能设计在设计系统功能前,一定要了解项目功能的操作时序,并且明确系统的功能实现要求。本系统的核心功能为快递员规划快递路径,用户查看快递路径,以下介绍为本系统的核心功能设计。快递员规划配送路径功能。快递员进入主页,在选择完快递,点击配送快递,并且绘制快递路线后,点击规划按钮,系统就会根据克鲁斯卡尔算法规划出配送路径。如图3.2所示。图3.2快递员规划配送路径功能时序图用户查看快递配送路径功能。用户进入主页,进入我的快递页面,用户可以查看配送中状态的快递的配送路径,用户点

34、击查看,系统就会将配送路径信息显示到地图上。如图3.3所示。图3.3用户查看快递配送路径功能时序图快递配送路径规划功能。根据从前端传回的路径信息,将所有的配送地点设置为一个节点,将这些节点连接成一个无向连接图,在这个连接图上以快递员的所在节点设置为起始节点,其余节点以这个节点生成最小生成树,从而形成最短路径,从Krusakal算法中,从终端角度获取了网络的最小生成树,时间复杂度是O(eloge)20。比起基础算法,更适合寻找边缘性网络的最小生成树19,对于连接网络最小生成树,全体当价值要求最短的时间时,最直接的思想是根据连接网络的所有节点排序,选择最小值的排序,因为最小生成树本身就是生成树,所

35、以必须满足以下两点: 在一个具有n个顶点的连接网络上生成的树只有n-1个末端,才能连接n个顶点,因此克鲁斯卡尔算法的具体思想根据权重值,按照上升顺序排列在所有边缘,从小到大的顺序来判断21,条件是:如果这一变量与以前选定的不循环,可以生成树的一部分20,否则将被丢弃。从一个有n个顶点的连接网中过滤出n-1个末端。过滤的边缘和所有顶点都是网络的最小生成树21。3.2.2 数据库设计根据需求分析以及快递配送规划系统项目的需求,对项目数据库进行了设计,可得到一个映射信息数据需求概念的E-R图模型,设计绘制出的实体类关系图如图3.4所示。图3.4 快递配送规划系统实体关系图根据上面描述的需求分析和系统

36、设计,以及分析整个系统的业务流程。本系统共20个实体,5个一对一关系,12个一对多关系,需要设计20个表,如表3.1所示。表3.1 数据库表列表编号表名说明1ad广告表2adcontrol广告权限表3adinput广告审核表4admin管理员表5company快递公司表6couriserexpresses快递员快递表7couriserloginlog快递员登陆日志表8couriserlog快递员申请表9express快递表10expressespathlogs快递配送路径表11notice公告表 广告表(ad)主要储存系统当中的广告信息。例如广告标题,广告内容,发布广告人id等,本表将广告id

37、设为主键,使每条记录具有唯一性。具体字段如表3.2所示。表3.2 广告表列名数据类型约束条件其他说明IdintKEY主键namevarchar(45)NOT NULL广告名称contentvarchar(200)NOT NULL广告内容memberIdintNOT NULL用户idaddtimedatetimeNOT NULL产生时间广告权限表(adcontrol)主要储存用户申请发布广告的权限的信息,例如用户id申请状态等,本表将广告权限id设为主键,使每条记录具有唯一性。具体字段如表3.3所示。表3.3 广告权限表列名数据类型约束条件其他说明idintKEY主键memberIdintNOT

38、 NULL用户idstatevarchar(200)NOT NULL申请状态addtimedatetimeNOT NULL产生时间广告审核表(adinput)主要储存广告发布的审核信息,用户发布广告需要在系统内经过管理员的审核才能使公告发布出来,例如审核状态,广告id,添加时间等。本表将广告审核id设为主键,使每条记录具有唯一性。具体字段如表3.4所示。表3.4 广告审核表列名数据类型约束条件其他说明idintKEY主键adIdintNOT NULL广告idstatevarchar(200)NOT NULL审核状态addtimedatetimeNOT NULL添加时间adminint审核人员管

39、理员表(admin)主要储存系统当中管理员的信息,例如账号信息,密码信息等。本表将管理员id设为主键,使每条记录具有唯一性。具体字段如表3.5所示。表3.5 管理员表列名数据类型约束条件其他说明IdintKEY主键nickvarchar(200)NOT NULL账号passwordvarchar(200)NOT NULL密码addtimedatetimeNOT NULL添加时间快递公司表(company)主要储存快递公司的信息,例如快递公司名称,快递公司编号等。本表将快递公司id设为主键,使每条记录具有唯一性。具体字段如表3.6所示。表3.6 快递公司表列名数据类型约束条件其他说明IdintK

40、EY主键namevarchar(45)NOT NULL名称codevarchar(45)NOT NULL编号addtimedatetimeNOT NULL添加时间快递员快递表(couriserexpresses)主要储存快递员与快递的关联关系,例如快递员id,快递id等。本表以快递员快递id设为主键,使每条记录具有唯一性。具体字段如表3.7所示。表3.7 快递员快递表列名数据类型约束条件其他说明idintKEY主键couriersIdintNOT NULL快递员idexpressesIdintNOT NULL快递id快递员登陆日志表(couriserloginlog)主要储存系统中快递员的登陆

41、日志,例如快递员id登陆时间等。本表以快递员登陆日志id设为主键,使每条记录具有唯一性。具体字段如表3.8所示。表3.8 快递员登陆日志表列名数据类型约束条件其他说明idintKEY主键couriserIdintNOT NULL快递员idaddtimedatetimeNOT NULL添加时间 快递员申请表(couriserlog)主要储存申请快递员信息,用户在申请成为快递员后,系统会在这张表内存一条记录,管理员审核通过后用户才能成为快递员,例如用户id,申请状态等。本表以快递员申请id设为主键,使每条记录具有唯一性。具体字段如表3.9所示。表3.9 快递员申请表列名数据类型约束条件其他说明id

42、intKEY主键memberIdintNOT NULL用户idstatevarchar(45)NOT NULL申请状态addtimedatetimeNOT NULL申请时间快递表(express)主要储存快递信息,例如快递地址,快递电话,快递公司,快递编号等,本表以快递id设为主键,使每条记录具有唯一性。具体字段如表3.10所示。表3.10 快递表列名数据类型约束条件其他说明IdIntKEY主键numbervarchar(45)NOT NULL编号statusvarchar(200)NOT NULL状态addressvarchar(200)NOT NULL地址addtimedatetimeNO

43、T NULL添加时间快递配送路径表(expressespathlogs)主要储存快递路径关联信息,将系统当中的每一个快递和对应的路径信息关联起来,例如快递id,路径id,添加时间等,本表以快递配送路径id设为主键,使每条记录具有唯一性。具体字段如表3.11所示。表3.11 快递配送路径表列名数据类型约束条件其他说明IdintKEY主键pressesIdintNOT NULL快递idpathlogsIdintNOT NULL路径idaddtimedatetimeNOT NULL添加时间用户登陆日志表(login_log)主要储存系统当中的用户的登陆日志,例如用户id,登陆时间等,该表以自增长字段

44、id作为主键,使每条记录具有唯一性。具体字段如表3.12所示。表3.12 用户登陆日志表列名数据类型约束条件其他说明IdintKEY主键member_idintNOT NULL用户idaddtimedatetimeNOT NULL添加时间3.3 本章小节本章主要介绍了快递配送规划系统的系统设计,介绍了数据库的设计以及主要功能设计。通过本章介绍了快递配送规划系统项目的整体架构,使用功能结构图更加清楚明了的展示出了项目的功能需求,以及系统处理方式,详细介绍了数据表结构。4 系统实现4.1 开发环境本系统使用Spring Boot框架进行开发,使用分别使用bootstrap技术和vue框架完成管理后

45、台和用户的前端框架的搭建,使用Java语言进行编写,使用MySQL数据库来存储数据。4.2 开发规范本系统是根据Java的命名标准来命名的,名字、类型名、界面名、包括方法名称等在内的名字由小写组成Error! Reference source not found.。可以看到包名的内容。在分类或界面,方法名以小写开始。标准的命名和注释。可以提高编码的可读性,开发人员可以找到相应的方法。4.3 数据库实现根据实体关系,设计出20张表,如图4.1所示。图4.1系统数据库界面4.4 Spring Boot项目搭建本系统使用Maven搭建Spring Boot项目工程,Maven中配置了多种jar包,其

46、中启动文件Start.java置于com.app下,Controller、Dao、Service等各层接口置于com.app.*下, application.properties中配置各类基本信息,如图4.2所示。 图4.2项目工程图4.5 功能实现配送快递的规划功能,快递员点击绘制,系统会将所有的点连接起来,采用克鲁斯卡尔算法为基础,将所有的送货地址设置为一个节点,将这些节点全部连接起来,再用算法绘制出最短路径,界面如图4.3所示。图4.3配送路径展示图本系统的配送快递规划功能的部分代码如下:public class Jiuming private List nodes1 = new ArrayList();private List nodes2 = new ArrayList();public LNode verte

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 期刊短文 > 信息管理

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁