Spring Boot技术:构建高效网上购物平台

news2024/12/22 22:55:35

第3章 系统分析
3.1 可行性分析
在系统开发之初要进行系统可行分析,这样做的目的就是使用最小成本解决最大问题,一旦程序开发满足用户需要,带来的好处也是很多的。下面我们将从技术上、操作上、经济上等方面来考虑这个系统到底值不值得开发。
3.1.1 技术可行性
本基于Spring Boot的网上购物商城系统采用Java和MYSQL数据库进行开发设计,作为计算机专业学生,在学校期间就接触到许多关于编程方面的知识,当然也包括各种编程软件,对他们的了解度也比较系统,所以技术开发上面还是有一定把握。
3.1.2 经济可行性
由于自己本身就是学生,还没有正式参加工作,金钱上面一直都处于缺乏状态。所以在开发程序过程中,我是不会花太多经济成本在上面的。针对开发软件和数据库,还有界面设计的photoshop软件等在百度上面就可以直接下载,然后根据各种安装视频进行安装,这些资源都是免费的,程序编码阶段使用的源代码在百度上面可以轻松获得,在有网络的环境下就能下载下来,不需要支付任何费用,经济成本很低。
3.1.3 操作可行性
本人自己就是学生,程序开发经验不足,在界面设计上面不会设计太复杂,要讲究简单好看,操作上要方便,不能让用户觉得不流畅。用户一旦进入操作界面,界面上就会有相应提示,跟着操作提示就可以找到对应的功能操作模块,对于用户来说免培训就能使用。本基于Spring Boot的网上购物商城系统本身具有操作可行性,其界面设计清晰、功能权限分配合理,操作简单,不同用户登录后可对进行相应功能模块的操作,具有极高的操作可行性。
3.1.4 时间可行性
从时间上看,在三个月的时间里学习相关知识,开发本基于Spring Boot的网上购物商城系统,时间上是有点紧,但是不是不可能实现,在做毕业设计的这几个月里,我通过努力使得功能应该基本可以实现。
综上所述,我们进行了四个方面的可行性研究,可以看出,该基于Spring Boot的网上购物商城系统的开发是没有问题的。
3.2 系统功能分析
本基于Spring Boot的网上购物商城系统主要满足三种用户的需求,这三种用户分别为管理员、商家和用户,下面将对这三种用户分别实现的功能进行详细的阐述。
(1)用户:用户在系统前台可查看系统信息,包括首页、商品信息等,注册登录后主要功能模块包括购物车、个人中心、我的地址、我的收藏管理以及订单管理,用例图如图3-1所示。
在这里插入图片描述

图3-1 用户用例图
(2)管理员:管理员登录后可对系统进行全面的管理,主要功能模块包括个人中心、用户管理、商家管理、商品分类管理、商品信息管理、我的收藏管理、系统管理以及订单管理。管理员用例图如图3-2所示。
在这里插入图片描述

图3-2 管理员用例图图
(3)商家:商家注册登录后主要功能模块包括个人中心、商品信息管理、我的收藏管理以及订单管理。商家用例图如图3-3所示。
在这里插入图片描述

图3-3 商家用例图
3.3 系统性能分析
(1)系统的存储性:因为是网上购物商城系统,所以就会在数据库要求上比较严格,信息录入的比较多,而且丰富复杂, 这就需要一个强大的数据库来存放更多的数据和保证数据的时时性。
(2)系统的易学性:系统设计的应该简单易学的,设计的各种功能应该简单操作,不需要努力学习培训,缩短用户熟悉系统的进程。
(3)系统的数据要求:数据应该录入准确,需要更新时,数据应该可以及时的修改,数据还应该有独立保存,不能删除数据的时候会连带着把还需要的数据都删除掉。
(4)系统稳定性:开发的基于Spring Boot的网上购物商城系统要求运行稳定,运行过程中无界面不清楚、字体模糊等现象。
(5)系统可靠性:系统不可以有病毒类代码,必须有拦截器,验证方法,对里面信息的保护措施,这样才让人用的放心。
3.4 系统流程分析
3.4.1注册流程
未有账号的用户可进行注册操作,在注册时系统会判断用户名是否已存在,已存在的话,提示返回重新填写用户名,用户名不存在,填写其他注册信息,系统判断注册信息是否正确,正确则在数据库中添加用户信息,注册成功。用户注册流程图如图3-4所示。
在这里插入图片描述

图3-4注册流程图
3.4.2登录流程
登录模块主要满足了用户、商家以及管理员的权限登录,用户登录流程图如图3-5所示
在这里插入图片描述

图3-5登录流程图
3.4.3购买流程
用户在购买商品时需要登录系统,只要登录后才可支付购买商品,用户购买商品的流程分析如图3-6所示。
在这里插入图片描述

图3-6 购买流程图

第4章 系统设计
4.1 系统结构设计
系统结构设计是一个将一个庞大的任务细分为多个小的任务的过程,这些小的任务分段完成后,组合在一起形成一个完整的任务。在整个设计过程,以确定可能的具体方案达成每一个小的最终目标,对于每一个小的目标而言,我们必须先了解一些相关的需求分析的信息。然后对系统进行初步的设计,并对其逐渐进行优化,设计出一个具体可实现的系统结构。
本基于Spring Boot的网上购物商城系统主要包括用户模块、商家模块和管理员模块,根据第三章中系统功能需求分析,可画出本基于Spring Boot的网上购物商城系统的结构图如图4-1所示:
在这里插入图片描述

图 4-1 系统结构图
4.2系统顺序图
4.2.1登录模块顺序图
用户、商家和管理员均可进行登录操作,登录模块的顺序图如图 4-2 所示。
在这里插入图片描述

图4-2用户登录顺序图
4.2.2添加信息模块顺序图
管理员、商家和用户登录后均可进行添加信息操作,添加信息顺序图如图4-3所示
在这里插入图片描述

图4-3添加信息顺序图
4.3 数据库设计
4.3.1 数据库E-R图设计
E-R图展现了数据的实体结构关系,为系统数据管理奠定了基础,也对数据进行规范化的设置,保证后期的高效性,避免数据出现重复造成冗余使得数据更新出现异常,无法同步数据和插入数据。通过E-R图也可便于对数据的设计和修改,如果一个数据库在被设计时没有相对应的E-R图,则整体数据库就缺少明确的定位和条理性,使得处理数据的效率大大降低,在需要更新或者查找数据时报错的可能性大大提升,对与后期运行调试系统会造成不必要的麻烦。本基于Spring Boot的网上购物商城系统的E-R图如下图所示:
1、商品分类信息实体E-R图如图4-4所示:
在这里插入图片描述

图4-4 商品分类信息实体的E-R图
2、商家信息实体E-R图如图4-5所示:
在这里插入图片描述

图4-5 商家信息实体E-R图
3、订单实体图如图4-6所示。
在这里插入图片描述

图4-6 订单实体E-R图
4、管理员信息实体图如图4-7所示。
在这里插入图片描述

图4-7 管理员信息实体E-R图
5、商品信息实体图如图4-8所示。
在这里插入图片描述

图4-8 商品信息实体E-R图
6、用户信息实体图如图4-9所示。
在这里插入图片描述

图4-9用户信息实体E-R图
4.3.2数据库表设计
本基于Spring Boot的网上购物商城系统采用了MYSQL数据库进行系统数据的储存,主要的数据库表的具体设置如下:
表4-1 shangpinfenlei商品分类信息表
列名 说明 类型 ( 长度 ) 备注
id 编号 bigint(20) 不允许空,主键
addtime 创建时间 timestamp 允许空
leibie 类别 varchar(200) 允许空

表4-2 shangjia商家信息表
列名 说明 类型 ( 长度 ) 备注
id 编号 bigint(20) 不允许空,主键
addtime 创建时间 timestamp 允许空
zhanghao 账号 varchar(200) 允许空
mima 密码 varchar(200) 允许空
shangjiamingcheng 商家名称 varchar(200) 允许空
xingbie 性别 varchar(200) 允许空
shouji` 手机 varchar(200) 允许空
youxiang 邮箱 varchar(200) 允许空
shenfenzheng 身份证 varchar(200) 允许空
money 余额 float 允许空

表4-3 orders订单信息表
列名 说明 类型 ( 长度 ) 备注
id 编号 bigint(20) 不允许空,主键
addtime 下单时间 timestamp 允许空
orderid 订单编号 varchar(200) 允许空
tablename 商品表名 varchar(200) 允许空
userid 用户编号 bigint(20) 允许空
goodid 商品编号 bigint(20) 允许空
goodname 商品名称 varchar(200) 允许空
picture 商品图片 varchar(200) 允许空
buynumber 购买数量 int(11) 允许空
price 价格 float 允许空
discountprice 折扣价格 float 允许空
total 总价格 float 允许空
discounttotal 折扣总价格 float 允许空
type 支付类型 int(11) 允许空
status 状态 varchar(200) 允许空
address 地址 varchar(200) 允许空

表4-4 users管理员信息表
列名 说明 类型 ( 长度 ) 备注
id 编号 bigint(20) 不允许空,主键
username 用户名 varchar(100) 允许空
password 密码 varchar(100) 允许空
role 角色 varchar(100) 允许空
addtime 添加时间 timestamp 允许空

表4-5 yaopinxinxi商品信息表
列名 说明 类型 ( 长度 ) 备注
id 编号 bigint(20) 不允许空,主键
addtime 创建时间 timestamp 允许空
shangpinmingcheng 商品名称 varchar(200) 允许空
leibie 类别 varchar(200) 允许空
yueshouxiaoliang 月售销量 varchar(200) 允许空
tupian 图片 varchar(200) 允许空
xiangqing 详情 longtext 允许空
zhanghao 账号 varchar(200) 允许空
shangjiamingcheng 商家名称 varchar(200) 允许空
sfsh 是否审核 varchar(200) 允许空
shhf 审核回复 longtext 允许空
thumbsupnum 赞数 int(11) 允许空
crazilynum 踩数 int(11) 允许空
clicktime` 最近点击时间 datetime 允许空
clicknum 点击次数 int(11) 允许空
price 价格 float

表4-6 yonghu用户信息表
列名 说明 类型 ( 长度 ) 备注
id 编号 bigint(20) 不允许空,主键
addtime 创建时间 timestamp 允许空
zhanghao 账号 varchar(200) 允许空
mima 密码 varchar(200) 允许空
xingming 姓名 varchar(200) 允许空
xingbie 性别 varchar(200) 允许空
youxiang` 邮箱 varchar(200) 允许空
shenfenzheng 身份证 varchar(200) 允许空
shouji 手机 varchar(200) 允许空
money 余额 float 允许空

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

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

相关文章

【Vue】Vue3 的初始化过程

核心流程是patch,然后Patch有一个分支,分别处理组件和浏览器原生标签。分别对应processElement和processComponent,从上到下插入,知道处理完成,才把顶层div插入到浏览器。“一次性渲染,而不是一个个一个渲染…

[论文笔记] Chain-of-Thought Reasoning without Prompting

分析: 在CoT解码路径中,我们可以看到模型在第三个位置(𝑖? = 3)开始展示推理过程,并且给出了正确的答案“8”。模型首先识别出说话者有3个苹果,然后识别出爸爸比说话者多2个,即5个苹果,最后将这两个数量相加得到总数8个苹果。 这个例子表明,通过探索替代的解码路径…

【每天学个新注解】Day 7 Lombok注解简解(六)—@With

With 创建一个新的对象,该对象是当前对象的副本,但某些字段的值可以被更改。 1、如何使用 With 可以使用在类上,也可以使用在成员变量上。加在类上相当于给所有成员变量 With可以配合AccessLevel使用,创建出指定访问修饰符的wi…

多模态大模型学习(一)

参考:https://www.bilibili.com/video/BV1kT411o7a6?p2&spm_id_frompageDriver&vd_source156234c72054035c149dcb072202e6be 余弦相似度,让正样本内积趋近于1,负样本趋近于-1。度量学习。N特别大时,负样本远大于正样本&…

PHP之 实现https ssl证书到期提醒,通过企微发送消息

参考文章 https://blog.51cto.com/17099933344/1935194 https://blog.csdn.net/m0_37346206/article/details/127333463 https://www.cnblogs.com/tk-bolg/p/18108106 使用的企微接口 https://qyapi.weixin.qq.com/cgi-bin/message/send 查询 ssl证书到期时间 // ssl证书即将…

基于BiLSTM+Transformer混合模型实现交通流量时序预测(PyTorch版)

前言 系列专栏:【深度学习:算法项目实战】✨︎ 涉及医疗健康、财经金融、商业零售、食品饮料、运动健身、交通运输、环境科学、社交媒体以及文本和图像处理等诸多领域,讨论了各种复杂的深度神经网络思想,如卷积神经网络、循环神经网络、生成对…

2024年研究生数学建模“华为杯”E题——肘部法则、k-means聚类、目标检测(python)、ARIMA、逻辑回归、混淆矩阵(附:目标检测代码)

文章目录 一、情况介绍二、思路情况二、代码展示三、感受 一、情况介绍 前几天也是参加了研究生数学建模竞赛(也就是华为杯),也是和本校的两个数学学院的朋友在网上组的队伍。昨天(9.25)通宵干完论文(一条…

Windows安装openssl开发库

1 下载openssl安装包并安装 下载网址: https://slproweb.com/products/Win32OpenSSL.html 下载对应的安装版本。 双击安装包,一路下一步完成安装。注意:1.安装路径不要有空格; 2. 建议不要把DLL拷贝到系统路径。 2 编辑代码 …

“类型名称”在Go语言规范中的演变

Go语言规范(The Go Programming Language Specification)[1]是Go语言的核心文档,定义了该语言的语法、类型系统和运行时行为。Go语言规范的存在使得开发者在实现Go编译器时可以依赖一致的标准,它确保了语言的稳定性和一致性&#…

制造企业为何需要PLM系统?PLM系统解决方案对制造业重要性分析

制造企业为何需要PLM系统?PLM系统解决方案对制造业重要性分析 新华社9月23日消息,据全国组织机构统一社会信用代码数据服务中心统计,我国制造业企业总量突破600万家。数据显示,2024年1至8月,我国制造业企业数量呈现稳…

数据结构之链表(1),单链表

目录 前言 一、什么是链表 二、链表的分类 三、单链表 四、单链表的实现 五、SList.c文件完整代码 六、使用演示 总结 前言 本文讲述了什么是链表,以及实现了完整的单链表。 ❤️感谢支持,点赞关注不迷路❤️ 一、什么是链表 1.概念 概念:链…

【学习笔记】手写 Tomcat 六

目录 一、线程池 1. 构建线程池的类 2. 创建任务 3. 执行任务 测试 二、URL编码 解决方案 测试 三、如何接收客户端发送的全部信息 解决方案 测试 四、作业 1. 了解工厂模式 2. 了解反射技术 一、线程池 昨天使用了数据库连接池,我们了解了连接池的优…

在 Docker 版 RStudio 中安装 Seurat V4 的完整教程 (同样适用于普通R环境安装)

在单细胞RNA测序(scRNA-seq)数据分析领域,Seurat 是一个广泛使用且功能强大的R包,提供了丰富的数据处理和可视化工具。为了简化环境配置和依赖管理,使用Docker来部署RStudio并安装Seurat V4是一种高效且可重复的方法。…

SpringCloud 2023各依赖版本选择、核心功能与组件、创建项目(注意事项、依赖)

目录 1. 各依赖版本选择2. 核心功能与组件3. 创建项目3.1 注意事项3.2 依赖 1. 各依赖版本选择 SpringCloud: 2023.0.1SpringBoot: 3.2.4。参考Spring Cloud Train Reference Documentation选择版本 SpringCloud Alibaba: 2023.0.1.0*: 参考Spring Cloud Alibaba选择版本。同时…

TMR技术的发展及其应用技术的介绍

目录 概述 1 TMR传感器介绍 1.1 原理介绍 1.2 技术演进历史 2 TMR技术的应用 2.1 电阻特性 2.2 技术比较 2.3 磁道特性 3 多维科技的芯片(TMR1202) 3.1 芯片介绍 3.2 特性 ​3.3 典型应用 参考文献 概述 本文主要介绍TMR技术的发展及其技术…

修改系统显示大小修改系统屏幕密度

文章目录 需求及场景一、界面位置及密度位置测试 一、修改density修改属性值属性位置修改默认值获取需要修改的值 二、部分资源参考总结 需求及场景 国内Android系统平台太多了,RK、全志、mtk、展讯,相同平台也会有不同的Android版本,不同版…

使用电子模拟器 Wokwi 运行 ESP32 示例(Arduino IDE、VSCode、ESP32C3)

文章目录 Wokwi 简介安装客户端(Mac/Linux)创建 Token Arduino IDEVSCode 配置安装 wokwi 插件打开编译后目录 ESP32C3 示例Arduino IDE创建模拟器运行模拟器 Wokwi 简介 Wokwi 是一款在线电子模拟器。您可以使用它来模拟 Arduino、ESP32、STM32 以及许…

【azure-openai】批量翻译demo【python】【gradio】

要求:拥有azure-openai-api,上传文件为csv格式,utf-8编码。 注意:如果出现乱码,重新运行,换种方式打开,有时候wps会自动改编码。 实现功能:选择语言,使用gpt4omini&…

IOS-IPA签名工具 request_post 任意文件读取复现

0x01 产品描述: 苹果手机中的IPA是指iOS应用程序(iPhone应用程序)的安装包文件,其文件扩展名为.ipa。IPA文件是经过编译的、已签名的应用程序文件,可以在iOS设备上安装和运行。通常,开发者通过Xcode等开发工…

OpenHarmony(鸿蒙南向)——平台驱动指南【I2C】

往期知识点记录: 鸿蒙(HarmonyOS)应用层开发(北向)知识点汇总 鸿蒙(OpenHarmony)南向开发保姆级知识点汇总~ 持续更新中…… 概述 功能简介 I2C(Inter Integrated Circuit&#x…