本科毕业设计论文物流管理系统课程设计Word下载.docx
- 文档编号:1465415
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:47
- 大小:3.68MB
本科毕业设计论文物流管理系统课程设计Word下载.docx
《本科毕业设计论文物流管理系统课程设计Word下载.docx》由会员分享,可在线阅读,更多相关《本科毕业设计论文物流管理系统课程设计Word下载.docx(47页珍藏版)》请在冰点文库上搜索。
过4分钟之后无限制抢单。
该创新点是为了给客户一个公平交易的平台,还能增加受理订单的效率,更重要的是提高抢单的积极性。
公平性体现在使价格透明化,抢单者可以公平竞价,发单人可以根据个抢单者的报价和配送方案选择一个最优的解决方案,可以避免盲目选择一个抢单人垄断配送的情况。
3.3.2地图定位及路线推荐
地图定位可以显示3公里以内的订单,抢单者可以根据自身情况选择想要配送的订单,一旦抢单成功后,地图还可根据目的地和发单者的所在位置推荐多条路线。
这个创新点可以使系统操作变得友好、方便,减少直接搜索带来的繁琐问题,一个系统的开发设计要考虑到用户操作是否流畅和人性化,这个设计可以直观的将信息展示给用户,避免查询带来的误差和低效率。
二、概念模型设计与系统模块划分
1.概念模型设计
本阶段设计出7个关系:
●用户表:
用户ID,昵称,姓名,身份证号,密码,手机号,邮箱,等级,注册时间,证件照;
●评价表:
序号,服务态度,到货速度,完整性满意度,心得;
●抢单表:
抢单编号,运输费用,保证金,交通工具,手机号,目前所在地点,抢单时间,状态;
●发单表:
发单编号,发件人姓名,发件人手机号,收件人姓名,收件人手机号,取货地址,预计送达时间,保值;
●订单明细表:
订单号,成交时间,状态,发单用户,抢单用户,交通工具,运输费用;
●物流信息表:
发送物流信息时间,地点,签收照片;
●物品表:
物品编号,物品名称,物品类别,重量,体积,价值,物品照片。
具体语句描述:
1.一名用户可以发出多条评价,一条评价只针对一名用户;
2.一个订单明细可对应多次评价,但一条评价只能对应一个订单明细;
3.一名用户(发单者)可以发出多个订单,但一个订单只能由一名用户(发单者)发出;
4.一名用户(抢单者)可以抢多个订单,但一个订单只能由一名用户(抢单者)成功抢到;
5.一名用户可以配送多个物品,但一个物品只能由一名用户配送;
6.一条订单只能发出一个物品,一个物品只能在一个发单表上显示;
7.一个订单明细给追踪到多次物流信息,而一个物流信息对应一个订单明细;
具体细节如图所示:
2.系统模块划分
总体设计:
用户信息管理:
物流信息管理:
评价管理:
订单管理:
三、逻辑模型设计与系统模块设计
逻辑模型设计
利用powerdesigner将概念模型转换成物理模型,具体表述如下:
●用户表的主关键字是用户ID;
●发单表的主关键字是发单编号,参照用户表的用户ID和物品表的物品编号;
●抢单表的主关键字是抢单编号,参照用户表的用户ID;
●评价表的主关键字是序号,参照用户表的用户ID和订单明细表的订单号;
●物流信息表的主关键字是发送物流信息时间,参照用户表的用户ID和订单明细表的订单号;
4、物理模型设计与数据库实施
1.约束设计
本阶段添加了一些约束,以确保数据的完整与正确:
●规定手机号一定是11位数字
●规定邮箱的格式中必须有@
●规定身份证号是18位数字或18位字母与数字的组合
●规定一个用户不能既是发单用户又是抢单用户,即不能自己发的单自己去抢
●实现可以重复创建数据库和表
●用户的注册时间默认值是系统获取的当前时间
●规定了一下字段的取值范围
2.存储过程设计
(1)存储过程(6个):
A.查询目的地为@destination的物品及订单信息
B.查询取货地址为@pick_site的物品及订单信息
C.查询状态为@state的抢单信息
D.查询某个抢单用户抢单成功的所抢到的发单信息、物品信息
E.查询抢单用户抢单成功的次数
F.查询最近发单用户最近成交的记录
(2)存储过程代码:
--查询目的地为@destination的物品及订单信息
createprocedurep1
@destinationnvarchar(60)='
%'
as
select物品名称,物品类别,重量,体积,价值,预计送达时间,状态,取货地址
from货物.物品join订单.发单
on物品.物品编号=发单.物品编号
where目的地like@destination
executep1@destination='
%北京%'
--查询取货地址为@pick_site的物品及订单信息
createprocedurep2
@pick_sitenvarchar(60)='
where目的地like@pick_site
executep2@pick_site='
--查询状态为@state的抢单信息
createprocedurep3
@statevarchar(10),@userchar(20)
select运输费用,保证金,交通工具,手机号,目前所在地点,抢单时间,状态
from订单.抢单
where状态=@stateand用户ID=@user
executep3@state='
'
@user='
--查询某个抢单用户抢单成功的所抢到的发单信息、物品信息
createprocedurep4
select订单明细.运输费用,保证金,订单明细.交通工具,手机号,目前所在地点,抢单时间,抢单.状态,
成交时间,订单号,物品名称,物品类别,重量,体积,价值,预计送达时间,取货地址,
收件人姓名,收件人手机号,目的地
from订单.抢单join资料.订单明细
on抢单.用户ID=订单明细.抢单用户
join订单.发单on发单.用户ID=订单明细.发单用户
join货物.物品on发单.物品编号=物品.物品编号
where抢单.状态=@stateand抢单.用户ID=@user
executep4@state='
抢单成功'
--查询抢单用户抢单成功的次数
createprocedurep5
@idchar(20)
declare@countint
select@count=COUNT(抢单用户)
from资料.订单明细where抢单用户=@id
return@count
@count=executep5@id='
--查询最近发单用户最近成交的记录
createprocedurep6
@data1datetime,@data2datetime,@userchar(20)
select订单号,成交时间,交通工具,运输费用,物品名称,物品类别
from资料.订单明细join订单.发单
on发单.用户ID=订单明细.发单用户
join货物.物品
on发单.物品编号=物品.物品编号
where成交时间<
@data1and成交时间>
@data2and订单明细.发单用户=@user
executep6@data1='
@data2='
3.视图设计
(1)视图(4个):
A.将发单表和物品表连接建立一个视图,在每一个供抢单者都能查询的发单信息
B.将发单表和物品表连接建立一个视图,待发单抢单双方达成交易,供抢单成功者可以查询到的更详细的信息
C.将用户表和评价表连接建立一个视图,发单者可以从中看到抢他所发的人的以往的评价,以便决定是否由此人抢到他的单子。
D.将订单明细表和物流信息表连接起来建立一个视图
(2)代码:
--将发单表和物品表连接建立一个视图,在每一个供抢单者都能查询的发单信息
createviewv1
select物品名称,物品类别,重量,体积,价值,物品照片,取货地址,目的地,预计送达时间,状态
from货物.物品
join订单.发单on物品.物品编号=发单.物品编号
--将发单表和物品表连接建立一个视图,待发单抢单双方达成交易,供抢单成功者可以查询到的更详细的信息
createviewv2
select物品名称,物品类别,重量,体积,价值,物品照片,
取货地址,目的地,预计送达时间,状态,发件人姓名,
发件人手机号,收件人姓名,收件人手机号
--将用户表和评价表连接建立一个视图,发单者可以从中看到抢他所发的人的以往的评价,以便决定是否由此人抢到他的单子。
createviewv3
select昵称,等级,注册时间,AVG(服务态度)以往服务态度,AVG(到货速度)以往到货速度,AVG(完整性满意度)以往完整性满意度
from资料.用户join资料.评价on用户.用户ID=评价.抢单用户
--将订单明细表和物流信息表连接起来建立一个视图
createviewv4
select订单号,成交时间,状态,地点,运输费用,交通工具,发送物流信息时间,签收照片
from资料.订单明细join货物.物流信息
on订单明细.订单号=物流信息.订单号
4.触发器设计
(1)触发器(3个):
A.当进行操作时抢单用户的保证金的金额小于发单用户所给出的物品的价值时,会给出提示
B.用户抢单失败时会给出提示
C.只有等级时F及F以上的用户才能抢价值在300及其以上的单子,只有等级是C及C以上的用户才能抢价值在600及其以上的单子。
--当进行操作时抢单用户的保证金的金额小于发单用户所给出的物品的价值时,会给出提示
createtriggert1
on订单.抢单
forinsert,delete,update
declare@depositmoney,@valuemoney
select@deposit=保证金frominsertedwhere抢单编号='
select@value=价值from货物.物品
where物品编号in
(select物品编号from订单.发单
where发单编号in
(select发单编号from订单.抢单where抢单编号='
))
if@deposit<
@value
begin
raiserror('
你所剩的保证金已小于你所抢发单物品的价值!
!
15,10)
end
--用户抢单失败时会给出提示
createtriggert2
on订单.抢单
forupdate
declare@statevarchar(10)
select@state=状态fromupdated
if@state='
抢单失败'
对不起,你已抢单失败!
elseif@state='
恭喜你,你已抢单成功!
--只有等级时F及F以上的用户才能抢价值在及其以上的单子,只有等级是C及C以上的用户才能抢价值在及其以上的单子
createtriggert3
on资料.用户
forupdate
declare@dejichar(10)
select@deji=等级fromupdated
if@statein('
A'
'
B'
C'
D'
E'
)
恭喜你,你已能抢价值在及其以上的单子!
elseif@statein('
5.备份和恢复设计
备份整个数据库到C:
\dump\dumpfull.bak:
(要改备份地址)
BACKUPDATABASE名称TODISK='
C:
。
五、系统开发与实现
1、系统实现方法
数据库建模阶段使用的软件是powerdesigner15.0,数据库使用的软件是SQLserver2014,建模生成的sql文件引入SQLserver,加上一些列级和表级约束,然后执行那些sql语句用以建立数据库和表。
网页版编程使用的软件是Myeclipse2014,在Myeclipse中新建web工程,采用MVC模式在jsp中进行页面设计,在其中多次引入js文件,出现了许多美观、使用简便的jquery控件。
servlet作为控制器对jsp页面传来的值进行处理,连接到数据库并对数据库中的数据库进行插入、删除、更新等操作,并进行页面间的跳转。
在web工程中还用到了javabean。
2、系统主要功能与界面
(1)基本功能:
登陆,注册,用户信息查询及修改,密码修改等。
创建用户表,存储用户详细信息。
可实现查询,更新,删除,插入等基本功能。
网页版:
A.首页:
进入网页首先进入到首页,此页面左侧可根据物品类别、取货地址、送货地址、取货时间等条件搜索满足条件的发单,也可在搜索框内进行关键字搜索。
在此页面中间有最近最新的一些发单情况,以表格的形式展示出来,表格中包括发单时间、取货地址、送货地址、物品类别等关于发单概况,每行后面都有一个详细,点击即可查看相对应的发单详情;
刷新页面即可刷新发单信息。
在此页面右部有“我要发单”、“我要抢单”两个链接,点击即可进行发单、抢单。
未登录时:
有登录和注册两个链接
登录后进入到首页:
原本的登录、注册链接变为当前登录用户的用户名和一个退出链接。
B.注册页面:
注册页面昵称、密码不能为空;
两次输入的密码需一致;
电子邮箱和手机号必须是为注册的,在数据库中邮箱和手机号定义了唯一约束。
用户名或密码为空时:
两次输入的密码不相同时:
C.登录页面:
注册成功后转到登录页面,即可根据注册的的信息登录,用户名处填用户ID、手机号、邮箱均可。
登录成功后跳转到首页。
D.个人信息页面:
登录成功后,可查看当前用户的个人信息,如果一开始没有登录就要进入到此页面,则会先跳到登录页面,然后才能进入到此页面。
点击页面下面的修改按钮可对个人信息进行修改。
E.修改个人信息页面:
能够上传图片将其存入数据库:
修改成功再次转到个人信息页面查看修改后的个人信息:
F.修改密码页面:
修改密码页面要求新密码与原来的旧密码不能一样,新密码与确认的新密码要求是相同的。
新密码与确认新密码输入的不一致:
原密码与新密码相同:
(2)发单功能:
包括语音发单(借助移动应用实现),手动发单。
创建发单表和物品表,使用户可以通过多种方式进行发单。
发单分为3步,分为3个页面,一步即一个页面,具体步骤见下。
第一步填写物品信息:
第二步:
填写取货信息:
取货时间一栏聚焦可出现下拉的日期控件;
取货地点一栏有省、市、地区三级联动js控件可选择地区,其后跟着的输入框用于输入详细地址。
下拉日历:
省、市、地区三级联动下拉选择:
第三步:
填写收货信息:
点击提交后,在首页中可看到刚刚发单成功的发单信息:
然后点击详细可查看到刚刚发单的详细情况,点击页面下方的“我要抢单”这一链接可以进行抢单:
(3)抢单功能:
创建抢单表,存储抢单信息,可通过存储过程实现快速调用关系,目的是为了保证查询的有效性和及时性,该功能使抢单者积极的参与发单。
抢单操作方式是:
抢单者在点击“我要抢单”后进入到此页面填写抢单信息。
填写完后点击“提交”系统会提醒你是第几个抢单的,前面有几个待处理的抢单。
抢单的时候要物品价值超过一定的数额就只有等级高的的才能抢。
只有等级时F及F以上的用户才能抢价值在300元及其以上的单子,只有等级是C及C以上的用户才能抢价值在600及其以上的单子。
如果你的等级不够去抢价值高的发单是会抢单失败,系统会给出提醒。
抢单信息提交后,抢单者所要做的就是等待,稍后等发单者确定选中了哪个抢单者送后,系统会提醒抢单者抢单成功或失败了。
(4)查询功能:
包含查询物流信息等基本功能,还有地图定位功能,其可用手机GPS实现,查询到附近的发单信息,还可以按照条件进行筛选,找到满意的订单和配送路线。
A.物流信息页面:
发单者可以查看物流信息,物流信息以时光轴的形式展示出来。
页面设计富有特色,简洁,明了,醒目。
而且美观大方。
(4)其他功能:
系统中增加了许多比较人性化的功能,比如配送服务评价,常用地址添加等。
A.评价页面:
抢单成功者将货物送达后,发单者可对抢单者的服务给出评价。
根据评价换算成积分,积分累计得越多抢单用户等级升级得越快。
为避免用户刷积分的现象,发单者发的单不允许发单者自己去抢自己发的单。
评价等级是以星级为依据
B.常用地址页面:
填写发单信息的取货和送货地址时如果要填写的信息已经保存到了再了常用地址中可直接点击常用地址添加,可以使操作更加简便。
C.添加常用地址页面:
在此页面中添加常用联系人
添加成功后跳转到常用地址页面,可以看到添加成功后的常用地址列表
以下是app版界面:
App只完成了一些页面,功能也只实现了一部分,还有许多地方需要完善。
调试过程中经常遇到许多问题。
登录页面:
如同大部分app登录页面一样简洁大方
第一次登录的介绍页面:
首页:
和网页版的一样有最新的发单情况,能够筛选和搜索满足条件的发单,还能根据定位到的用户的当前位置为用户推荐在用户附近的发单
发单页面:
点击页面下部的发单按钮,进入到发单页面可进行文字发单和语音发单,还可查询用户已发过的各种状态的发单。
文字发单页面:
与网页版内容相同,但并未分为3步,所有发单信息都在一个页面中填写
我的抢单页面:
在此页面中可查询用户各种状态的抢单。
我要抢单页面:
用户在此页面进行抢单
设置页面:
在此页面对个人信息、我的支出、我的收入等进行设置,还可以设置有新的发单时,是否接受发单,并设置满足什么条件的发单才被用户所接收
我们整个项目分为了网页版和app版,有许多功能在网页版中无法实现,只能在app中实现,如:
定位、导航等功能。
六、测试、分析和总结
1.系统测试与分析
我直接在Myeclipse自带的浏览器中调试运行程序,我的页面设计十分的简单,以浅蓝、浅灰为主色,简单的色调给人以舒适的感觉。
没有使用漂亮的背景图片,背景图片不好确定大小,在界面大小不同的浏览器中效果不同,图片小了会不太好看,使界面显得很乱,所以我没有使用背景图片页面显得简约大方,像XX的设计十分的简单,却深受大家的喜爱。
每个页面都有着相同的模式,显得整齐一致。
在功能方面还是比较齐全,我们本着用户友好型的原则,从用户的角度出发设计整个项目,务必使用户使用起来方便、快捷,让用户感觉到使用我们的产品是一种享受。
当然我们的系统还有许多不足之处,许多功能还有加强、完善,代码不够简洁,应该更加注意到使用性。
2.遇到的问题
在web工程编程、调试过程遇到了许多的问题。
运行时多次遇到以前没见过的错误,一开始总让我措手不及,束手无策我就上网查找,发现网上也有许多遇到相同错误在网上寻求答案的人,网上也给出了一些解决方案,但大多都无法解决我的问题,然后我又向人请教,翻书查资料,好不容易才能解决,但也有一部分问题是我至今也未解决的。
比如图片的上传,图片的处理。
图片在数据库中的以image这一数据类型存储的,而我不知道在java中相对应的数据类型应该是什么,然后我试着在Java中以InputStream这一数据类型定义,然而在获取从jsp页面传过来的图片时,总是显示找不到图片,我不知道该怎么解决这一问题。
3.总结与展望
此次比赛,让我们了解了系统开发的全过程,要经历5个阶段:
系统规划阶段、系统分析阶段、系统设计阶段、系统实施阶段和系统维护和评价阶段。
系统规划阶段的任务主要是,确定要做什么方面的系统,根据需要提出一个新系统的总体方案,并对这些方案进行可行性分析。
系统分析阶段的任务是根据系统开发计划所确定的范围,对目标系统进行深入调查,与其类似系统进行比较,找出目标系统的局限性,并进行修改和创新。
而且,这个阶段要设计出逻辑模型。
系统设计阶段回答了目标系统“怎么做”的问题,具体设计实现逻辑模型的技术方案,也就是物理模型。
系统实施阶段就是将问题用java语言实现功能,之后对系统进行调试和维护。
经历以上阶段后,发现许多方面需要多思考几个方案,实现功能时可以再考虑代码的简洁性和规范性。
希望我们的系统更加完善,功能更加全面,使用起来更加人性化。
在满足客户的需求上,提供更加有创新、
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 本科 毕业设计 论文 物流 管理 系统 课程设计