摘 要
随着国内市场经济这几十年来的蓬勃发展,突然遇到了从国外传入国内的互联网技术,互联网产业从开始的群众不信任,到现在的离不开,中间经历了很多挫折。从当初的传统销售行业抵制互联网销售,到现在传统销售与网络销售的结合模式,都代表着网络购物是一种潮流,是线下实体经济的补充,不再是有些学者叫嚣的洪水猛兽,有效的在信息传播上突破了空间距离的限制,使得超市购物变得与实体购物一样舒适。本次开发的超市购物系统,实现了购物在线查看与购买下单的功能。开发本程序用到了Python作为开发语言,django作为开发框架。数据库采用关系数据库市场占有率最高的MySQL作为本程序使用的数据库,完全符合程序使用并且有丰富的拓展余地。程序从需求到设计,从开发到测试,都在功能上和性能上都不断的进行了调试,让开发的程序在使用上用户体验更美好。
关键词:超市购物系统;Python;MySQL
Abstract
With the vigorous development of the domestic market economy in recent decades, we have suddenly encountered the Internet technology introduced into China from abroad. The Internet industry has experienced many setbacks from the initial distrust of the masses to the present. From the original traditional sales industry boycotting Internet sales to the current combination mode of traditional sales and online sales, all represent that online shopping is a trend and a supplement to the offline real economy. It is no longer a monster shouted by some scholars. It effectively breaks through the limitation of spatial distance in information dissemination, making supermarket shopping as comfortable as physical shopping. The supermarket shopping system developed this time realizes the functions of shopping online viewing and purchase order. The development of this program uses Python as the development language and Django as the development framework. The database uses mysql, which has the highest market share of relational database, as the database used by this program, which is fully in line with the use of the program and has rich room for expansion. From requirements to design, from development to testing, the program has been continuously debugged in function and performance, so as to make the user experience of the developed program better.
Key Words:Supermarket shopping system; Python; MySQL
目 录
1 绪论 1
1.1 研究背景 1
1.2 研究意义 1
1.3 研究内容 2
2 开发技术 3
2.1 B/S架构 3
2.2 Mysql数据库 3
2.3 Python语言 4
3 系统分析 5
3.1可行性研究 5
3.2系统性能分析 6
3.3 系统流程分析 6
3.3.1 系统开发流程 6
3.3.2 系统注册流程 7
3.3.3 系统登录流程 8
4 系统设计 10
4.1 系统结构设计 10
4.2系统功能模块设计 11
4.3数据库设计 11
4.3.1数据库E-R图 11
4.3.2 数据库表结构 13
5 系统实现 17
5.1 管理员功能实现 17
5.1.1 用户管理 17
5.1.2 店员管理 17
5.2 店员功能实现 18
5.2.1 商品管理 18
5.2.2 订单管理 19
5.3 用户功能实现 19
5.3.1 个人中心 19
5.3.2 我的订单 20
6系统测试 22
6.1 测试的基本概念 22
6.2 测试的任务和目的 22
6.2.1测试的任务 22
6.2.2测试的目的 23
6.3 测试结果分析 23
结 论 24
参考文献 25
致 谢 26
1 系统设计
系统分析接下来的操作步骤就是系统的设计,这部分内容也是不能马虎对待的。因为生活都是在不断产生变化,人们需求也是在不断改变,开发技术也是在不断升级,所以程序也需要考虑在今后可以方便进行功能扩展,完成升级。程序也需要具备大容量以及对其它软硬件的适应能力,而不仅仅是满足现有用户提出来的功能需求,程序在设计期间始终要以发展的理念来进行,要让程序的开发技术上具备先进性的特点,也要让程序开发成本降低,以及让程序后期运行使用时易于维护。
4.1 系统结构设计
本程序在设计结构选择上首选B/S,也是为了满足程序今后升级便利,以及程序低维护成本的要求。本程序的网络拓扑设计也会在下图展示,通过图形的方式来描述更容易理解。
图4.1 系统网络拓扑设计图
4.2系统功能模块设计
程序的功能在系统分析这部分已经确定了,这部分主要还是针对程序功能进行更加详细的设计,设计成果使用结构图展示直观明了,也更容易让人理解。绘制结构图采用的工具是Visio,使用它可以快速绘制出不同角色拥有的功能结构。
图4.2 功能结构图
4.3数据库设计
对程序的功能分析与结构设计之后,也要对程序数据存储的工具进行选择,本程序选用的数据存储仓库是Mysql,选用这个工具就需要根据该数据库的特点进行数据库文件的创建,并设计与之对应的数据表。
4.3.1数据库E-R图
设计一个数据库,不仅包含了数据库实体的设计,也包括了数据库表的结构设计,此部分内容设计的就是确认数据库的实体,并在此基础上对每个实体应该有的属性值进行分析设计,这些确认好的属性值对接下来的数据表的设计也是有很大帮助的,因为它们代表数据表里面的字段值。通常每个程序的数据库里面都具备用户这样的一个数据表。那么在分析用户这个实体的时候,都会设计出它的属性,有最基本的登录程序的账号属性,有用户的姓名属性,有用户的电话或联系地址属性等内容。一旦确认实体具备的属性之后,就可以采用相应的设计软件绘画出实体属性图,或者是实体之间的E-R图。设计E-R模型的软件有很多,这里列举常用的几个,一个是PowerDesigner,一个是Navicat绘制E-R模型,本设计模块用到的还是之前课堂上就了解并接触的Visio工具,这个工具跟办公软件Word,Excel一样都属于Office里面的一部分。使用Visio工具不仅在软件安装上快捷高效,而且它不会占用很多计算机的存储空间。
(1)超市购物系统设计了管理员实体,管理员实体属性图会在下图进行展示,此图的绘制工具是Visio工具。
图4.4 管理员实体属性图
(2)超市购物系统设计了用户实体,用户实体属性图会在下图进行展示,此图的绘制工具是Visio工具。
图4.5 用户实体属性图
(3)超市购物系统设计了商品实体,商品实体属性图会在下图进行展示,此图的绘制工具是Visio工具。
图4.6 商品实体属性图
4.3.2 数据库表结构
在上述内容中,已经设计出相应的E-R模型,就可以在数据库里面根据各个实体创建相应的数据表,不过在初次使用数据库工具的时候,是需要创建一个针对程序的数据库文件,有了此步操作之后,才在刚创建的数据库文件里面创建数据表,创建数据表需要涉及到字段的设计,主键的设计,字段长度与类型的设计等内容,只有设计好的数据表结构才可以按照此规则存放对应的程序数据。这里举个例子,就拿上面提到的用户实体来说吧,用户具备的属性值,比如账号,比如联系方式与电话等都可以设计成该用户数据表里面的字段,然后对这些字段设计其数据类型,长度,并选择该表的主键作为此用户数据表的唯一标志。数据库里面的各个数据表都有它们的主键,这样也是为了方便区分各个数据表。
4.1用户表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 addtime Date 创建时间 是
3 zhanghao String 账号 是
4 mima String 密码 是
5 xingming String 姓名 是
6 xingbie String 性别 是
7 youxiang String 邮箱 是
8 shoujihaoma String 手机号码 是
9 xiangpian String 相片 是
4.2订单信息表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 addtime Date 创建时间 是
3 dingdanbianhao String 订单编号 是
4 shangpinmingcheng String 商品名称 是
5 shangpinleixing String 商品类型 是
6 danjia Integer 单价 是
7 shuliang Integer 数量 是
8 jine Integer 金额 是
9 zhanghao String 账号 是
10 xingming String 姓名 是
11 shoujihaoma String 手机号码 是
12 goumaibeizhu String 购买备注 是
13 xiadanshijian date 下单时间 是
14 ispay String 是否支付 是
4.3商品信息评论表表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 addtime Date 创建时间 是
3 refid Integer 关联表id 是
4 userid Integer 用户id 是
5 nickname String 用户名 是
6 content String 评论内容 是
7 reply String 回复内容 是
4.4商品信息表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 addtime Date 创建时间 是
3 shangpinmingcheng String 商品名称 是
4 shangpinleixing String 商品类型 是
5 shangpintupian String 商品图片 是
6 shangpinguige String 商品规格 是
7 shangpinjianjie String 商品简介 是
8 shangpinxiangqing String 商品详情 是
9 shengchandi String 生产地 是
10 weizhi String 位置 是
11 danjia Integer 单价 是
12 shuliang Integer 数量 是
13 shangjiariqi date 上架日期 是
14 clicktime datetime 最近点击时间 是
15 clicknum Integer 点击次数 是
4.5店员表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 addtime Date 创建时间 是
3 gonghao String 工号 是
4 mima String 密码 是
5 yuangongxingming String 员工姓名 是
6 xingbie String 性别 是
7 youxiang String 邮箱 是
8 lianxishouji String 联系手机 是
9 xiangpian String 相片 是
4.6收藏表表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 addtime Date 创建时间 是
3 userid Integer 用户id 是
4 refid Integer 收藏id 是
5 tablename String 表名 是
6 name String 收藏名称 是
7 picture String 收藏图片 是
8 type String 类型(1:收藏,21:赞,22:踩) 是
9 inteltype String 推荐类型 是
4.7统计信息表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 addtime Date 创建时间 是
3 tongjimingcheng String 统计名称 是
4 xiaoshoue Integer 销售额 是
5 tongjishijian date 统计时间 是
6 tongjibeizhu String 统计备注 是
4.8用户表表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 username String 用户名 是
3 password String 密码 是
4 role String 角色 是
5 addtime Date 新增时间 是
4.9商品类型表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 addtime Date 创建时间 是
3 shangpinleixing String 商品类型 是
2 系统实现
对超市购物系统进行了前面的系统分析,系统设计之后,接下来的环节就是超市购物系统的具体编码实现功能的部分。这部分内容会显示系统各个功能的具体界面运行效果。
5.1 管理员功能实现
5.1.1 用户管理
管理员可以对注册用户提交的信息进行查看,添加,删除,查询操作。
图5.1 用户管理页面
5.1.2 店员管理
管理员可以对店员信息进行添加,删除,查询,搜索操作。
图5.2 店员管理页面
5.2 店员功能实现
5.2.1 商品管理
店员用户可以在商品管理里面对商品信息进行添加,修改,删除,查询操作。
图5.3 商品管理页面
5.2.2 订单管理
店员可以对用户提交的购物订单进行查看和搜索。
图5.4 订单管理页面
5.3 用户功能实现
5.3.1 个人中心
用户可以在首页登录点击个人中心修改个人资料。
图5.5 我的购物车页面
5.3.2 我的订单
用户登录后点击后台管理可以查看自己的订单信息,可以在订单里进行支付,修改,删除,查询操作。
图5.6 我的订单页面