1. 网站地图
  2. 设为首页
  3. 关于我们


物流运输信息管理系统的设计与实现

发布时间:2022-12-25 11:18
目录
摘要 V
ABSTRACT vii
目录 ix
1引言 1
1.1项目背景 1
1.2国内外发展现状 2
1.3项目目标 3
1.4个人工作总结 4
1.5论文组织结构 4
1.6本章小结 4
2相关理论及关键技术 5
2.1jQueryEasyUI 的基本内容介绍 5
2.2Grizzly的基本内容介绍 6
2.3Redis的基本内容介绍 7
2.4HightCharts的基本内容介绍 8
2.5SpringMVC的基本内容介绍 9
2.6本章小'结 10
3物流运输信息管理系统需求分析 11
3.1需求综述 11
3.2功能性需求分析 11
3.2.1车队管理功能 12
3.2.2运营管理功能 14
3.2.3运输管理功能 16
3.2.4系统管理功能 19
3.3非功能性需求分析 21
3.4本章小结 22
4物流运输信息管理系统概要设计 23
4.1系统总体架构 23
4.2技术选型 24
4.3各模块的结构设计 25
4.3.1车队管理模块概要设计 25
4.3.2运营管理模块概要设计 26
4.3.3运输管理模块概要设计 26
4.3.4系统管理模块概要设计 27
4.4数据库设计及表结构信息 28
4.4.1车队管理模块数据表结构 28
4.4.2运营管理模块数据表结构 30
4.4.3运输管理模块数据表结构 33
4.4.4系统管理模块数据模型及表结构 37
4.5本章小结 38
5物流运输信息管理系统详细设计与实现 39
5.1车队管理模块详细设计与实现 39
5.1.1车队信息管理模块的设计与实现 39
5.1.2驾驶员信息管理模块的设计与实现 41
5.1.3车辆信息管理模块的设计与实现 43
5.1.4终端信息管理模块的设计与实现 45
5.1.5SIM卡管理模块的设计与实现 48
5.2运营管理模块详细设计与实现 50
5.2.1组织注册模块的设计与实现 50
5.2.2准入合同模块的设计与实现 51
5.2.3运力查询模块的设计与实现 53
5.2.4运输定位点管理模块的设计与实现 54
5.2.5运输方案管理模块的设计与实现 56
5.2.6报价管理模块的设计与实现 58
5.2.7支付结算管理模块的设计与实现 60
5.3运输管理模块详细设计与实现 61
5.3.1需求管理模块的设计与实现 62
5.3.2计划管理模块的设计与实现 64
5.3.3交易管理模块的设计与实现 66
5.3.4调度管理模块的设计与实现 68
5.3.5运单管理模块的设计与实现 69
5.3.6货物监控模块的设计与实现 71
5.4系统管理模块详细设计与实现 73
5.4.1日志管理模块的设计与实现 73
5.4.2异常管理模块的设计与实现 75
5.4.3基础信息管理模块的设计与实现 76
5.4.4接口管理模块的设计与实现 78
5.4.5系统管理模块的设计与实现 79
5.5本章小结 81
6物流运输信息管理系统测试与验证 83
6.1功能性测试 83
6.2非功能性测试 86
6.3缺陷统计 87
6.4本章小结 88
7论文总结 89
参考文献 91
作者简历及攻读硕士学位期间取得的研究成果 95
独创性声明 97
学位论文数据集 99
1引言
在互联网高速发展的大背景下,物流行业与我们的生活联系越发的紧密,人 们对物流系统的需求也有了越来越严格的要求。本系统是一款帮助发运方、货代 方、承运方交互的多层可拓展的物流运输信息管理系统,它得实质是使用互联网 连接各业务关联方,实现信息实时交互和共享。该系统以货代企业与物流企业的 货运交易为基本功能,实现了交易的线上撮合;同时,为物流企业提供运营管理 的功能,对运输过程中的各环节进行有效、实时的监控跟踪;为平台运营的核心 业务提供支撑,维护平台的正常高效的运行。
1.1项目背景
在我国经济高速发展的带动下,物流行业也得到了长足发展,特别是近几年 来,物流业已经发展成为了我们国家的一项重要的支柱产业。但是,我们也不得 不正视,在发展的过程中,暴露出了一些亟待解决的问题。当前我们国家的物流 企业,绝大多数是由传统运输企业发展而来,这些企业存在的普遍问题是信息化 水平偏低,物流成本偏高,尤其是获得货运业务的渠道狭窄而单一,没有有效的 情报来源,而现代物流的发展趋势是动态性高且跨度大,业务十分复杂。这就严 重的制约了物流企业进一步发展,使得许多企业因此停滞不前。
除此之外,由于当前企业的发展趋势是动态变化的,涉及业务普遍比较繁多, 这也就导致了企业很难获取合适的运能运力来满足自身的需要,从而只能寄希望 于构建自己的物流网络,极大的增加了企业成本,同时也使得企业无法专注于自 己的核心业务,严重束缚了企业的发展。如何能够高效快捷的帮助企业解决在运 输过程中所面临的障碍成为当下各类物流系统的核心问题。在这样的大环境推动 下,新型的物流运输信息管理系统成为了当下的热门领域。
为了解决物流企业与生产企业对现代化物流管理系统的需求,故开发此物流 运输信息管理系统,为生产企业、货代企业、承运企业提供一个车货匹配交易的 平台,解决车货信息不对称的问题,为承运方提供车队业务管理的信息化手段, 为运营商提供运营管理的业务支撑,实现了物流资源动态配置,提升各方的业务 能力和水平,满足各方对现代物流管理系统的迫切需求。
1.2国内外发展现状
当前物流行业正处于发展的黄金时期,尤其是在电商行业迅猛发展的当下, 大多数企业都在积极发展其线上交易平台,拓宽其交易渠道,在这种形式下,各 个公司对物流系统都有了极大的需求。目前,我国物流系统整体还存在产品功能 单一、技术落后等问题。物流系统正日益成为物流企业与生产企业发展的“瓶颈”, 如何能够有效的整合来自各方面的物流信息资源是当下需求企业考查物流软件厂 商的主要因素。从我国目前物流业发展现状来看,物流系统呈现以下趋势:
(1)自主研发占比高。当前我国的物流企业有很大一部分都是使用各公司自己 开发的物流管理信息系统,达到了 28.3%左右,而且仍然处于急速的增长中。尤其 是在大型的物流企业中自主开发所占比重较大。除了自主开发以外,很多大型物 流企业还在此基础上投身到与优秀的第三方物流管理软件开发供应商合作,一起 对其物流管理信息系统进行设计,效果显著。
(2)缺少合理规划。根据调查,尽管物流企业开发和应用物流管理信息系统的 比例已达到75%,但普遍存在的特点是系统相对简单,大多数只涉及整个物流环节 的某一方面,例如车辆管理软件、库存管理软件、票据管理软件等,很少有企业 实现了整个物流过程的信息管理。从这个意义上说还没有形成一个真正意义上的 全方位的物流系统。很多企业在设计自己的物流系统时有一定的盲目性,实际上 对自己的需求并不了解,因而也就更加缺乏能够适应其业务发展需要的物流系统。
(3)与现阶段的业务发展需要不匹配。当前我国的物流系统存在明显不足。根 据调查发现,我国物流企业的信息化程度只相当于世界平均水平的2.1%,不仅信 息处理技术匮乏,信息管理方案陈旧,而且对信息管理系统的建设也严重落后, 应用水平低。大多数物流系统仅仅局限于自身业务发展的范畴,无法做到建设一 套全方位的、完善的物流体系。
欧美是世界上商业发达的地区,在物流业发展方面走在了世界的最前沿。当 前这些西方发达国家已经形成以信息技术为核心,以信息技术、运输技术、配送 技术、装卸搬运技术、自动化仓储术、库存控制技术包装技术等专业技术为支撑 的现代化物流技术格局。其发展趋势表现为信息化、货架自动化、智能化和集成 化。其中,高效的物流信息系统在物流运输业的应用与发展表现尤为突出。欧美 国家对当前复杂多变的物流信息管理进行了深入的研究,例如Blumenfeld针对多 对多的货运网络构建起一个全方位的综合运输模型;Goutam Sataprthy则成功利用 Agent解决了多货运公司运输调度的问题。
在国内,我国涌现出了一大批的物流信息平台,比较突出的是oTMS物流系 统⑴。oTMS是目前国内领先的一站式运输服务平台,基于首创的社区型“SaaS平 台+移动APP”模式,将货主、第三方物流公司、运输公司、司机和收货人无缝互 联,形成一个多方位的现代运输商业网络。oTMS的核心理念是无缝连接货主、第 三方物流公司、运输公司、司机、收货人,形成一个基于核心流程的、平衡的、 多赢的在线生态系统,此在线生态系统是一个开放的、基于信用体系的社区,所 有社区成员在能够更好的管理好现有生意的同时,可以有机会找到更好的资源或 者更多的新的生意。oTMS不会介入用户的实际操作,只是一个基于核心软件的社 区平台一一创造一个每个人都可以平等使用的平台。
尽管oTMS大大改善了用户体验,但是其也存在着自身的局限性,例如门槛 过高,成本过大,不适于中小企业与私人用户的需求。其次,由于其过度强调开 放性,因而对个人信用要求较高,存在一定的安全隐患。
1.3项目目标
本系统是一套支持发运方、货代方、承运方交互的多层可拓展的物流管理系 统,它利用互联网连接各业务关联方,实现信息实时交互和共享。
物流运输信息管理系统以货代企业与物流企业的货运交易为基本功能,实现 了交易的线上撮合:同时,为物流企业提供运营管理的功能,对运输过程中的各 环节进行有效、实时的监控跟踪;为平台运营的核心业务提供支撑,维护平台的 正常高效的运行。本系统还提供精确的费用结算和成本核算手段,降低运输时间、 减少库存等物流成本支出,提高整条供应链的效率,提升客户满意度,最终提升 客户市场竞争力。
具体建设目标如下:
(1)物流交易
提供货运物流交易平台,实现货代企业与物流企业的货运业务线上交易,很 好的解决了车货信息不匹配的问题。
(2)货运管理
为货运物流企业对自身业务提供线上管理的手段,对运输过程中的各环节进 行有效、实时的监控跟踪,提升物流企业的管理水平。
(3)运营支撑
实现统一的管理平台,实现对平台的良好运营维护,为各方业务提供技术支 撑和业务支撑,提升服务水平。
(4)服务提升
开发呼叫客服中心系统,对客户的来电、邮件及多种通信方式进行响应,为 客户提供优秀的咨询服务,开发功能手机APP,在移动端为用户提供了操作系统 方式,方便用户随时随地操作系统,大大提升了服务质量。
1.4个人工作总结
本论文选题来源于本人在公司实习期间所参与的实际项目。本人在项目开发 过程中的主要工作包括:
(1)学习开发此系统所需的相关技术,与产品经理进行沟通交流,参与需求分 析的讨论及定制相关功能点。
(2)参与车队管理、运营管理、运输管理和系统管理模块的概要设计、详细设 计及关系数据库设计,完善相应的功能实现。
(3)参与系统的测试工作,主要对系统进行功能性测试,编写测试用例,修改 相应的bug =
(4)参与系统的部署工作,同时对用户的使用情况进行跟踪,获取用户反馈。
1.5论文组织结构
本文主要研究了该物流运输信息管理系统的设计与实现,以软件工程的项目 开发流程展开,具体组织结构如下:
第一章介绍了项目的背景和当前国内外物流信息管理系统的相关现状,分析 了其中的不足,指明该项目存在的合理性,点出了设计该项目的关键目的所在。
第二章介绍了该物流运输信息管理系统的相关技术,着重分析了其中的关键 技术。
第三章详细阐述了该系统的需求分析,主要为功能性需求。
第四章是该系统的概要设计,包括总体架构设计,功能模块设计和数据库设 计。
第五章为该系统的详细设计,详细描述了各个功能模块的关键设计流程。 第六章是系统的功能测试,主要展示了其相关测试用例。
第七章对全文进行了总结。
1.6本章小结
本章主要对当前物流运营系统的背景及相关的国内外现状进行了阐述和分 析,明确了该系统的设计目标,同时说明了该论文的主要内容和结构安排,接下 来将对该系统进行详细介绍。
2相关理论及关键技术
本系统基于Java开发,开发平台为eclipse,采用B/S^l结构进行设计,数据 层采用HBase> Redis、Mysql进行数据的存储;在数据持久层,由Hibemate。】建 立实体类与数据表间的映射关系;在Web层,使用成熟的Spring MVC框架,保 证Web端的层间松耦合;使用TK-Filterd对传输的脚本、页面进行高效的压缩,大 幅提高页面的加载速度;服务层采用Grizzly开发框架。应用引擎部分采用HBase API、Redis API> RestFul[4>5\ WebSocket分别与分布式数据库、内存数据库、MySQL 数据库进行交互;展示层釆用了 jQueiy(jQueryEasyUI)技术,简单实用,轻松打造 优美的UI界面;使用HightCharts图表工具,快速添加图表;通过mapABC JavaScript API轻松将各种地图资源嵌入到Web应用中。CXF【6】是WebService⑺框架,cxf 可以无缝的和Spring框架集成。
2.1jQueryEasyUI的基本内容介绍
jQuery EasyUI^】是一组基于jQuery的UI插件集合体,它的设计宗旨是为了 使当前市场上复杂的前台页面结构设计变得简单易用,使软件开发者能够更加方 便快捷的设计出一款不仅功能强大,而且效果美观的前台界面。jQuery EasyUI的 出现使得程序员脱离了对JavaScript和CSS的束缚,我们对他们有简单的了解即 可,前台页面开发的核心是HTML标签,程序员只需掌握一定的HTML的使用知 识就可轻松的完成自己想要达到的开发目标。
jQuery EasyUI对绝大多数的UI控件提供支持,例如:accordion, combobox, menu, dialog, tabs, validatebox, datagrid, window, tree 等等。其页面支持各种 themes以满足使用者对于页面不同风格的喜好。是一款轻量级的前台插件。jQuery EasyUI有以下特点:
(1)基于jquery用户界面插件的集合。
(2)为一些当前用于交互的js应用提供必要的功能。
(3)EasyUI支持两种渲染方式分别为javascript方式和html标记方式。
(4)支持 HTML5 (通过 data-options 属性)。
(5)开发产品时可节省时间和资源。
(6)简单,但很强大。
(7)支持扩展,可根据自己的需求扩展控件。
除以上特点外,jQuery EasyUI还对多种浏览器的网页设计提供了完善而又全 面的组件集合,其中包含有treegrid (树形表格)、combo (下拉组合)、panel (面 板)以及性能强大的datagrid (数据网格)等等。开发者可以将多种组件结合使用, 也可对某一组件进行单独使用。
2.2Grizzly的基本内容介绍
GrizzlyUOM是为了解决大量用户同时访问服务器时所带来的一系列问题的一 种应用程序框架。Grizzly框架诞生于GlassFish项目,能够帮助开发人员利用Java NIO API构建可扩展、高性能、健壮的服务器,编写出可伸缩的服务器端应用。它 的核心原理是以JAVANIOU2〕作为基础,同时将其实际编程时的复杂性隐藏。它将 非阻塞socketd带到协议处理层,同时可以利用高性能的缓冲和缓冲管理来对高性 能的线程池进行合理使用。Grizzly的基本架构主要包含以下几个方面:Pipeline、 SelectorThread和Task。下面分别加以介绍。
(1) Pipeline
在 com.sun.enterprise.web.connector.grizzly 包中,有许多与 Pipeline 相关的类,例 女口 Pipeline > KeepAlivePipeline > ThreadPoolExecutorPipeline > LinkedListPipeline 等 等。在理解Pipeline时,我们可以把与它相关的类称为ThreadPoolWrapper,这样 更便于我们去理解它。在涉及到服务器的软件中一般都会有线程池(Thread Pool)的 存在,相比于进程来说,线程消耗的资源要少,共享数据更加简单。因此,现在大多数 与服务器相关的软件(特别是HTTP服务器)都普遍采用多线程模式。但是线程的创 建和关闭仍属于较为缓慢的系统服务,比较好的做法是在系统启动的时候,提前创 建好部分线程,同时对这些线程进行有效管理,使得当系统处于正常运行状态时能 够很好地响应客户的请求。通过这样的方式使得我们不必在使用过程中临时创建 线程,极大的提升了软件的运行速度和效率,我们将这种方法叫做线程池。线程 池中的各个线程之间需要相互协作,对客户的请求进行合理、有序的处理。一般把 对线程进行同步的结构称之为任务队列。客户发送的请求会根据传递进来的先后 顺序被顺序插入到任务队列中,线程池中处于空闲状态的线程会从任务队列中获得 任务并执行。Grizzly中的Pipeline实际上圭寸装了一个Thread Pool冋(线程池)和一 个任务队列。Pipeline的主要目的是封装一个统一的接口,可以让Grizzly根据配置 文件任意选择相对应算法的线程池,从而获得不同的特点和性能。目前在Grizzly中 已经实现了好几种线程池。其中有ThreadPoolExecutorPipeline(基于 java.util.concurrent.ThreadPoolExecutor 来实现的线程池),还有 LinkedListPipeline(使 用简单的linklist数据结构管理的线程池)。其中LinkedListPipeline的性能是最好的, 因此被设置为默认的选择。
(2)SelectorThread
这是 Grizzly 的主要入口类,位于 com.sun.enterprise.web.connector.grizzly 的包 下。在SelectorThread中,SocketChannel和Selector被创建并被初始化。当网络有 请求进来的时候‘Selector会根据不同的请求类型和NIO的不同事件进行不同的处 理。当NIO的事件为OP_READ的时候,表明是原有的连接中有新的请求数据传过 来了。这类请求属于ReadTask,应该交给专门用于处理ReadTask的处理器来处理。 ReadTask使用自己的Pipeline来处理,这样就降低了主线程的负载,提高了其使用 效率。当NIO的事件为OP_ACCEPT的时候,表明是用户提出了新的请求,这类请求 属于AcceptTask,应该由负责处理AcceptTask的处理器来处理。当ReadTask执行完 毕后,表明整个请求的数据已全部接收,此时就可对此请求进行处理,请求处理属于 ProcessTask,交给负责处理ProcessTask的处理器来处理。ProcessTask有自己的 Pipeline来处理,这样就进一步为主线程降低了工作量,提升了主线程的效率。
(3)Task
在 Grizzly 中共有三种任务,分别是 AcceptTask、ProcessTask 和 ReadTask。 其中AcceptTask用于对新发起的连接请求进行响应;ProcessTask用于处理并且响 应请求;ReadTask用于SocketChannel最初的读取操作。
2.3Redis的基本内容介绍
Redis[⑷5]是一种基于Nosql的技术,属于非关系数据库。它是一个开源的高 级kv存储和数据结构存储系统,它经常被拿来和Memcached"]相比较,但是 Memcached不提供持久化的数据保存机制而redis可以将数据保存在磁盘中,redis 不仅仅是能够存储key和value这种简单的键值对,还能存储例如集合、hash表、 列表、字典等。redis在整个运行过程中,数据统统都是存储在内存中的,因此, 性能是相当高的,由于此特性,redis对于内存的要求比较高,它会周期性的将内 存中的数据写入在磁盘中,从而实现数据持久化的访问能力,但是这种存储只是 保证redis在下次启动还有数据可以读取,而不是提供访问。redis是单线程服务的, 只有一个线程。redis还支持主从模式以及支持通过lua脚本去编写扩展,并且支持 高可用和分布式集群解决方案。
⑴ 支持多种数据类型。包括set,zset,list,hash,string这五种数据类型,操作非 常方便。比如,如果在做好友系统,查看自己的好友关系,如果采用其他的key-value 系统,则必须把对应的好友拼接成字符串,然后在提取好友时,再把value进行解 析,而redis则相对简单,直接支持list的存储(采用双向链表或者压缩链表的存储 方式)。
(2)持久化存储。作为一个内存数据库,最担心的,就是万一机器死机,数据 会消失掉。redi使用rdb和aof做数据的持久化存储。主从数据同时,生成rdb文 件,并利用缓冲区添加新的数据更新操作做对应的同步。
(3)丰富的特性。pub/sub, key过期策略,事务,支持多个DB等。
(4)性能很好。由于是全内存操作,所以读写性能很好,可以达到10w/s的频 率。公司有项目使用redis,目前的访问频率是80w/s,通过适当的部署,线上运行 一切正常。
2.4HightCharts的基本内容介绍
Highcharts[17]是一款前台界面开发中常用的图表库,由JavaScript编写,可以 帮助开发者方便快捷的在进行web开发时添加具有有交互特性的图表,同时它是 一款对个人开放的免费的应用图表库。HighCharts图表类型提供支持,其中包括区 域图、散状点图、饼状图、综合图、柱状图和曲线图表等
HighCharts主要优点是:
⑴ 可兼容性强。由于HighCharts是采用JavaScript进行编写的,所以对当前 市场上的绝大多数浏览器提供兼容服务,这其中包括最常见的Safari. IE和火狐等 浏览器。
(2)图表类型多。HighCharts支持多种图表类型,包括区域图、散状点图、饼 状图、综合图、柱状图和曲线图表等等,可以满足多种用户需求。
(3)支持多语言。HighCharts可以在大多数的WEB开发中使用,并且对个人 用户免费,支持ASP, PHP, JAVA, .NET等多种编程语言。
(4)具有提示功能。在用HighCharts所构建的图表中,可以在数据点上进行设 置,显示相应的提示效果。当我们将鼠标移至某个数据点上时,系统会显示该点 的详细数据,此外我们还可以对其显示的效果进行设置。
(5)放大功能。HighCharts不仅可以聚集大量数据进行同步显示,还可以对其 中任意部分进行放大,通过增大图表的精度,从而详细的显示,可以对放大的方 位进行选择,即横向还是纵向。
(6)高精度。HighCharts时间轴可以精确到毫秒。
(7)可导出。由HighCharts生成的表格可以导出为PDF/ PNG/ JPG / SVG格 式。
(8)输出。利用HighCharts可以通过网页来输出图表。
(9)可变焦。对生成的图表可以进行选择放大处理,对某一部分进行更清晰的 观察。
(10)外部数据。HighCharts可以从服务器加载实时数据。
(11)文字旋转。在HighCharts中任意方向的标签都可进行旋转。
2.5SpringMVC的基本内容介绍
Spring MVCU&19]是一种基于Java的使用了 MVC设计模式的请求驱动类型的 轻量级Web框架,它使用了 MVC架构模式的思想,将web层分解成三个层次, 即Model层,View层,Controller层。基于请求驱动指的就是使用请求-响应模型, 此框架的核心目的就是帮助开发者简化开发,使得开发者从复杂的逻辑关系中脱 离出来,集中于某一层次进行开发,提高了项目的开发效率。而且SpringMVC与 Spring^具有高度的兼容性,使得在开发过程中可以更好的集成使用。SpringMVC 的工作原理如下图2-1所示。
 
图2-1 SpringMVC工作原理图 Figure2-1 SpringMVC work principle diagram
 
(1)客户端向web服务器发出一个http请求给,由web服务器对http请求进 行解析,如果与DispatcherServlet的请求映射路径(在web.xml中指定)相匹配, web容器则把请求转交给DispatcherServlet o
(2)DipatcherServlet在接收到传送来的请求之后将根据此请求的信息(包括 URL> Http方法、请求报文头和请求参数Cookie等)以及HandlerMapping的配置 找到相应的处理器(Handler)对请求进行处理。
(3)DispatcherServlet 接着根据 HandlerMapping 找到对应的 Handler,由 Handler (Handler将具体的处理进行封装)进行相应的处理。
(4)接着再由具体的HandlerAdapter对Handler进行具体的调用。
(5)Handler对数据处理完成以后将返回一个ModelAndView()对象给 DispatcherServleto
(6)Handler返回的ModelAndView()只是一个逻辑视图并不是一个正式的视 图,DispatcherSevlet通过ViewResolver将逻辑视图转化为真正的视图View。
Dispatcher通过model解析出ModelAndView()中的参数进行解析最终展现出 完整的view并返回给客户端。
2.6本章小结
本章主要介绍了本系统所使用到的主要技术和工具。包括jQueryEasyUI、 Grizzly、RedisHighcharts、SpringMVC等等,让读者首先从技术层面上对该系统 有一定的了解,以便在接下来的内容中更易理解。在此只是重点列出了几大关键 技术,在接下来还需要与其他常用技术共同使用来构建出该项目的整体结构。
3物流运输信息管理系统需求分析
本章主要介绍了该系统中各个模块的功能性需求以及相关非功能性需求分 析,对各个模块的业务实现流程进行了阐述,深度剖析了各模块中的具体功能的 需求,阐述了系统所对应的用户类型及各用户不同的需求,建立相应的用例模型 来展示用户与功能之间的联系,帮助读者更加深入的了解该系统的实际目标,给 整个系统的开发打下基础。
3.1需求综述
本系统的核心业务主要分为三大部分:
(1)第一部分为客服中心,客服中心是本系统所提供的一个特色功能,开发客 服中心功能,是为了对客户的来电、邮件及多种通信方式进行响应,为客户提供 优秀的咨询服务。
(2)第二部分为物流运输服务平台,物流运输服务平台为整个系统提供了强有 力的保障作用,主要包括对整个系统的运营管理,业务管理,运输管理,系统管 理等方面,一方面为客户提供了方便快捷的查询服务,使客户能够在线完成各种 交易,查询修改自己的运单信息,同时也方便了管理员对系统进行更好的维护, 保障各方面的工作顺利进行。
(3)第三部分为车辆监控平台,车辆监控模块实现对车载终端上传的定位信息 和状态信息进行解析处理,并通过电子地图、监控列表等形式进行直观展示,实 时反映车辆位置和状态信息的变化,更好的方便了客户对车辆的实时查询及系统 管理员对整个运输过程的监控管理。
根据该系统的业务需求,又将整个运输管理系统规划为十个功能模块,分别 为运营管理、运输管理、仓储管理、船运管理、车队管理、车辆监控、呼叫中心、 业务管理、统计分析、系统管理。下面主要对本人所参与模块的功能性需求进行 进一步阐释说明。
3.2功能性需求分析
从客户角度分析,系统整体用例如图3-1所示。
 
Figure3-1 The system use case diagram
 
该系统的客户主要包括以下几方面:
1•发货方:有货物运输需求的生产企业。
2•运营商:负责整个物流平台运营,对各方进行服务及业务维护的运营商。
3•货代方:与发货方企业有长期货代合同的企业,代理发运企业运输货物。
4.承运商及个体司机:执行货物运输的物流企业及个体司机。
5.仓储方:执行运输货物储运的仓储商。
6.船代方:进行船只代理和水路运输代理的代理商。
本人参与的系统的核心功能点为车队管理、运营管理、运输管理、系统管理 模块,接下来将对这些功能点进行具体的功能性需求分析。
3.2.1车队管理功能
车队管理主要实现对承运商车队、车辆、驾驶员、终端及SIM卡等数据信息 进行管理的功能,包括车队信息、驾驶员信息管理、车辆信息管理、终端信息管 理、SIM卡管理5大模块功能。车队管理功能的用例图如图3-2所示。
 
 
 
图3-2车队管理模块用例图
Figure3-2 Fleet management use case diagram
车队信息管理主要实现对承运商车队数据信息进行维护管理的功能,管理后需
进行审核确认,只有在审核通过的情况下,修改或新增的承运商车队信息才算维
护管理完成。具体说明如下表3-1所示。
表3・1车队信息管理功能用例说明
Table 3-1 Fleet information management use case specification
用例编号 UC3-01
前置条件 用户已经登录系统
后置条件 用户的增、删、改、査操作成功
基本流程 (1)进入车队信息维护界面,列表显示车队信息记录;
(2)输入査询关键字,点击“査询”按钮,査询系统中的相关车队信息记录;
⑶ 点击“添加”按钮,录入车队信息,确定保存,完成车队添加;
(4)选择一条车队记录,点击“修改”按钮,对车队信息进行修改,修改后 审核状态为待审核,注:在修改前,若该(已审核)车队下已添加车辆,需将 车队下的车辆更换车队后,再进行修改;
(5)选择一条或者多条待审核或审核未通过的车队记录,点击“删除”按钮, 对车队进行删除;
(6)选择一条或多条待审核车队记录,点击“审核”按钮,对新增或修改后 的车队信息进行审核,通过则保存到系统,不通过则删改后再审核。
扩展流程 (3)用户没有权限:
1)系统提示“此用户无此权限”信息
2)转到流程(1)
(6)审核未通过:
1)系统提示“审核未通过,请重新修改”信息
2)转到流程(1)
驾驶员信息管理主要实现对承运商驾驶员信息进行维护管理的功能,管理后 进行审核确认,只有在审核通过的情况下,新增或修改的承运商驾驶员信息才算 维护管理完成。除了实现增、删、改、査操作,驾驶员信息录入还可通过文件导 入,可下载文件导入模板,若有司机离职可对其状态进行改变,此外还可通过文 件导入司机与车辆绑定信息。
车辆信息管理主要实现对承运商车辆信息进行管理,实现增、删、改、查操 作,车辆基本信息录入还可通过文件导入,可下载文件导入模板,此外还可通过 文件导入车辆与终端绑定信息;录入或改动车辆信息后需进行审核。
终端信息管理主要实现对承运商车辆终端信息(包括终端与SIM卡关系信息) 进行管理的功能,实现增、删、改、查操作,终端基本信息录入还可通过文件导 入,可下载文件导入模板,此外还可通过文件导入终端与SIM卡绑定信息;录入 或改动终端信息后需进行审核。
SIM卡管理主要实现对承运商车辆终端SIM卡信息进行管理的功能,实现增, 删、改、查操作,SIM信息录入还可通过文件导入,可下载文件导入模板;录入 或改动SIM卡信息后需进行审核。
3.2.2运营管理功能
运营管理是运营商通过系统平台实现对组织注册信息、用户与平台之间的合 同信息、运能运力信息、运输方案及其运输定位点等的综合管理。包括组织注册、 准入合同、运力查询、运输定位点管理、运输方案管理、报价管理、支付结算管 理共7大模块功能。运营管理功能的用例图如图3-3所示。
 
图3-3运营管理模块用例图
Figure3-3 Operational management use case diagram
组织注册是用户在线下提交营业执照、组织机构代码证、税务登记证等企业 注册资料给运营商,并由运营商线下对用户的注册信息进行审批后,进行组织信 息录入管理的功能,主要就是对线下收集的用户注册资料审核后进行组织信息录 入管理,实现组织增、删、改、查操作。
准入合同管理是运营商对客户各方与系统平台的协议合同进行管理,保持与 线下签署合同的实时更新,由发货方合同管理、承运商合同管理、仓储方合同管 理、货代方合同管理、船贷方合同管理5个功能点组成。主要功能为对发货方、 承运商、仓储方、货代方、船贷方与系统平台的线下协议合同进行录入管理,实 现增、删、改、查操作,合同信息包括合同的部分基本信息及扫描件,可下载合 同附件进行查看。
运力查询运营商根据承运商上报运能运力信息,对承运商的运能运力情况进 行查询,可以查询到具体的承运商车队及车辆的运力状况。具体说明如下表3-2
所示。 表3-2运力查询功能用例说明
Table 3-2 Capacity query use case specification
用例编号 UC3-02
前置条件 用户已经成功登录系统
后置条件 系统成功显示相关承运商运力信息
基本流程 (1)进入承运商运力查询界面,列表显示承运商运力信息记录;
(2)输入查询关键字,点击“查询”按钮,查询系统中的相关承运商运 力信息记录;
(3)点击承运商记录上的“车队运力详情”,查看该承运商各车队运力 详情;
(4)点击车队上的“车辆运力详情”,査看该车队各车辆运力详情。
扩展流程 (2)用户无此权限
1)系统提示“此用户无此权限”信息
2)转到流程(1)
 
运输定位点管理是对运输方案中具体的POI (Point of Interest)信息进行管理, POI为某个业务点的具体地址信息,由运输定位点类型管理、运输定位点管理2 个部分组成。前者是对对运输定位点类型进行查询;后者是依据地图对运输定位 点信息进行管理,实现定位点增、删、改、查操作。
运输方案管理是运营商对运输过程中涉及到的各个业务环节的运输方案进 行管理,包括对节点、路径、分配规则等内容的管理,由运输方案查询、发货方 与承运商匹配、运输节点规划、分配规则设定共4个功能点组成。运输方案查询 是对制定的运输方案进行查询,并可进行方案停用或启用操作;发货方与承运商 匹配是对发货方与承运商进行匹配,匹配之后,则表示承运商可以为发货方运货, 会在相关下拉框推荐信息中(分配规则设定等)显示出来,可取消匹配;运输节 点规划是对运输线路方案(起、终节点)进行定制,包括对线路方案相应途经节 点进行增、删操作管理,节点按照行政区划进行划分;分配规则设定是对运输需 求分配规则进行制定,(按分配规则规则将需求分配给匹配的承运商形成运输计 划),可实现分配规则的添加、启用、停用、查询操作。
报价管理主要是对系统中各运输线路方案的发货方运价报价、各线路方案的 分段路段的承运商运价报价、仓储价格及货代方运价报价规则进行管理维护,由 发货方运价维护、承运商运价维护、节点仓储价格维护、报价规则设定4个部分 组成。发货方运价维护是对按运输线路方案提供的发货方报价进行维护管理,实 现报价修改、历史记录查看操作;承运商运价维护是对承运商按运输线路方案的 分段路段提供的报价进行维护管理,实现报价修改、历史记录查看操作;节点仓 储价格维护是对仓储方提供的各仓库存储价格进行维护管理,实现价格增、删、 改、查操作;报价规则设定是对报价规则进行设定,(报价规则为发货方报价的 上、下浮或定价,货代方通过对运输线路方案的分段路段设定报价规则来提供运 价),实现报价规则的增、删、改、查操作。
支付结算管理是对承运商与承运商司机的财务支付结算流程进行管理,在承 运商司机上传回单(即货物己签收)后,依次进行对账、开票操作。
3.2.3运输管理功能
运输管理是对货物运输过程中的各个流程环节进行处理和业务串联,是系统 实现各方的交易撮合、业务分配、货品监控、服务评价的核心功能,为各方用户 提供了完善便捷的货品交易运输服务,在整个系统中起着承上启下的关键作用。 由需求管理、计划管理、交易管理、调度管理、运单管理、货物监控6大模块功 能。运输管理功能的用例图如图3-4所示。
需求管理主要是对货物的运输需求、货物的发货清单进行管理,发货方对运 输需求及货物发货清单数据进行系统录入及综合管理,货代方对发货方发送的需 求及货物清单信息进行接收、审核、代录,由需求发布、需求获取及需求合同管 理3个功能点组成。需求发布时由发货方对运输需求进行录入管理,实现需求增、 删、改、查操作,并对需求进行发布,同时也可对货物清单进行增、删、查管理。 需求获取是货代方查询系统中的需求发布获取需求,或通过系统之外的方式获取 需求(并在系统中替发货方进行需求代录及货物清单操作管理),获取后对需求 进行审核,未通过审核的需求,退回到发货方或代录的货代方进行删改,同时对 需求与相应的需求合同进行关联操作。需求合同管理是对货代方与发货方线下签 订的需求合同进行录入管理,实现增、删、改、查操作,合同信息包括合同的部 分基本信息及扫描件,可下载合同附件进行査看。
 
 
计划管理主要是货代对获得的运输需求进行运输计划的制定、审核和发布管 理,由运输方案选定、运输计划生成、运输计划审核、运输计划发布、计划人工 管理5个功能点组成。运输方案选定是查询已审核待选定方案的需求,选择一个 线路方案,添加到相应需求的运输方案中,若无线路方案可选,可回退需求到发 货方或代录的货代方进行修改。运输计划生成是查询己选定方案待生成计划的需 求,对其进行运输线路或运输分段线路计划生成,包括对运输定位点的关联、对 承运商的需求分配以及对系统中己设定的报价规则的选择。运输计划审核是查询 待审核的运输计划,进行审核确认。运输计划发布是查询已审核待发布的运输计 划,进行发布操作,发布后,承运商可进行后续交易操作。计划人工管理是对运 输计划进行管理,实现査询、修改及撤销操作,计划撤销后会生成新的运输计划 (编号),待修改发布。
交易管理主要是货代方与承运商之间就运输订单交易进行的处理,同时对交 易完成的订单进行相关的管理,由交易处理、订单管理和订单撤销管理3个功能 项组成。交易处理是由承运商查询相应的已发布可承运的运输计划,进行报名抢 单;货代方查询已抢单的计划,与相应承运商进行线下协商,确定最终分配的成 交量和成交运价,进行成交确认,完成抢单管理,形成订单;成交确认后,承运 商上报要调派的车辆信息给货代方。订单管理是对订单及订单合同进行管理,实 现订单信息及状态查询及订单合同增、删、改、查操作管理,同时承运商由于自 身原因,在订单形成后需要撤销订单的,可进行撤单申请。订单撤销管理是查询 申请撤单的订单,并对承运商的撤单申请进行审批,审批通过则订单撤销,相应 的计划或分段计划重新进行抢单等交易处理,未通过的继续执行后续订单调派。
调度管理主要是承运商根据所抢的订单进行调度派车和任务分配,由派车管 理、出车管理及运力上报3个功能点组成。派车管理是查询未执行调派的订单进行 人车调派,派车单形成。出车管理是查询其相应的派车单信息,进行接单操作, 接单后可下载打印派车单,有派车单接口的可以推送派车单到外部系统。运力上 报是查询车辆运力状况,并根据车辆状态改变进行运能运力状况更新。
运单管理是在承运商对订单进行派车之后,把车辆与货物信息进行绑定形成 运单,并对运单进行相关的管理,同时对货物运输到客户处后,客户签字确认的 回单进行管理,由运单生成、车货关联管理、换车管理、回单管理、货物投保管 理5个功能项组成。运单生成是承运商司机接单后,相应派车单生成运单以便承 运商进行后续管理,可实现查询操作。车货关联管理是查询未进行车货关联的运 单,将线下获取的相关货物清单添加到运单中,并对货物和运单相关车辆进行关 联操作,需要换车时,可解绑车货关联后进行相关换车处理,可下载打印运单。 换车管理是在运单执行过程中,承运商司机需对所运货物进行换车操作时,使用 手机app发送换车请求,该换车请求运单传送到系统换车管理界面,承运商运输 管理员对该运单进行车货解绑,然后进行换车处理。回单管理是货物签收后,查 询运单,将回单拍照,进行回单上传,上传后可查看回单,有需要可进行回单重 传。货物投保管理是对货物投保保单进行管理,实现保单增、修、删、查操作, 保单信息包括保单部分基本信息及扫描件,可下载保单附件进行查看。其中车货 关联管理具体说明如下表3-3所示。
表3-3车货关联功能用例说明
Table 3・3 Vehicle goods association use case specification
用例编号 UC3-03
前置条件 用户己经成功登录系统
18
 
 
表3-3 (续表)
Table 3-3(Continue)
后置条件 系统成功显示关联后的信息
基本流程 (1)进入车货关联管理界面,列表显示运单信息记录(运单信息可直接列 表查看,运单信息及相应系统操作信息也可双击运单进行查看);
(2)输入查询关键字,点击“査询”按钮,查询系统中的运单信息记录;
(3)点击未进行车货关联的运单上的“货物追加”,输入货物详情,添加 线下获得的货物清单中的货物添加到该运单,点击“车货匹配”,关联运单 相关车辆与货物清单;
(4)车货关联后,点击运单记录上的“关联详情”,可查看运单相关车辆 关联的货物清单,需换车操作时,点击“解绑”可对车货进行解绑操作;
(5)车货关联后,点击运单记录上的“打印运单”可下载运单进行打印。
扩展流程 (3)用户无此权限
1)系统提示“此用户无此权限”信息
2)转到流程(1)
 
货物监控是发货方及货代方根据业务需求,对运输过程中的各个环节及货物 信息进行监控管理,包括需求监控、计划监控、运单监控、单品监控4个功能项 组成。需求监控是对运输需求中的货物信息及运输情况进行跟踪监控。计划监控 是对运输计划中的货物信息及运输情况进行跟踪监控。运单监控是对运单中的货 物信息及运输情况进行监控管理。单品监控是对货物信息及运输情况进行监控管 理。
3.2.4系统管理功能
系统管理是对系统及系统各用户的基础信息进行管理和维护,并对系统的人 员、组织、角色、功能及权限等进行管理和维护,为其它模块提供数据支持,属 于系统的保障环节。由日志管理、异常管理、基础信息管理、接口管理、系统管 理5大功能模块组成。
系统管理功能的用例图如图3-5所示。
 
权垠诊理
图3・5系统管理模块用例图
Figure3-5 System management use case diagram
日志管理功能对系统操作日志进行管理,记录用户对系统的访问及操作,方 便系统的管理和维护,可实现日志査询及文件导出操作管理。
其具体说明如下表34所示。
表3-4日志管理功能用例说明
Tkble 34 Log management use case specification
用例编号 UC3-05
前置条件 用户已经成功登录系统
后置条件 系统成功显示关联后的信息
基本流程 (1)进入用户日志界面,列表按时间顺序显示用户日志信息记录;
(2)输入查询关键字,点击“查询”按钮,査询相应的用户系统功能操 作日志信息记录;
(3)点击“导出”按钮,对当前页面的用户日志信息进行文件导出操作。
扩展流程 (3)用户无此权限
1)系统提示“此用户无此权限”信息
2)转到流程(1)
 
异常管理对系统的异常信息进行记录和管理,方便系统管理维护,实现异常 记录査询及删除操作管理。
基础信息管理主要实现对发货方发运货物的货物类别信息进行管理的功能,
实现货物大分类、小分类及其下的货物名称的增、删、改、查操作管理。
接口管理主要实现系统与外部系统之间的数据交流,并对交流数据进行一定 的处理及管理,目前外部系统主要指国丰相关系统,接口管理主要实现与国丰运 输单位关联的功能及查询操作。
系统管理是对系统用户进行管理,实现对系统用户的添加、修改、删除、查 看、用户角色设置、用户权限设置等操作。通过添加等基本操作能够实现对用户 的添加,对已有用户基本信息的修改,对离职或其它原因造成不需要使用该系统 的用户进行删除,通过角色设置和权限设置能够为用户分配对应权限,实现访问 控制,便于对系统用户的管理和维护。由用户管理、角色管理、权限管理、系统 设置4个功能点组成。
3.3非功能性需求分析
本系统采用B/S架构,可以及时处理和更新数据,保证了多用户在使用过程 中系统数据的一致性和可靠性。在实现各个基本功能的同时,我们还要兼顾系统 在使用过程中的效率,给用户一个良好的使用体验。接下来本人将从安全性、可 靠性、实用性、可扩展性及响应效率五个方面对本系统进行非功能性需求的分析。
(1)安全性
由于该系统中涉及到很多用户及企业信息,因此在设计过程中安全性尤为重 要,在本系统中设计了日志管理模块和异常管理模块,会实时记录相关的操作记 录和系统运过程中所出现的问题,从而能够及时发现并改正错误,降低损失。同 时采用MySQL5.5的数据备份机制,降低了系统崩溃可能带来的分险。
⑵可靠性
系统在运行过程中,难免会遇到一些不可抗拒的因素导致系统系统发生故 障。在这种情况下,要尽可能的保证系统的可靠性,使系统在发生故障时,尽可 能的保证系统的数据不会丢失,并可能在短时间能恢复正常。
(3)实用性
为了方便满足各种用户对本系统的使用,本系统在界面上采用了 jQuery easyUI技术,使用户能够一目了然的找到自己所要使用的功能,同时保证操作简 单明了。可以使用户能够基本实现自主操作,不用进行培训,同时也配备了相应 的使用手册,在遇到问题时可以进行参照学习。
(4)可扩展性
当前的市场具有多态性,用户的需求是在时刻发生变化的,我们需要不断的 对系统功能进行完善以满足更多的用户要求。可扩展性是验证一个系统生命力的
重要标准,所以在进行本系统的设计开发时,要提前考虑到此问题,为今后所出 现的功能变更做好准备。
(5)响应效率
在同一时段可以使1000用户同时访问系统,响应时间少于2s。
3.4本章小结
需求分析是整个软件项目开发的基石,是软件开发过程中非常重要的一个环 节,它为整个项目的后续开发工作起到了保障作用,使整个项目得以顺利进行, 切实保障整个开发过程完整性的关键,由于本项目较为庞大,所以在这一部分本 人只介绍了本人所参与的功能模块的需求分析,详细描绘了各功能模块所要完成 的主要任务,在接下来的章节中将会根据此需求分析来进一步进行设计。
 
 
 
 
4物流运输信息管理系统概要设计
软件架构来源于需求,是对需求、以及需求对应的场景进行分析、抽象而产 生。数据模型同样来源于需求,它是需求的业务属性,在设计中通过对数据进行 建模,以满足业务的需要,并与软件架构一起成为软件系统的骨骼与基础。上一 章主要进行了系统的功能性需求分析,接下来本章将对系统进行概要设计,确定 整个系统的架构,实现对系统的初步设计,另外还将介绍各个模块的数据库设计。 为详细设计做好准备。
4.1系统总体架构
该系统整体架构如图4-1所示,分为三个层次:视图层、业务逻辑层、数据 库层。具体内容如下:
 
图4・1系统总架构图
Figure4-1 System overall structure diagram
(1)视图层主要用于展示系统的实现效果。主要采用jQuery的easyUI进行开发。 本系统分为十个功能模块,在视图层一一显示。
(2)业务逻辑层又包括数据访问层、服务层、控制层。各模块设计都遵循系统
整体架构的分层设计,采用 SpringMVC+Hibemate/Redis API ZHBaseAPI+Spring 的 架构模式进行开发。
(3)数据库层主要是将系统采集到的数据存储到数据库中,包括分布式数据库 (HBase),内存数据库(redis),关系数据库(Mysql)。HBase^存储的是非结构化的数 据,如车辆的GPS信息。Redis存储的是系统的实时数据,如车辆的实时定位数 据、货物的状态数据、车辆的静态数据、人员的静态数据等。Mysql【22】存储的是结 构化数据,整个系统的字典数据,人、车、货、货物状态、各种报表数据。
⑷本系统由运营管理、运输管理、仓储管理、船运管理、车队管理、车辆监 控、呼叫中心、业务管理、统计分析、系统管理十个模块组成。本人主要负责前 后台功能的实现及结构化数据的存储(存储数据到Mysql)。
4.2技术选型
本系统的技术选型图如下图4-2所示。
 
综合考虑本系统的总体架构和业务需求等因素,结合当下前沿技术与性能稳 定的商业软件,以及成熟、稳定的开源项目进行技术选型,为了兼顾大数据量的 位置信息对系统的要求以及满足公司后期因业务扩展所需用到的大数据分析应用 需求。本系统数据层采用HBase、MySqk Redis进行数据的存储;Web层使用成 熟的Spring MVC框架,保证Web端的层间松耦合;服务层基于Grizzly框架,实 现数据的多样化处理;应用引擎部分采用HBaseAPL Redis API. JPA^吩别与分 布式数据库、内存数据库、MySql数据库进行交互,实现数据的快速交互;应用 组件采用WebSocket【24,25]等技术,为应用提供完备的数据源的访问;展示层采用了 JQuery技术,简单实用,可轻松打造出丰富且美观的UI界面;使用HightCharts 图表工具,能够简单便捷地添加具有交互性的图表;通过MapABC JavaScript API 轻松将各种地图资源嵌入到Web应用中。
4.3各模块的结构设计
本小节将主要对本人所参与的模块进行概要设计,具体分析每个模块中所需 要实现的功能构成,理清各功能模块的逻辑流程及内在功能点的层次结构,设计 合理的方案以便后续的开发。
4.3.1车队管理模块概要设计
车队管理模块分为5个功能项,车队管理主要是用于综合管理承运商车队、 车辆及其终端等数据信息。承运方负责对这些信息进行维护和修改,运营商进行 审核确认,只有在确认通过的情况下,承运方修改的车辆及其车队信息才算修改 完成,保证了数据的完整性与准确性。车队管理模块主要实现的功能包括车队管 理、驾驶员信息管理、车辆信息管理、终端信息管理、SIM卡信息管理。车队管 理功能模块组成如下图4-3所示。
 
 
车队管理中的五个功能模块都是由承运方负责对信息进行维护和修改,运营 商进行审核确认,只有在审核通过的情况下,承运方的修改操作才算完成。
4.3.2运营管理模块概要设计
运营管理模块分为7个功能项,运营商通过系统平台实现对组织注册信息, 用户与平台之间的合同信息,运能运力管理,运输方案及其POI点等的综合管理, 实现线上线下、一体化、同步运营管理。运营管理模块主要实现的功能包括组织 注册、合同管理、运力查询、运输POI管理、运输方案管理、报价管理、支付结 算管理。运营管理功能模块组成如下图4-4所示。
 
 
组织注册主要是对组织信息进行管理,其分为三级目录,点击右键即可对其 修改操作。运力查询中可先査询车队运力详情,在弹出的车队运力详情界面中, 可查询具体的单个车辆的运力详情。运输定位点管理主要显示车辆所在地及经纬 度。运输方案管理中发货方与承运商匹配功能只需点击发货方记录上的“匹配”, 选择需要与该发货方进行匹配的承运商即可完成匹配。报价管理可以修改相应价 格及查看历史记录。
4.3.3运输管理模块概要设计
运输管理模块分为6个功能项,该运输管理是对货物运输过程中的各个流程 环节进行处理和业务串联,是系统实现各方的交易撮合、业务分配、货品监控、 服务评价的核心功能,为各方用户提供了完善便捷的货品交易运输服务。运输管 理模块主要实现的功能包括需求管理、计划管理、交易管理、调度管理、运单管 理、货物监控。运输管理功能模块组成下图4-5所示。
 
 
需求管理的需求发布功能中可以实现货物追加的功能,调度管理中点击未调 派订单上的“人车调派”,根据交易处理中上报的可运车辆选择承运商司机,同 时可删除不用的可运车辆,保存,调派信息传递到相应承运商司机,形成派车单。 运单管理中可以点击未生成运单的派车单记录,点击派车单上的“生成运单”,生成 运单编号。
4.3.4系统管理模块概要设计
系统管理模块分为5个功能项,该模块是除了对系统各用户的基础信息进行 管理和维护外,还对系统的人员、组织、角色、功能及权限等进行管理和维护, 为其它模块提供数据支持。系统管理模块主要实现的功能包括日志管理、异常管 理、基础信息管理、接口管理、系统管理。系统管理功能模块组成如下图4-6所示。
 
系统管理的核心就是系统管理功能项,其中在角色管理中可以为每一个用户 设定相应的菜单、功能及按钮权限;权限管理的目录结构也分为三级,可以添加 主功能和子功能;用户管理可实现初始化密码的功能。
4.4数据库设计及表结构信息
本系统的数据库设计分为关系数据库MR】设计、内存数据库设计、分布式数据 库设计。本人主要负责关系数据库设计,为了提高系统中的读写操作和查询速度 性能及方便数据管理,本系统釆用了 Mysql对表进行分区的技术。由于本系统过 于庞大,篇幅有限,所以本节只列出本人参与模块的关键功能的表结构。
4.4.1车队管理模块数据表结构
车队管理包括车队信息管理、驾驶员信息管理、车辆信息管理、终端信息管 理、SIM卡管理5大模块功能。在车队管理模块中包含车队信息表 (T_LG_SI_MOTORCADE)、驾驶员信息表(P_DRIVER)、车辆基本信息表 (V_VEHICLEINFO)、车辆分类表(V_VEHICLETYPE)、SIM 卡表(T_SIMINFO). SIM卡付费信息表(T_SIMFEE)、终端信息表(T_TERMINALINFO)、终端型号表 (T_TERMINALTYPE)等数据表。由于篇幅限制,接下来将只列举其中核心功能的 数据表结构。
车队信息管理模块的核心表是车队信息表(T_LG_SI_MOTORCADE),具体说 明如表4-1。
表 4-1 车队信息表(T_LG_SI_MOTORCADE) Table4・1 Fleet infbrmation table(T LG SI MOTORCADE)
字段 类型 允许为空 描述 备注
motorcade_id Int(46) N 车队ID 主键,自增
forwarder_id Int(46) N 组织ID
org_code Varchar(32) N 车队归属单位
org_name Varchar(32) N 单位组织名称
motorcade_name Varchar(50) N 车队名称
id_number Varchar(32) N 车队编号
motorcade_type Varchar(lOO) N 业务类型
vehicle_qty Int(ll) N 车辆数目
vehicle_load Double(lO) N 总载重量
create id Int(46) N 创建人
 
 
表4・1(续表)
Table 4-1 (Continue)
字段 类型 允许为空 描述 备注
create_date Datetime N 录入时间
update_id Varchar(32) N 修改人
update_date Datetime N 修改时间
contact_name Varchar(32) N 车队负责人
contact_phone Varchar(18) N 联系电话
tag Varchar(l) Y 标志位
use_yn Varchar(32) N 是否使用
fleet flg Varchar(l) Y 车队标识
 
车辆管理模块的核心表是车辆基本信息表(V_VEHICLEINFO),具体说明如表
4-2 o
表4-2车辆基本信息表(V_VEHICLEINFO) Table4-2 Vehicle basic information table(V VEHICLEINFO)
字段 类型 允许为空 描述
vehicle_id Int(46) N 车辆ID 主键,自增
org_code Varchar(32) N 组织机构编号
id_number Varchar(32) N 车牌号
type_id Int(10) N 车辆种类
terminal」d Int(46) N 终端编号
model_id Int(46) N 车型
usage_id Int(46) N 用途
trademark_id Int(46) Y 品牌
pattern Varchar(32) N 车辆类型
region_property Int(46) N 地域属性
colorjd Varchar(32) Y 车身颜色
engine_number Varchar(32) N 引擎编号
authorized_pay_m Int(46) N 核定载质量标记吨位
ass
transportstatus Int(ll) N 车辆运输状态
hse_vehicle_id Varchar(32) N 车队ID
gps model Varchar(32) N 终端型号
 
 
表4-2 (续表)
Table 4-2(Continue)
字段 类型 允许为空 描述 备注
vehicle_location Varchar(32) N 车辆位置
p_driver_id Int(46) N 主驾ID
s_driver_id Int(46) N 副驾ID
service_type Int(46) N 营运性质
tractor_number Varchar(32) Y 车挂号
traveljicence Varchar(32) N 行驶证号
transport_permits Varchar(32) N 道路运输许可证
transport_expired Datetime N 有效时间
transportation type Int(ll) N 运输行业类别
 
SIM卡管理模块的核心表是SIM卡表(T_SIMINFO),具体说明如表4-3。
表 4-3 SIM 卡表(T_SIMINFO) Table4-3 SIM information table(T SIMINFO)
字段 类型 允许为空 描述 备注
sim_id Int(46) N sim 卡 ID 主键,自增
sim_num Varchar(32) N sim卡号
org_code Varchar(32) N 单位编号
dept_code Varchar(32) N 移动运营商名称
state Int(10) N 开通状态
pay_modle Varchar(32) N 缴费模式
record_time Datetime N 记录时间
recordor Varchar(32) N 记录人
modify_time Datetime N 修改时间
modifier Varchar(32) N 修改人
tag Int(10) N 审核状态
 
4.4.2运营管理模块数据表结构
运营管理包括组织注册、准入合同、运力查询、运输定位点管理、运输方案 管理、报价管理、支付结算管理共7大模块功能。在运营管理模块中包含客户信
 
息表(P_CLIENT)、组织信息表(P_DEPARTMENT)、承运准入合同表
(T_LG_NR_CONTRACT_CARRIER)、
(T_LG_NR_CONTRACT_FREIGHT)、
(T_LG_NR_CONTRACT_OWNER)、
(T_LG』R_CONTRACT_WAREHOUSE)、运输定位点信息表(T_POIINFO)> 运输 定位点类型表(T_POITYPE)、线路规划节点表(T_LG_OP_ROUTE_NOTE)、线路规 划主表(T_LG_OP_ROUTE_PLANNING)、 分配规则主表 (T_LG_PL_DISTRIBUTE_RULE).报价规则表(T_LG_OFFER_RULE)、发运方分 段运价表(T_LG_OP_FYF_ROUTE_PRICE)、承运商分段运价表 (T_LG_OP_CYF_ROUTE_PRICE)、 发运方承运商匹配表 (T_LG_OP_FYF_CYF_RELATION)等数据表。由于篇幅限制,接下来将只列举其 中核心功能的数据表结构。
组织注册管理模块的核心表是客户信息表(P_CLIENT),具体说明如表4-4。
表4-4客户信息表(P_CLIENT)
Table4-4 Client message table(P CLIENT)
字段 类型 允许为空 描述 备注
client_id Int(46) N 客户ID 主键,自增
org_code Varchar(32) N 单位编号
client_type Varchar(64) N 客户业务类型
client_name Varchar(32) N 客户名
province_id Int(ll) N 省份ID
city_id Int(ll) N 城市ID
address Varchar(128) N 地址
fax_number Varchar(32) N 传真
remark Varchar(lOOO) Y 备注
record_time Datetime N 记录时间
recordor Varchar(32) N 记录人
modify_time Datetime N 修改时间
modifier Varchar(32) N 修改人
phone Varchar(16) N 电话
准入合 同模块的 核心表 是承运准 入合同表
(T_LG_NR_CONTRACT_CARRIER),具体说明如表 4-5。
 
 
表 4-5 承运准入合同表(T_LG_NR_CONTRACT_CARRIER) Table4-5 Carrier access contract table(T LG NR CONTRACT CARRIER)
字段 类型 允许为空 描述 备注
carrier_id Int(46) N 承运合同ID 主键,自增
create_date Datetime N 创建时间
contract_number Varchar(32) N 合同编号
contract_infb Varchar(lOOO) N 合同内容
flrstjarty Varchar(32) N 甲方
second_party Varchar(32) N 乙方
unitjrice Double(20) N 合同价格
currency Varchar(32) N 货币
contract_date Datetime N 合同日期
create_user_id Int(46) N 创建人编号
delete_flag Int(ll) N 删除标记
end_date Datetime N 失效时间
img url Varchar(200) N 合同地址
 
运输方案管理模块的核心表是线路规划节点表(T_LG_OP_ROUTE_NOTE),具 体说明如表4-6。
表4-6线路规划节点表(T_LG_OP_ROUTE_NOTE)
Table4・6 Route planning node table(T LG OP ROUTE NOTE)
字段 类型 允许为空 描述 备注
route_note_id Int(46) N 节点ID 主键,自增
route_id Int(46) N 线路规划ID
reginid Int(ll) N 所属区划
route_note_name Varchar(32) N 途径点名称
route_note Varchar(32) N 途径点编码
next__rout_note_id Int(46) N 下一个节点ID
price Double(30) N 运价
transtype Int(ll) N 运输方式
is_user Int(ll) N 是否可用
is_warehouse Int(ll) N 是否仓储
create_user_id Varchar(32) N 创建人
create date Datetime N 创建时间
 
表4-6 (续表)
Table 4-6(Continue)
字段 类型 允许为空 描述 备注
update_user_id Varchar(32) N 修改人
update_date Datetime N 修改时间
delete flag Int(ll) N 删除标识
 
4.4.3运输管理模块数据表结构
运输管理包括需求管理、计划管理、交易管理、调度管理、运单管理、货物 监控6大模块功能。在运输管理模块中包含货运需求主表 (T_LG_NR_REQUEST_MASTER)、货运合同表(T_LG_NR_CONTRACT_INFO)、 货运需求审批表(T_LG_NR_REQUEST_APPROVE)、货运计划表 (T_LG_PRE_TRANS_PLAN)、货运计划审批表(T_LG_TRANS_PLAN_APPRO VE). 计划交易确认表(T_LG_PL_PLAN_TRADING)、 交易确认表 (T_LG_PLAN_TRADING).车辆上报信息表(T_LG_CONTRACT_REPORT)、承运 商报名信息表(T_LG_CONTRACT_SIGNUP)、 订单主表 (T_LG_CONTRACT_ORDER).订单车辆调派(T_LG_DISPATCH)、货物投保信息 表(T_LG_TT_ORDER_INSURANCE)、车货匹配表(T_LG_WAYBILL_DETAIL)、 回单信息表(T_LG_DM_WAYBILL_INFO)、 回单确认表 (T_LG_DM_WAYBILL_CONFIRM),派车表(T_LG_DP_SEND_CAR)等数据表,由 于篇幅限制,接下来将只列举其中核心功能的数据表结构。
需求管理模块的核心表是货运需求主表(T_LG_NR_REQUEST_MASTER),具 体说明如表4-7。
表 4-7 货运需求主表(T_LG_NR_REQUEST_MASTER)
Table4・7 Transport request main table(T LG NR REQUEST MASTER)
字段 类型 允许为空 描述 备注
requested Int(46) N 货运需求ID 主键,自增
request_no Varchar(32) N 货运需求编号
request_status Int(10) N 货运需求状态
request_approve_status Int(10) N 货运需求审批状态
owner_cd Varchar(32) N 货主编码
owner_name Varchar(32) N 货主名
request price Double(30) N 需求价格
 
表4・7(续表)
Table 4-7(Continue)
字段 类型 允许为空 描述 备注
goods_type Int(10) N 货物类型
request_total_qty Double(30) N 货运量
request released d N
Datetime 需求发布时间
ate
request_duration Datetime N 需求有效时间
allow over time y Y
n Varchar(lO) 是否允许过期送达
allow_over_time Datetime Y 过期送达时限
seller_id Varchar(32) N 售达方
buyer_id Varchar(32) N 送达方
pick_up_site Varchar(32) N 起运地点
delivery_site Varchar(32) N 终运地点
request_remark Varchar(lOO) N 需求说明
request create use N
Int(46) 需求创建者
rjd
request create dat N
e Datetime 需求创建时间
linkman Varchar(32) N 联系人
linkman_tel Varchar(32) N 联系电话
pick_up_id Int(ll) N 起点城市ID
delivery_id Int(ll) N 终点城市ID
request choose sta N
Int(ll) 运输方案是否选定
tus
request_car_status Int(ll) N 车货是否关联
forwarder_code Varchar(32) N 货代方编码
fbrwarder_name Varchar(32) N 货代方名称
request contract i N
d Int(46) 需求合同ID
payment mode Int(ll) N 支付方式
 
 
调度管理模块的核心表是订单车辆调派表(T_LG_DISPATCH),具体说明如表
4*8 o
表4・8订单车辆调派表(T_LG_DISPATCH) Table4・8 Order vehicle dispatch table(T LG DISPATCH)
字段 类型 允许为空 描述 备注
dispatch_id Int(46) N 车辆调派ID 主键,自增
contract_order_id Int(46) N 订单【D
dorwarder_id Int(46) N 承运商ID
fleet_id Int(46) N 车队ID
vehicle__id Int(46) N 车辆ID
main_driver_id Int(46) N 主司机ID
sub_driver_id Int(46) N 副司机ID
vehicle_load Double N 单车承运数量
pick_up_site Varchar(250) N 取货地址
delivery__site Varchar(250) N 送货地址
dispatcher_id Int(46) N 调度ID
customer_id Int(46) N 客户ID
plan_status Int(10) N 审核状态
plan_no Varchar(250) N 派车计划号
dispatch_no Varchar(250) N 派车单号
line_id Int(46) N 行车线路推荐ID
is_warehouse Int(10) N 是否仓储
pick_up_id Int(2) N 起点ID
delivery_id Int(2) N 终点ID
interface flag Varchar(l) N 接口标记
 
运单管理模块的核心表是运单主表(T_LG_WAYBILL-MASTER),具体说明如
表 4-9 0
表 4-9 运单主表(T_LG_WAYBILL_MASTER) Table4-9 Waybill main table(~f LG WAYBILL MASTER)
字段 类型 允许为空 描述 备注
delivery_order_id Int(32) N 运单ID 主键,自增
delivery_order_no Varchar(250) N 运单号
fyfid Int(32) N 发运方运单ID
 
 
表4-9(续表)
Table 4-9(Continue) 字段 类型 允许为空 描述 备注
car_id Int(32) N 派车单ID
delivery_order_status varchar(250) N 运单状态
fbrwarder_id Int(32) N 承运商ID
trans^type Int(ll) N 运输方式
fleet_id Int(32) N 车队ID
vehicle_id Int(32) N 车ID
driver_id Int(32) N 司机ID
plate_number Varchar(50) N 车牌号
start_route_note_i d Int(ll) N 开始节点ID
end_route_note_id Int(ll) N 结束节点ID
delivery_order_end_
yn Int(2) N 运单是否结束
loading_place Int(32) N 装货点ID
unlooading_place Int(32) N 卸货点ID
trip Int(ll) Y 趟次
pick__up_site varchar(250) N 起运地点
delivery_site varchar(250) N 终运地点
is_sign Int(ll) N 是否签收
sign_time Datetime N 签收时间
signer varchar(32) N 签收人
start_time Datetime N 起运时间
arrive__time Datetime N 到运时间
on_time Int(ll) N 是否按时到达
is_instock_yn Int(ll) N 是否己完成入库
create_user__id Int(32) N 创建人id
create^time Datetime N 创建时间
update_user_id Int(32) N 修改人id
update_time Datetime N 修改时间
pay_status Int(l) N 结算状态
check_status Ml) N 审核状态
delete flag varchar(32) N 作废标记
 
 
4.4.4系统管理模块数据模型及表结构
系统管理包括日志管理、异常管理、基础信息管理、接口管理、系统管理5 大功能模块组成。在系统管理模块中包含用户日志表(B_USERLOGDB)、系统异常 数据表(B_SYSEXCEPTION)、货物名称表(T_LG_CARGO_NAME)、货物大分类表
(T_LG_CARGO_CATEGORIES_MAIN)、
(T_LG_CARGO_CATEGORIES_SIDE) 、
(W_GUOF_ORG_MASTER_TEMP)、
(W_GUOF_WAYBILL_DETAIL_TEMP)、用 表(P_USER) 权限
(B_SYS_RIGHT)、系统配置表(B_SYS_CONFIGURE)、角色与权限关联表 (B_SYS_ROLE_RIGHT)、角色表(B_SYSROLE)、用户角色关联表(B_USERROLE)、 菜单表(B_SYSMENU)等数据表。由于篇幅限制,接下来将只列举其中核心功能的 数据模型及表结构。
日志管理模块的核心表是用户日志表(B_USERLOGDB),具体说明如表4-10。
表4-10用户日志表(B USERLOGDB) Table4-10 User log table(B USERLOGDB)
字段 类型 允许为空 描述 备注
userlog_id Int(46) N 用户日志表ID 主键,自增
functioned Int(46) N 操作ID
user_id Varchar(32) N 用户登录名
department^ d Varchar(32) N 所属单位编号
department_name Varchar(lOO) N 用户所在单位名称
function_name Varchar(lOO) N 用户访问功能名称
request_ip Varchar(32) N 用户访问IP
log_msg Varchar(lOOO) N 日志信息内容
log date Datetime N 日志记录日期
异常管理模块的核心表是系统异常数据表(B_SYSEXCEPTION),具体说明如 表 4-11。
表4-11系统信息异常数据表(B_SYSTEXCEPTION) Table4-11 System message exception table(B SYSTEXCEPTION)
字段 类型 允许为空 描述 备注
exception_id Int(46) N 异常ID 主键,自增
content Varchar(1024) N 异常内容
m code Varchar(32) Y 模块编号
 
 
表4・11(续表)
Table 4-11 (Continue)
字段 类型 允许为空 描述 备注
m_name Varchar(32) Y 模块名称
remark Varchar(128) Y 备注
happen_time Datetime N 发生异常时间
file_line Varchar(32) N 行号
file_name Varchar(64) N 类文件名称
methond Varchar(32) N 方法
 
系统管理模块的核心表是用户表(P_USER),具体说明如表4-12。
表4-12用户表(P_USER) Table4-12 User table(P USER)
字段 类型 允许为空 描述 备注
user_id Int(46) N 用户ID 主键,自增
org_id Int(46) N 单位ID
user_code Varchar(32) N 用户编号
org_code Varchar(32) N 单位编号
user_name Varchar(32) N 真实姓名
user_type Varchar(lO) N 用户类型
password Varchar(128) N 密码
status Int(ll) N 状态
phone Varchar(32) N 电话
email Varchar(128) N 邮件
login_time Datetime N 最后登录时间
org_name Varchar(250) N 单位名称
is_super Boolean N 是否超级管理员
right_code Varchar(32) N 权限编码
delete flag Int(ll) N 删除标识
 
4.5本章小结
本章主要介绍了物流运输信息管理系统的概要设计,包括系统的总体架构设 计,技术选型,各个模块的概要设计及数据库设计。接下来将对系统的各个功能 模块进行详细设计。
5物流运输信息管理系统详细设计与实现
本章主要是对物流运输信息管理系统进行详细设计,详细设计在软件开发过 程中是最重要的一环,关系到整个项目的成败,本章主要是依据先前的需求分析 及概要设计,对各个功能模块进行详细设计,由于系统过于庞大,本章着重阐述 了本人参与的功能点的实现过程。主要包括车队管理、运营管理、运输管理、系 统管理四大功能模块,接下来将对各个模块的核心功能点进行具体的阐述。
5.1车队管理模块详细设计与实现
车队管理主要实现对承运商车队、车辆、驾驶员、终端及SIM卡等数据信息 进行管理的功能,包括车队信息、驾驶员信息管理、车辆信息管理、终端信息管 理、SIM卡管理5大模块功能。下面对各个功能点的实现分别介绍:
5.1.1车队信息管理模块的设计与实现
车队管理主要实现对承运商车队数据信息进行维护管理的功能,管理后需进 行审核确认,只有在审核通过的情况下,修改或新增的承运商车队信息才算维护 管理完成,主要实现增、删、改、查操作。其流程图如图5-1所示。
进入命£叭恵、维护濟TH1
—丁"—
丰队彳吕思乍i;理
 
 
申核
 
 
 
 
图5-1车队信息管理流程图
Figure 5・1 Fleet information management flow-process diagram
在车队信息管理模块中MotorcadeManagerAction是车队信息的控制类,接收 前端JSP页面传递过来的参数,IMotorcadeService是车队信息的接口类,接收Action 发送过来的请求;MotorcadeServicelmpl是车队管理接口实现类,从Dao层获取数 据,其核心方法是AndAllMotorcadeO,用于查询所有的车队信息;MotorcadeDao 是车队信息的数据操作类,包含多种条件的对数据进行查询的方法,与数据库进 行交互,将执行结果返回给service层。同时MotorcadeServicelmpl还与 CarManageDao关联,在执行删除车队操作以及时需要调用findByMotorldO方法查 找所有车队下的车辆信息进行删除;在判断车队下是否存在车辆时需要调用 fmdlsUserByMotorId()方法。其类图如图5-2所示。
 
图5-2车队信息管理类图
Figure 5-2 Fleet information management class diagram
 
车队信息管理实现效果图如图5-3所示:
 
 
图5-3车队信息管理实现效果图
Figure 5-3 Screenshot of fleet information management implementation
 
5.1.2驾驶员信息管理模块的设计与实现
驾驶员信息管理主要实现对承运商驾驶员信息进行维护管理的功能,实现增、 删、改、査操作,驾驶员信息录入还可通过文件导入,可下载文件导入模板,若 有司机离职可对其状态进行改变,此外还可通过文件导入司机与车辆绑定信息; 录入或改动驾驶员信息后需进行审核。其流程图如图54所示。
 
在驾驶员信息管理模块中DriverManageAction是驾驶员信息管理的控制类, 接收前端JSP页面传递过来的参数,IDriverManageService是驾驶员信息管理的接 口类,接收Action发送过来的请求,此外,DriverManageAction还与其他三个接 口类相关联,分别是用户信息业务接口 IPUserService、组织业务接口 IDepartmentService 和车辆业务接口 IVehicleService°DriverManageServiceImpl 是驾 驶员信息管理接口实现类,从Dao层获取数据,其核心方法是queryAllO,用于查询 所有驾驶员信息;DriverManageDao是驾驶员信息管理的数据操作类,主要为各种 增删改查的方法,对数据库进行操作,将执行结果返回给service层。同时
DriverManageServicelmpl还与MotorcadeDao相关联,在查询驾驶员信息时调用
MotorcadeDao的findOne。查询其所属车队信息。其类图如图5-5所示。
 
图5-2-5驾驶员信息管理类图
Figure 5-5 Driver information management class diagram
 
其实现效果图如图5-6所示:
 
 
5.1.3车辆信息管理模块的设计与实现
驾驶员信息管理主要实现对承运商车辆信息(包括人车、车与终端关联信息) 进行管理的功能,实现增、删、改、查操作,车辆基本信息录入还可通过文件导 入,可下载文件导入模板,此外还可通过文件导入车辆与终端绑定信息;录入或 改动车辆信息后需进行审核。其流程图如图5-7所示。
 
 
其类图如图5-8所示。
 
图5-8车辆信息管理类图
Figure 5-8 Vehicle information management class diagram
 
在车辆信息管理模块中CarManagerAction是车辆信息管理的控制类,接收前 端JSP页面传递过来的参数,发送请求给service层;ICarManageService是车辆信 息管理的接口类,接收Action发送过来的请求,此外,CarManagerAction还与 MotorcadeDao相关联,调用其中的AndByMotorcadeId()方法查找车辆的组织信息。 CarManageServicelmpl是车辆信息管理接口实现类,从Dao层获取数据,其核心 方法是queryByParamsO,用于多条件查询车辆信息;CarManageDao是车辆信息管
理的数据操作类,对数据库进行操作,将执行结果返回给service层。同时 CarManageServicelmpl 还与 DriverManageDao 、 CarManageTypeDao 、 TerminalManageDao、ITerminalService 和 ISIMService 相关联,其中在执行 queryByTypeNameO方法时调用 CarManageTypeDao 的 findByTypeName()方法查找 车辆类型;在执行 AndByTerminalldNotUserO方法时调用 TerminalManageDao 的 TerminalManageDao方法判断终端是否被使用;在执行save()方法时调用 DriverManageDao的findOne()方法判断是否存在主驾驶员;在执行auth()进行审核 操作时需调用ISIMService的queiySIM。方法查询SIM信息以及调用 ITerminalService 的 queryTerminal()方法査询终端信息。
其实现效果图如图5-9所示:
 
5.1.4终端信息管理模块的设计与实现
终端信息管理主要实现对承运商车辆终端信息(包括终端与SIM卡关系信息) 进行管理的功能,管理后进行审核确认,只有在审核通过的情况下,新增或修改 的承运商车辆终端信息才算维护管理完成,终端基本信息录入还可通过文件导入, 可下载文件导入模板,此外还可通过文件导入终端与SIM卡绑定信息;录入或改 动终端信息后需进行审核。其流程图如图5-10所示。
 
 
图5-10终端信息管理流程图
Figure 5-10 Terminal information management flow-process diagram
 
在终端信息管理中TerminalManageAction是终端信息管理的控制类,接收前 端JSP页面传递过来的参数,发送请求给service层;ITerminalManageService是终 端信息管理的接口类,接收Action发送过来的请求;此夕卜,TerminalManageAction 还与 ICarManageService, IDepartmentService 和 ISIMService 相关联。调用其中的 各类方法。TerminalManageServicelmpl是终端信息管理接口实现类,从Dao层获 取数据,其核心方法是queryTerminal(),通过终端ID查询终端信息; TerminalManageDao是终端信息管理的数据操作类,对数据库进行操作,将执行结 果返回给 service 层。同时 TerminalManageServicelmpl 还与 MotorcadeDao、 CarManageDao、ScSIMDao 和 TerminalTypeDao 相关联,其中在执行 isU serCarByTerminalldO 方法时需要调用 CarManageDao 的 findByUserCarTerminalldO方法判断终端是否被车辆占用;在执行 findTerminalByPararmsO方法是需要调用MotorcadeDao的findOne。方法查找所在 车队;在执行findTerminalTypeByTerminalTypeNameO方法时需要调用 TerminalTypeDao 的 findTerminalTypeByTerminalTypeNameO方法査询终端类型;在 执行addsave()方法时需调用ScSIMDao的findBySimIds()方法查询sim卡是否已审
核。其类图如图5-11所示。
 
 
 
5.1.5SIM卡管理模块的设计与实现
SIM卡管理主要实现对承运商车辆终端SIM卡信息进行管理的功能,包括增、 删、改、査操作,SIM信息录入还可通过文件导入,可下载文件导入模板;录入 或改动SIM卡信息后需进行审核。其流程图如图5-13所示。
 
图5-13 SIM卡管理流程图 Figure 5-13 SIM card management flow-process diagram
 
在SIM卡管理模块中ScSIMManageAction是SIM卡管理的控制类,接收前端 JSP页面传递过来的参数,发送请求给service层;IScSIMManageService是SIM卡 管理的接口类,接收Action发送过来的请求,此夕卜,ScSIMManageAction还与 IDepartmentService和IScTerminalService相关联,调用其中的相关方法。 ScSIMServicelmpl是SIM卡管理接口实现类,从Dao层获取数据,其核心方法是 querySIM0>用于查询SIM信息。ScSIMManageDao是SIM卡管理的数据操作类, 将执行结果返回给service层。同时ScSIMServicelmpl还与ScTerminalTypeDao和 TerminalManageDao相关联,其中在执行queryAllTerminalType。方法时调用 ScTerminalTypeDao的findAllO方法查询所有终端类型;在执行isUserSim()方法时 需调用TerminalManageDao的findByUserSimIds()方法查询sim卡是否被绑定。其 类图如图5-14所示。
 
Figure 5-15 Screenshot of sim card management implementation
5.2运营管理模块详细设计与实现
运营管理是运营商通过系统平台实现对组织注册信息、用户与平台之间的合 同信息、运能运力信息、运输方案及其运输定位点等的综合管理。包括组织注册、 准入合同、运力查询、运输定位点管理、运输方案管理、报价管理、支付结算管 理共7大模块功能。下面对各个功能点的实现分别介绍:
5.2.1组织注册模块的设计与实现
组织注册是用户在线下提交营业执照、组织机构代码证、税务登记证等企业 注册资料给运营商,并由运营商线下对用户的注册信息进行审批后,进行组织信 息录入管理的功能,主要实现组织增、删、改、査操作。其时序图如图5-16所示。
 
图5-16组织注册时序图
Figure 5-16 Organization registration sequence diagram
 
在组织注册模块中DepartmentManageAction是组织注册控制类,,接收前端 JSP页面传递过来的参数,发送请求给service层;IDepartmentService是组织注册 的接口类,主要接收来自 DepartmentManagerAction 的请求;DepartmentServicelmpl 继承自接口 IDepartmentService,是组织注册的实现类,实现了对控制类传递过来 的数据进行处理的过程,其核心方法是queryDepartmentO,用于查询组织信息。 DepartmentDao是组织注册数据操作类,将执行结果返回给service层。同时 DepartmentServicelmpl 还与 IPUserService 相关联,在执行 saveDepartMentUpdate。 方法市需要调用IPUserService的upUserOrgNamef)方法实现在更改组织名称时更 新用户表。其类图如图5-17所示。
 
 
图5-17组织注册类图
Figure 5-17 organization registration class diagram
其实现效果图如图5-18所示:
 
522准入合同模块的设计与实现
准入合同管理是运营商对客户各方与系统平台的协议合同进行管理,保持与 线下签署合同的实时更新,由发货方合同管理、承运商合同管理、仓储方合同管 理、货代方合同管理、船贷方合同管理5个功能点组成。由于这五种合同管理的 流程完全相同,故在此以发货方合同管理为例,其时序图如图5-19所示。
 
 
图5・19准入合同管理时序图
Figure 5・ 19 Access contract management sequence diagram
 
在准入合同管理模块中ContractOwnerManageAction是准入合同控制类,接收 前端JSP页面传递过来的参数,IContractOwnerService是准入合同信息接口类,主 要接收来自action的请求;ContractOwnerServicelmpl是注入合同接口的实现类, 从Dao层获取数据,其核心方法是queryContractOwner。,用于查询所有的合同信 息;ContractOwnerDao是准入合同数据操作类,实现对数据库操作。其类图如图 5-20所示。
 
图5-20准入合同管理类图
Figure 5-20Access contract management class diagram
 
其实现效果图以发货方合同管理为例,如图5-21所示:
20 w] H <: B i 英共谈 》
图5-21发货方合同管理实现效果图
Figure 5-21 Screenshot of shipper contract management implementation
5.2.3运力查询模块的设计与实现
运营商根据承运商上报运能运力信息,对承运商的运能运力情况进行查询, 可以查询到具体的承运商车队及车辆的运力状况。其流程图如图5-22所示。
在运力查询模块中CyfTransportCapacityAction是运力查询控制类,接收前端 JSP页面传递过来的参数,ICyfTransportCapacityService是运力查询接口类,主要 接收来自action的请求;CyfTransportCapacityServicelmpl是运力查询接口的实现 类,从Dao层获取数据,其核心方法是有三个,分别是query。、queryMotorcadeO 和queryVehicleinfbO.他们分别实现对承运商、车队和车辆的运力査询; CyfTransportCapicityDao是运力査询数据操作类,实现对数据库操作。其类图如图 5-23所示。
 
图5-23运力査询类图
Figure 5-23 Capacity query class diagram
 
 
其实现效果图如图5-24所示:
 
图5-24运力查询实现效果图
Figure 5-24 Screenshot of capacity query implementation
 
5.2.4运输定位点管理模块的设计与实现
该模块只对运输方案中具体的POI (Point of Interest)信息进行管理,POI为 某个业务点的具体地址信息,由运输定位点类型管理、运输定位点管理2个功能 点组成。运输定位点类型管理提供了对运输定位点类型进行查询,运输定位点管 理依据地图对运输定位点信息进行管理,实现定位点增、删、改、查操作。运输 定位点管理时序图如图5-25所示。
 
 
Figure 5-25 Transportation location management sequence diagram
 
在运输定位点管理模块中PoiinfoManageAction是运输定位点管理控制类,接 收前端JSP页面传递过来的参数,IPoiinfbService是运输POI(定位点)管理接口类, 主要接收来自action的请求;PoiinfoServicelmpl是运输POI(定位点)管理接口的实 现类,从Dao层获取数据,其核心方法是queiyPoiTypeListO和queiyPoiinfoList(), 分别对应定位点类型和定位点的查询。PoiinfoDao和PoitypeDao是运输POI(定位 点)管理数据操作类,实现对数据库操作。其类图如图5-26所示。
 
图5-26运输定位点管理类图
Figure 5-26 Transportation location management class diagram
其实现效果图如图5-27所示:
 
 
 
5.2.5运输方案管理模块的设计与实现
运营商对运输过程中涉及到的各个业务环节的运输方案进行管理,包括对节 点、路径、分配规则等内容的管理,由运输方案查询、发货方与承运商匹配、运 输节点规划、分配规则设定共4个功能点组成。其流程图如图5-28所示。
 
在实现这四个功能的过程中,本人把其分为三个部分,TransNoteManageAction 是用于实现运输方案查询及运输定位点的控制类,FyfCyfRelationAction是用于实 现发货方与承运商匹配的控制类,DistributeRuleManageAction是用于实现分配规 则设定的控制类。由于篇幅限制,此处着重说明发货方与承运商之间匹配的实现, 其中IFyfCyfRelationService是发货方与承运商匹配关系接口类,主要接收来自 action 的请求,此外,FyfCyfRelationAction 还与 IDepartmentService 相关联,在执 行 queryfyfCyfRelationJsonListO方法时需要调用 IDepartmentService 0 中的 query() 方法查询相应的组织信息。FyfCyfRelationServicelmpl继承自接口 IFyfCyfRelationService,是发货方与承运商匹配关系的实现类,实现了对控制类传 递过来的数据进行处理的过程,其核心方法为query。实现多条件查询发货方承运 商匹配信息,update。为修改发货方承运商匹配关系,更新数据。FyfCyfRelationDao 是发货方与承运商匹配关系数据库操作类,实现对数据库操作。由于篇幅限制, 此处只列出发货方与承运商匹配类图如图5-29所示。
 
图5-29发货方与承运商匹配类图
Figure 5-29 Shipper and carrier match class diagram
 
其实现效果图如图5-30所示:
 
 
图5-30发货方与承运商匹配实现效果图
Figure 5-30 Screenshot of shipper and carrier match implementation
5.2.6报价管理模块的设计与实现
报价管理主要是对系统中各运输线路方案的发货方运价报价、各线路方案的 分段路段的承运商运价报价、仓储价格及货代方运价报价规则进行管理维护,由 发货方运价维护、承运商运价维护、节点仓储价格维护、报价规则设定4个功能 点组成。其流程图如图5-31所示。
 
图5-31报价管理流程图
Figure 5-31 Quotation management flow-process diagram
报价管理主要包括发货方运价维护、承运商运价维护、节点仓储价格维护、
报价规则设定等功能点。由于篇幅限制,此处以发货方运价维护为例,其中 FyfRoutePriceManageAction是报价管理控制类,接收前端JSP页面传递过来的参 数,IFyfRoutePriceService是报价管理接口类,主要接收来自action的请求; FyfRoutePriceServicelmpl是报价管理接口的实现类,从Dao层获取数据,其核心 方法是query 10用于查询发货方线路;query2()用于査询发货方历史线路。
FyfRoutePriceDao是报价管理数据操作类,实现对数据库操作。其类图如图5-32 所示。
 
5.2.7支付结算管理模块的设计与实现
对承运商与承运商司机的财务支付结算流程进行管理,在承运商司机上传回 单(即货物己签收)后,依次进行对账、巧票操作。其流程图如图5-34所示。
(
进入对账开票维护
界面
査询运单
 
 
 
图5・34支付结算管理流程图
Figure 5-34 Payment settlement management flow-process diagram
在支付结算管理模块中AccountServiceAction是支付结算管理控制类,接收 前端JSP页面传递过来的参数,IWaybillCreationService是支付结算管理接口类, 主要接收来自action的请求;WaybillCreationServicelmpl是支付结算管理接口的实 现类,从Dao层获取数据,其核心方法是changeWaybillStatus(),用于改变运单的状 态;getwaybillinfbO用于获取运单相关信息。WaHBillCreationDao是数据操作类, 实现对数据库操作。其类图如图5-35所示。
 
 
图5-35支付结算管理类图
Figure 5-35 Payment settlement management class diagram
其实现效果图如图5・36所示:
 
5.3运输管理模块详细设计与实现
运输管理是对货物运输过程中的各个流程环节进行处理和业务串联,是系统 实现各方的交易撮合、业务分配、货品监控、服务评价的核心功能,为各方用户 提供了完善便捷的货品交易运输服务,由需求管理、计划管理、交易管理、调度 管理、运单管理、货物监控6大模块功能。下面对各个功能点的实现分别介绍:
 
5.3.1需求管理模块的设计与实现
需求管理主要是对货物的运输需求、货物的发货清单进行管理,发货方对运 输需求及货物发货清单数据进行系统录入及综合管理,货代方对发货方发送的需 求及货物清单信息进行接收、审核、代录,由需求发布、需求获取及需求合同管 理3个功能点组成。其流程图如图5-37所示。
 
图5-37需求管理流程图
Figure 5-37 Demand management flow-process diagram
 
在需求管理模块中DemandManageAction是需求管理控制类,接收前端JSP页 面传递过来的参数,包含有需求添加,需求查询、需求修改、需求发布、需求获 取、需求审核、需求合同关联等方法;其中需求发布调用addrequestMaster()方法, 需求获取调用sureRequestMaster。方法,需求审核调用shenheRequestMaster。方法。 同 时 DemandManageAction 还 与 IDepartmentService、 IShipperService、 IReceiverService> IGoodsTypeService 和 ICargoDetailService 相关联,在追加运输需 求时调用 IDepartmentService 的 findDepartmentByOrgCode()方法查询组织信息,调 用ICargoDetailService的save。方法保存新增需求信息;在修改运输需求时调用 IShipperService 的 isaddReceiver。添加收货方地址信息,调用 IReceiverService 的 saveReceiverDetailQ保存收货方的详细信息;在查询货物类型时调用
 
IGoodsTypeService 的 queryAllgoodsType()o IDemandService 是需求管理接口类, 主要接收来自action的请求;DemandServicelmpl是需求管理的实现类,从Dao层 获取数据,其核心方法是query。用于多条件查询需求信息。DemandDao是需求管 理数据操作类,实现对数据库操作。其类图如图5-38所示。
 
 
 
图5-38需求管理类图
Figure 5-38 Demand management class diagram
 
图5-39需求发布实现效果图
Figure 5-39 Screenshot of demand publish implementation
5.3.2计划管理模块的设计与实现
计划管理主要是货代方对获得的运输需求进行运输计划的制定、审核和发布 管理,由运输方案选定、运输计划生成、运输计划审核、运输计划发布、.计划人 工管理5个功能点组成。其流程图如图5-40所示。
开始 丿
 
 
.否.
计划人工管理
丿
图5-40计划管理流程图
Figure 5-40 Plan management flow-process diagram
在计划管理中 RequestSchemaManageAction 和 PreTransPlanManageAction 是运 输计划管理的控制类,前者主要实现运输方案的选定和生成,后者主要实现运输 计划的发布和计划人工管理°在 RequestSchemaManageAction中 requestsinfoMkSchema()用于实现运输方案的选定,tranProducePlanO用于实现运输 计划生成;在 PreTransPlanManageAction 中 releasePreTransPlanlds0用于运输计划 的发布,updatepretransplan()和 undoReleasePreTransPlanldsO分别用于计划人工管理 的修改和撤销。IRequestSchemaService 和 IPreTransPlanService 分别是二者的接口 类,接收来自 action 的请求;RequestSchemaServiceImpl 和 PreTransPlanServicelmpl
继承自接口 IRequestSchemaService 和 IPreTransPlanService,是计划管理的实现类, 实现了对控制类传递过来的数据进行处理的过程;RequestSchemaDao和 PreTransPlanDao是运输计划管理的数据操作类,实现对数据库的操作。其类图如 图5-41所示。
IDem ・ndService vvirtterfuceAA
IPreTransPlanService vvir>terface>>
IRequestSchemaService vvinterface>>
 
■[*queryPreTransPlanForAuth{)Pa ge<Map<Stang. Object〉>] [queryPreTransPI«nForReleaseO
Page<Mtp<Stnng. Object〉a]-query()Page<DeinandBean> ♦findDemandByrequestNoO^equ estMaster
+save().Str^g
+queryReque$tlnfoOPige < Map < St ring. Object >>
*querySchemaSecs01»st <RequestS chema>
 
 
DemandServicelmpI
DemandDao vvinterf、ce>>
RequestSchemaServicelm
PoiinfoDao
vvinterf*e>>
 
PreTransPlanSer vicelm
V
ApproveDao
vvirtterface>>
ContractDaoSign << interface >>
 
 
 
 
 
 
 
 
图5M1计划管理类图
Figure 5-41 Plan management class diagram
由于篇幅限制,此处只列出运输方案选定的实现效果图,如图542所示:
 
图5-42运输方案选定实现效果图
Figure 5-42 Screenshot of transportation plan selection implementation
5.3.3交易管理模块的设计与实现
交易管理主要是货代方与承运商之间就运输订单交易进行的处理,同时对交 易完成的订单进行相关的管理,由交易处理、订单管理和订单撤销管理3个功能 项组成。其流程图如图5-43所示。
( 开始 )
査询运输计划
 
Figure 5-43 Transaction management flow-process diagram
 
交易管理根据其业务结构分为两部分,一部分是交易处理,由 TranManageAction类控制;一部分是订单管理,由OrderManageAction控制。其中 ITranManageService是交易管理接口类,接收TranManageAction发送来的请求; IOrderManageService是订单管理的接口类,接收OrderManageAction发送来的请 求。TranManageServicelmpl 继承自 ITranManageService,是交易管理的接口实现类, 其核心方法是insertTranPlan()用于订单生成;OrderManageServicelmpl继承自 IOrderManageService ,是订单管理的接口实现类,其核心方法是 queryContractOrderOwner0用于査询合同订单。PlantranDao 和 ContractOrderDao 分 别是交易管理和订单管理的数据操作类,实现对数据库的操作。其类图如图5-44 所示。
 
Figure 5-45 Screenshot of transaction dealing implementation
5.3.4调度管理模块的设计与实现
调度管理主要是承运商根据所抢的订单进行调度派车和任务分配,由派车管 理、出车管理及运力上报3个功能点组成。其流程图如图5-46所示。
 
Figure 5-46 Dispatching management flow-process diagram
 
在调度管理模块中DispatchManageAction是调度管理的控制类,接收前端JSP 页面传递过来的参数;IDispatchService是调度管理的接口类,接收Action发送过 来的请求;DispatchServicelmp继承自IDispatchService,是调度管理接口实现类, 其核心方法queryDispatchPlanByOrder()用于查询查询订单对应的调度计划; DispatchDao是调度管理的数据操作类,实现对数据库的操作。与此同 时,DispatchServicelmp中方法的实现还与其他几个接口相关联,在执行saveRoute。 方法保存订单的路线规划信息时需调用DrivingLineDao的save。方法;在修改运能 运力时需分别调用sendCarDao的selectSendCar。方法查询派车单'MotorcadeDao 的 selectFname()方法查询车队,RequestMasterDao 的 selectRequestMaster。方法查 询承运商,TrDriverDao的findDriverName()査询驾驶员。其类图如图5~47所示。
 
 
图5-47调度管理类图
Figure 5-47 Dispatching management class diagram
由于篇幅限制,此处只列出派车管理实现效果图如图5-48所示:
 
图548派车管理实现效果图
Figure 5-48 Screenshot of dispatching management implementation
5.3.5运单管理模块的设计与实现
运单管理是在承运商对订单进行派车之后,把车辆与货物信息进行绑定形成 运单,并对运单进行相关的管理,同时对货物运输到客户处后,客户签字确认的
 
回单进行管理,由运单生成、车货关联管理、换车管理、回单管理、货物投保管 理5个功能项组成。其流程图如图5-49所示。
 
结束
图549运单管理流程图 Figure 5-49 Waybill management flow-process diagram
 
在运单管理模块中WaybillCreationAction负责实现运单生成、车货关联和换车 管理的控制类;ReceiptCreationAction负责实现回单管理的控制类; InsuranceCreationAction 用于实现货物投保管理的控制类。IWaybillCreationService 是 WaybillCreationAction 的接 口类,WaybillCreationServicelmpl 继承自 IWaybillCreationService,是运单管理接口实现类,实现了对控制类传递过来的数据 进行处理的过程;WaybillMasterDao和WaybillDetailDao是运单管理的数据操作类, 前者是对运单主表执行增删改查的操作,后者是对运单详细表(车货匹配信息) 进行增删改查的操作。IReceiptCreationService 是 ReceiptCreationAction 的接 口类, 其核心方法是update WaybillStatusO用于回单上传功能的实现; IlnsuranceCreationService 是 InsuranceCreationAction 的接 口类,其功能实现主要为 增删改查货物投保信息。其类图如图5-50所示。
 
 
 
图5-50运单管理类图
Figure 5-50 Waybill management class diagram
由于篇幅限制,此处只列举运单管理模块中运单生成模块实现效果图,如图
5-51所示:
?':■■ S* 也 P
tw 3网 <s- •<5. *
8fB^> e 5 m;:;
蓼应和蛛»
«
 
*«r*«5 : bCSS tt® : ¥« 二 一丁 KJ»?
* S 「:: ■ . • WS3M ■■OHKHI
1 wiy/eea ££« as? re*}?i5*> M23387 PC2U17C42MKKX)?0Ute
巒遜锂较 2 FMTr-»l?C3-3T487 i?.*« 上 <e?♦钊 H& 2W区 ■in洌 M5U3387 K3« PC-2OVM21-OOW0eC15 • $ ?
3 FHT2-2017G3-37487 e±s 上话必 *? ftBS255< ^20170421 0G&3G&&14 '趙
£车援沁漣 4 FkiTZ-20Tn3-37^ e±si 上眄绽WS&k ®8E S55R^ 冋 SS850518 xSSS P62O1RG.(K腑KJ(片 3 :'履
•Si炭每破 g FHTZ-2017G3-374ST 上鸟无W阿贸即曲宅 赵耳 a& sts 畑&280E F3017d421 -Wm36Cl2 \
虧爲鹤躍 « FHTZ-201?€3-37487 SSES 上舄眾公疼 *«s 娈紀*55阍 WE9336E PC-»1?3421^e9C0C911
FHTZ-2W374C; EJE5E 上味gS3®S*WW迪 5JS«? J&2 SICS 1^5Et5?) M£?W134 !^K ?0-201?0421-000^0-!0 '遢
e FHTZ-201?C>374e7 ets ±»轴灌3»;5卷WRK 区 fife: REU953? »sa? PC-201?6421-!WOa04'!JOS >.
9 FHTZ-2017C3-3T4S? 上•天◎鋅気昱酥2:'«5 S2S« XK3. SWX1052 2«s PC-2G57W21-aOWK»3iW '
K FHtZ-2»3?C>374«7 上澤乏 sse «BX<5?5 wait pc-2t>vo42i-iMxxmm
11 FHrX-205?C3-374e7 0£«? EKS? U祸区同 SSU3337 张烹菱 PC-2G17C4:-!-000?>Oe&Oe 、.
15 FHTZ-2017C3-374S7 fS&K 3WZ »S0005A PC-2C17W21-0OWG0535 '■
13 FHTZ-231?C3-37*6? 21.S 兹翩 你g MBU333? as* PO»170421 -«®0OOO<>4
K FWT2-2317C3 S7487 虽或上日海公題 *Sf 圭遵迖 •?=«§&.<«} - MB?«333 353ftB PC-2017042! -0CKXJ35&fl2 \ •
右;*
A 20 爲 :” ' 38 1 矣兴"9灵 » H C
 
图5-51运单生成实现效果图
Figure 5-51 Screenshot of waybill create implementation
5.3.6货物监控模块的设计与实现
 
货物监控是发货方及货代方根据业务需求,对运输过程中的各个环节及货物 信息进行监控管理,包括需求监控、计划监控、运单监控、单品监控4个功能项 组成。其流程图如图5-52所示。
 
图5-52货物监控流程图
Figure 5-52 Cargo monitoring flow-process diagram
 
货物监控模块中包含四个监控功能,但实现过程完全一致。其中 CargomonitorManageAction是货物监控的控制类,接收前端JSP页面传递过来的参 数;ICargomonitorService是货物监控的接口类,接收action发送过来的请求; CargomonitorServicelmpl 继承自 ICargomonitorService,是货物监控接口实现类,其 中findRequestProcess 10用于需求监控,findPlanProcess2()用于计划监控, fmdWaybillProcess30用于运单监控,findByCargoCodeNoProcess4()用于单品监控; CargomonitorDao是货物监控的数据操作类,实现对数据库的操作。其类图如图5-53 所示。
 
图5-53货物监控类图
Figure 5・53Cargo monitoring class diagram
 
 
5.4系统管理模块详细设计与实现
系统管理是对系统及系统各用户的基础信息进行管理和维护,并对系统的人 员、组织、角色、功能及权限等进行管理和维护,为其它模块提供数据支持。由 日志管理、异常管理、基础信息管理、接口管理、系统管理、服务监控6大功能 模块组成。系统管理模块组成如下图所示:
5.4.1日志管理模块的设计与实现
该功能对系统操作日志进行管理,记录用户对系统的访问及操作,方便系统 的管理和维护,可实现日志查询及文件导出操作管理。其时序图如图5-55和5-56 所示。
 
 
 
 
图5-56日志査询时序图
Figure 5-56 Log search sequence diagram
在日志管理中Loginterceptor是用户访问日志监听类,负责监听所有用户的访 问;BLogAction是日志管理控制类,接收前端JSP页面传递过来的参数; IBLogService是日志管理接口类,接收action发送过来的请求;BLogServicelmpl 是IBLogService的接口实现类,负责日志抓取、查询操作,其核心方法是 queryUserLogList()用于查询用户日志信息列表;UserLogDB类为用户日志实体类; BLogDao是用户日志数据操作类,直接对数据库进行操作。同时BLogServicelmpl 还调用PDepartmentDAO查询组织信息,调用BSysfunctionDAO查询功能名称。 其类图如图5-57所示。
 
图5-57日志管理类图
Figure 5-57 Log management class diagram 其实现效果图如图5-58所示:
 
 
5.4.2异常管理模块的设计与实现
对系统的异常信息进行记录和管理,方便系统管理维护,实现异常记录査询
及删除操作管理。其流程图如图5-59所示。
 
图5-59异常管理时序图
Figure 5-59 Exception management sequence diagram
在异常管理中异常的获取由系统Try/catch捕捉系统运行时异常,调用 VMSException构造方法,VMSException记录异常信息存入数据库,完成异常添 加操作。BsysexceptionAction是异常管理控制类,接收前端JSP页面传递过来的参 数;IBsysexceptionService是异常管理的接口类,接收action发送过来的请求;
 
BsysexceptionServicelmpl是异常管理实现类,实现了对异常信息的查询,删除操 作;核心方法为query。和delete。。VMSExceptionDao是异常管理的数据操作类, 实现对数据库的操作。VMSException是异常管理对应的数据实体类,与数据库表 进行关联。其类图如图5-60所示。
 
 
 
 
图5-60异常管理类图
Figure 5-60 Exception management class diagram
其实现效果图如图5-61所示:
图5-61异常管理实现效果图
Figure 5・61 Screenshot of exception management implementation
5.4.3基础信息管理模块的设计与实现
基础信息管理主要实现对发货方发运货物的货物类别信息进行管理的功能, 实现货物大分类、小分类及其下的货物名称的增、删、改、査操作管理。其流程
图如图5-62所示。
 
图5・62基础信息管理流程图
Figure 5-62 Basic information management sequence diagram
基础信息管理主要是对货物进行分类管理。其中WhCargoCategoriesAction是 货物类别管理控制类,接收前端JSP页面传递过来的参数; IWhCargoCategoriesService是货物类别管理接口类,接收action发送过来的请求; WhCargoCategoriesServicelmpl是货物类别管理接口实现类,其中主要分为大、小 货物类别两类增删改查方法的实现,listMainO用于实现大分类货物信息的查询, listSideO用于小分类货物信息的查询;CargoCategoriesMainDao是货物大分类的数 据操作类,CargoCategoriesSideDao是货物小分类的数据操作类。其类图如图5-63 所示:
 
 
 
图5-63基础信息管理类图
Figure 5・63 Basic information management class diagram
其实现效果图如图5-64所不:
Q3C@IS3 S3 熬目
58轄曲熔琢:
 
 
 
 
* 4Z& 力 / < 4 g'i 〜 A — . ~ " 3s 乂. f 亠 ” » 、 +4 Q'd “衣 ~、4 切”亠>
20 •/ ■;' '・M 1 艮关仗 -O 蛊和泌怒20園 ;-91 1 夕% 6 显刹刼«_尧僚迅爲
图5-64基础信息管理实现效果图
Figure 5・64 Screenshot of basic information management implementation
5.4.4接口管理模块的设计与实现
接口管理主要实现系统与外部系统之间的数据交流,并对交流数据进行一定 的处理及管理,目前外部系统主要指国丰相关系统,通过运输单位接口接收系统 外的国丰运输车队信息,并与系统内相对应的车队信息进行关联或关联解绑,可 对国丰车队信息及关联信息进行査询。其时序图如图5-65所示。
 
 
图5-65接口管理时序图
Figure 5-65 Interface management flow-process diagram
接口管理目前主要实现的是与国丰运输单位关联。其中GuofOrgMasterAction
 
接口管理控制类,接收前端JSP页面传递过来的参数,其与IMotorcadeService相关 联,调用其中的findAllMotorcadeByParamsO方法查询车队信息; IGuofOrgMasterService是接口管理接口类,接收action发送过来的请求; GuofOrgMasterServicelmpl是接口管理实现类,其中queryPageList。用于查询国丰 车队信息,updateGuofOrgMasterByParams()用于关联或解绑操作; GuofOrgMasterDao接口管理的数据操作类,实现对数据库的操作。其类图如图5-66 所示。
 
5.4.5系统管理模块的设计与实现
对系统用户进行管理,实现对系统用户的添加、修改、删除、查看、用户角 色设置、用户权限设置等操作。通过添加等基本操作能够实现对用户的添加,对 己有用户基本信息的修改,对离职或其它原因造成不需要使用该系统的用户进行
删除,通过角色设置和权限设置能够为用户分配对应权限,实现访问控制, 便于对系统用户的管理和维护。由用户管理、角色管理、权限管理、系统设置4 个功能点组成。其流程图如图5-68所示。
 
 
系统管理主要包括用户管理、角色管理、权限管理、系统设置等功能点的实 现。其中,PUserAction是用户管理控制类,它的接口类是IPUserService,同时还与 IBSysroleService相关联,在添加用户时调用其userAddRoles()方法添加用户角色信 息。BSysRoleAction是角色管理控制类,IBSysRoleService是角色管理接口类,其 中rolesToUserO方法将多个角色分配给用户,usersToRole。方法将多个用户分配给 一个角色。BSysrightAction是权限管理控制类,它的接口类是IBSysrightService; 同时它与 ISysMenuService, ISysFunctionService, IsysPageelService 相关联,其中 addSysMenu方法是添加系统新菜单权限;addSysFunction添加系统功能权限; addSysPageEl添加系统中页面权限。SysConfigureAction是系统设置的控制类, ISysConfigureService是其接口类,其核心方法是sysSettingList。用于获取系统设置 信息。其类图如图5-69所示。
 
图5-69系统管理类图
Figure 5-69 System management class diagram
 
图5-70用户管理实现效果图
Figure 5-70 Screenshot of user management implementation
5.5本章小结
本章针对本人所参与的系统模块进行了详细设计和实现说明,包括车队管理、 运营管理、运输管理、系统管理。通过对各个功能点的核心方法进行阐述,并且 利用流程图来辅助说明,完成了各个模块具体功能的实现。下一章将对系统的测 试与验证进行说明。
6物流运输信息管理系统测试与验证
软件测试[28,29]是软件开发生命周期中的检验阶段,是维护系统正确性和完整性 的关键一环,完善的软件测试是系统质量的重要保障,成功的测试可以是发现至 今为止尚未发现的错误,这就要求设计有完善的测试用例。本章主要从系统的功 能性需求和非功能性需求出发设计测试用例,并展示测试结果。
6.1功能性测试
本系统采用的单元测试工具为Junit卩叭findbugs:辅助测试工具为fiddler、 wireshark〔3讥由于本系统所包含的功能点过多,本章节只列出部分核心测试用例。 表6-1为车队管理模块的车队信息管理测试用例,如下表所示:
表6-1车队信息管理测试用例
Table 6・1 Fleet information management test case
编号 功能描述 前序条件 操作步骤 预期结果 测试结果
Tc-001 车队信息查询 打开车队管 在车队名称中,输 可以模糊查询 通过
理的车队信 入“测”,点击查 到所有包含
息维护界面 “测”的记录
Tc-002 车队信息审核 打开车队管 勾选“未审核”的 弹出确认面 通过
理的车队信 记录,点击审核按 板,提示是否
息维护界面 钮,弹岀确认面板, 确定审核,点
点击“确定” 击确定,提示
“操作成功”
Tc-003 车队信息删除 打开车队管 选择一条数据点击 弹出“是否确 通过
理的车队信 删除,弹出“是否 认删除”窗口,
息维护界面 删除”提示框点击 点击确认后提
确认按钮 示“删除成
功!”
Tc-004 车队信息重置 打开车队管 鼠标划过“重置” “重置”按钮 通过
理的车队信 按钮;在输入框输 变色;输入框
息维护界面 入任何信息,点击 重置成默认状
重置按钮 态,列表刷新
 
 
表6-2为运营管理模块的报价规则设定测试用例,如下表所示:
表6-2报价规则设定测试用例 Table 6・2 Quotation rules setting test case
编号 功能描述 前序条件 操作步骤 预期结果 测试结果
Tc-001 报价规则添加 打开运营管
理的报价规
则设定界面 点击添加按钮,弹出 添加详情窗口,输入 正确信息,点击确定 按钮 正常显示,且 出现“添加成 功!”提示 通过
Tc-002 报价规则修改 打开运营管
理的报价规
则设定界面 选择一条数据,点击 修改,修改“报价规 贝『'后,点击确认按 钮 提示“操作成 功!”,数据 列表刷新。 通过
Tc-003 报价规则删除 打开运营管
理的报价规
则设定界面 选择一条数据点击 删除,弹出“是否删 除”提示框点击确认 按钮 弹出“是否确 认删除”窗 口,点击确认 后提示“删除 成功!” 通过
Tc-004 报价规则重置 打开运营管
理的报价规
则设定界面 鼠标划过“重置”按 钮;在输入框输入任 何信息,点击重置按 钮 “重置”按钮 变色;输入框 重置成默认 状态,并且列 表页面刷新 通过
 
表6-3为运输管理模块的车货关联管理测试用例,如下表所示:
表6-3车货关联测试用例
Table 6・3 Vehicle goods association test case
编号 功能描述 前序条件 操作步骤 预期结果 测试结果
Tc-001 运单记录查询 打开运输管
理的车货关
联管理界面 输入错误的信息,点
击查询按钮 查询不到任
何信息 通过
 
表6-3 (续表)
编号 功能描述 前序条件 操作步骤 预期结果 测试结果
Tc-002 货物追加 打开运输管 选择一条数据,点击 弹出“货物详 通过
理的车货关 货物追加,在弹出的 情窗口”,点
联管理界面 窗口中录入货物详 击确定后提
情,点击确定 示“操作成
功!”
Tc-003 车货匹配 打开运输管 选择一条数据,点击 弹出“车货匹 通过
理的车货关 车货匹配,关联运单 配”窗口,点
联管理界面 相关车辆与货物清 击确认后提
单,点击确定 示“操作成
功!”
Tc-004 关联详情 打开运输管 选择一条已关联数 弹出“关联详 通过
理的车货关 据,点击关联详情 情”窗口,正
联管理界面 常显示信息。
 
表6-4为系统管理模块的用户日志测试用例,如下表所示:
表6-4用户日志测试用例 Table 6-4 User log test case
编号 功能描述 前序条件 操作步骤 预期结果 测试结果
Tc-001 日志查询 打开系统管 输入正确信息,点击 正常显示所有 通过
理的用户日 查询按钮 信息
志界面
Tc-002 日志重置 打开系统管 鼠标划过“重置”按 “重置”按钮变 通过
理的用户日 钮;在输入框输入任 色;输入框重置
志界面 何信息,点击重置按 成默认状态,并
且列表页面刷
Tc-003 日志删除 打开系统管 选择一条数据点击 弹出“是否确认 通过
理的用户日 删除,弹岀“是否删 删除”窗口,点
志界面 除”提示框点击确认 击确认后提示
按钮 “删除成功!”
 
表6-4 (续表)
编号 功能描述 前序条件 操作步骤 预期结果 测试结果
Tc-004 分页 打开系统管
理的用户日
志界面 在每页显示的记录 条数的下拉框中选 择数字,点击刷新按 钮 下拉框有下拉
效果,能够刷新
显示记录 通过
 
6.2非功能性测试
非功能性测试是主要是针对系统的性能进行检测,此处主要进行了系统对不 同浏览器的兼容性以及本系统的可靠性进行了测试用例的设计。检测系统在多种 浏览器环境下的使用情况及在运行过程中的正常运行时间。
表6-5将验证系统在火狐浏览器和IE浏览器下的操作情况,如下表所示:
表6・5多种浏览器下的兼容性测试用例
Table 6-5 Different web browser test case
测试编号 TC6-01
测试功能点 多种浏览器下的兼容性测试
测试级别 非功能性测试
测试目的 验证系统在不同的浏览器环境下是否能正常使用
前置条件 用户已经安装火狐浏览器和IE浏览器
测试流程 (1)用户使用火狐浏览器登录系统,对系统中的各个模块功能进行操作
(2)用户使用IE浏览器登录系统,对系统中的各个模块功能进行操作
预期结果 在两种浏览器环境下均可正常使用
测试结果 成功
失败原因
测试日期 2017.04.02
表6-6将验证系统的可靠性(无故障运行时间),如下表所示:
表6-6系统可靠性测试用例
Table 6・6 System reliable test case
测试编号 TC6-02
测试功能点 系统可靠性测试
测试级别 非功能性测试
 
 
表6-6 (续表)
Table 6-6(Continue)
测试目的 前置条件 测试流程 预期结果 测试结果 失败原因 测试日期 验证系统无故障情况下的正常运行时间
系统开发完成且可正常运行
用户在系统正常运行的情况下持续进行相关操作
系统在较长时间内科持续运行,状态良好
成功
2017.04.02
 
6.3缺陷统计
本节主要是在前一节测试完成的基础上对测试结果进行统计分析后所得出的 该系统目前所存在的缺陷问题,下面将分两种类型进行展示。
按模块统计,系统缺陷统计如下图6-1所示:
模块
2炉2釦
 
车辆监控怨运营管理遂运输管理«车臥管理「业务管理 ■统计分析系统管理呼叫中心仓诸管理
 
图6-1模块缺陷统计图
Figure 6-1 Module defect statistics diagram
按严重级统计,系统缺陷统计如下图6・2所示:
严重级
 
致命■!很严重鎳小错误■优北
图6-2严重级缺陷统计图
Figure 6-2 Serious defect statistics diagram
 
6.4本章小结
本章主要介绍对平台的测试与验证情况,主要为功能性测试,其中对核心功能 进行了测试说明,并用测试用例来辅助,同时还对整个测试结果进行了缺陷统计, 保证使各项功能都达到用户要求。
7论文总结
在实习这段期间,本人加深和巩固了 Java的相关技术和使用原理,同时对依 托于Java的相关框架有了更加深入的认识和理解,特别是对jqueiy、spring和 hibernate这三种技术有了深刻的领悟。同时学习到了相关的设计规范及原则,极 大的提高了自身实际开发的能力。
本文首先分析了当前物流系统开发领域的背景和现状,阐明了开发此系统的意 义。接下来分别按照软件开发流程进行了需求分析、概要设计、详细实际和测试 环节的介绍。在需求分析阶段主要是根据客户需求及市场中现存系统的不足之处 加以改进,强调了解决车货信息不对称的问题。在概要设计阶段,进行了系统总 体架构设计、技术选型及数据库设计,构造岀系统的整体骨架。详细设计阶段则 具体介绍了各功能的实现流程及其中的相关实现类。最后在测试阶段分别进行了 单元测试和集成测试,保证系统的可用性和可靠性。由于此系统功能较多,受限 于文章篇幅有限,故本人在此论文中着重介绍了自己所参与的功能模块的开发, 其中包括车辆监控、车队管理、运营管理、运输管理和系统管理五个模块。
本系统已经上线试运行,且运行状况良好。Android端也已同步使用。下一步 将积极接受用户反馈,在此基础上完善系统需求,提升系统的合理性。而且由于 本系统的功能点较多,操作起来具有一定的复杂性,不利于新用户的快速上手及 用户的扩展,因此接下来要对现有功能进行整合,进一步提高系统的易用性。随 着用户的不断增多,在对大数据的处理及服务处理环节要进行进一步优化处理, 提升系统的整体质量。
参考文献
[1]张小艺.在物流互联网技术下打造智能物流系统[J].物流技术与应用,2015,(03):91-93.
[2]LiuLi,GuoFeiZhang,TangPeng.ResearchonCodeSeparationTechnologyinB/SFramework[J].App liedMechanicsandMaterials,2014,3066(539):3 7-39.
[3]宋汉增,沈琳.利用Hibernate对象持久化服务简化Java数据库访问[J].计算机应用,2003, 23(12):135-137.
[4]Mou'ath, Hourani, Qusai, Shambour, Ahmad, Al-Zubidy, Ali, Al-Smadi. Proposed Design and Implementation for RESTful Web Server[J]. Journal of software, 2014, 9(5): 1071-1080.
[5]周巧俊.RESTfulWeb服务开放平台的设计与实现[D].浙江大学,2016.
[6]ChunShan,LuXiaWu, Yang Yang,JingFengXue.Designa ndlmplementationofDynamicWebServic esPublishingSoftwareBasedonCXF[J].AdvancedMaterialsResearch,2014,3326(989):43-46.
[7]刘英丹,董传良.利用WebService实现企业应用集成[J].计算机应用,2003,23(7): 124-127.
[8]李峰,刘彦隆.基于SSH框架与jQuery技术的JavaWeb开发应用[J].科技情报开发与经 济,2010,(06):106-108.
[9]VasileG.Teodorovici.jQueryJQueryUIandjQueryMobilefJJ.ACMSIGSOFTSoftwareEngineerin gNotes,2013,38(5):13-16.
[10]王昱.高性能的HTTP引擎—— rizzly[几程序员,2008,(02):124-126.
[11]DavidJ.MattsonjStephenHerrero^.GeraldWrightjCraigM.Pease.ScienceandManagementofRock yMountainGrizzlyBears[J].ConservationBiologys2002,10(4):13-15.
[12]封玮,周世平.基于JavaNIO的非阻塞通信的研究与实现[J].计算机系统应用,2004,(9): 32-35.
[13]杨开杰,刘秋菊,徐汀荣.线程池的多线程并发控制技术研究[J].计算机应用与软件, 2010, 27(1):168-179.
[14]邱祝文.基于redis的分布式缓存系统架构研究[J].网络安全技术与应用,2014,(10):52-54.
[15]Hrlshlkesh Dewan.REDIS: the Data Structure Server for your Cloud[J].PC
quest,2011 ,(May): 16・1 &
[16]Brad Fitzpatrick.Distributed Caching with Memcached[J].Linux joumal,2004,0( 124):72-74,76,78-0.
[17]张建军,刘虎,倪芳英.基于SSH与Highcharts整合架构的Web应用研究[几 计算机技术 与发展,2013, (9):245-251.
[18]代威潼运成•基于jQueryEasyUI与SpringMVC框架的信息管理系统自动提示的设计与实 现[几信息与电脑(理论版),2016,(13):33-34.
[19]薛峰,梁锋,徐书勋,王彪任•基于SpringMVC框架的Web研究与应用[几合肥工业大学学报 (自然科学版),2012,(03):337-340.
[20]Martin, Reiss. An integrative hierarchical spatial framework for spring habitats[J]. Journal of Landscape Ecology, 2013, 6(2): 65-77.
[21]JunWuXu,JunLingLiang.ResearchonaDistributedStorageApplicationwithHBase[J].AdvancedM ateriaIsResearch,2013,2200(631):33-36.
[22]Susan Gantner.MySQL Table Access[J].System iNEWS,2010,(5 TN.367):a5-a6.
[23]欧黎源,邱会中,白亚茹.基于JPA的数据持久化模型设计与实现卩]・计算机工程,2009, 35(20):76-80.
[24]Pimentel, Victoria,Nickerson, Bradford G.Communicating and Displaying Real-Time Data with WebSocket[J].IEEE internet computing,2012,16(4):45-53.
[25]Kun Ma,Weijuan Zhang.Introducing browser-based high-frequency cloud monitoring system using WebSocket proxy [J].International journal of grid and utility computing,2015,6(1 ):21 -29.
[26]林子雨,邹权,赖永炫,林琛•关系数据库中的关键词查询结果动态优化[J]・软件学 报,2014,(03):528-546.
[27]SibinZhu,GuixianLi,JunweiHan.AnImprovedPSOAIgorithmwithObject-OrientedPerfbrmanceD atabaseforFlightTrajectoryOptimization 卩].JoumalofComputers,2012,7(7):56-59.
[28]王薬藁.软件测试理论初步框架[几 计算机科学,2014,41(3):12-16,
[29]Erik Rogstad,Lionel Briand,Richard Torkar et al.Test case selection for black-box regression testing of database applications[J].Information and software
technology,2013,55(10):1781-1795.
[30]KaiBai, DonghuaCui. Research of Automatic Unit Test Based on JUnit[J]. COMPUTER AND DIGITAL ENGINEERING, 2010, 38(2): 52-55.
[31]QinglinLUO, KefuXU, WenyiZANG, JingangLIU. Network protocol parser and verification method based on Wireshark[J]. COMPUTER ENGINEERING AND DESIGN, 2011, 32(3): 770-773.
【本文地址:https://www.xueshulunwenwang.com//guanlilei/gongshangguanli/xixinguanli/5848.html

上一篇:大学生创业信息管理系统的研究与开发

下一篇:公安部门人口信息管理系统的设计与实现

相关标签: