基于python+vue的O2O生鲜食品订购flask-django-nodejs-php

近年来互联网络的迅猛发展和电子终端设备的普及,赋予了各行业充足的发展空间。微信小程序的O2O生鲜食品订购相比于传统信息技术,时效性是它最大的特色,已经在电子娱乐、经济等中发挥着举足轻重的作用。短时间内迅速扩大了线上管理系统的规模。尽管O2O生鲜食品订购已经有了很大程度的发展,但在微信小程序的O2O生鲜食品订购领域上却少有建设。用户只能通过一些类似软件进行查看生鲜超市,这样的管理方式仍然是比较机械传统的,本文通过对市面上常见的线上管理系统与现实生活中结合问题的讨论,从一个微信小程序的O2O生鲜食品订购角度进行需求分析,提供一些新的思路,并尝试做一些简单的实现。

语言: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格式进行数据交互.充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护等特点
目 录

摘 要 I

Abstract II

1 绪 论 1

1.1课题研究背景及意义 1

1.2研究现状 1

1.3本论文的主要论文结构 3

2系统相关技术 4

2.1 python语言 4

2.2 django/flask框架 5

2.3 MySQL数据库 5

2.4 B/S架构 6

2.5微信开发者工具 6

2.6小程序目录结构以及框架介绍 6

3系统需求分析 6

3.1可行性研究 8

3.1.1技术可行性分析 10

3.1.2 经济可行性分析 10

3.1.3 环境运行可行性分析 11

3.1.4 法律可行性分析 12

3.2系统用例图 12

3.3系统流程设计 13

3.3.1 系统开发流程 14

3.3.2 用户登录流程 14

3.3.3 系统操作流程 15

3.3.4 添加信息流程 16

3.3.5 修改信息流程 17

3.3.6 删除信息流程 18

4系统设计 19

4.1系统功能结构图 19

4.2系统数据库设计 20

4.2.1数据库E-R图 21

4.3数据库表结构 22

5 O2O生鲜食品订购的设计与实现部分 23

5.1 管理员服务端功能模块 25

5.2 用户微信端功能模块 26

6系统测试 27

6.1系统测试的方法 27

结 论 28

参考文献 29

致 谢 30

1 绪 论

1.1课题研究背景及意义

伴随着基础网络设施的不断进步和终端电子设备的高度普及,互联网用户规模越来越大[1]。现在人们越来越离不开计算机网络、互联网所带来的好处了,现如今不同的网站系统遍地都是,现在已经不同于以往的传统的管理方式了,只有跟上时代的发展才能不会被淘汰掉,所以对于微信小程序的O2O生鲜食品订购来说也是同样的,O2O生鲜食品订购相比于传统的订购,其对网络环境有着更高的要求。而5G网络技术的发展,则给予了微信小程序的O2O生鲜食品订购充足的发展空间。

随着经济的发展,人民的生活水平也提高了,于是对网络的需求也越来越依赖。然而,线下管理模式的改进却是一项比较繁杂的工作,因此,管理人员要充分发挥信息化管理的作用,提高本行业整体管理能力,并改进完善现有的O2O生鲜食品订购体系,是非常有意义的[2]。

2.4 B/S架构

B/S(Browser/Server,浏览器/服务器)模式,是一种架构模式,属于WEB发展后的所出现的一种网络构造,而WEB又是主要的浏览器应用商品软件。B/S架构模式不仅将系统的重新开发、维修及利用等简单化,更将其重点放到了服务器上。它使客户端得到了统一,服务器上集中了系统功能的最关键部分。

B/S架构的工作模式是浏览器发出请求后服务器进行相应的响应。Internet上文本、图片、动画等信息主要由Web服务器产生,而用户主要是通过浏览器访问这些信息。在Web服务器上下载程序时,如果在下载过程中遇到某些与数据库相关的指令,可以将这些指令交给数据库服务器来解释、进行执行。

2.5 微信开发者工具

目前腾讯发布的微信官方网站上所使用的软件开发工具主要是微信开发工具,并且有官方网站为它提供了一个前端开发平台。由于软件不能在浏览器上运行,因此在网络上是不允许使用 Document,Window等方法的。而在以往对HTML5进行加载的过程中,会受到网络环境的限制,需要对HTML、CSS以及JS进行一步又一步的加载,然后返回信息,从而渲染页面,将其在浏览器当中进行呈现。这样的方式用户需要等待许久,而且会降低用户的体验感。微信Web开发者工具与H5开发工具的预览模式存在着一定的差异,其属于一项自己的工具,因此可有效地实现同步本地文件开发和调试等流程。此外小程序开发了相关的标签语言和样式语言,并没有使用相关的HTML5+CSS3。在微信小程序软件的开发过程中,而在HTML5+CSS3当中,这是需要通过模拟才能够有效实现的相关功能,但在小程序当中可以通过组件来得到有效的实现。

2.6 小程序目录结构以及框架介绍

(1)目录结构

一个小程序主体部分由三个文件组成,必须放在项目的根目录。小程序主体组成如表2-1。

表2-1 小程序主体组成

文件 必需 作用

app.js 是 小程序逻辑

app.json 是 小程序公共配置

app.wxss 否 小程序公共样式表

一个小程序页面由四个文件组成。小程序页面组成如表2-2。

表2-2 小程序页面组成

文件类型 必需 作用

js 是 页面逻辑

wxml 是 页面结构

json 否 页面配置

wxss 否 页面样式表

(2)框架

整个小程序架构由两个部分组成:逻辑层和视图层。小程序还提供了 WXML和 WXSS的视图层描述语言,并在此基础上构建了一个基于 JavaScript的逻辑层,并在视图层和逻辑层之间设置了数据传递和事件处理,使得开发者可以集中精力在数据和逻辑上。微信小程序的结构,如图2-3所示。

① 逻辑层 App Service

我们所说的逻辑层Service,其实就是对业务流程的控制,主要由JavaScript语言来编写,具体体现在小程序中有四个功能:一、对数据进行初始化,还可以进行云端存储和云端调用。二、增加即将需要处理的逻辑事务。三、把需要进行的逻辑交易进行操作。四、变换视角,显示结果。

② 视图层 View

框架的视图层由 WXML 与 WXSS 编写,由组件来进行展示。将逻辑层的数据反映成视图,同时将视图层的事件发送给逻辑层。

图2-3 微信小程序的结构

3系统需求分析

需求分析在系统开发中有着十分重要的作用。软件项目凭借软件工程的思想和步骤可以大大的提高开发效率,缩短软件开发周期,保证了软件项目的质量。需求分析作为软件工程方法中的一步是至关重要的[6]。软件需求工程是一门分析并记录软件需求的学科。需求分析简单的来说就是用户需要什么,系统需要什么,对此进行问题的列举,等级的排列,需要缜密的思分析和大量的调研[7]。

3.1可行性研究

通过对系统研究目标及内容的分析审察后,提出可行性方案,并对其进行论述。主要从技术可行性出发,再进一步分析经济可行性和环境运行可行性分析、法律可行性分析等方面[8]。

3.1.1技术可行性分析

技术可行性分析基于现在web水平、软硬件水平能否开发出微信小程序的O2O生鲜食品订购,经过对市面常见O2O生鲜食品订购了解研究对比,以及此次O2O生鲜食品订购的估测,预计在技术方面开发本O2O生鲜食品订购是可行的。第一,Java技术发展成熟且市面十分流行,由Java完成本O2O生鲜食品订购的开发、调试,结合市面成熟的集成开发软件辅助开发,且本电脑配置win10系统,足够满足本次O2O生鲜食品订购开发。第二,验证技术发展迅速,使得本O2O生鲜食品订购安全性很高。综上所诉,开发本O2O生鲜食品订购完全可行[9]。

3.1.2 经济可行性分析

经济可行性分析,就是分析在现有经济情况下能否完成本O2O生鲜食品订购的开发。下面对本系统开发、运行、维护的相关费用评估,以及投入到社会完成O2O生鲜食品订购可能费用进行估算。网络资源丰富,本O2O生鲜食品订购只需使用任选一开源服务器即可,此方面无需投入费用。开发阶段,由于本O2O生鲜食品订购不属于大型系统,常规的电脑就可完成开发,不用购置相关硬件设备。软件方面,本O2O生鲜食品订购只需使用网上免费下载的软件即可完成开发,这些软件在使用时简单易懂,无需培训,因此此方面也无需投入费用。由于本微信小程序的O2O生鲜食品订购不属于大型系统,运行时候电费可以忽略不记。O2O生鲜食品订购作为自己毕设,由本人开发即可完成,无需人力费用。综上,整个系统开发花费很少,所以本O2O生鲜食品订购在经济上可行[10]。

3.1.3 环境运行可行性分析

软件在能否在客户端使用并发挥效益的制约关键就是运行环境。计算机普及,现在人们接触各类系统频繁,日常生活使用计算机无障碍。并且该微信小程序的O2O生鲜食品订购页面简单,通过显示页面引导即可完成本O2O生鲜食品订购删除、增加、修改等功能。对计算机要求低,门槛低,通过常用浏览器即可使用本O2O生鲜食品订购。因此在运行环境方面,本O2O生鲜食品订购易于接受,是可行的[11]。

3.1.4 法律可行性分析

法律可行性分析,即分析本O2O生鲜食品订购是否与各类法律相悖。本O2O生鲜食品订购使用市面开源免费软件开发,且作为个人毕设,无商用,均为本人自主开发,并且页面设计合理,发布的信息要求符合常规。整个系统无抵触法律法规的问题。因此在法律上,本微信小程序的O2O生鲜食品订购可行[12]。

3.2系统用例图

用例图,即以用户视角来描述本O2O生鲜食品订购的功能,前面已经分析了本O2O生鲜食品订购的总体设计,讨论了各个方面的需求。下面,将以管理员、用户为例。

管理员的用例图,如图3-1所示。

6系统测试

6.1系统测试的方法

(1)白盒测试法

所谓白盒测试是指一种以流程为基础的结构测试、逻辑驱动测试或以流程为基础的测试方式,也就是对系统的具体测试[13]。白箱试验是预先设置一个特殊的条件或者一个周期的用例,其目的是为了实现对该体系的内部构造进行穷举性的检测。在白盒测试期间,主要对下列系统程序进行如下试验:

(1)对系统程序中的全部单独的运行通路进行一次最小的试验;

(2)对两种情形下的"真"与"假"进行逻辑判断,至少进行一次;

(3)在一个系统周期的过程中,对它的周期和操作进行试验;

(4)检验系统内的资料架构是否有效。

(2)黑盒测试法

所谓的黑盒测试,就是根据一个已经存在的程序的功能架构,对其进行实验,以确定其全部的性能是否符合规定在使用黑箱试验方法进行系统程的检测时,将其视为一个完整的系统,而不能了解其所使用的是何种体系,而仅仅将其视为一个不可开启的箱子。采用"黑盒子"检测技术,可以对系统是否满足用户的要求进行检测,对系统的各项功能是否正常运行,对系统的数据是否进行了正确的检测和处理[14]。

使用了一个黑盒测试来检测下列的bug:

(1)对该过程进行初始化和结束时的差错;

(2)是否有系统接口出错;

(3)输入和输出的数据结果有无错误;

(4)对该数据库进行存取的过程中出现了故障;

(5)体系的错误;

(6)系统的功能是否有疏忽或错误;

综合以上的检测方式,并根据本系统的特性,采用黑盒测试,白盒测试作为辅助手段,综合检测该系统的各项功能和性能[15]。

结 论

本文介绍了一个使用方便,界面清晰的微信小程序O2O生鲜食品订购设计与实现。本系统已经实现了对用户、商品分类、生鲜超市、订单等的综合管理,系统为管理者节省了精力和时间,简化了O2O生鲜食品订购建设中重要环节的管理难度,丰富了信息化的建设,符合信息时代的发展趋势。存储在系统中的数据也将对未来信息管理系统的发展提供数据支撑。

本文实现的系统具有功能实用、界面简单清晰、操作简单、安全稳定的优点。在设计实现上本系统采用了django/flask快速开发接口,提升了开发效率、同时也保障了后续维护,易于扩展。使用MySQL轻量级数据库大幅度提升查询性能。这时对系统的要求也将越来越高,这要求我们不断探索新的需求,开发新的技术,与时俱进,实现更完善更智能的微信小程序O2O生鲜食品订购管理。

1.2研究现状

首先,随着计算机技术的稳步快速发展,各类应用型软件得到较大幅度普及,它替代了纸质办公,具有手工管理所无法比拟的优点,对提高工作效率、降低成本具有显著的作用;比如信息流通到位及时、组织管理责任明确、文件查找方便、档案处理可靠性高、存储量大等。可以使我们更加有针对性和更便捷地对微信小程序的O2O生鲜食品订购事务进行科学管理,极大地提高O2O生鲜食品订购管理的效率,提升O2O生鲜食品订购管理的吸引力和影响力,更好地为用户提供信息支持和科学管理[3]。

最新的CNNIC最新数据表明,2012年本科以上学历的人群已经99%接触和利用网络,相信在这样的一个大环境和市场需求下,会更加催生网络的稳步持续发展。O2O生鲜食品订购更加具有其开发的意义,主要体现在它具有广泛的应用性,逐步成熟的网络需求,稳定的发展。用户需要通过微信小程序的O2O生鲜食品订购来找寻自己所需的信息;管理员对系统所有的信息进行管理与维护[4]。O2O生鲜食品订购因其诸多的优越性,成为用户的优先选择的一条途径,而这其中的很多部分,其实已经完全可以由机器代替了。

致 谢

时光荏苒,四年的大学生活使我收获良多,感谢学校给我们提供了一个创新思维、思考问题和解决问题的平台,感谢老师们在过去给予我的知识和帮助。在这里我要向你们表达最真挚的谢意------感谢大家对我门课程教学的支持与鼓励!我想说的话:努力掌握专业知识、不断提高自己的综合素质。通过四年的学习和实验,老师不仅教会了我们知识,还培养了我们自主学习的能力,让我们可以用课堂上所学到的知识去钻研专业的其它方面。

从O2O生鲜食品订购的选择,到系统的详细设计,再到系统各个功能模块的编码,再到论文的撰写,作为一名没有实际开发经验学员,我的第一感觉就是不知从何说起,非常感谢老师们在系统架构设计、进度安排、关键技术等方面的宝贵经验和投入,让我备受鼓舞,顺利完成了课题。我相信在今后的工作中将会得到更多的收获!互联网时代已经到来了。随着信息技术的不断发展,网络技术也越来越成熟,它改变着人们的生活方式,同时对传统行业产生巨大影响。互联网时代我们提供了丰富的资源,解决了我在发展过程中遇到的许多问题,在前辈的指导下,我一直有一种开放的感觉。

一般来说,不付出艰苦的努力就不会有预期的结果,一个从最初的想法到实践到具体目标的软件系统需要反复的设计、改进、实验、耐心、细心和信心,以及坚持不懈、不断尝试和探索未知事物的精神与勇气。

在论文的最后阶段,感谢xxxxxx学院的老师们在这四年对教学的辛勤付出,也感谢和我一起学习的同学和室友,虽然只有相聚的时间只有短短四年,但还是很高兴能在这里认识你们,因为你们无微不至的陪伴,我才能收获一个精彩的大学生活。

相关推荐
darling3315 分钟前
vue+elementUI 表单项赋值后无法修改的问题
前端·javascript·vue.js·elementui·ecmascript
shaoing7 分钟前
php的zip扩展 先装libzip
php
Ven%12 分钟前
DeepSpeed的json配置讲解:ds_config_zero3.json
人工智能·python·ubuntu·json·aigc
为天空着色15 分钟前
TOTP双因素认证(2FA)php简单实现
密码学·php
m0_5485147727 分钟前
Python毕业设计选题:基于Python的社区爱心养老管理系统设计与实现_django
python·django·课程设计
呆呆小雅34 分钟前
四、Vue 条件语句
前端·javascript·vue.js
stormjun1 小时前
基于 Python Django 的农产品销售系统的研究与实现
开发语言·python·django·农产品·农产品销售
山沟沟里的娃1 小时前
pinia从0到1
vue.js
eqwaak01 小时前
爬虫自动化(DrissionPage)
开发语言·人工智能·爬虫·python·自动化·pip
淘小白_TXB21961 小时前
讯飞星火智能生成PPTAPi接口说明文档 python示例demo
开发语言·python·powerpoint