基于python+vue超市管理系统flask-django-php-nodejs

 
课题主要分为二大模块:即管理员模块和员工模块,主要功能包括:个人信息修改、员工信息、商品信息、商品进货、商品出库、商品销量等;
 目录
摘 要 I
Abstrac II
目录 III
1绪论 1
1.1 研究背景 3
1.1.1国内研究现状 3
1.1.2国外研究现状 3
1.2研究的目的和意义 4
1.2.1研究目的 4
1.2.2 研究意义 4
1.3 论文的内容和结构 4
2系统相关技术概述 5
2.1 python语言 6
2.2 MySQL数据库技术简介 6
2.3 B/S结构 7
2.4 django/flask框架介绍 7
3系统需求分析 8
3.1需求分析概述 8
3.2可行性分析 8
3.2.1技术可行性 9
3.2.2经济可行性 9
3.2.3运营可行性 9
3.2.4法律可行性 9
3.3系统功能需求分析 9
3.3.1系统功能概述 10
3.3.2用户管理模块 10
3.4系统其他需求分析 10
3.4.1性能要求 11
3.4.2安全要求 11
3.4.3作业环境要求 12
3.5系统用例图 12
3.6系统流程分析 13
4 系统设计 13
4.1系统结构图 14
4.2数据库设计 14
4.2.1数据库设计原则 15
4.2.2数据库的概念设计 15
4.2.3数据库表设计 16
5系统的实现 18
5.1管理员模块实现 22
5.2员工模块实现 24
6系统测试 30
6.1系统测试的重要性 31
6.2性能测试 31
6.3用户模块测试 31
结 论 33
参考文献 36
致 谢 38

快速发展的社会中,人们的生活水平都在提高,生活节奏也在逐渐加快。为了节省时间和提高工作效率,越来越多的人选择利用互联网进行线上打理各种事务,然后线上管理系统也就相继涌现。与此同时,人们开始接受方便的生活方式。他们不仅希望页面简单大方,还希望操作方便,可以快速锁定他们需要的线上管理方式。基于这种情况,我们需要这样一个界面简单大方、功能齐全的系统来解决用户问题,满足用户需求。语言:Python
框架:django/flask
软件版本:python3.7.7
数据库:mysql 
数据库工具:Navicat
前端框架:vue.js
通过比较两个不同因素的框架,可以看出Flask和Django不能被标记为单一功能中的最佳框架。当Django在快速发展的大型项目中看起来更好并且提供更多功能时,Flask似乎更容易上手。这两个框架对于开发Web应用程序都非常有用,应根据当前的需求和项目的规模来选择它们。
最新python的web框架django/flask都可以开发.基于B/S模式,前端技术:nodejs+vue+Elementui+html+css
,前后端分离就是将一个单体应用拆分成两个独立的应用:前端应用和后端应用,以JSON格式进行数据交互.充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护等特点
1绪论
对于当今社会的人们来说,互联网技术是必不可少的,随着经济和技术的不断发展,计算机已经深入到各个领域。超市管理系统将人们的时间需求与计算机技术结合起来,架起一座桥梁,使超市管理更加方便快捷。超市管理系统主要为人们提供系统化、个性化、专业化的服务,以提高人们的愉悦感[1]。
1.1 研究背景
网络发展的越来越迅速,它深刻的影响着每一个人生活的各个方面。每一种新型事务的兴起都是为了使人们的生活更加方便。超市管理系统是一种低成本、更加高效的电子商务方式,它已慢慢的成为一种全新的管理模式。人们不再满足于在互联网上浏览、发布信息和人与人之间的聊天,而是希望互联网能为人们的生活带来更多便利。伴随着网络的崛起,超市管理开始变得越来越普遍[2]。
1.1.1国内研究现状
在现实生活中,根据传统做法,有些人选择通过电话或短信进行交流。这种方法比较单一,在有些方面效率不高,需要大量人力和财力,已经接近淘汰。另一种方法是使用系统,但有些系统对计算机和用户的要求很高,使用起来非常复杂,无法快速锁定他们满意的信息。用户也将束手无策。目前,市场上很少有类似的系统能够真正满足用户的需求,帮助用户完成各项事务[3]。
1.1.2国外研究现状
在当今社会,由于国外经济的高度发达,对于服务于人们生活的超市管理系统,国外花费了大量的人力、物力和财力来开发这类系统。所以,国外的这种系统较为发达。另一个重要原因是,国外更开放,更容易接受新事物,对他们享受的服务更挑剔,因此,超市管理系统一开始可以被更多的人接受,更多的人提出更多的要求,使超市管理系统更加完善。经过多年的发展,该系统具有很高的艺术性,非常规范和完整[4]。

1.2研究的目的和意义
1.2.1研究目的
互联网发展的越来越快了,在当下社会节点,人们也开始越来越依赖互联网。通过互联网信息和数据,极大地满足员工要求[5]。如果想实现简单快捷方便的超市管理,即时生效,无需重新下载。这时仅仅需要在背景中单击鼠标,它将立刻更新点击处一整行的所有内容。超市管理系统使用了B/S模式,并且不需要安装第三方插件,他们甚至能直接在电脑上随机随地实现超市管理,还能实现更加准确的提供商品信息。现社会无论各行各业都应尽量摒弃传递错误信息,尤其是口头传输信息。而网络却并不会像电话那样一次只能传输一次,效率低下还间连不断,每当处于高峰时段,用网络来处理信息也就会更加的容易。我们甚至可以通过网络技术节省时间和人力成本。超市管理的方式得到了更好的改进。从而提高了整体的工作效率。
这样做的目的是节省时间,提高工作效率,享受当今社会最便捷、最周到的服务[6]。
1.2.2 研究意义
线上管理超市管理系统提供了良好的发展空间,随着人们生活质量的提高,人们对服务质量的要求越来越严格。人们希望拥有更好的超市管理体验。而且,超市管理有着使用常规电话交流比不了的便捷高效简单等优势。超市管理系统就是为广大用户提供这样一个方便的系统,以满足人们的需求。
1.3 论文的内容和结构
本文一共把内容主要分为六个大部分,采用传统面向对象的方法进行划分并描述和分析每个部分的需求:
第一章是前言部分,该部分主要是拓展了方案的背景,对此系统的意义做了思考,对价值做了评估[7]。
第二章是概述系统的相关技术,详细的介绍了系统所使用的相关语言和开发结构。
第三章是对系统的需求进行分析,对可行性需求,功能需求和流程等做相关分析。
第四章主要对程序的功能做分析,并描述了数据库等相关内容的设计。
第五章主要是将超市管理系统划分成后台管理界面包括管理员与员工,以及各部分相关功能页面。
第六章主要是进行系统功能测试。
3系统需求分析
3.1需求分析概述
超市管理系统主要是为了提高管理员的工作效率,满足管理员对更方便、更快、更好地存储所有信息和数据检索功能的要求。通过对多个类似网站的合理分析,确定了超市管理系统的各个模块。考虑到用户的可操作性,经过深入调查研究,遵循系统优化和开发的原则[8]。
为了实现当前网络的分析功能和便利性,超市管理系统使管理员和员工能够在平台上直接查看他们需要的数据信息,不仅可以节省管理时间,还可以改变传统的管理模式。如果用户想要交换信息,他们需要满足双方交换信息的需要。由于时间有限,很难亲自会面和沟通,因此很难满足用户的需求。因此,迫切需要开发一个超市管理系统,以满足用户的需求,提高用户的使用率。超市管理系统必须更快、更有效地向用户或潜在用户提供信息。为超市管理系统建立更好的沟通平台,提高用户信息交流系统的服务效率。该系统可以满足大多数用户提出的问题,用户可以根据自己的需要获得相应的服务,为超市管理系统提供了一条快捷的途径[9]。

3.2可行性分析
超市管理系统研发出来可以为广大用户解决商品销量的问题,大大降低时间成本,不需要将无谓的时间浪费在道路上,并且超市管理可以更大化的将信息展露在人们的眼前供其选择。它是一款多用户使用的系统,比较符合业务逻辑,是通过互联网解决复杂和单调问题的典型案例[10]。
3.2.1技术可行性
技术可行性是分析系统都需要用到哪些技术知识,语法是否规范标准,代码量多大,是否具有可移植性,在 MVC 在这种设计模式下能够真正的实现数据层和表示层的分离,以及前端页面是否可以做到美观实用,是否吸引眼球。网站是否足够稳定,后端管理页面是否足够方便管理,数据库的构建是否可以符合系统要求,是否需要搭建集群等等[11]。
3.2.2经济可行性
通过结合以上对系统的技术和可行性分析来判断对系统经济状况的预算是否大于系统开发资金的比例。因此,通过分析系统的业务模式和开发者模式,不会浪费大量资金,系统的使用价值大于资本价值。
3.2.3运营可行性
可操作性是指将系统开发所涉及到的所有功能全都实现,代码收尾工作完成后对用户消费水平,系统的业务能力是否与用户消费水平所对等,是否可以满足大部分消费者的需求,页面是否美观,能否让用户满意,代码显示是否为轻量级,操作和功能是否简单便捷,是否同时适用。系统能否同时应用于windows、linux等操作系统,这取决于系统的可移植性。python编程语言的适应性非常强,基本上能够较好的适应目前市场环境中所流行的各个平台。也就是说python的可移植性很强,那么系统的价值越高,可行性也就越强[12]。
3.2.4法律可行性
该超市管理系统是面向大众开源化和不收取任何费用的。它的主要目的是帮助用户解决商品销量问题。完全符合法律可行性要求,系统内部权限划分不会导致内部用户泄露系统机密。对于用户信息,系统有保护措施,用户密码在数据库中加密,并有严格的自我控制和商品价格解释[13]。

3.3系统功能需求分析
在功能方面,不需要管理员在指定场所进行超市管理,要保证可以在很大程度上满足用户解决繁琐问题,满足用户需求。
3.3.1系统功能概述
后台员工页面:若进入本网站,需要注册自己的账号和密码,输入正确的账号和密码,员工才可以成功登录到超市管理系统主页面,进入超市管理页面后,员工可以在搜索栏中查询自己所需的商品信息、商品进货、商品出库、商品销量等,在个人中心员工可以修改自己的个人详细信息。
后台管理员页面:主要是管理员登录本网站。管理员输入管理员账号密码后,校验无误后方可进入后台管理主界面,对员工使用的权限管理等管理以及对网站信息进行管理。
3.3.2用户管理模块
此模块允许用户登录。用户可以在这里对其信息注册登录。用户管理模块如表3-1所示。
表3-1 用户管理模块表
用例条目 描述
用例名称

主要参与者

描述

前置条件

后置条件

触发条件

基本流程

替代流程

结束

待解决问题 后台登录

管理员和员工

登录后台管理页面才能进行各种功能的操作;

实现用户注册的相关功能

账号、密码登录后才能进行管理员的管理功能

实现登录功能

(1)登陆用户输入身份信息和密码
(2)系统后台验证登陆用户的身份和密码
(3)返回验证登陆结果
(4)若登录成功,模块管理
(1)用户输入登录名称及密码错误显示登录失败
(2)登录成功并跳转到系统界面
(3)登录失败并跳转到登录界面
图4-5商品进货E-R图
4.2.3数据库表设计
数据库表的设计通常是根据业务逻辑设置的。数据库模型在数据库中设计,并根据模型创建数据库表。
表4-1: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-2:商品信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP
shangpinbianhao varchar 200 商品编号
shangpinmingcheng varchar 200 商品名称
shangpinleixing varchar 200 商品类型
tupian longtext 4294967295 图片
shuliang int 数量
chengbenjia float 成本价
lingshoujiage float 零售价格
baozhiqi varchar 200 保质期
chandi varchar 200 产地
shengchanriqi datetime 生产日期
jinhuoshijian datetime 进货时间
chanpinxiangqing longtext 4294967295 产品详情

表4-3:商品销量
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP
shangpinbianhao varchar 200 商品编号
shangpinmingcheng varchar 200 商品名称
shangpinleixing varchar 200 商品类型
tupian longtext 4294967295 图片
shuliang int 数量
lingshoujiage float 零售价格
heji float 合计
chandi varchar 200 产地
shengchanriqi varchar 200 生产日期
baozhiqi varchar 200 保质期
xiaoshoushijian datetime 销售时间
yuangonggonghao varchar 200 员工工号
yuangongxingming varchar 200 员工姓名

表4-4:商品收益
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP
shangpinmingcheng varchar 200 商品名称
shangpinleixing varchar 200 商品类型
lingshoujia int 零售价
chengbenjia int 成本价
chushoushuliang int 出售数量
shouyijine int 收益金额
shengchengriqi varchar 200 生成日期
tianjiashijian datetime 添加时间

表4-5:商品类型
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP
shangpinleixing varchar 200 商品类型

表4-6:商品进货
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP
dingdanhao varchar 200 订单号
shangpinmingcheng varchar 200 商品名称
shangpinleixing varchar 200 商品类型
tupian longtext 4294967295 图片
shuliang int 数量
lingshoujiage float 零售价格
jinhuojia float 进货价
chandi varchar 200 产地
shengchanriqi varchar 200 生产日期
baozhiqi varchar 200 保质期
rukushijian date 入库时间
yuangonggonghao varchar 200 员工工号
yuangongxingming varchar 200 员工姓名

表4-7:商品出库
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP
shangpinbianhao varchar 200 商品编号
shangpinmingcheng varchar 200 商品名称
shangpinleixing varchar 200 商品类型
tupian longtext 4294967295 图片
shuliang int 数量
lingshoujiage float 零售价格
chandi varchar 200 产地
shengchanriqi varchar 200 生产日期
baozhiqi varchar 200 保质期
chukushijian date 出库时间
yuangonggonghao varchar 200 员工工号
yuangongxingming varchar 200 员工姓名

表4-8:配置文件
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

name varchar 100 配置参数名称
value varchar 100 配置参数值

表4-9:员工
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP
yuangonggonghao varchar 200 员工工号
mima varchar 200 密码
yuangongxingming varchar 200 员工姓名
xingbie varchar 200 性别
gangwei varchar 200 岗位
ruzhishijian date 入职时间
lianxifangshi varchar 200 联系方式
shenfenzheng varchar 200 身份证
butiejiangjin int 补贴奖金
jibengongzi int 基本工资
shigufajin int 事故罚金
shijigongzi int 实际工资
beizhu varchar 200 备注
gengxinshijian datetime 更新时间

表4-10:用户表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

username varchar 100 用户名
password varchar 100 密码
role varchar 100 角色 管理员
addtime timestamp 新增时间 CURRENT_TIMESTAMP

表4-11:通知公告
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP
biaoti varchar 200 标题
neirong longtext 4294967295 内容
fabushijian date 发布时间
faburen varchar 200 发布人
tupian longtext 4294967295 图片

5系统的实现
5.1管理员模块实现
管理员登录,在登录页面选择需要登录的角色,在正确输入用户名和密码、角色后,点击登录操作;如图5-1所示。


图5-1 管理员登录界面

管理员进入系统主页面,主要功能包括对首页、个人中心、员工管理、商品类型管理、商品信息管理、商品进货管理、商品出库管理、商品销量管理、商品收益管理、通知公告管理等进行操作。管理员主页面如图5-2所示:


图5-2管理员主界面

管理员点击员工管理,在员工管理页面输入员工工号、员工姓名、性别、岗位、入职时间、联系方式、身份证、补贴奖金、基本工资、事故罚金、实际工资、备注、更新时间等信息,可以查询,添加或删除员工信息等操作。如图5-3所示:


图5-3员工管理界面

管理员点击商品信息管理,在商品信息管理页面对商品编号、商品名称、商品类型、图片、数量、成本价、零售价格、保质期、产地、生产日期、进货时间等信息,可以查询或删除商品信息到等操作。如图5-4所示:


图5-4商品信息管理界面

管理员点击商品进货管理,在商品进货管理页面对订单号、商品名称、商品类型、图片、数量、零售价格、进货价、产地、生产日期、保质期、入库时间、员工工号、员工姓名等信息,可以查询或删除商品进货等操作。如图5-5所示:


图5-5商品进货管理界面

管理员点击商品出库管理,在商品出库管理页面对商品编号、商品名称、商品类型、图片、数量、零售价格、产地、生产日期、保质期、出库时间、员工工号、员工姓名等信息,可以查询或删除商品出库等操作。如图5-6所示:


图5-6商品出库管理界面

管理员点击商品销量管理,在商品销量管理页面对商品编号、商品名称、商品类型、图片、数量、零售价格、合计、产地、生产日期、保质期、销售时间、员工工号、员工姓名等信息,可以查询或删除商品销量等操作。如图5-7所示:


图5-7商品销量管理界面

5.2员工模块实现
员工登录界面,首先双击打开系统,连上网络之后会显示出本系统的登录界面,这是进入系统的第初始页面“登录”,能成功进入到该登录界面则代表系统的开启是成功的,接下来就可以操作本系统所带有的其他所有的功能,如图5-8所示。


图5-8员工登录界面
1
员工登录进入系统,在员工主页面,主要包括对首页、个人中心、商品信息管理、商品进货管理、商品出库管理、商品销量管理、通知公告管理等功能进行操作。员工主页面如图5-9所示:


图5-9 员工主界面

员工点击商品信息管理,在商品信息管理页面对商品编号、商品名称、商品类型、图片、数量、成本价、零售价格、保质期、产地、生产日期、进货时间等信息,可以查询商品信息等操作。如图5-10所示:


图5-10商品信息管理界面

员工点击商品进货管理,在商品进货管理页面对订单号、商品名称、商品类型、图片、数量、零售价格、进货价、产地、生产日期、保质期、入库时间、员工工号、员工姓名等信息,可以查询或删除商品进货等操作。如图5-11所示:


图5-11商品进货管理界面

员工点击商品出库管理,在商品出库管理页面对商品编号、商品名称、商品类型、图片、数量、零售价格、产地、生产日期、保质期、出库时间、员工工号、员工姓名等信息,可以查询或删除商品出库等操作。如图5-12所示:


图5-12商品出库管理界面

员工点击商品销量管理,在商品销量管理页面对商品编号、商品名称、商品类型、图片、数量、零售价格、合计、产地、生产日期、保质期、销售时间、员工工号、员工姓名等信息,可以查询或者删除商品销量等操作。如图5-13所示:


图5-13商品销量管理界面

6系统测试
在系统开发上市前都需要经过严格的系统测试。主要测试访问请求的延迟时间,对于一些未知和危险的问题,需要严格的测试和解决方案[14]。
6.1系统测试的重要性
对于程序来说,系统测试应该根据程序的指定业务、程序的承载能力、程序代码的效率、数据库服务器的存储和设计进行测试。
6.2性能测试
若同时有大量用户和大量请求进入是看服务器是否响应延迟时间来比较性能的。我们可以从代码,程序逻辑,接口使用,数据库优化等方面逐个做仿真测试。
为了保证测试的有效性和程序的安全性,我们主要从两个方面进行测试:一是系统功能节点测试,二是接口业务逻辑测试。
经过第一和第二两个部分的测试后,我们判定项目没有风险[15]。
6.3用户模块测试
测试编号:a。
目的:测试登录模块,测试系统能否对正确进行登录放行,拦截错误数据进行页面返回。
前提:未登录的用户进行登录,用户名为“aaaa”,初始密码为“00000”。
方法:实地测试。
测试用例表,如表6-1所示。
表6-1登录模块测试用例表


结 论
为了保证系统的稳定性,这次采用的是一个比较常用的python语言开发。在学期末完成发展计划。本系统分为管理员和员工二部分。这二个部分紧密相连,有着独特的关系。最终成为超市管理系统。
在做需求分析,代码实现和功能测试的过程中遇到了很多自己解决不了的难题,比如,代码不明白,我查了****,问了辅导老师,比如中英文不懂,我挨个去百度翻译查。这段时光虽然很苦很累,但也是我的精神最富有的一段时光。我真的理解先痛苦后幸福的含义。当我看到代码行和程序的雏形时,前面的痛苦仿佛一扫而光。通过这让我知道,无论发生什么,坚持最重要。有了这些经验,我将来会越来越好,在每一次实践中都会提高自己。
 
登录成功
3.4系统其他需求分析
3.4.1性能要求
在开发了一个功能较为良好系统之后,首要考虑的就是它的性能要求,比如当用户使用它进行点击或提交功能时,它会产生多久的延迟,系统响应速度快不快,如果短时间同时有较多用户访问网站是否会产生系统崩溃,是否采用高并发接口,另外,存储功能进行中的代码量是否满足算法和数据结构,以及是否占用较大内存等:
(1)系统应具备快速的反映时间,对于并发特征得到解决。
(2)系统对用户密码是否进行了加密并进行大量安全处理。
(3)系统代码量是否简洁,不会占用计算机太多内存。
3.4.2安全要求
对于安全要求要进行可靠性分析,可靠性分析有利于可实现安全性、可靠性设计与系统功能设计在数据源上的统一。就本系统的安全性能而言,数据的账户和密码需要以明文形式显示,并严格加密。更改密码、修改个人数据、添加信息需要相应权限。
3.4.3作业环境要求
(1)系统:Windows系统足够,兼容性强。
(2)Web服务器:内置tomcat,无需安装、运行和使用。
(3)数据库服务器:MySQL 5.5及以上,图形界面为SQLYG。
(4)浏览器:谷歌或Firefox开发者浏览器。
(5)JDK1.8及以上,内置插件maven等。
3.5系统用例图
致 谢
经过几个月的努力,毕业设计终于完成了,这不仅提高了我的实践能力,也丰富了我的知识领域。在整个毕业设计过程中,他对我们非常友好,关心我们每个学生的选题,帮助我们分析哪些学生适合该学科,分析该学科的难度,并教我们如何处理可能出现的问题;在整个设计过程中,老师耐心地指导我,分析我的问题,帮助我找到解决方案。 同时,在设计过程中,也得到了同学和室友的大力支持。 他们帮助我查找信息并节省了宝贵的时间。
其次,我还要感谢在编程过程中帮助过我的同学们。 正是他们孜孜不倦的回答,才使超市管理系统的顺利建成。 我还要感谢我的学校为我们提供了一个学习的地方和一个舒适的学习和生活环境。 我要感谢我的导师对我的论文的客观评价。 学校老师不遗余力地给我们上课和指导,让我们更好地掌握知识,提高处理实际问题的能力。 因为老师的建议和指导对我的论文完成起了至关重要的作用。

上一篇:【Linux】进程的进一步认识


下一篇:nodejs社区垃圾分类管理平台的设计与实现python-flask-django-php