基于微信小程序的超市购物系统+论文源码调试讲解

4 系统设计

超市购物系统的设计方案比如功能框架的设计,比如数据库的设计的好坏也就决定了该系统在开发层面是否高效,以及在系统维护层面是否容易维护和升级,因为在系统实现阶段是需要考虑用户的所有需求,要是在设计阶段没有经过全方位考虑,那么系统实现的部分也就无从下手,所以系统设计部分也是至关重要的一个环节,只有根据用户需求进行细致全面的考虑,才有希望开发出功能健全稳定的程序软件。

4.1 系统概要设计

本次拟开发的系统为了节约开发成本,也为了后期在维护和升级上的便利性,打算通过浏览器来实现系统功能界面的展示,让程序软件的主要事务集中在后台的服务器端处理,前端部分只用处理少量的事务逻辑。下面使用一张图(如图4.1所示)来说明程序的工作原理。

图4.1 程序工作的原理图

4.2 系统功能结构设计

在分析并得出使用者对程序的功能要求时,就可以进行程序设计了。如图4.2展示的就是管理员功能结构图,管理员主要负责填充员工和其类别信息,并对已填充的数据进行维护,包括修改与删除,管理员也需要对奖惩对培训,对考,对薪资等进行管理。

图4.2 系统功能结构图

4.3 数据库设计

程序功能操作不管是添加,修改,还是删除等功能产生的数据都是经由数据库进行数据保存和更新的,所以一个数据库设计的好坏也是程序是否好坏的判定标准,因为程序的成功,有一半的功劳都是靠数据库的优秀设计。数据库一旦设计得良好是可以减轻开发人员的开发负担的。

4.3.1 数据库E-R图设计

这个部分的设计需要使用到E-R图绘制工具,常用的工具就是Visio工具来绘制E-R模型图,这款工具不仅可以快速创建需要的E-R模型图,而且该工具提供的操作界面很简单,可以短时间内修改绘图界面的图形或者是文字的属性。在绘制E-R模型图时,要分清楚各个图形代表的含义,以免绘制出错,E-R模型图由长方形(实体),椭圆形(属性),菱形(关系)这三部分图形符号组成,绘制期间要区分开来,用准确的图形符号代表相应的数据元素。

(1)下图是客服聊天实体和其具备的属性。

客服聊天实体属性图

(2)下图是商品实体和其具备的属性。

商品实体属性图

(3)下图是用户实体和其具备的属性。

用户实体属性图

(4)下图是公告实体和其具备的属性。

公告实体属性图

(5)下图是购物车实体和其具备的属性。

购物车实体属性图

(6)下图是商品收藏实体和其具备的属性。

商品收藏实体属性图

(7)下图是商品评价实体和其具备的属性。

商品评价实体属性图

(8)下图是商品订单实体和其具备的属性。

商品订单实体属性图

(9)下图是收货地址实体和其具备的属性。

收货地址实体属性图

各个实体之间的联系用下图的E-R图表示。绘制的系统E-R图见图4.8。

图4.8 系统E-R图

4.3.2 数据库表结构设计

数据库系统一旦选定之后,需要根据程序要求在数据库中建立数据库文件,并在已经完成创建的数据库文件里面,为程序运行中产生的数据建立对应的数据表格,数据表结构设计就是对创建的数据表格进行字段设计,字段长度设计,字段类型设计等,当数据表格合理设计完成之后,才能正常存储相关程序运行产生的数据信息。

表4.1收货地址表

序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 yonghu_id Integer 创建用户 是
3 address_name String 收货人 是
4 address_phone String 电话 是
5 address_dizhi String 地址 是
6 isdefault_types Integer 是否默认地址 是
7 insert_time Date 添加时间 是
8 update_time Date 修改时间 是
9 create_time Date 创建时间 是

表4.2购物车表

序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 yonghu_id Integer 所属用户 是
3 shangpin_id Integer 商品 是
4 buy_number Integer 购买数量 是
5 create_time Date 添加时间 是
6 update_time Date 更新时间 是
7 insert_time Date 创建时间 是

表4.3客服聊天表

序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 yonghu_id Integer 提问用户 是
3 chat_issue String 问题 是
4 issue_time Date 问题时间 是
5 chat_reply String 回复 是
6 reply_time Date 回复时间 是
7 zhuangtai_types Integer 状态 是
8 chat_types Integer 数据类型 是
9 insert_time Date 创建时间 是

表4.4字典表

序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 dic_code String 字段 是
3 dic_name String 字段名 是
4 code_index Integer 编码 是
5 index_name String 编码名字 是
6 super_id Integer 父字段id 是
7 beizhu String 备注 是
8 create_time Date 创建时间 是

表4.5公告表

序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 gonggao_name String 公告名称 是
3 gonggao_photo String 公告图片 是
4 gonggao_types Integer 公告类型 是
5 insert_time Date 公告发布时间 是
6 gonggao_content String 公告详情 是
7 create_time Date 创建时间 是

表4.6商品表

序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 shangpin_name String 商品名称 是
3 shangpin_uuid_number String 商品编号 是
4 shangpin_photo String 商品照片 是
5 shangpin_types Integer 商品类型 是
6 shangpin_erji_types Integer 二级类型 是
7 shangpin_kucun_number Integer 商品库存 是
8 shangpin_yuzhi Integer 警戒值 是
9 shangpin_price Integer 购买获得积分 是
10 shangpin_old_money BigDecimal 商品原价 是
11 shangpin_new_money BigDecimal 现价/积分 是
12 shangpin_cangku String 所属仓库 是
13 shangpin_clicknum Integer 商品热度 是
14 shangpin_content String 商品介绍 是
15 shangxia_types Integer 是否上架 是
16 shangpin_delete Integer 逻辑删除 是
17 insert_time Date 录入时间 是
18 create_time Date 创建时间 是

表4.7商品收藏表

序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 shangpin_id Integer 商品 是
3 yonghu_id Integer 用户 是
4 shangpin_collection_types Integer 类型 是
5 insert_time Date 收藏时间 是
6 create_time Date 创建时间 是

表4.8商品评价表

序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 shangpin_id Integer 商品 是
3 yonghu_id Integer 用户 是
4 shangpin_commentback_text String 评价内容 是
5 insert_time Date 评价时间 是
6 reply_text String 回复内容 是
7 update_time Date 回复时间 是
8 create_time Date 创建时间 是

表4.9商品订单表

序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 shangpin_order_uuid_number String 订单编号 是
3 address_id Integer 收货地址 是
4 shangpin_id Integer 商品 是
5 yonghu_id Integer 用户 是
6 buy_number Integer 购买数量 是
7 shangpin_order_true_price BigDecimal 实付价格 是
8 shangpin_order_courier_name String 快递公司 是
9 shangpin_order_courier_number String 快递单号 是
10 shangpin_order_types Integer 订单类型 是
11 shangpin_order_payment_types Integer 支付类型 是
12 insert_time Date 订单创建时间 是
13 create_time Date 创建时间 是

表4.10用户表

序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 yonghu_name String 用户姓名 是
3 yonghu_phone String 用户手机号 是
4 yonghu_id_number String 用户身份证号 是
5 yonghu_photo String 用户头像 是
6 yonghu_email String 用户邮箱 是
7 new_money BigDecimal 余额 是
8 yonghu_sum_jifen BigDecimal 总积分 是
9 yonghu_new_jifen BigDecimal 现积分 是
10 huiyuandengji_types Integer 会员等级 是
11 create_time Date 创建时间 是

表4.11管理员表

序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 username String 学生名 是
3 password String 密码 是
4 role String 角色 是
5 addtime Date 新增时间 是

5 系统实现

系统实现部分就是将系统分析,系统设计部分的内容通过编码进行功能实现,以一个实际应用系统的形式展示系统分析与系统设计的结果。前面提到的系统分析,系统设计最主要还是进行功能,系统操作逻辑的设计,也包括了存储数据的数据库方面的设计等内容,系统实现就是一个最终的实施阶段,将前面的设计成果进行物理转化,最终出具可以运用于实际的软件系统。

5.1 管理员功能介绍

5.1.1 商品管理

如图5.1显示的就是商品管理页面,此页面提供给管理员的功能有:查看商品列表,新增商品,修改商品,删除商品。

图5.1 商品管理页面

5.1.2 公告管理

如图5.2显示的就是公告管理页面,此页面提供给管理员的功能有:新增公告,修改公告,删除公告。

图5.2 公告管理页面

5.1.3 公告类型管理

如图5.3显示的就是公告类型管理页面,此页面提供给管理员的功能有:新增公告类型,修改公告类型,删除公告类型。

图5.3 公告类型管理页面

相关推荐
老纪的技术唠嗑局几秒前
Tibo 谈 Codex:harness 总比模型快一步
数据库·人工智能
落魄实习生2 分钟前
Agent Scope Java 2.x 系列【2】 ReActAgent
java·开发语言
艸肅15 分钟前
Ubuntu 安装 JDK (含手动安装)
java·ubuntu·jdk
猫咪宝妖18 分钟前
信息安全工程师 第四级 结构化保护级
网络·数据库·安全
m0_7341724229 分钟前
Python字典计数怎样处理首次出现的键
java
Andreapiki31 分钟前
风险审计校招技术栈拆解:SQL、Python、Power BI在2026届JD中的真实权重
数据库·python·sql
卓怡学长1 小时前
w204基于springbo旅行社签证代理服务系统
java·spring boot·spring·intellij-idea
泡海椒1 小时前
趋势分析报表:jquick-pdf折线图PDF生成实战
java·大数据·运维·服务器·前端·pdf
nvd111 小时前
从存算一体到现代湖仓:对标传统关系型数据库透视 Bucket + Iceberg + Trino 的物理本质
数据库·bigdata
Json____1 小时前
家居装修 AI 智能咨询助手:让装修咨询从“大海捞针“变成“一问即答“
java·后端·vue3·it学习·wwwoop.com