随着科学研究的不断深入,有关仓储的各种信息量不断成倍增长。面对庞大的信息量,就需要有仓储管理系统来提高管理工作的效率。通过这样的系统,我们可以做到信息的规范管理和快速查询,从而减少了管理方面的工作量。
建立仓储管理系统,进一步提高用户对仓储信息的查询。帮助管理者提高工作效率,实现信息查询的自动化。使用本系统可以轻松快捷的为用户提供他们想要得到的仓储信息。
根据本系统的基本设计思路,本系统在设计方面前台采用了nodejs技术等进行基本的页面设计,后台数据库采用MySQL。本系统的实现为仓储管理系统的运行打下了基础,为仓储管理提供良好的条件。
最后我们通过需求分析、测试调整,与仓储管理系统的实际需求相结合,设计实现了仓储管理系统。
前端技术:nodejs+vue+elementui,
Express 框架于Node运行环境的Web框架,
语言 node.js
框架:Express
前端:Vue.js
数据库:mysql
数据库工具:Navicat
开发软件:VScode
视图层其实质就是vue页面,通过编写vue页面从而展示在浏览器中,编写完成的vue页面要能够和控制器类进行交互,从而使得用户在点击网页进行操作时能够正常。
代码结构讲解
1、 node_modules文件夹(有npn install产生)
这文件夹就是在创建完项目后,cd到项目目录执行npm install后生成的文件夹,下载了项目需要的依赖项。
2、package.json文件
此文件是项目的配置文件(可定义应用程序名,版本,依赖项等等)。node_modules文件夹下的依赖项是从哪里知道的呢?原因就是项目根目录下的这个package.json文件,执行npm install时会去找此文件中的dependencies,并安装指定的依赖项。
3、public文件夹(包含images、javascripts、stylesheets)
这个文件夹做过Web开发的应该一看就知道,为了存放图片、脚本、样式等文件的。
4、routes文件夹
用于存放路由文件。
5、views文件夹
存放视图。 目 录
第1章 概述 6
1.1课题研究背景 6
1.2课题研究意义 6
1.3前期工作 7
1.4本文的组织结构 7
第2章开发技术 8
2.1微服务架构 8
2.2微服务架构的优势 8
2.3 nodejs语言 8
2.4 express框架 9
2.5 MYSQL数据库技术 9
2.6 B/S结构简介 10
第3章 系统分析 11
3.1系统总体分析 11
3.2可行性分析 11
3.3系统功能分析 12
3.4系统流程分析 13
3.4.1登录流程 13
3.4.2添加信息流程 14
3.4.3修改信息流程 14
第4章 系统设计 16
4.1系统功能设计 16
4.2数据库E-R图 17
4.3数据库表 19
第5章 系统实现 30
5.1小程序前台模块实现 30
5.1.1员工模块实现 32
5.1.2供应商模块实现 34
5.2后台模块实现 34
5.3管理员模块实现 35
第6章系统测试 39
6.1系统测试的重要性 39
6.2性能测试 39
6.3登录模块测试 39
总结与展望 41
参 考 文 献 42
致谢 43
第1章 概述
1.1课题研究背景
如今互联网发展迅猛,大量的信息都是通过网络这一渠道来传播,所以利用网络渠道来传播信息是非常有前景的。仓储管理系统的主要目的就是及时有效、方便快捷的获取仓储信息,是一个新知识诞生的地方,光靠现有的条件是远远不够的,所以建设仓储管理系统是有必要的,这样能使用户通过仓储管理系统来弥补现有条件的不足,因此开发仓储管理系统迫在眉睫,仓储管理系统的实现有着重大意义。
至今为止,时代的发展趋势一直指向的就是在网络上进行系统管理。这次我所设计的课题是仓储管理系统,正是用户的紧密关系的体现。
一个好的小程序能够把传统的管理方式,带上一全新的方式,效率、可靠、安全稳定集合一身的系统,带来的体验是传统所没有办法实现的,信息的交流将达到顶峰,用户的沟通将会更加的便捷,有问题实时反馈提交,及时接收重要通知,将仓储管理正规化、合理化、高效化。
由此设计与开发一个仓储管理系统是非常有必要的,nodejs语言是所有语言中的基础,学习好nodejs语言才能去更深入的学习其它语言。nodejs语言有以下特点:绘图能力强、可移植性、有很强的数据处理能力,适用于系统软件的编写、三维和二维图形,还可以编写出动画的效果,所以它是一种高级语言。
1.2课题研究意义
当前来说,各种类型小程序应用越来越广泛,然而开发小程序的技术伴随着技术产品的需求,出现了极大的差异性。具体而言,支付宝小程序所运用的是支付宝技术,头条小程序所运用的则是字节跳动公司的技术,在微信小程序中所运用往往是腾讯的WXML、WXSS和JS技术。
除了技术以外,微信用户量十分庞大,而用户基数直接与微信小程序的使用量成正比,选择基于微信小程序的仓储管理系统不仅能够方便用户,也能提高用户的生活效率。21世纪是互联网快时代,与此同时,人们的生活节奏也随之加快。在这快节奏的时代,形形色色的人不断追求着更高层次的生活,从而不断学习“生存技能”。可在这快时代里,线上管理还属于发展阶段。仓储开发微信小程序使得用户能够拥有多种形式去交流,通过小程序可及时与用户联系以及互动,使得用户裂变增加,增强积极性的同时也提高了管理者的管理效率。1.3前期工作
为了使本系统的功能做得更加完美,使用户看上去清晰明了,特意去查找分析了一些相关的系统,了解和分析出其系统的功能和具体功能模块的实现方法,还具体了解了其系统功能的组织结构。最后通过问卷调查的方法进行了实地调查,了解了仓储管理系统的初步的需求,开始初步设计本系统。从问卷调查中得知:该系统在技术上是可行的,在经济上也是可行的,开发成本相对较低。
1.4本文的组织结构
本网站利用nodejs技术和的MySQL进行开发,将仓储管理系统推向更安全、技术更强悍的系统信息管理。
仓储主要实现了前台和后台两大模块。通过本网站使管理工作效率提升到另一个层次,还更不容易出错,对数据的查找与存储有更方便等因素;
对内容的介绍详细阐述如下:
第一章、绪论,对本课题选择的背景以及意义和开发系统前期的工作做了详细的介绍。
第二章、使用的技术相关知识,利用关键技术对系统进行开发。
第三章、对系统进行分析,对系统开发的可行性,系统的流程以及功能进行了探讨。
第四章、系统具体功能的设计,主要是实现前台员工和供应商功能和后台管理员三种身份相应的模块,然后进行整合,分析其结构,然后设计,并进行相对应的数据库的构架与设计。
第五章、本系统的实现,也是系统的核心,主要介绍系统登录页面,系统管理员和、员工和供应商功能模块各异,页面清楚简洁,简单易懂。
最后是总结,主要是对本系统的总结和对后期的展望。
3.1系统总体分析
本系统采取了一系列的设计原则,主要目的是为了系统的功能设计,还有管理人员在后期对系统维护时的方便,以及使用户能够简易的操作。最重要的设计原则包括:简单性、针对性、实用性、一致性、先进性。
(1)简单性:在该系统中功能模块实现的同时,让用户操作起来简单明了,很快找到所需资源是最直接的目的。
(2)针对性:该系统是根据设计需求为导向来开发仓储管理系统的设计,所以针对性较强。
(3)实用性:该设计能够满足仓储管理系统的实际的功能需求,能够在实际中让用户真正使用到,具有实际的应用价值。
(4)一致性:系统整体的页面布局,在不同的界面之间,img里的图片的放置位置以及大小都应该有严格的一致性。变量命名规则应该具有统一性。
(5)先进性:本系统采用nodejs作为开发技术、B/C结构和 MySQL作为系统数据库,它们被软件设计者们广泛使用。
3.2可行性分析
根据系统所包含其功能的使用情况,通过对经济、技术和管理方式来进行全方面的可行性进行分析,来提供准确的可行性依据。本系统的可行性分析有:
(1)经济可行性
系统采用的是nodejs技术来实现相应的功能的开发,综合就是一个比较基础的系统开发设计,所以所用到的有开源的开发环境所构成。而且可以利用现有的设备,不用进行另外的硬件设备购买。
用户通过使用仓储管理系统,很大程度减小了人员成本,极大提高了管理的效率。目前的由人员管理的方式存在很多不足,首先是人工成本大,并且工作效率比较低,然后是存在着很多信息流失的问题。在结合仓储管理系统的特点,还有一些记录和统计,仓储管理系统杜绝了以上的问题,提高了仓储信息的安全性。
经济可行性是主要计算项目的开发成本,还有项目成功后可能带来的有效收益。很多的项目只有开发成本能控制在企业有可能接受的范围内的情况下,这样的项目才会被批准开发。然而本次系统的开发在上述所有的问题的情况下,是可以完成相关的系统设计。
(2)技术可行性
本管理系统采用nodejs技术和B/S结构进行设计,通过分层分包的方法,有利于日常的维护,同时降低了代码之间的耦合。
(3)管理可行性
本小程序所需要的管理难度低,只需要一个管理员便能进行个人中心、供应商管理、员工管理、商品分类管理、商品信息管理、商品入库管理、商品出库管理、供应商货物管理、货物采购管理、在线沟通管理、系统管理等功能的管理。
3.3系统功能分析
系统功能需求包含业务需求、功能需求用户需求,系统功能需求分析是在了解用户习惯、开发人员技术和实力等各个因素的前提下,对其进行深入分析,了解系统基本需求后,基本功能如下:
本课题要求实现优质的仓储管理系统,就一定要包含有前台页面和后端数据库、服务器相联系,从而实现系统的功能运转。系统分为前台员工模块、供应商模块和后台管理员模块三部分;
(1)、员工进入系统可以实现首页、商品信息、供应商货物、我的等功能,在我的页面可以对商品信息、商品入库、商品出库、供应商货物、货物采购、在线沟通、个人中心等进行操作。
4.3数据库表
本系统采用的是MySQL数据库管理数据,系统中使用到的数据表具体展示部分如下所示。
表4-1:商品入库
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
rukubianhao varchar 200 入库编号
shangpinbianhao varchar 200 商品编号
shangpinmingcheng varchar 200 商品名称
shangpintupian longtext 4294967295 商品图片
kucun int 入库数量
rukudanjia int 入库单价
rukuzongjia float 入库总价
rukubeizhu varchar 200 入库备注
rukuriqi datetime 入库日期
yuangonggonghao varchar 200 员工工号
yuangongxingming varchar 200 员工姓名
表4-2:商品分类
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
shangpinfenlei varchar 200 商品分类
表4-3:商品出库
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
chukubianhao varchar 200 出库编号
shangpinmingcheng varchar 200 商品名称
kucun int 出库数量
shangpintupian longtext 4294967295 商品图片
chukudanjia int 出库单价
chukujiage float 出库价格
chukushijian datetime 出库时间
xiaoshouduixiang varchar 200 销售对象
beizhu varchar 200 备注
yuangonggonghao varchar 200 员工工号
yuangongxingming varchar 200 员工姓名
表4-4:公告信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
title varchar 200 标题
introduction longtext 4294967295 简介
picture longtext 4294967295 图片
content longtext 4294967295 内容
表4-5:货物盘点
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
pandianriqi date 盘点日期
shangpinbianhao varchar 200 商品编号
shangpinmingcheng varchar 200 商品名称
shengchandi varchar 200 生产地
shangpinfenlei varchar 200 商品分类
pandianshuliang varchar 200 盘点数量
pandianqingkuang varchar 200 盘点情况
pandianbeizhu varchar 200 盘点备注
表4-6:货物采购
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
shangpinmingcheng varchar 200 商品名称
shangpinfenlei varchar 200 商品分类
tupian longtext 4294967295 图片
guige varchar 200 规格
danjia float 单价
caigoushuliang int 采购数量
heji float 合计
gongyingzhanghao varchar 200 供应账号
gongyingshang varchar 200 供应商
gongyingshangshouji varchar 200 供应商手机
yuangonggonghao varchar 200 员工工号
yuangongxingming varchar 200 员工姓名
yuangongshouji varchar 200 员工手机
caigoushijian datetime 采购时间
sfsh varchar 200 是否审核 待审核
shhf longtext 4294967295 审核回复
ispay varchar 200 是否支付 未支付
表4-7:供应商货物
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
shangpinmingcheng varchar 200 商品名称
shangpinfenlei varchar 200 商品分类
tupian longtext 4294967295 图片
guige varchar 200 规格
danjia int 单价
gongyingzhanghao varchar 200 供应账号
gongyingshang varchar 200 供应商
gongyingshangshouji varchar 200 供应商手机
表4-8:用户表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键
username varchar 100 用户名
password varchar 100 密码
role varchar 100 角色 管理员
addtime timestamp 新增时间 CURRENT_TIMESTAMP
表4-9:供应商
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
gongyingzhanghao varchar 200 供应账号
mima varchar 200 密码
gongyingshang varchar 200 供应商
fuzeren varchar 200 负责人
xingbie varchar 200 性别
nianling varchar 200 年龄
touxiang longtext 4294967295 头像
gongyingshangshouji varchar 200 供应商手机
表4-10:在线沟通
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
shangpinmingcheng varchar 200 商品名称
shangpinfenlei varchar 200 商品分类
tupian longtext 4294967295 图片
guige varchar 200 规格
gongyingzhanghao varchar 200 供应账号
gongyingshang varchar 200 供应商
gongyingshangshouji varchar 200 供应商手机
yuangonggonghao varchar 200 员工工号
yuangongxingming varchar 200 员工姓名
yuangongshouji varchar 200 员工手机
zixunshijian datetime 咨询时间
zixunbiaoti varchar 200 咨询标题
zixunneirong longtext 4294967295 咨询内容
shhf longtext 4294967295 回复内容
表4-11:token表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键
userid bigint 用户id
username varchar 100 用户名
tablename varchar 100 表名
role varchar 100 角色
token varchar 200 密码
addtime timestamp 新增时间 CURRENT_TIMESTAMP
expiratedtime timestamp 过期时间 CURRENT_TIMESTAMP
表4-12:配置文件
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键
name varchar 100 配置参数名称
value varchar 100 配置参数值
表4-13:员工
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
yuangonggonghao varchar 200 员工工号
mima varchar 200 密码
yuangongxingming varchar 200 员工姓名
xingbie varchar 200 性别
nianling int 年龄
yuangongshouji varchar 200 员工手机
zhaopian longtext 4294967295 照片
表4-14:关于我们
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
title varchar 200 标题
subtitle varchar 200 副标题
content longtext 4294967295 内容
picture1 longtext 4294967295 图片1
picture2 longtext 4294967295 图片2
picture3 longtext 4294967295 图片3
表4-15:商品信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
shangpinbianhao varchar 200 商品编号
shangpinmingcheng varchar 200 商品名称
shengchandi varchar 200 生产地
shangpinfenlei varchar 200 商品分类
kucun int 库存
shangpintupian longtext 4294967295 商品图片
shangpinxiangqing longtext 4294967295 商品详情
第5章 系统实现
5.1小程序前台模块实现
首先双击打开小程序客户端,连上网络之后会显示出本系统的登录界面,这是进入小程序的初始页面“登录”,能成功进入到该登录界面则代表小程序的开启是成功的,接下来就可以操作本系统所带有的其他所有的功能。
第6章系统测试
在系统开发上市前都需要经过严格的系统测试。主要测试访问请求的延迟时间,对于一些未知和危险的问题,需要严格的测试和解决方案。
6.1系统测试的重要性
对于程序来说,系统测试应该根据程序的指定业务、程序的承载能力、程序代码的效率、数据库服务器的存储和设计进行测试。
6.2性能测试
若同时有大量用户和大量请求进入是看服务器是否响应延迟时间来比较性能的。我们可以从代码,程序逻辑,接口使用,数据库优化等方面逐个做仿真测试。
为了保证测试的有效性和程序的安全性,我们主要从两个方面进行测试:一是系统功能节点测试,二是接口业务逻辑测试。
经过第一和第二两个部分的测试后,我们判定项目没有风险。
6.3登录模块测试
测试编号:a。
目的:测试登录模块,测试系统能否对正确进行登录放行,拦截错误数据进行页面返回。
前提:未登录的用户进行登录,用户名为“aaaa”,初始密码为“00000”。
方法:实地测试。
测试用例表,如表6-1所示。
表6-1登录模块测试用例表
序号 输入 预期结果 实际结果 测试结果
a
b
c
d
e 用户名:空用户名
密 码:空密码
用户名:aaaa
密 码:空密码
用户名:空用户名
密 码:00000 提示请填写字段
提示请填写字段
提示请填写字段 提示请填写该字段
提示请填写该字段
提示请填写该字段 通过
通过
通过
用户名:admin
密 码:111111
用户名:hzz
密 码:111111 成功登录
账号密码错误 成功登陆
提示账号密码错误 通过
通过
总结与展望
历经六个月左右的时间,本次的毕业设计已画上了句号。原本以为完成一个系统会很顺利,因为在之前课上,也曾动手操作过相关的模块编写,但当真正接触到一个完整的系统时,发现并没有想象地那么简单。首先,以前实践过的只是单独的模块,而这次,是一个庞大的系统,许多细节不容忽视,有时候稍不留意的一个小错误,会致使整个系统都运行不起来,而查找错误的过程又漫长且艰辛,这也正是经验不足所导致的。在整个系统开发过程中,也查阅了很多书籍和相关资料,这让我不但巩固了原本的知识,同时还学习到了一些新的知识,这让我受益匪浅。
此次系统从整体看来,已基本达到预期的设计目的,能够实现基本的功能,但相较于市场的一些优秀系统而言,还是有许多不足的地方。遗憾的是,由于时间的有限,已经不允许再投入更多的时间和精力进行研究开发。相信在以后的工作中,我会接触到更多相关的知识,会更丰富自身的经验,我希望到时能够在此基础上完成一个丰富完整的系统,这将对我有很大的意义。
通过这次的毕业设计,我学到了很多,除了学习方面的知识,在态度上也有了很大的转变,细心和耐心是整个开发过程中最重要的两件事。我也在跟随着系统的完善而成长,这次毕业设计考核也不单单是所学的知识,也同样在衡量着面对困难时的态度。
致谢
时间如白驹过隙转瞬即逝,转眼间,四年的本科生学习即将结束,这段时间的校园生活充满了温暖和快乐,感谢家里人的支持、老师们的细心指导和同学们的热情伴随我度过了这段充实的本科生时光。
首先,我要感谢我的导师。我的论文是在老师的悉心指导下完成的。从最初的论文选题、构思到后来的写作,老师都给予了我细心指导。在我初稿完成之后,老师又抽出空来对我的论文认真的批改,提出许多中肯的指导意见,使我在研究和写作过程中比较的顺利。借此机会,我谨向老师致以深深地谢意。
其次,我还要感谢任教老师,正是因为有了他们严格、无私、高质量的教导,我才能在这几年的学习过程中获得专业知识,然后为论文的写作打下了扎实的理论基础;我还要感谢这四年来与我一同学习与生活的本科生同学们以及我的室友们。衷心地感谢他们在学习和生活中给予我的鼓励和帮助,愿友谊长存!
在此还要感谢父母在我求学生涯中给予我无微不至的关怀和照顾,是他们的理解与支持让我能够在学校专心完成我的学业。同时,还要感谢同学们四年来的包容和帮助,是他们让我的生活每天都充满激情,生活充实而有意义。最后,我向母校老师们再次表示衷心的感谢和美好的祝福,感谢你们的辛勤栽培,祝老师们幸福健康!