Spring Boot框架:电商系统的技术革新

news2024/12/23 9:12:31

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模型图由长方形(实体),椭圆形(属性),菱形(关系)这三部分图形符号组成,绘制期间要区分开来,用准确的图形符号代表相应的数据元素。
各个实体之间的联系用下图的E-R图表示。绘制的系统E-R图见图4.8。
在这里插入图片描述

图4.8 系统E-R图
4.3.2 数据库表结构设计
数据库系统一旦选定之后,需要根据程序要求在数据库中建立数据库文件,并在已经完成创建的数据库文件里面,为程序运行中产生的数据建立对应的数据表格,数据表结构设计就是对创建的数据表格进行字段设计,字段长度设计,字段类型设计等,当数据表格合理设计完成之后,才能正常存储相关程序运行产生的数据信息。
表4.1地址表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 addtime Date 创建时间 是
3 userid Integer 用户id 是
4 address String 地址 是
5 name String 收货人 是
6 phone String 电话 是
7 isdefault String 是否默认地址[是/否] 是
表4.2购物车表表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
8 addtime Date 创建时间 是
9 tablename String 商品表名 是
10 userid Integer 用户id 是
11 goodid Integer 商品id 是
12 goodname String 商品名称 是
13 picture String 图片 是
14 buynumber Integer 购买数量 是
15 price float 单价 是
16 discountprice float 会员价 是
表4.3客服聊天表表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
17 addtime Date 创建时间 是
18 userid Integer 用户id 是
19 adminid Integer 管理员id 是
20 ask String 提问 是
21 reply String 回复 是
22 isreply Integer 是否回复 是
表4.4商品信息评论表表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
23 addtime Date 创建时间 是
24 refid Integer 关联表id 是
25 userid Integer 用户id 是
26 content String 评论内容 是
27 reply String 回复内容 是
表4.5商品资讯表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
28 addtime Date 创建时间 是
29 title String 标题 是
30 introduction String 简介 是
31 picture String 图片 是
32 content String 内容 是
表4.6订单表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
33 addtime Date 创建时间 是
34 orderid String 订单编号 是
35 tablename String 商品表名 是
36 userid Integer 用户id 是
37 goodid Integer 商品id 是
38 goodname String 商品名称 是
39 picture String 商品图片 是
40 buynumber Integer 购买数量 是
41 price float 价格/积分 是
42 discountprice float 折扣价格 是
43 total float 总价格/总积分 是
44 discounttotal float 折扣总价格 是
45 type Integer 支付类型 是
46 status String 状态 是
47 address String 地址 是
表4.7商品分类表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
48 addtime Date 创建时间 是
49 shangpinfenlei String 商品分类 是
表4.8商品评价表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
50 addtime Date 创建时间 是
51 dingdanbianhao String 订单编号 是
52 shangpinmingcheng String 商品名称 是
53 shangpinfenlei String 商品分类 是
54 pinpai String 品牌 是
55 pingfen String 评分 是
56 pingjianeirong String 评价内容 是
57 tianjiatupian String 添加图片 是
58 pingjiariqi date 评价日期 是
59 yonghuming String 用户名 是
60 lianxidianhua String 联系电话 是
61 sfsh String 是否审核 是
62 shhf String 审核回复 是
表4.9商品信息表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
63 addtime Date 创建时间 是
64 shangpinmingcheng String 商品名称 是
65 shangpinfenlei String 商品分类 是
66 tupian String 图片 是
67 biaoqian String 标签 是
68 pinpai String 品牌 是
69 shangpinxiangqing String 商品详情 是
70 clicktime datetime 最近点击时间 是
71 clicknum Integer 点击次数 是
72 price float 价格 是
表4.10收藏表表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
73 addtime Date 创建时间 是
74 userid Integer 用户id 是
75 refid Integer 收藏id 是
76 tablename String 表名 是
77 name String 收藏名称 是
78 picture String 收藏图片 是
表4.11用户表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
79 addtime Date 创建时间 是
80 yonghuming String 用户名 是
81 mima String 密码 是
82 xingming String 姓名 是
83 touxiang String 头像 是
84 xingbie String 性别 是
85 lianxidianhua String 联系电话 是
86 money float 余额 是
表4.12用户表表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
87 role String 角色 是
88 addtime Date 新增时间 是

6 系统测试
程序软件一旦被开发完成之后,在真正投入日常生活中进行运行使用之前,是必须要经历测试这一个重要的操作环节,因为开发期间注重的是每个单独功能模块的开发,尽管每次开发完成一个单独功能模块时,会通过单元测试进行检验,检验合格才会让程序员继续开发下一个子功能模块,以此类推,当程序员完成所有的系统子功能模块的开发时,这个时候就需要引进系统测试,系统测试就是把所有的子功能模块集成到一起,构建成整个系统,在指定的运行环境下进行运行,主要就是测试系统的所有功能模块在一起是否良好运行,一旦程序软件通过了系统测试这一环节,就意味着它可以进行最终的验收测试了,这个测试步骤的操作用户是程序面向的客户或者是最终用户了。
6.1 系统测试的特点 
系统测试也是为了保证系统正式上线后,可以稳定正常运行,给使用者带来便利。系统测试也有其对应的特点:
(1)系统测试它包括了端到端的完整测试;
(2)系统测试也对程序软件的架构方面,程序软件的业务需求等方面进行了测试;
(3)系统测试一旦采用正确的方法进行,这将减少程序正式上线之后产生的各种错误;
系统测试一般都是在跟生产环境相似的环境当中运行,程序的功能比如添加功能,删除功能,修改功能等都会使用同样的数据在新系统和现有系统中进行比较,这样做让用户对新系统中的添加,修改,删除等功能能够更好地理解,也能提升用户对新系统的满意度。
6.2 系统功能测试
6.2.1 登录功能测试
要保障程序安全,首先就要从入门门槛抓起,所以程序的登录模块也是很重要的程序入门门槛,务必要保证此功能可以安全运行使用。此次对程序登录模块测试选择管理员角色进行测试(如表6.1所示)。
表6.1 登录功能测试数据表
登录账号 登录密码 操作人 最终结果
abc abc 管理员 登录进入程序
123 abc 管理员 弹出错误登录提示
abc 123 管理员 弹出错误登录提示
6.2.2 添加类别功能测试
网上商城系统需要管理员添加类别信息,类别名称是程序设置的必填数据,而且添加的类别名称也不能够是数据库里面的存在的数据。对添加类别功能测试时,测试数据在下表展示。
表6.2 添加类别功能测试数据表
类别名称 反馈结果
类别1 失败
类别2 失败
类别3 成功
6.3 测试结果分析
程序经过了上述的测试环节,可以得出的测试结论有:
第一点,可以确定开发出来的网上商城系统是符合同类型系统的要求;
第二点,用户要求网上商城系统需要具备的功能都已开发完成并能够正常使用;
第三点,网上商城系统界面简洁美观,操作流程清晰明了;
第四点,网上商城系统的安全性,以及运行性能符合开发要求。
至此,网上商城系统可以确保所有功能能够按照预期目标进行运行,可以正式投入生活中运行使用!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2241839.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

wordpress下载站主题推荐riproV5 wordpress日主题

iPro主题全新V5版本,是一个优秀且功能强大、易于管理、现代化的WordPress虚拟资源商城主题。支持首页模块化布局和WP原生小工具模块化首页可拖拽设置,让您的网站设计体验更加舒适。同时支持了高级筛选、自带会员生态系统、超全支付接口等众多功能&#x…

微服务即时通讯系统的实现(客户端)----(1)

目录 1. 项目整体介绍1.1 项目概况1.2 界面预览和功能介绍1.3 技术重点和服务器架构 2. 项目环境搭建2.1 安装Qt62.3 安装vcpkg2.3 安装protobuf2.4 构建项目2.5 配置CMake属性 3. 项目核心数据结构的实现3.1 创建data.h存放核心的类3.2 工具函数的实现3.3 创建编译开关 4. 界面…

2024年11月15日

1.计算机网络 逻辑右移 做加减法 定点乘法 原码乘法运算 一位乘 计组 2.英语六级

算法定制LiteAIServer摄像机实时接入分析平台玩手机打电话检测算法:智能监控的新篇章

在现代社会,随着智能手机的普及,无论是在工作场所还是公共场所,玩手机或打电话的行为日益普遍。然而,在某些特定环境下,如工厂生产线、仓库、学校课堂等,这些行为可能会影响到工作效率、安全或教学秩序。为…

算法--解决二叉树遍历问题

第一 实现树的结构 class Node(): # 构造函数,初始化节点对象,包含数据和左右子节点 def __init__(self, dataNone): self.data data # 节点存储的数据 self.left None # 左子节点,默认为None self.rig…

深度学习基础—Beam search集束搜索

引言 深度学习基础—Seq2Seq模型https://blog.csdn.net/sniper_fandc/article/details/143781223?fromshareblogdetail&sharetypeblogdetail&sharerId143781223&sharereferPC&sharesourcesniper_fandc&sharefromfrom_link 上篇博客讲到,贪心算…

C++__day1

1、思维导图 2、如果登录失败&#xff0c;提示用户登录失败信息&#xff0c;并且提示错误几次&#xff0c;且重新输入&#xff1b;如果输入错误三次&#xff0c;则退出系统 #include <iostream> using namespace std;int main() {string id , pswd;string user"admi…

【机器学习】数学知识:欧式距离(Euclidean Distance)和曼哈顿距离(Manhattan Distance)

欧式距离和曼哈顿距离是两种常用的距离度量方法&#xff0c;用于衡量两点之间的相似性或差异性。它们在几何分析、数据挖掘、机器学习等领域有广泛应用。 1. 欧式距离 概念 欧式距离&#xff08;Euclidean Distance&#xff09;是最常见的直线距离度量方法&#xff0c;源于欧…

Java之JDBC,Maven,MYBatis

前言 就是用来操作数据库的 1.JDBC快速入门 注意在使用前一定要导入jar包 在模块那里新建目录&#xff0c;新建lib&#xff0c;粘贴复制jar包&#xff0c;我这个jar设置的是模块有效 package test1017;import java.sql.Connection; import java.sql.DriverManager; import…

JavaWeb笔记整理——Spring Task、WebSocket

目录 SpringTask ​cron表达式 WebSocket SpringTask cron表达式 WebSocket

【大数据学习 | HBASE高级】rowkey的设计,hbase的预分区和压缩

1. rowkey的设计 ​ RowKey可以是任意字符串&#xff0c;最大长度64KB&#xff0c;实际应用中一般为10~100bytes&#xff0c;字典顺序排序&#xff0c;rowkey的设计至关重要&#xff0c;会影响region分布&#xff0c;如果rowkey设计不合理还会出现region写热点等一系列问题。 …

如何实现主备租户的无缝切换 | OceanBase应用实践

对于DBA而言&#xff0c;确保数据库的高可用性、容灾等能力是其日常工作中需要持续思考和关注的重要事项。一方面&#xff0c;可以利用数据库自身所具备的功能来实现这些目标&#xff1b;若数据库本身不提供相应功能&#xff0c;DBA则需寻找其他工具来增强数据库的高可用性和容…

Spring 中的 BeanDefinitionParserDelegate 和 NamespaceHandler

一、BeanDefinitionParserDelegate Spring在解析xml文件的时候&#xff0c;在遇到<bean>标签的时候&#xff0c;我们会使用BeanDefinitionParserDelegate对象类解析<bean>标签的内容&#xff0c;包括<bean>标签的多个属性&#xff0c;例如 id name class in…

MQTT从入门到精通之MQTT Dashboard

MQTT Dashboard 1 Dashboard简介 EMQX 提供了一个内置的管理控制台&#xff0c;即 EMQX Dashboard。方便用户通过 Web 页面就能轻松管理和监控 EMQX 集群&#xff0c;并配置和使用所需的各项功能。 访问地址&#xff1a;http://ip:18083 首次登录访问账号&#xff1a;admin…

Flume和kafka的整合

1、Kafka作为Source 【数据进入到kafka中&#xff0c;抽取出来】 在flume的conf文件夹下&#xff0c;有一个flumeconf 文件夹&#xff1a;这个文件夹是自己创建的 创建一个flume脚本文件&#xff1a; kafka-memory-logger.conf Flume 1.9用户手册中文版 — 可能是目前翻译最完…

vue2项目中在线预览csv文件

简介 希望在项目中&#xff0c;在线预览.csv文件&#xff0c;本以为插件很多&#xff0c;结果都只是支持excel&#xff08;.xls、.xlsx&#xff09;一到.csv就歇菜。。。 关于文件预览 vue-office&#xff1a;文档、 查看在线演示demo&#xff0c;支持docx、.xlsx、pdf、ppt…

右键添加获取可供WSL使用的路径,对windows文件夹也适用,即获取符合Linux规范的路径内容给WSL

文章目录 1. 功能展示1.1. 对 WSL 文件/文件夹/目录空白位置 使用1.2. 对 Windows 文件/文件夹/目录空白位置 使用1.3. Fin 2. 方法3. 文件内容3.1. AddWSLPath.reg3.2. CopyPath.vbs 4. 念念碎 1. 功能展示 1.1. 对 WSL 文件/文件夹/目录空白位置 使用 输出 /etc 1.2. 对 Wi…

新版Apache tomcat服务安装 Mac+Window双环境(笔记)

简介&#xff1a;Tomcat服务器器的下载和安装&#xff1a; 安装前提 1&#xff09;电脑需要有java环境&#xff0c;jdk8以上&#xff0c;否则启动不不成功 2&#xff09;已经安装Sublime⽂文件编辑软件 3&#xff09;window电脑需要显示⽂文件拓拓展名 官网&#xff08;https:…

网络基础(3)https和加密

http其它的报头 直接看图片&#xff1a; 上图中的第一个和第二个类型之前已经使用过了也就不多做说明了&#xff0c;第三个报头类型使用的很少了。第四个报头类型主要就使用在一些灰度更新的应用上&#xff0c;确定用户使用的软件的版本不让其访问该版本不能访问的功能。下一个…

vue3【实战】切换全屏【组件封装】FullScreen.vue

效果预览 原理解析 使用 vueUse 里的 useFullscreen() 实现 代码实现 技术方案 vue3 vite UnoCSS vueUse 组件封装 src/components/FullScreen.vue <template><component:is"tag"click"toggle":class"[!isFullscreen ? i-ep:full-sc…