基于BS模式的顺捷安小件快运系统设计与实现.docx
《基于BS模式的顺捷安小件快运系统设计与实现.docx》由会员分享,可在线阅读,更多相关《基于BS模式的顺捷安小件快运系统设计与实现.docx(36页珍藏版)》请在冰豆网上搜索。
![基于BS模式的顺捷安小件快运系统设计与实现.docx](https://file1.bdocx.com/fileroot1/2023-2/6/4cc64b92-e019-4d03-bf1f-e72467207c91/4cc64b92-e019-4d03-bf1f-e72467207c911.gif)
基于BS模式的顺捷安小件快运系统设计与实现
基于B/S模式的顺捷安小件快运系统设计与实现
内容摘要
顺捷安小件快运系统主要整合省内小件快运资源,打造省内小件快运品牌,推广客车附搭小件快运网络。
通过车站管理模块、线路管理模块、用户管理模块、托运管理模块、接货管理模块、取货管理模块、商务事故管理模块等功能来实现快运网络的综合管理。
系统采用B/S开发模式,选择J2EE企业级开发,开发工具选择MyEclipse8.6、SQLyog,采用Tomcat服务器技术,后台数据库选择MySQL。
本系统可以方便快捷地实现货物的托运、接取、货物是否发生事故等操作,特有的日志管理模块能方便的查看用户进行的操作,方便管理,使整个小件快运流程井井有条,为物流的发展提供了良好的条件。
关键字JAVA、JSP、Servlet、Tomcat、MySQL
DesignandimplementationofShunJiesafetySmallExpresssystembasedonB/Sarchitecture
Student:
MingShengWeiSupervisor:
RuiMou
Abstract
ShunJiesafetySmallExpresssystemintegrationoftheprovinceofsmallpiecesofExpressresourcestocreatetheprovinceofsmallpiecesofExpressbrand,topromotebusattachedtotakesmallpiecesofexpressnetwork.Stationmanagementmodules,linemodules,usermanagementmodule,shippingmodule,receivingmodule,pickupmanagementmodule,businessincidentmanagementmodulefunctionstoachievetheintegratedmanagementoftheExpressNetwork.Thesystemcanbequicklyandeasilyachievetheconsignmentofgoods,access,whetherthegoodsaccidentsinoperation,uniquelogmanagementmodulecaneasilyviewtheuseroperationtofacilitatethemanagement,theentiresmallpiecesofExpressprocessesinperfectorder,thelogisticsofprovidesagoodcondition.
KeywordsJAVA、JSP、Servlet、Tomcat、MySQL
1引言
1.1开发背景
随着计算机科学技术的发展,其强大的功能以及简单快捷的操作给了人们深刻的认识,计算机如今已进入人类社会的各行各业并在其中发挥着举足轻重的重要。
信息的系统的运用,使用计算机对信息以及复杂的过程进行管理,具有以往的手工管理无法比拟的优势。
小件快运是指始发客运站将旅客或托运人的小件行包或者物品,通过客车行李舱,随同班车的始发和抵达将行包物品运抵目的地客运站,并由抵达客运站将快运物品交付收件人的服务。
小件快运经营范围:
小件工业品、农副产品、印刷品、药品、服装等物品,单件物品重量一般不得超过30千克,体积不超过0.12立方米,特殊情况应视客车行李舱的容积和承载能力,但必须以不危及客车和旅客的安全为原则。
小件快运实行一次托运、全程负责,配载总量不得超过客车行李舱的核定质量。
严禁危险品、违禁品、易损、易破、易污染、易腐烂物品和国家规定的禁、限运物品的托运;不受理贵重物品(全额保险保价除外)、现金、各类有价证券以及包装不符合运输要求的物品。
鼓励托运人办理客运快件保险或保价。
小件快运系统整合结合四川各个车站,利用客车资源,达到小件快运的目地。
本项目主要为整合各个车站的运输线路,使整个四川各城市之间建立小件运输网络。
达到资源最大化利用。
整个系统将分为车站方,承运方和管理方三个机构实体。
车站主要管理发货和接货业务,承运方主要管理车辆信息及驾驶员信息,管理方主要保证整个平台的正常运行及日常维护,对各机构信息进行管理。
作为计算机应用的一部分,使用计算机对小件快运流程进行管理,有着传统人工管理无法比拟的优势。
例如:
方便查找,快速检索数据,安全性高、存储量大等。
1.2文档目的
本文档经软件开发小组的收集及整理,主要描述了快运公司未来的业务需求及管理需求,跟据业务需求所整理的软件系统的设计规格。
其中包括了业务流程设计,系统模块及功能设计,数据字典的设计等。
本文的最终目地是为了详细描述系统的设计功能,以该文档的内容为设计基础,为系统架构师提供设计输入,给客户描述未来的系统。
1.3产品介绍
快运公司,结合四川各个车站,利用客车资源,达到小件快运的目地。
本项目主要为整合各个车站的运输线路,使整个四川各城市之间建立小件运输网络。
达到资源最大化利用。
整个系统将分为车站方,承运方和管理方三个机构实体。
车站主要管理发货和接货业务,承运方主要管理车辆信息及驾驶员信息,管理方主要保证整个平台的正常运行及日常维护,对各机构信息进行管理。
1.4用户群体
车站工作人员,顺捷安公司工作人员
1.5运行环境
系统对运行环境的要求:
硬件环境
(1)服务器端
处理器:
InterPentium41.6GHz或更高
内存:
2.0GB
硬盘空间:
500GB
光驱:
CD-ROM
显卡:
SVAG显示适配器。
(2)客户端
处理器:
InterPentium1.0GHz或更高
内存:
1.0GB
硬盘空间:
250GB
光驱:
CD-ROM
显卡:
SVAG显示适配器。
软件环境
(1)服务器端
操作系统:
Windows2000Server
web服务器:
Tomcat
数据库:
MySQL5.0
(2)客户端
操作系统:
具备浏览器的操作系统
2开发技术介绍
2.1J2EE技术
J2EE的本质是对分布式、面向对象的基础结构的定义。
在这个分布式的环境中对象要相互通信,容器就必须提供相应的机制。
在J2EE标准中的通信机制包括:
远程方法调用的RMI/IIOP、有计划地访问E-MAIL的JAVAMAIL和基于报文存取技术的消息。
下图显示了J2EE的对象模型:
2.2J2EE常用设计模式---工厂模式
工厂模式:
根据工厂模式实现的类可以根据提供的数据生成一组类中某一个类的实例,通常这一组类有一个公共的抽象父类并且实现了相同的方法,但是这些方法针对不同的数据进行了不同的操作。
首先需要定义一个基类,该类的子类通过不同的方法实现了基类中的方法。
然后需要定义一个工厂类,工厂类可以根据条件生成不同的子类的实例。
当得到子类的实例后,开发人员可以调用基类中的方法而不必考虑到底返回的是哪一个子类的实例。
2.3MVC设计模式---Model-View-Control
MVC对应于电子商务应用框架:
-模型(Model)由JavaBeans表示。
-视图(View)由JSP来实现。
-控制(Control)逻辑由JavaServlet来实现。
2.4WEB应用服务器---Tomcat
Tomcat是一个免费的开源的Serlvet容器,在Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。
Tomcat也具有传统的Web服务器的功能:
处理Html页面。
但是与Apache相比,它的处理静态Html的能力就不如Apache。
我们可以将Tomcat和Apache集成到一块,让Apache处理静态Html,而Tomcat处理JSP和Servlet。
这种集成只需要修改一下Apache和Tomcat的配置文件即可。
在Tomcat中,你还可以利用Servlet2.3提供的事件监听器功能,来对你的应用或者Session实行监听。
基于Tomcat的开发其实主要是JSP和Servlet的开发。
2.5MySQL简介
MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司。
在2008年1月16号被Sun公司收购。
而2009年,SUN又被Oracle收购。
MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内。
这样就增加了速度并提高了灵活性。
MySQL的SQL“结构化查询语言”。
SQL是用于访问数据库的最常用标准化语言。
MySQL软件采用了GPL(GNU通用公共许可证)。
由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
与其他的大型数据库例如Oracle、DB2、SQLServer等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQLCluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。
对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。
3系统需求分析
3.1可行性分析
经济性:
主要是对项目的经济效益进行评估,本系统开发经费对于本单位是可以接受的,并且本系统实施后可以显著提高工作效率,有助于小件快运实现信息化管理。
所以本系统在经济上是可行的。
实用性:
本系统对于客运中心实现小件快运的合理化管理和工作上的高效性都是很好的应用软件。
大中型客运站可以使自己的管理水平和工作效率进一步的提升,小型客运站可以实现对人员管理的正规化以及简单化。
3.2系统总体功能介绍
3.2.1系统角色
超级管理员、车站管理员、开单员、接货员、取货员
3.2.2系统总功能
顺捷安小件快运系统共有9个模块:
用户管理、托运管理、接货管理、取货管理、商务事故管理、车站管理、线路管理、财务管理、日志管理。
如下图:
4系统功能设计
4.1托运管理模块
托运管理模块式整个平台的核心,主要呈现给用户整个托运过程所接触的信息。
包括:
搜索托运单、新增托运单、修改托运单、查看托运单四个子功能。
操作角色:
开单员。
(1)搜索托运单:
开单员登录系统,能够搜索本车站已经开单的托运单信息。
(2)添加托运单:
当托运人办理托运货物业务时,为了确保货物各种信息的准确性,需要根据托运人的信息录入托运单信息。
(3)修改托运单:
开单员开单结束之后,如果发现出车时间或者车辆信息有误,可以修改托运单。
但是只能修改发车时间和车牌号。
(4)查看托运单:
开单员能够查看本车站托运单的详细信息。
4.2接货管理模块
接货管理模块主要是对到达接货车站的货物进行集中验收。
操作员:
接货员。
(1)接货单搜索:
接货员搜索即将达到本车站的接货单信息。
(2)接货:
通过核对货单号,将托运单标记为已到站,如果接货过程中产生了商务事故,接货员可以将此托运单标记为商务事故。
4.3取货管理模块
货物到达终点车站后,取货人可以到车站受理点办理取货业务,取货人领取货物时,取货员根据取货人提供的有效证件将托运单给取货人。
操作角色:
取货员
(1)取货搜索:
根据业务,取货员需要能查看和搜索到自己车站要取货的货物。
(2)取货:
客户来取货时,要将要取货的托运单标记为已取货,如果取货时产生了商务事故,取货员可以将此托运单标记为商务事故。
4.4商务事故管理模块
在办理托运业务后,搬运,运输,仓储都有可能发生事务,事故一旦发生,必须将该笔托运单业务转为商务事故进行处理,因此一个托运单有可能发生多次事故。
操作角色:
超级管理员,车站管理员
(1)搜索商务事故:
超级管理员可以查看所有商务事故的详细信息,车站管理员只能查看与自己车站有关的商务事故的详细信息。
(2)处理商务事故:
操作人员发现货物破损或丢失,进入商务故事故处理环节,处理一个商务事故时,要记录处理的情况,结果和处理人姓名。
4.5用户管理模块
用户管理模块贯穿平台整个流程,是支撑系统运营的核心模块。
用户管理主要是对用户和跟用户相关的资源,基本信息等进行的操作。
(1)添加用户:
车站管理员可以添加本车站相关用户,再为此用户分配系统帐号和密码,同时设置此用户的角色。
超级管理员可以查看系统新添加的用户,但不能查看用户的密码。
(2)搜索用户:
车站管理员和超级管理员要对某个用户进行操作时,可以通过关键词条的组合进行组合搜索,快速定位到用户。
(3)查看用户信息:
当车站管理员和超级管理员通过搜索找到他需要的用户时,可以通过查看用户信息的方式,知道用户的详细信息。
用户可以查看自己的信息。
超级管理员也可以查看各个车站的用户信息。
(4)修改用户基本信息:
用户可以在个人信息管理界面对自己的基本信息进行修改。
超级管理员可以修改所有用户信息。
车站管理员可以修改自己车站的用户信息,但不能修改用户密码,只能重置密码。
4.6车站管理模块
车站管理模块负责将车站自身的信息呈现给平台,车站管理员和超级管理员可以对车站的信息进行查看,修改,删除等操作。
(1)创建车站:
当有新车站加入平台时,车站管理员需要将新车站的信息录入平台。
提高平台各种信息的实时性,准确性。
超级管理员只负责创建车站。
(2)搜索车站:
超级管理员可以通过搜索方式来快速找到需要修改的车站。
(3)查看车站信息:
当超级管理员通过搜索找到需要的车站时,可以通过查看车站信息的方式,知道车站的详细信息。
车站管理员只可以查看自己车站的信息。
(4)修改车站信息:
某车站的信息发生变化时,该车站的车站管理员需要对此车站的各种信息进行相应的修改,超级管理员也有权对车站的信息进行修改。
4.7线路管理模块
车站与车站之间的托运单运输依赖于线路,没有线路的地方就不会有托运业务,为了提高平台自动搜索线路的准确性,需要线路的相关信息作为辅助,防止因信息不全带来线路搜索上的错误。
(1)添加线路:
当车站拓展业务增加线路时,车站管理员需要将新线路的信息录入到平台。
(2)搜索线路:
车站管理员可以通过搜索方式来快速找到需要的线路信息。
(3)修改线路:
当线路的某些信息发生变化时,车站管理员需要对此线路的信息进行修改。
线路上的起始车站和终点车站不能修改,只能修改线路价格和线路公里数。
4.8财务管理模块
车站需要一个财务报表模块,能统计出车站一段时间内的托运单量和车站总营收额。
(1)统计车站一段时间内的托运单量:
输入统计条件,打印出根据条件的车站的托运单信息,车站管理员只能统计出发货的是本车站或收货的是本车站的托运单,超级管理员能统计出所有的托运单。
(2)统计车站一段时间内的总营收额:
输入统计条件,打印出根据条件的车站的总营业额,车站管理员只能统计出本车站的收入额,超级管理员能统计出所有车站的收入额。
4.9日志管理模块
为了提高整个平台的安全性,任何人进入平台所做的每步操作都要进行详细记录,超级管理员可以查看日志信息。
(1)自动记录日志:
任何人登录平台所做的每步操作,平台会自动记录,防止非法人员进入平台破坏数据。
(2)查看日志:
当平台有异常情况发生时,超级管理员可以通过日志查看,了解每个人登录平台所做的每步操作。
5详细设计
5.1数据库设计
5.1.1数据库环境说明
数据库系统:
MySQL5.0
设计工具:
SQLyog Enterprise v8.14
5.1.2数据库的命名规则
数据库名称使用项目名称的拼音缩写
表名称使用实体名称的英文名称
表中数据项使用数据类型的第一个字母加上实体属性的英文名称
运单号:
车站代码前4位+月+日+5位随机数
业务号:
车站代码前4位+100001(自增长1)
5.1.3逻辑设计
根据项目对各个模块的需求分析,得到数据库的实体以及实体属性,并设计出实体的E—R图和整个项目的E—R图。
5.1.4物理设计
根据项目的实体,分析出数据库的表
根据实体的属性,分析出数据库中表的列
根据实体之间的关系,分析出数据库中表之间的约束。
5.1.5数据库表汇总
表名
功能说明
托运单信息表
存储系统中的所有托运单信息
用户信息表
存储系统中的所有用户信息
角色表
存储系统中的所有角色分类信息
商务事故信息表
存储系统中的所有商务事故信息
货物信息表
存储系统中的所有货物信息
线路信息表
存储系统中的所有线路信息
车站信息表
存储系统中的所有车站信息
5.1.6托运单信息表
表名
托运单信息表
列名
数据类型(精度范围)
空/非空
约束条件
vwaybillid
Varchar(36)
√
主键
iwaybillnum
Varchar(20)
√
ibusibillid
Varchar(20)
√
vclientcode
Varchar(20)
√
vdeliverername
Varchar(16)
√
vdelivernum
Varchar(20)
√
vconsigneename
Varchar(16)
√
vconsigneenum
Varchar(20)
√
vrouteid
Varchar(36)
√
外键
daccepttime
Datetime
vbillstate
Varchar(10)
√
vbillaccistate
Varchar(10)
vcarnum
Varchar(20)
√
ddeparturetime
Datetime
darrivaltime
Datetime
vganner
Varchar(20)
vgannercertitype
Varchar(20)
vgannercertinum
Varchar(20)
tcomment
text
vorderway
Varchar(10)
vtransferpath
Varchar(20)
dcount
double
dsamedispatchtip
Decimal(5,2)
dotherdispatchtip
Decimal(5,2)
dothertip
Decimal(5,2)
dactrualtip
Decimal(5,2)
dsum
Decimal(5,2)
vissupportvalue
Varchar(10)
dsupportvalue
Decimal(5,2)
dsupportsum
Decimal(5,2)
vpayment
Varchar(10)
vcargostate
Varchar(10)
ddeservetip
Decimal(5,2)
vconsignerid
Varchar(36)
√
外键
vrecieverid
Varchar(36)
√
外键
vacquirerid
Varchar(36)
√
外键
5.1.7用户信息表
表名
用户信息表
列名
数据类型(精度范围)
空/非空
约束条件
Vuserid
Varchar(36)
√
主键
Vaccountid
Varchar(20)
√
Vusersate
Varchar(10)
Vpassword
Varchar(32)
√
Vpassquestion
Varchar(40)
Vpassresult
Varchar(40)
Vusercity
Varchar(20)
Vstationid
Varchar(36)
√
外键
Vusrename
Varchar(16)
√
Vusersex
Varchar(10)
Duserbirth
Datetime
Vusernum
Varchar(20)
Vuserqq
Varchar(20)
Vusermail
Varchar(20)
Vuseraddr
Varchar(40)
Vusercertitype
Varchar(20)
Vusercertinum
Varchar(20)
vroleid
Varchar(36)
√
外键
5.1.8角色信息表
表名
角色信息表
列名
数据类型(精度范围)
空/非空
约束条件
Vroleid
Varchar(36)
√
主键
Vroletype
Varchar(16)
√
5.1.9商务事故信息表
表名
商务事故信息表
列名
数据类型(精度范围)
空/非空
约束条件
Vbusiaccidentid
Varchar(36)
√
主键
Taccidentcause
Text
Dhappentime
Timestamp
√
Vaccidentstate
Varchar(10)
√
默认值:
未处理
Vwaybillid
Varchar(36)
√
外键
Vmarkerid
Varchar(36)
√
外键
Vhandlerid
Varchar(36)
√
外键
Tdetails
Text
Dhandletime
Datetime
5.1.10货物信息表
表名
货物信息表
列名
数据类型(精度范围)
空/非空
约束条件
Vdoodsid
Varchar(36)
√
主键
Vwaybillid
Varchar(36)
√
外键
vgoodsname
Varchar(20)
vgoodsnum
Int
vgoodsbarid
Varchar(10)
Vcheckstyle
Varchar(16)
Vpricestyle
Varchar(6)
5.1.11线路信息表
表名
线路信息表
列名
数据类型(精度范围)
空/非空
约束条件
Vrouteid
Varchar(36)
√
主键
vbeginstationid
Varchar(36)
√
外键
vendstationid
Varchar(36)
√
外键
iroutekilometer
Int
√
drouteprice
decimal(5,2)
√
vroutecase
Varchar(6)
√
默认值:
滚动
vroutestate
Varchar(6)
√
默认值:
正常
vroutestyle
Varchar(6)
√
默认值:
同城
5.1.12车站信息表
表名
车站信息表